diff --git a/.gitignore b/.gitignore index be6b1be73..4763d856b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,5 @@ node_modules # ReScript artifacts # *.bs.js # we do want this files to ensure zero-cost .bsb.lock -**/lib/bs -**/lib/ocaml +lib/ **/.merlin diff --git a/.node-version b/.node-version index 3c032078a..a45fd52cc 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -18 +24 diff --git a/package-lock.json b/package-lock.json index cfd9e3474..659db0b8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,21 +9,21 @@ "version": "0.83.0", "license": "MIT", "devDependencies": { - "@rescript/react": "^0.14.2", + "@rescript/react": "^0.15.0", "husky": "^8.0.0", "lint-staged": "^13.0.0", "npm-run-all": "^4.0.0", "npmpub": "^5.0.0", "prettier": "^2.0.0", - "rescript": "^11.1.0" + "rescript": "^12.2.0" }, "funding": { "url": "https://github.com/rescript-react-native/rescript-react-native?sponsor=1" }, "peerDependencies": { - "@rescript/react": ">=0.14.2", + "@rescript/react": ">=0.15.0", "react-native": ">=0.83.0", - "rescript": ">=11.0.0" + "rescript": ">=12.0.0" } }, "node_modules/@babel/code-frame": { @@ -169,15 +169,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", @@ -206,22 +197,22 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "license": "MIT", "dependencies": { "@babel/types": "^7.29.0" @@ -233,202 +224,10 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", - "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/runtime": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -466,25 +265,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse--for-generate-function-map": { - "name": "@babel/traverse", - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/types": { "version": "7.29.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", @@ -507,75 +287,6 @@ "node": ">=12" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "license": "ISC", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/create-cache-key-function": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", - "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "license": "MIT", - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -588,93 +299,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/types": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", @@ -839,9 +463,9 @@ } }, "node_modules/@octokit/endpoint": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.2.tgz", - "integrity": "sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.3.tgz", + "integrity": "sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==", "dev": true, "license": "MIT", "dependencies": { @@ -936,16 +560,17 @@ } }, "node_modules/@octokit/request": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.7.tgz", - "integrity": "sha512-v93h0i1yu4idj8qFPZwjehoJx4j3Ntn+JhXsdJrG9pYaX6j/XRz2RmasMUHtNgQD39nrv/VwTWSqK0RNXR8upA==", + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.8.tgz", + "integrity": "sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==", "dev": true, "license": "MIT", "dependencies": { - "@octokit/endpoint": "^11.0.2", + "@octokit/endpoint": "^11.0.3", "@octokit/request-error": "^7.0.2", "@octokit/types": "^16.0.0", "fast-content-type-parse": "^3.0.0", + "json-with-bigint": "^3.5.3", "universal-user-agent": "^7.0.2" }, "engines": { @@ -1170,55 +795,55 @@ } }, "node_modules/@react-native/assets-registry": { - "version": "0.83.1", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.83.1.tgz", - "integrity": "sha512-AT7/T6UwQqO39bt/4UL5EXvidmrddXrt0yJa7ENXndAv+8yBzMsZn6fyiax6+ERMt9GLzAECikv3lj22cn2wJA==", + "version": "0.85.2", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.85.2.tgz", + "integrity": "sha512-kauC/oPaxklU4Y+u9gBfCBJm51qX6WBZq4xx0USCdimtp+G8+554kpygfSWIjoqCJa2o06bWxBEjesiuCv+LzA==", "license": "MIT", "engines": { - "node": ">= 20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/@react-native/codegen": { - "version": "0.83.1", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.83.1.tgz", - "integrity": "sha512-FpRxenonwH+c2a5X5DZMKUD7sCudHxB3eSQPgV9R+uxd28QWslyAWrpnJM/Az96AEksHnymDzEmzq2HLX5nb+g==", + "version": "0.85.2", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.85.2.tgz", + "integrity": "sha512-XCginmxh0//++EXVOEJHBVZxHla294FzLCFF6jXwAUjvXVhqyIKyxhABfz+r4OOmaiuWk4Rtd4arqdAzeHeprg==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.2", - "@babel/parser": "^7.25.3", - "glob": "^7.1.1", - "hermes-parser": "0.32.0", + "@babel/parser": "^7.29.0", + "hermes-parser": "0.33.3", "invariant": "^2.2.4", "nullthrows": "^1.1.1", + "tinyglobby": "^0.2.15", "yargs": "^17.6.2" }, "engines": { - "node": ">= 20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" }, "peerDependencies": { "@babel/core": "*" } }, "node_modules/@react-native/community-cli-plugin": { - "version": "0.83.1", - "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.83.1.tgz", - "integrity": "sha512-FqR1ftydr08PYlRbrDF06eRiiiGOK/hNmz5husv19sK6iN5nHj1SMaCIVjkH/a5vryxEddyFhU6PzO/uf4kOHg==", + "version": "0.85.2", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.85.2.tgz", + "integrity": "sha512-3KLgSg1kHvBpr93zMaQhvfYTgnCw7yZRED+3J4dMcYjfSjtD0Wf8SofU6uBmAw9JaVYvP43lpdwUpI4p0+ABsg==", "license": "MIT", "dependencies": { - "@react-native/dev-middleware": "0.83.1", + "@react-native/dev-middleware": "0.85.2", "debug": "^4.4.0", "invariant": "^2.2.4", - "metro": "^0.83.3", - "metro-config": "^0.83.3", - "metro-core": "^0.83.3", + "metro": "^0.84.0", + "metro-config": "^0.84.0", + "metro-core": "^0.84.0", "semver": "^7.1.3" }, "engines": { - "node": ">= 20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" }, "peerDependencies": { "@react-native-community/cli": "*", - "@react-native/metro-config": "*" + "@react-native/metro-config": "0.85.2" }, "peerDependenciesMeta": { "@react-native-community/cli": { @@ -1253,38 +878,62 @@ "license": "MIT" }, "node_modules/@react-native/debugger-frontend": { - "version": "0.83.1", - "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.83.1.tgz", - "integrity": "sha512-01Rn3goubFvPjHXONooLmsW0FLxJDKIUJNOlOS0cPtmmTIx9YIjxhe/DxwHXGk7OnULd7yl3aYy7WlBsEd5Xmg==", + "version": "0.85.2", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.85.2.tgz", + "integrity": "sha512-j+0b9H5f5hGTLQxHIhJU/b/W6ijuxJF+ZTLHB0se2kzUBNxFKd7DkIc6753qk3CJdiv55vxG3XDgmlpbHxOpmA==", "license": "BSD-3-Clause", "engines": { - "node": ">= 20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/@react-native/debugger-shell": { - "version": "0.83.1", - "resolved": "https://registry.npmjs.org/@react-native/debugger-shell/-/debugger-shell-0.83.1.tgz", - "integrity": "sha512-d+0w446Hxth5OP/cBHSSxOEpbj13p2zToUy6e5e3tTERNJ8ueGlW7iGwGTrSymNDgXXFjErX+dY4P4/3WokPIQ==", + "version": "0.85.2", + "resolved": "https://registry.npmjs.org/@react-native/debugger-shell/-/debugger-shell-0.85.2.tgz", + "integrity": "sha512-r5BkhqPMfg3LmaZS5zadHmBNVH5h4bhSpv4BEPGfK4gat9HABAMzUzybi+2wpgU3SoHxnyKGdExEJvoqVcjeRg==", "license": "MIT", "dependencies": { "cross-spawn": "^7.0.6", + "debug": "^4.4.0", "fb-dotslash": "0.5.8" }, "engines": { - "node": ">= 20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/@react-native/debugger-shell/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, + "node_modules/@react-native/debugger-shell/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/@react-native/dev-middleware": { - "version": "0.83.1", - "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.83.1.tgz", - "integrity": "sha512-QJaSfNRzj3Lp7MmlCRgSBlt1XZ38xaBNXypXAp/3H3OdFifnTZOeYOpFmcpjcXYnDqkxetuwZg8VL65SQhB8dg==", + "version": "0.85.2", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.85.2.tgz", + "integrity": "sha512-3J+NaDUg+QEfDeLAUzgaWhpaxEg78g+KwbydlDCewh2G6WnHpsty8XooruxNHzyAsqVWywZMrzmbn78Ctc1O9Q==", "license": "MIT", "dependencies": { "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.83.1", - "@react-native/debugger-shell": "0.83.1", + "@react-native/debugger-frontend": "0.85.2", + "@react-native/debugger-shell": "0.85.2", "chrome-launcher": "^0.15.2", - "chromium-edge-launcher": "^0.2.0", + "chromium-edge-launcher": "^0.3.0", "connect": "^3.6.5", "debug": "^4.4.0", "invariant": "^2.2.4", @@ -1294,7 +943,7 @@ "ws": "^7.5.10" }, "engines": { - "node": ">= 20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/@react-native/dev-middleware/node_modules/debug": { @@ -1321,45 +970,45 @@ "license": "MIT" }, "node_modules/@react-native/gradle-plugin": { - "version": "0.83.1", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.83.1.tgz", - "integrity": "sha512-6ESDnwevp1CdvvxHNgXluil5OkqbjkJAkVy7SlpFsMGmVhrSxNAgD09SSRxMNdKsnLtzIvMsFCzyHLsU/S4PtQ==", + "version": "0.85.2", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.85.2.tgz", + "integrity": "sha512-YXBOLeAqFrv7XwUeBPTKZeOV1FIxn4AW7UAEitScf3ibC8bu8+6NpJu4HWgbNQHg7vDbbTZVbcOl8EwGxsSq2w==", "license": "MIT", "engines": { - "node": ">= 20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/@react-native/js-polyfills": { - "version": "0.83.1", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.83.1.tgz", - "integrity": "sha512-qgPpdWn/c5laA+3WoJ6Fak8uOm7CG50nBsLlPsF8kbT7rUHIVB9WaP6+GPsoKV/H15koW7jKuLRoNVT7c3Ht3w==", + "version": "0.85.2", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.85.2.tgz", + "integrity": "sha512-esGEAmKVM40DV/yVmNljCKZTIeUo7qXqc+Hwffkv3TG+b3E24xyFovHrbP98gGxZr2ZsEyx+2sKLdXF5asY5nw==", "license": "MIT", "engines": { - "node": ">= 20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/@react-native/normalize-colors": { - "version": "0.83.1", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.83.1.tgz", - "integrity": "sha512-84feABbmeWo1kg81726UOlMKAhcQyFXYz2SjRKYkS78QmfhVDhJ2o/ps1VjhFfBz0i/scDwT1XNv9GwmRIghkg==", + "version": "0.85.2", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.85.2.tgz", + "integrity": "sha512-svuOLtjbFGXDdHsriHXuND5FgHg7XlkOXCbH/8+X4t76YLH6qSTffSIQQrKLDL5mn4EFU+Oh/PNO0/FfpnTOTg==", "license": "MIT" }, "node_modules/@react-native/virtualized-lists": { - "version": "0.83.1", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.83.1.tgz", - "integrity": "sha512-MdmoAbQUTOdicCocm5XAFDJWsswxk7hxa6ALnm6Y88p01HFML0W593hAn6qOt9q6IM1KbAcebtH6oOd4gcQy8w==", + "version": "0.85.2", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.85.2.tgz", + "integrity": "sha512-wmVKpAlcr+UB0L5SpbrV865EdleUP7I5+X+48e1aRsQK8q+wsTRBXeUwWVip/1l+HZwlZFeO8iOILJ16VRu0Cw==", "license": "MIT", "dependencies": { "invariant": "^2.2.4", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" }, "peerDependencies": { "@types/react": "^19.2.0", "react": "*", - "react-native": "*" + "react-native": "0.85.2" }, "peerDependenciesMeta": { "@types/react": { @@ -1367,15 +1016,109 @@ } } }, + "node_modules/@rescript/darwin-arm64": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/@rescript/darwin-arm64/-/darwin-arm64-12.2.0.tgz", + "integrity": "sha512-xc3K/J7Ujl1vPiFY2009mRf3kWRlUe/VZyJWprseKxlcEtUQv89ter7r6pY+YFbtYvA/fcaEncL9CVGEdattAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "(LGPL-3.0-or-later AND MIT)", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.11.0" + } + }, + "node_modules/@rescript/darwin-x64": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/@rescript/darwin-x64/-/darwin-x64-12.2.0.tgz", + "integrity": "sha512-qqcTvnlSeoKkywLjG7cXfYvKZ1e4Gz2kUKcD6SiqDgCqm8TF+spwlFAiM6sloRUOFsc0bpC/0R0B3yr01FCB1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "(LGPL-3.0-or-later AND MIT)", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=20.11.0" + } + }, + "node_modules/@rescript/linux-arm64": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/@rescript/linux-arm64/-/linux-arm64-12.2.0.tgz", + "integrity": "sha512-ODmpG3ji+Nj/8d5yvXkeHlfKkmbw1Q4t1iIjVuNwtmFpz7TiEa7n/sQqoYdE+WzbDX3DoJfmJNbp3Ob7qCUoOg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "(LGPL-3.0-or-later AND MIT)", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.11.0" + } + }, + "node_modules/@rescript/linux-x64": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/@rescript/linux-x64/-/linux-x64-12.2.0.tgz", + "integrity": "sha512-2W9Y9/g19Y4F/subl8yV3T8QBG2oRaP+HciNRcBjptyEdw9LmCKH8+rhWO6sp3E+nZLwoE2IAkwH0WKV3wqlxQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "(LGPL-3.0-or-later AND MIT)", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.11.0" + } + }, "node_modules/@rescript/react": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/@rescript/react/-/react-0.14.2.tgz", - "integrity": "sha512-gRmWuHWQIdH0zgueEq1p5oMHwpsXLBpD3zZo+J9kop8z8CCQQtlxnGZbfBoNIdciHGbE0+oYpc5PaCGYskuLjQ==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@rescript/react/-/react-0.15.0.tgz", + "integrity": "sha512-qDrrgxYzxRL/pjug617u5Q4+aqEfV5g+GQnd+eCWb0XqPrKucaDzN5rirDUZPg8UrqU/AvCP8Ev5cFd+MJx88A==", "dev": true, "license": "MIT", "peerDependencies": { - "react": ">=19.1.0", - "react-dom": ">=19.1.0" + "@rescript/runtime": ">=12.0.0", + "react": ">=19.2.0", + "react-dom": ">=19.2.0" + } + }, + "node_modules/@rescript/runtime": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/@rescript/runtime/-/runtime-12.2.0.tgz", + "integrity": "sha512-NwfljDRq1rjFPHUaca1nzFz13xsa9ZGkBkLvMhvVgavJT5+A4rMcLu8XAaVTi/oAhO/tlHf9ZDoOTF1AfyAk9Q==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@rescript/win32-x64": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/@rescript/win32-x64/-/win32-x64-12.2.0.tgz", + "integrity": "sha512-fhf8CBj3p1lkIXPeNko3mVTKQfXXm4BoxJtR1xAXxUn43wDpd8Lox4w8/EPBbbW6C/YFQW6H7rtpY+2AKuNaDA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "(LGPL-3.0-or-later AND MIT)", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=20.11.0" } }, "node_modules/@sinclair/typebox": { @@ -1437,74 +1180,6 @@ "node": ">=0.10.0" } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -1530,20 +1205,14 @@ } }, "node_modules/@types/node": { - "version": "25.2.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz", - "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==", + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", "license": "MIT", "dependencies": { - "undici-types": "~7.16.0" + "undici-types": "~7.19.0" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "license": "MIT" - }, "node_modules/@types/yargs": { "version": "17.0.35", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", @@ -1572,22 +1241,22 @@ } }, "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" }, "engines": { "node": ">= 0.6" } }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -1649,28 +1318,6 @@ "node": ">=4" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -1754,195 +1401,41 @@ "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "license": "MIT", - "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "license": "BSD-3-Clause", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-plugin-syntax-hermes-parser": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.32.0.tgz", - "integrity": "sha512-m5HthL++AbyeEA2FcdwOLfVFvWYECOBObLHNqdR8ceY4TsEdn4LdX2oTvbB2QJSSElE2AWA/b2MXZ/PF/CqLZg==", - "license": "MIT", - "dependencies": { - "hermes-parser": "0.32.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", - "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5" - }, - "peerDependencies": { - "@babel/core": "^7.0.0 || ^8.0.0-0" + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" + "possible-typed-array-names": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-plugin-syntax-hermes-parser": { + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.33.3.tgz", + "integrity": "sha512-/Z9xYdaJ1lC0pT9do6TqCqhOSLfZ5Ot8D5za1p+feEfWYupCOfGbhhEXN9r2ZgJtDNUNRw/Z+T2CvAGKBqtqWA==", + "license": "MIT", + "dependencies": { + "hermes-parser": "0.33.3" } }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, "license": "MIT" }, "node_modules/base64-js": { @@ -1966,12 +1459,15 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.9.19", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", - "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "version": "2.10.21", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.21.tgz", + "integrity": "sha512-Q+rUQ7Uz8AHM7DEaNdwvfFCTq7a43lNTzuS94eiWqwyxfV/wJv+oUivef51T91mmRY4d4A1u9rcSvkeufCVXlA==", "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/before-after-hook": { @@ -1982,9 +1478,10 @@ "license": "Apache-2.0" }, "node_modules/brace-expansion": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", - "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -2004,9 +1501,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "funding": [ { "type": "opencollective", @@ -2024,11 +1521,11 @@ "license": "MIT", "peer": true, "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" @@ -2053,15 +1550,15 @@ "license": "MIT" }, "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", "set-function-length": "^1.2.2" }, "engines": { @@ -2103,18 +1600,21 @@ } }, "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "license": "MIT", "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001767", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001767.tgz", - "integrity": "sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==", + "version": "1.0.30001790", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001790.tgz", + "integrity": "sha512-bOoxfJPyYo+ds6W0YfptaCWbFnJYjh2Y1Eow5lRv+vI2u8ganPZqNm1JwNh0t2ELQCqIWg4B3dWEusgAmsoyOw==", "funding": [ { "type": "opencollective", @@ -2173,33 +1673,23 @@ } }, "node_modules/chromium-edge-launcher": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz", - "integrity": "sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.3.0.tgz", + "integrity": "sha512-p03azHlGjtyRvFEee3cyvtsRYdniSkwjkzmM/KmVnqT5d7QkkwpJBhis/zCLMYdQMVJ5tt140TBNqqrZPaWeFA==", "license": "Apache-2.0", "dependencies": { "@types/node": "*", "escape-string-regexp": "^4.0.0", "is-wsl": "^2.2.0", "lighthouse-logger": "^1.0.0", - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "mkdirp": "^1.0.4" } }, "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "license": "MIT" }, "node_modules/cli-cursor": { "version": "4.0.0", @@ -2377,6 +1867,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, "license": "MIT" }, "node_modules/connect": { @@ -2634,9 +2125,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.286", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", - "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "version": "1.5.344", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", + "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", "license": "ISC" }, "node_modules/emoji-regex": { @@ -2685,9 +2176,9 @@ } }, "node_modules/es-abstract": { - "version": "1.24.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", - "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", "dev": true, "license": "MIT", "dependencies": { @@ -2857,19 +2348,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -2942,12 +2420,6 @@ ], "license": "MIT" }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "license": "MIT" - }, "node_modules/fb-dotslash": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/fb-dotslash/-/fb-dotslash-0.5.8.tgz", @@ -3014,19 +2486,6 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/flow-enums-runtime": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", @@ -3072,40 +2531,13 @@ "rimraf": "^2.2.8" } }, - "node_modules/fs-extra/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, "license": "ISC" }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -3200,15 +2632,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/get-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", @@ -3273,6 +2696,7 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -3496,9 +2920,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", "dev": true, "license": "MIT", "dependencies": { @@ -3509,24 +2933,24 @@ } }, "node_modules/hermes-compiler": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/hermes-compiler/-/hermes-compiler-0.14.0.tgz", - "integrity": "sha512-clxa193o+GYYwykWVFfpHduCATz8fR5jvU7ngXpfKHj+E9hr9vjLNtdLSEe8MUbObvVexV3wcyxQ00xTPIrB1Q==", + "version": "250829098.0.10", + "resolved": "https://registry.npmjs.org/hermes-compiler/-/hermes-compiler-250829098.0.10.tgz", + "integrity": "sha512-TcRlZ0/TlyfJqquRFAWoyElVNnkdYRi/sEp4/Qy8/GYxjg8j2cS9D4MjuaQ+qimkmLN7AmO+44IznRf06mAr0w==", "license": "MIT" }, "node_modules/hermes-estree": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz", - "integrity": "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.33.3.tgz", + "integrity": "sha512-6kzYZHCk8Fy1Uc+t3HGYyJn3OL4aeqKLTyina4UFtWl8I0kSL7OmKThaiX+Uh2f8nGw3mo4Ifxg0M5Zk3/Oeqg==", "license": "MIT" }, "node_modules/hermes-parser": { - "version": "0.32.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.32.0.tgz", - "integrity": "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.33.3.tgz", + "integrity": "sha512-Yg3HgaG4CqgyowtYjX/FsnPAuZdHOqSMtnbpylbptsQ9nwwSKsy6uRWcGO5RK0EqiX12q8HvDWKgeAVajRO5DA==", "license": "MIT", "dependencies": { - "hermes-estree": "0.32.0" + "hermes-estree": "0.33.3" } }, "node_modules/hosted-git-info": { @@ -3619,20 +3043,12 @@ "node": ">=16.x" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, "license": "ISC", "dependencies": { "once": "^1.3.0", @@ -4122,198 +3538,18 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" }, - "node_modules/jest-regex-util": { + "node_modules/jest-get-type": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -4367,6 +3603,21 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/jest-util/node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/jest-util/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -4429,18 +3680,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jest-validate/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -4515,19 +3754,6 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, - "node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/jsc-safe-url": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", @@ -4553,6 +3779,13 @@ "dev": true, "license": "MIT" }, + "node_modules/json-with-bigint": { + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.8.tgz", + "integrity": "sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==", + "dev": true, + "license": "MIT" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -4699,18 +3932,6 @@ "node": ">=4" } }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/lodash.throttle": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", @@ -4818,19 +4039,19 @@ "license": "MIT" }, "node_modules/metro": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.83.3.tgz", - "integrity": "sha512-+rP+/GieOzkt97hSJ0MrPOuAH/jpaS21ZDvL9DJ35QYRDlQcwzcvUlGUf79AnQxq/2NPiS/AULhhM4TKutIt8Q==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.84.3.tgz", + "integrity": "sha512-1h3lbVrE6hGf1e/764HfhPGg/bGrWMJDDh7G2rc4gFYZboVuI40BlG/y+UhtbhQDNlO/csMvrcnK0YrTlHUVew==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.7", + "@babel/code-frame": "^7.29.0", "@babel/core": "^7.25.2", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.3", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.3", - "@babel/types": "^7.25.2", - "accepts": "^1.3.7", + "@babel/generator": "^7.29.1", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "accepts": "^2.0.0", "chalk": "^4.0.0", "ci-info": "^2.0.0", "connect": "^3.6.5", @@ -4838,25 +4059,25 @@ "error-stack-parser": "^2.0.6", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", - "hermes-parser": "0.32.0", + "hermes-parser": "0.35.0", "image-size": "^1.0.2", "invariant": "^2.2.4", "jest-worker": "^29.7.0", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.83.3", - "metro-cache": "0.83.3", - "metro-cache-key": "0.83.3", - "metro-config": "0.83.3", - "metro-core": "0.83.3", - "metro-file-map": "0.83.3", - "metro-resolver": "0.83.3", - "metro-runtime": "0.83.3", - "metro-source-map": "0.83.3", - "metro-symbolicate": "0.83.3", - "metro-transform-plugins": "0.83.3", - "metro-transform-worker": "0.83.3", - "mime-types": "^2.1.27", + "metro-babel-transformer": "0.84.3", + "metro-cache": "0.84.3", + "metro-cache-key": "0.84.3", + "metro-config": "0.84.3", + "metro-core": "0.84.3", + "metro-file-map": "0.84.3", + "metro-resolver": "0.84.3", + "metro-runtime": "0.84.3", + "metro-source-map": "0.84.3", + "metro-symbolicate": "0.84.3", + "metro-transform-plugins": "0.84.3", + "metro-transform-worker": "0.84.3", + "mime-types": "^3.0.1", "nullthrows": "^1.1.1", "serialize-error": "^2.1.0", "source-map": "^0.5.6", @@ -4868,68 +4089,84 @@ "metro": "src/cli.js" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-babel-transformer": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.83.3.tgz", - "integrity": "sha512-1vxlvj2yY24ES1O5RsSIvg4a4WeL7PFXgKOHvXTXiW0deLvQr28ExXj6LjwCCDZ4YZLhq6HddLpZnX4dEdSq5g==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.84.3.tgz", + "integrity": "sha512-svAA+yMLpeMiGcz/jKJs4oHpIGEx4nBqNEJ5AGj4CYIg1efvK+A0TjR6tgIuc6tKO5e8JmN/1lglpN2+f3/z/w==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.2", "flow-enums-runtime": "^0.0.6", - "hermes-parser": "0.32.0", + "hermes-parser": "0.35.0", + "metro-cache-key": "0.84.3", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-babel-transformer/node_modules/hermes-estree": { + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.35.0.tgz", + "integrity": "sha512-xVx5Opwy8Oo1I5yGpVRhCvWL/iV3M+ylksSKVNlxxD90cpDpR/AR1jLYqK8HWihm065a6UI3HeyAmYzwS8NOOg==", + "license": "MIT" + }, + "node_modules/metro-babel-transformer/node_modules/hermes-parser": { + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.35.0.tgz", + "integrity": "sha512-9JLjeHxBx8T4CAsydZR49PNZUaix+WpQJwu9p2010lu+7Kwl6D/7wYFFJxoz+aXkaaClp9Zfg6W6/zVlSJORaA==", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.35.0" } }, "node_modules/metro-cache": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.83.3.tgz", - "integrity": "sha512-3jo65X515mQJvKqK3vWRblxDEcgY55Sk3w4xa6LlfEXgQ9g1WgMh9m4qVZVwgcHoLy0a2HENTPCCX4Pk6s8c8Q==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.84.3.tgz", + "integrity": "sha512-0QElxwLaHqLZf+Xqio8QrjVbuXP/8sJfQBGSPiITlKDVXrVLefuzYVSH9Sj+QL6lrPj2gYZd/iwQh1yZuVKnLA==", "license": "MIT", "dependencies": { "exponential-backoff": "^3.1.1", "flow-enums-runtime": "^0.0.6", "https-proxy-agent": "^7.0.5", - "metro-core": "0.83.3" + "metro-core": "0.84.3" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-cache-key": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.83.3.tgz", - "integrity": "sha512-59ZO049jKzSmvBmG/B5bZ6/dztP0ilp0o988nc6dpaDsU05Cl1c/lRf+yx8m9WW/JVgbmfO5MziBU559XjI5Zw==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.84.3.tgz", + "integrity": "sha512-TnSL1Fdvrw+2glTdBSRmA5TL8l/i16ECjsrUdf3E5HncA+sNx8KcwDG8r+3ct1UhfYcusJypzZqTN55FZZcwGg==", "license": "MIT", "dependencies": { "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-config": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.83.3.tgz", - "integrity": "sha512-mTel7ipT0yNjKILIan04bkJkuCzUUkm2SeEaTads8VfEecCh+ltXchdq6DovXJqzQAXuR2P9cxZB47Lg4klriA==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.84.3.tgz", + "integrity": "sha512-JmCzZWOETR+O22q8oPBWyQppx3roU9EbkbGzD8Gf1jukQ4b5T1fTzqqHruu6K4sTiNq5zVQySmKF6bp4kVARew==", "license": "MIT", "dependencies": { "connect": "^3.6.5", "flow-enums-runtime": "^0.0.6", "jest-validate": "^29.7.0", - "metro": "0.83.3", - "metro-cache": "0.83.3", - "metro-core": "0.83.3", - "metro-runtime": "0.83.3", + "metro": "0.84.3", + "metro-cache": "0.84.3", + "metro-core": "0.84.3", + "metro-runtime": "0.84.3", "yaml": "^2.6.1" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-config/node_modules/yaml": { @@ -4948,23 +4185,23 @@ } }, "node_modules/metro-core": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.83.3.tgz", - "integrity": "sha512-M+X59lm7oBmJZamc96usuF1kusd5YimqG/q97g4Ac7slnJ3YiGglW5CsOlicTR5EWf8MQFxxjDoB6ytTqRe8Hw==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.84.3.tgz", + "integrity": "sha512-cc0pvAa80ai1nDmqqz0P59a+0ZqCZ/YHU/3jEekZL6spFnYDfX8iDLdn9FR6kX+67rmzKxHNrbrSRFLX2AYocw==", "license": "MIT", "dependencies": { "flow-enums-runtime": "^0.0.6", "lodash.throttle": "^4.1.1", - "metro-resolver": "0.83.3" + "metro-resolver": "0.84.3" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-file-map": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.83.3.tgz", - "integrity": "sha512-jg5AcyE0Q9Xbbu/4NAwwZkmQn7doJCKGW0SLeSJmzNB9Z24jBe0AL2PHNMy4eu0JiKtNWHz9IiONGZWq7hjVTA==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.84.3.tgz", + "integrity": "sha512-1cL4m4Jv1yRUt9RJExZQLfccscdlMNOcRG6LHLtmJhf3BG9j3MujPVc7CIpKYdFl+KUl+sdjge6oO3+meKCHQA==", "license": "MIT", "dependencies": { "debug": "^4.4.0", @@ -4978,7 +4215,7 @@ "walker": "^1.0.7" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-file-map/node_modules/debug": { @@ -5005,73 +4242,72 @@ "license": "MIT" }, "node_modules/metro-minify-terser": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.83.3.tgz", - "integrity": "sha512-O2BmfWj6FSfzBLrNCXt/rr2VYZdX5i6444QJU0fFoc7Ljg+Q+iqebwE3K0eTvkI6TRjELsXk1cjU+fXwAR4OjQ==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.84.3.tgz", + "integrity": "sha512-3ofrG2OQyJbO9RNhCfOcl8QU7EE2WrSsnN5dFkuZaJO5+4Imujr9bUXmspeNlXRsOVk0F/rVRbEFH98lFSCkBQ==", "license": "MIT", "dependencies": { "flow-enums-runtime": "^0.0.6", "terser": "^5.15.0" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-resolver": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.83.3.tgz", - "integrity": "sha512-0js+zwI5flFxb1ktmR///bxHYg7OLpRpWZlBBruYG8OKYxeMP7SV0xQ/o/hUelrEMdK4LJzqVtHAhBm25LVfAQ==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.84.3.tgz", + "integrity": "sha512-pjEzGDtoM8DTHAIPK/9u9ZxszEiuRohYUVImWvgbnB91V4gqYJpQcoEYUugf2NIm1lrX5HNu0OvNqWmPBnGYjA==", "license": "MIT", "dependencies": { "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-runtime": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.83.3.tgz", - "integrity": "sha512-JHCJb9ebr9rfJ+LcssFYA2x1qPYuSD/bbePupIGhpMrsla7RCwC/VL3yJ9cSU+nUhU4c9Ixxy8tBta+JbDeZWw==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.84.3.tgz", + "integrity": "sha512-o7HLRfMyVk9N2dUZ9VjQfB6xxUItL9Pi9WcqxURE7MEKOH6wbGt9/E92YdYLluTOtkzYAEVfdC6h6lcxqA+hMQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-source-map": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.83.3.tgz", - "integrity": "sha512-xkC3qwUBh2psVZgVavo8+r2C9Igkk3DibiOXSAht1aYRRcztEZNFtAMtfSB7sdO2iFMx2Mlyu++cBxz/fhdzQg==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.84.3.tgz", + "integrity": "sha512-jS48CeSzw78M8y6VE0f9uy3lVmfbOS677j2VCxnlmlYmnahcXuC6IhoN9K6LynNvos9517yUadcfgioju38xYQ==", "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.3", - "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3", - "@babel/types": "^7.25.2", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "metro-symbolicate": "0.83.3", + "metro-symbolicate": "0.84.3", "nullthrows": "^1.1.1", - "ob1": "0.83.3", + "ob1": "0.84.3", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-symbolicate": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.83.3.tgz", - "integrity": "sha512-F/YChgKd6KbFK3eUR5HdUsfBqVsanf5lNTwFd4Ca7uuxnHgBC3kR/Hba/RGkenR3pZaGNp5Bu9ZqqP52Wyhomw==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.84.3.tgz", + "integrity": "sha512-J9Tpo8NCycYrozRvBIUyOwGAu4xkawOsAppmTscFiaegK0WvuDGwIM53GbzVSnytCHjVAF0io5GQxpkrKTuc7g==", "license": "MIT", "dependencies": { "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", - "metro-source-map": "0.83.3", + "metro-source-map": "0.84.3", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "vlq": "^1.0.0" @@ -5080,48 +4316,48 @@ "metro-symbolicate": "src/index.js" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-transform-plugins": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.83.3.tgz", - "integrity": "sha512-eRGoKJU6jmqOakBMH5kUB7VitEWiNrDzBHpYbkBXW7C5fUGeOd2CyqrosEzbMK5VMiZYyOcNFEphvxk3OXey2A==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.84.3.tgz", + "integrity": "sha512-8S3baq2XhBaafHEH5Q8sJW6tmzsEJk80qKc3RU/nZV1MsnYq94RdjTUR6AyKjQd6Rfsk1BtBxhtiNnk7mgslCg==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.2", - "@babel/generator": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.3", + "@babel/generator": "^7.29.1", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", "flow-enums-runtime": "^0.0.6", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro-transform-worker": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.83.3.tgz", - "integrity": "sha512-Ztekew9t/gOIMZX1tvJOgX7KlSLL5kWykl0Iwu2cL2vKMKVALRl1hysyhUw0vjpAvLFx+Kfq9VLjnHIkW32fPA==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.84.3.tgz", + "integrity": "sha512-Wjba7PyYktNRsHbPmkx2J2UX32rAzcDXjCu49zPHeF/viJlYJhwRaNePQcHaCRqQ+kmgQT4ThprsnJfDj71ZMA==", "license": "MIT", "dependencies": { "@babel/core": "^7.25.2", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.3", - "@babel/types": "^7.25.2", + "@babel/generator": "^7.29.1", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", "flow-enums-runtime": "^0.0.6", - "metro": "0.83.3", - "metro-babel-transformer": "0.83.3", - "metro-cache": "0.83.3", - "metro-cache-key": "0.83.3", - "metro-minify-terser": "0.83.3", - "metro-source-map": "0.83.3", - "metro-transform-plugins": "0.83.3", + "metro": "0.84.3", + "metro-babel-transformer": "0.84.3", + "metro-cache": "0.84.3", + "metro-cache-key": "0.84.3", + "metro-minify-terser": "0.84.3", + "metro-source-map": "0.84.3", + "metro-transform-plugins": "0.84.3", "nullthrows": "^1.1.1" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/metro/node_modules/ansi-styles": { @@ -5155,12 +4391,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/metro/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "license": "MIT" - }, "node_modules/metro/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -5196,6 +4426,21 @@ } } }, + "node_modules/metro/node_modules/hermes-estree": { + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.35.0.tgz", + "integrity": "sha512-xVx5Opwy8Oo1I5yGpVRhCvWL/iV3M+ylksSKVNlxxD90cpDpR/AR1jLYqK8HWihm065a6UI3HeyAmYzwS8NOOg==", + "license": "MIT" + }, + "node_modules/metro/node_modules/hermes-parser": { + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.35.0.tgz", + "integrity": "sha512-9JLjeHxBx8T4CAsydZR49PNZUaix+WpQJwu9p2010lu+7Kwl6D/7wYFFJxoz+aXkaaClp9Zfg6W6/zVlSJORaA==", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.35.0" + } + }, "node_modules/metro/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -5240,24 +4485,28 @@ } }, "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "mime-db": "^1.54.0" }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/mimic-fn": { @@ -5277,6 +4526,7 @@ "version": "3.1.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -5349,9 +4599,9 @@ "license": "MIT" }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -5392,9 +4642,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", "license": "MIT" }, "node_modules/normalize-package-data": { @@ -5420,15 +4670,6 @@ "semver": "bin/semver" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/npm-run-all": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", @@ -5715,15 +4956,15 @@ "license": "MIT" }, "node_modules/ob1": { - "version": "0.83.3", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.83.3.tgz", - "integrity": "sha512-egUxXCDwoWG06NGCS5s5AdcpnumHKJlfd3HH06P3m9TEMwwScfcY35wpQxbm9oHof+dM/lVH9Rfyu1elTVelSA==", + "version": "0.84.3", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.84.3.tgz", + "integrity": "sha512-J7554Ef8bzmKaDY365Afq6PF+qtdnY/d5PKUQFrsKlZHV/N3OGZewVrvDrQDyX5V5NJjTpcAKtlrFZcDr+HvpQ==", "license": "MIT", "dependencies": { "flow-enums-runtime": "^0.0.6" }, "engines": { - "node": ">=20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" } }, "node_modules/object-assign": { @@ -5796,6 +5037,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -5885,42 +5127,6 @@ "node": ">=4" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -5945,18 +5151,23 @@ } }, "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, "license": "MIT", + "dependencies": { + "pinkie-promise": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -6055,15 +5266,6 @@ "node": ">=0.10.0" } }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -6133,9 +5335,9 @@ "license": "ISC" }, "node_modules/pump": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", "dev": true, "license": "MIT", "dependencies": { @@ -6162,9 +5364,9 @@ } }, "node_modules/react": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", - "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", + "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", "license": "MIT", "peer": true, "engines": { @@ -6182,9 +5384,9 @@ } }, "node_modules/react-dom": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", + "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", "dev": true, "license": "MIT", "peer": true, @@ -6192,7 +5394,7 @@ "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.4" + "react": "^19.2.5" } }, "node_modules/react-is": { @@ -6202,35 +5404,31 @@ "license": "MIT" }, "node_modules/react-native": { - "version": "0.83.1", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.83.1.tgz", - "integrity": "sha512-mL1q5HPq5cWseVhWRLl+Fwvi5z1UO+3vGOpjr+sHFwcUletPRZ5Kv+d0tUfqHmvi73/53NjlQqX1Pyn4GguUfA==", + "version": "0.85.2", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.85.2.tgz", + "integrity": "sha512-GFWEPwLYirfj5X8gMtXOWtqX0cqUEURRHETZfFk37VCa4++izrKvGvv24anvuyulXV87NAhVkfNw93rLg3HByw==", "license": "MIT", "peer": true, "dependencies": { - "@jest/create-cache-key-function": "^29.7.0", - "@react-native/assets-registry": "0.83.1", - "@react-native/codegen": "0.83.1", - "@react-native/community-cli-plugin": "0.83.1", - "@react-native/gradle-plugin": "0.83.1", - "@react-native/js-polyfills": "0.83.1", - "@react-native/normalize-colors": "0.83.1", - "@react-native/virtualized-lists": "0.83.1", + "@react-native/assets-registry": "0.85.2", + "@react-native/codegen": "0.85.2", + "@react-native/community-cli-plugin": "0.85.2", + "@react-native/gradle-plugin": "0.85.2", + "@react-native/js-polyfills": "0.85.2", + "@react-native/normalize-colors": "0.85.2", + "@react-native/virtualized-lists": "0.85.2", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", - "babel-jest": "^29.7.0", - "babel-plugin-syntax-hermes-parser": "0.32.0", + "babel-plugin-syntax-hermes-parser": "0.33.3", "base64-js": "^1.5.1", "commander": "^12.0.0", "flow-enums-runtime": "^0.0.6", - "glob": "^7.1.1", - "hermes-compiler": "0.14.0", + "hermes-compiler": "250829098.0.10", "invariant": "^2.2.4", - "jest-environment-node": "^29.7.0", "memoize-one": "^5.0.0", - "metro-runtime": "^0.83.3", - "metro-source-map": "^0.83.3", + "metro-runtime": "^0.84.0", + "metro-source-map": "^0.84.0", "nullthrows": "^1.1.1", "pretty-format": "^29.7.0", "promise": "^8.3.0", @@ -6240,6 +5438,7 @@ "scheduler": "0.27.0", "semver": "^7.1.3", "stacktrace-parser": "^0.1.10", + "tinyglobby": "^0.2.15", "whatwg-fetch": "^3.0.0", "ws": "^7.5.10", "yargs": "^17.6.2" @@ -6248,13 +5447,17 @@ "react-native": "cli.js" }, "engines": { - "node": ">= 20.19.4" + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" }, "peerDependencies": { + "@react-native/jest-preset": "0.85.2", "@types/react": "^19.1.1", - "react": "^19.2.0" + "react": "^19.2.3" }, "peerDependenciesMeta": { + "@react-native/jest-preset": { + "optional": true + }, "@types/react": { "optional": true } @@ -6379,28 +5582,51 @@ } }, "node_modules/rescript": { - "version": "11.1.4", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.1.4.tgz", - "integrity": "sha512-0bGU0bocihjSC6MsE3TMjHjY0EUpchyrREquLS8VsZ3ohSMD+VHUEwimEfB3kpBI1vYkw3UFZ3WD8R28guz/Vw==", - "dev": true, - "hasInstallScript": true, - "license": "SEE LICENSE IN LICENSE", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-12.2.0.tgz", + "integrity": "sha512-1Jf2cmNhyx5Mj2vwZ4XXPcXvNSjGj9D1jPBUcoqIOqRpLPo1ch2Ta/7eWh23xAHWHK5ow7BCDyYFjvZSjyjLzg==", + "dev": true, + "license": "(LGPL-3.0-or-later AND MIT)", + "workspaces": [ + "packages/playground", + "packages/@rescript/*", + "tests/dependencies/**", + "tests/analysis_tests/**", + "tests/docstring_tests", + "tests/gentype_tests/**", + "tests/tools_tests", + "tests/commonjs_tests", + "scripts/res" + ], + "dependencies": { + "@rescript/runtime": "12.2.0" + }, "bin": { - "bsc": "bsc", - "bstracing": "lib/bstracing", - "rescript": "rescript" + "bsc": "cli/bsc.js", + "bstracing": "cli/bstracing.js", + "rescript": "cli/rescript.js", + "rescript-legacy": "cli/rescript-legacy.js", + "rescript-tools": "cli/rescript-tools.js" }, "engines": { - "node": ">=10" + "node": ">=20.11.0" + }, + "optionalDependencies": { + "@rescript/darwin-arm64": "12.2.0", + "@rescript/darwin-x64": "12.2.0", + "@rescript/linux-arm64": "12.2.0", + "@rescript/linux-x64": "12.2.0", + "@rescript/win32-x64": "12.2.0" } }, "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "version": "1.22.12", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", "dev": true, "license": "MIT", "dependencies": { + "es-errors": "^1.3.0", "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" @@ -6415,15 +5641,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/restore-cursor": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", @@ -6475,19 +5692,17 @@ "license": "MIT" }, "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, "node_modules/run-applescript": { @@ -6515,15 +5730,15 @@ } }, "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", + "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, @@ -6576,9 +5791,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -6822,14 +6037,14 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -6881,17 +6096,9 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, "license": "ISC" }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/slice-ansi": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", @@ -6980,39 +6187,12 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", - "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", "dev": true, "license": "CC0-1.0" }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/stackframe": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", @@ -7170,13 +6350,13 @@ } }, "node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -7260,9 +6440,9 @@ } }, "node_modules/terser": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", - "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", + "version": "5.46.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.2.tgz", + "integrity": "sha512-uxfo9fPcSgLDYob/w1FuL0c99MWiJDnv+5qXSQc5+Ki5NjVNsYi66INnMFBjf6uFz6OnX12piJQPF4IpjJTNTw==", "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -7283,26 +6463,58 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "license": "MIT" }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/throat": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "license": "MIT" }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -7358,19 +6570,6 @@ "node": ">=0.10.0" } }, - "node_modules/trash/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/trash/node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -7391,15 +6590,6 @@ "node": ">=6" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/type-fest": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", @@ -7511,9 +6701,9 @@ } }, "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", + "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", "license": "MIT" }, "node_modules/universal-user-agent": { @@ -7925,21 +7115,9 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, "license": "ISC" }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/ws": { "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", diff --git a/package.json b/package.json index 9ab27d45e..9df33ed6b 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,9 @@ "description": "ReScript bindings for React Native.", "version": "0.83.0", "peerDependencies": { - "@rescript/react": ">=0.14.2", + "@rescript/react": ">=0.15.0", "react-native": ">=0.83.0", - "rescript": ">=11.0.0" + "rescript": ">=12.0.0" }, "overrides": { "react": "^19.2.0" @@ -28,24 +28,24 @@ "scripts": { "prepare": "husky install", "format:most": "prettier --write \"**/*.{md,json,js,css}\"", - "format:res": "rescript format -all", - "format": "npm run format:most && npm run format:res", - "re:start": "rescript build -w", - "re:build": "rescript", - "re:clean-build": "rescript clean && rescript", + "format": "npm run format:most && npm run re:format", + "re:start": "rescript watch", + "re:build": "rescript build", + "re:clean": "rescript clean", + "re:format": "rescript format", "start": "npm run re:start", "build": "npm run re:build", - "test": "npm run re:clean-build", + "test": "npm run re:clean && npm run re:build", "release": "npmpub" }, "devDependencies": { - "@rescript/react": "^0.14.2", + "@rescript/react": "^0.15.0", "husky": "^8.0.0", "lint-staged": "^13.0.0", "npm-run-all": "^4.0.0", "npmpub": "^5.0.0", "prettier": "^2.0.0", - "rescript": "^11.1.0" + "rescript": "^12.2.0" }, "prettier": { "trailingComma": "all" diff --git a/rescript.json b/rescript.json index 634d67086..dc480ea08 100644 --- a/rescript.json +++ b/rescript.json @@ -5,23 +5,23 @@ "version": 4 }, "package-specs": { - "module": "commonjs", + "module": "esmodule", "in-source": true }, - "suffix": ".bs.js", + "suffix": ".res.js", "sources": [ { "dir": "src", "subdirs": true } ], - "bsc-flags": [ + "compiler-flags": [ "-bs-no-version-header" ], "warnings": { "error": true }, - "bs-dependencies": [ + "dependencies": [ "@rescript/react" ] } \ No newline at end of file diff --git a/src/apis/AccessibilityInfo.res b/src/apis/AccessibilityInfo.res index 4eea5267c..a58180b60 100644 --- a/src/apis/AccessibilityInfo.res +++ b/src/apis/AccessibilityInfo.res @@ -15,14 +15,11 @@ external addEventListener: @string | #announcementFinished(announcementResult => unit) ] => EventSubscription.t = "addEventListener" -@scope("AccessibilityInfo") @module("react-native") -external announceForAccessibility: string => unit = "announceForAccessibility" - type announceForAccessibilityOptions = {queue?: bool} @scope("AccessibilityInfo") @module("react-native") -external announceForAccessibilityWithOptions: (string, announceForAccessibilityOptions) => unit = - "announceForAccessibilityWithOptions" +external announceForAccessibility: (string, ~options: announceForAccessibilityOptions=?) => unit = + "announceForAccessibility" @scope("AccessibilityInfo") @module("react-native") external getRecommendedTimeoutMillis: float => promise = "getRecommendedTimeoutMillis" diff --git a/src/apis/AccessibilityInfo.bs.js b/src/apis/AccessibilityInfo.res.js similarity index 100% rename from src/apis/AccessibilityInfo.bs.js rename to src/apis/AccessibilityInfo.res.js diff --git a/src/apis/ActionSheetIOS.bs.js b/src/apis/ActionSheetIOS.res.js similarity index 100% rename from src/apis/ActionSheetIOS.bs.js rename to src/apis/ActionSheetIOS.res.js diff --git a/src/apis/Alert.bs.js b/src/apis/Alert.res.js similarity index 100% rename from src/apis/Alert.bs.js rename to src/apis/Alert.res.js diff --git a/src/apis/Animated.bs.js b/src/apis/Animated.bs.js deleted file mode 100644 index 81c345862..000000000 --- a/src/apis/Animated.bs.js +++ /dev/null @@ -1,136 +0,0 @@ -'use strict'; - -var Caml_option = require("rescript/lib/js/caml_option.js"); -var ReactNative = require("react-native"); - -var $$Animation = {}; - -function ValueAnimations(Val) { - var Decay = {}; - var Spring = {}; - var Timing = {}; - return { - Decay: Decay, - Spring: Spring, - Timing: Timing - }; -} - -var Interpolation = {}; - -function interpolate(prim0, prim1) { - return prim0.interpolate(prim1); -} - -var ValueOperations = { - interpolate: interpolate -}; - -function ValueMethods(Val) { - var Decay = {}; - var Spring = {}; - var Timing = {}; - return { - Decay: Decay, - Spring: Spring, - Timing: Timing - }; -} - -var Decay = {}; - -var Spring = {}; - -var Timing = {}; - -var Value = { - Decay: Decay, - Spring: Spring, - Timing: Timing, - interpolate: interpolate -}; - -var Decay$1 = {}; - -var Spring$1 = {}; - -var Timing$1 = {}; - -var ValueXY = { - Decay: Decay$1, - Spring: Spring$1, - Timing: Timing$1 -}; - -var Decay$2 = {}; - -var Spring$2 = {}; - -var Timing$2 = {}; - -var Color = { - Decay: Decay$2, - Spring: Spring$2, - Timing: Timing$2 -}; - -function timing(prim0, prim1) { - return ReactNative.Animated.timing(prim0, prim1); -} - -function spring(prim0, prim1) { - return ReactNative.Animated.spring(prim0, prim1); -} - -function decay(prim0, prim1) { - return ReactNative.Animated.decay(prim0, prim1); -} - -function start(prim0, prim1) { - prim0.start(prim1 !== undefined ? Caml_option.valFromOption(prim1) : undefined); -} - -function stop(prim) { - prim.stop(); -} - -function reset(prim) { - prim.reset(); -} - -var StyleProp = {}; - -var FlatList = {}; - -var $$Image = {}; - -var ScrollView = {}; - -var SectionList = {}; - -var $$Text = {}; - -var View = {}; - -exports.$$Animation = $$Animation; -exports.ValueAnimations = ValueAnimations; -exports.Interpolation = Interpolation; -exports.ValueOperations = ValueOperations; -exports.ValueMethods = ValueMethods; -exports.Value = Value; -exports.ValueXY = ValueXY; -exports.Color = Color; -exports.timing = timing; -exports.spring = spring; -exports.decay = decay; -exports.start = start; -exports.stop = stop; -exports.reset = reset; -exports.StyleProp = StyleProp; -exports.FlatList = FlatList; -exports.$$Image = $$Image; -exports.ScrollView = ScrollView; -exports.SectionList = SectionList; -exports.$$Text = $$Text; -exports.View = View; -/* react-native Not a pure module */ diff --git a/src/apis/Animated.res b/src/apis/Animated.res index c3db60bc5..0cb2ff5a7 100644 --- a/src/apis/Animated.res +++ b/src/apis/Animated.res @@ -209,15 +209,10 @@ external stagger: (float, array) => Animation.t = "stagger" type loopConfig = {iterations?: int, resetBeforeIteration?: bool} -// multiple externals -@module("react-native") @scope("Animated") -external loop: Animation.t => Animation.t = "loop" - -// multiple externals @module("react-native") @scope("Animated") -external loopWithConfig: (Animation.t, loopConfig) => Animation.t = "loop" +external loop: (Animation.t, ~config: loopConfig=?) => Animation.t = "loop" -type eventOptions<'a, 'platformConfig> = { +type eventConfig<'a, 'platformConfig> = { listener?: 'a, useNativeDriver: bool, platformConfig?: 'platformConfig, @@ -225,11 +220,12 @@ type eventOptions<'a, 'platformConfig> = { // multiple externals @module("react-native") @scope("Animated") -external event1: (array<'mapping>, eventOptions<'a, 'platformConfig>) => 'a = "event" +external event1: (array<'mapping>, ~config: eventConfig<'a, 'platformConfig>=?) => 'a = "event" // multiple externals @module("react-native") @scope("Animated") -external event2: (('mapping1, 'mapping2), eventOptions<'a, 'platformConfig>) => 'a = "event" +external event2: (('mapping1, 'mapping2), ~config: eventConfig<'a, 'platformConfig>=?) => 'a = + "event" @module("react-native") @scope("Animated") external createAnimatedComponent: React.component<'props> => React.component<'props> = diff --git a/src/apis/Animated.res.js b/src/apis/Animated.res.js new file mode 100644 index 000000000..b28e12ea1 --- /dev/null +++ b/src/apis/Animated.res.js @@ -0,0 +1,138 @@ + + +import * as ReactNative from "react-native"; +import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js"; + +let Animation = {}; + +function ValueAnimations(Val) { + let Decay = {}; + let Spring = {}; + let Timing = {}; + return { + Decay: Decay, + Spring: Spring, + Timing: Timing + }; +} + +let Interpolation = {}; + +function interpolate(prim0, prim1) { + return prim0.interpolate(prim1); +} + +let ValueOperations = { + interpolate: interpolate +}; + +function ValueMethods(Val) { + let Decay = {}; + let Spring = {}; + let Timing = {}; + return { + Decay: Decay, + Spring: Spring, + Timing: Timing + }; +} + +let Decay = {}; + +let Spring = {}; + +let Timing = {}; + +let Value = { + Decay: Decay, + Spring: Spring, + Timing: Timing, + interpolate: interpolate +}; + +let Decay$1 = {}; + +let Spring$1 = {}; + +let Timing$1 = {}; + +let ValueXY = { + Decay: Decay$1, + Spring: Spring$1, + Timing: Timing$1 +}; + +let Decay$2 = {}; + +let Spring$2 = {}; + +let Timing$2 = {}; + +let Color = { + Decay: Decay$2, + Spring: Spring$2, + Timing: Timing$2 +}; + +function timing(prim0, prim1) { + return ReactNative.Animated.timing(prim0, prim1); +} + +function spring(prim0, prim1) { + return ReactNative.Animated.spring(prim0, prim1); +} + +function decay(prim0, prim1) { + return ReactNative.Animated.decay(prim0, prim1); +} + +function start(prim0, prim1) { + prim0.start(prim1 !== undefined ? Primitive_option.valFromOption(prim1) : undefined); +} + +function stop(prim) { + prim.stop(); +} + +function reset(prim) { + prim.reset(); +} + +let StyleProp = {}; + +let FlatList = {}; + +let Image = {}; + +let ScrollView = {}; + +let SectionList = {}; + +let Text = {}; + +let View = {}; + +export { + Animation, + ValueAnimations, + Interpolation, + ValueOperations, + ValueMethods, + Value, + ValueXY, + Color, + timing, + spring, + decay, + start, + stop, + reset, + StyleProp, + FlatList, + Image, + ScrollView, + SectionList, + Text, + View, +} +/* react-native Not a pure module */ diff --git a/src/apis/AnimationFrame.bs.js b/src/apis/AnimationFrame.res.js similarity index 100% rename from src/apis/AnimationFrame.bs.js rename to src/apis/AnimationFrame.res.js diff --git a/src/apis/AppRegistry.res b/src/apis/AppRegistry.res index d5d6ebb6a..3b1d6d08b 100644 --- a/src/apis/AppRegistry.res +++ b/src/apis/AppRegistry.res @@ -23,7 +23,7 @@ type appConfig<'a> = { } type runnable<'a> = { - "component": Js.Nullable.t>, + "component": nullable>, @meth "run": appParameters => unit, } @@ -48,13 +48,8 @@ external getSectionKeys: unit => array = "getSectionKeys" @module("react-native") @scope("AppRegistry") external getSections: unit => dict> = "getSections" -// multiple externals @module("react-native") @scope("AppRegistry") -external registerComponent: (appKey, componentProvider<'a>) => unit = "registerComponent" - -// multiple externals -@module("react-native") @scope("AppRegistry") -external registerComponentWithSection: (appKey, componentProvider<'a>, section) => unit = +external registerComponent: (appKey, componentProvider<'a>, ~section: section=?) => unit = "registerComponent" @module("react-native") @scope("AppRegistry") diff --git a/src/apis/AppRegistry.bs.js b/src/apis/AppRegistry.res.js similarity index 100% rename from src/apis/AppRegistry.bs.js rename to src/apis/AppRegistry.res.js diff --git a/src/apis/AppState.bs.js b/src/apis/AppState.res.js similarity index 100% rename from src/apis/AppState.bs.js rename to src/apis/AppState.res.js diff --git a/src/apis/Appearance.bs.js b/src/apis/Appearance.res.js similarity index 100% rename from src/apis/Appearance.bs.js rename to src/apis/Appearance.res.js diff --git a/src/apis/BackHandler.res b/src/apis/BackHandler.res index 9b872cd6c..304639a62 100644 --- a/src/apis/BackHandler.res +++ b/src/apis/BackHandler.res @@ -6,4 +6,4 @@ external exitApp: unit => unit = "exitApp" type eventType = [#hardwareBackPress] @scope("BackHandler") @module("react-native") -external addEventListener: (eventType, unit => Js.Nullable.t) => remove = "addEventListener" +external addEventListener: (eventType, unit => nullable) => remove = "addEventListener" diff --git a/src/apis/BackHandler.bs.js b/src/apis/BackHandler.res.js similarity index 100% rename from src/apis/BackHandler.bs.js rename to src/apis/BackHandler.res.js diff --git a/src/apis/Clipboard.bs.js b/src/apis/Clipboard.res.js similarity index 100% rename from src/apis/Clipboard.bs.js rename to src/apis/Clipboard.res.js diff --git a/src/apis/Color.bs.js b/src/apis/Color.bs.js deleted file mode 100644 index e122838e0..000000000 --- a/src/apis/Color.bs.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - - -function rgb(r, g, b) { - return "rgb(" + r.toString() + ", " + g.toString() + ", " + b.toString() + ")"; -} - -function rgba(r, g, b, a) { - return "rgba(" + r.toString() + ", " + g.toString() + ", " + b.toString() + ", " + a.toString() + ")"; -} - -function hsl(h, s, l) { - return "hsl(" + h.toString() + ", " + s.toString() + "%, " + l.toString() + "%)"; -} - -function hsla(h, s, l, a) { - return "hsl(" + h.toString() + ", " + s.toString() + "%, " + l.toString() + "%, " + a.toString() + ")"; -} - -exports.rgb = rgb; -exports.rgba = rgba; -exports.hsl = hsl; -exports.hsla = hsla; -/* No side effect */ diff --git a/src/apis/Color.res b/src/apis/Color.res index f894c889e..007af7329 100644 --- a/src/apis/Color.res +++ b/src/apis/Color.res @@ -4,14 +4,14 @@ type t = string external processColor: string => string = "processColor" let rgb = (~r: int, ~g: int, ~b: int) => - `rgb(${r->Js.Int.toString}, ${g->Js.Int.toString}, ${b->Js.Int.toString})` + `rgb(${r->Int.toString}, ${g->Int.toString}, ${b->Int.toString})` let rgba = (~r: int, ~g: int, ~b: int, ~a: float) => - `rgba(${r->Js.Int.toString}, ${g->Js.Int.toString}, ${b->Js.Int.toString}, ${a->Js.Float.toString})` + `rgba(${r->Int.toString}, ${g->Int.toString}, ${b->Int.toString}, ${a->Float.toString})` let hsl = (~h: float, ~s: float, ~l: float) => - `hsl(${h->Js.Float.toString}, ${s->Js.Float.toString}%, ${l->Js.Float.toString}%)` + `hsl(${h->Float.toString}, ${s->Float.toString}%, ${l->Float.toString}%)` let hsla = (~h: float, ~s: float, ~l: float, ~a: float) => - `hsl(${h->Js.Float.toString}, ${s->Js.Float.toString}%, ${l->Js.Float.toString}%, ${a->Js.Float.toString})` + `hsl(${h->Float.toString}, ${s->Float.toString}%, ${l->Float.toString}%, ${a->Float.toString})` @inline let transparent = "transparent" diff --git a/src/apis/Color.res.js b/src/apis/Color.res.js new file mode 100644 index 000000000..bacddb17a --- /dev/null +++ b/src/apis/Color.res.js @@ -0,0 +1,26 @@ + + + +function rgb(r, g, b) { + return `rgb(` + r.toString() + `, ` + g.toString() + `, ` + b.toString() + `)`; +} + +function rgba(r, g, b, a) { + return `rgba(` + r.toString() + `, ` + g.toString() + `, ` + b.toString() + `, ` + a.toString() + `)`; +} + +function hsl(h, s, l) { + return `hsl(` + h.toString() + `, ` + s.toString() + `%, ` + l.toString() + `%)`; +} + +function hsla(h, s, l, a) { + return `hsl(` + h.toString() + `, ` + s.toString() + `%, ` + l.toString() + `%, ` + a.toString() + `)`; +} + +export { + rgb, + rgba, + hsl, + hsla, +} +/* No side effect */ diff --git a/src/apis/DevSettings.res b/src/apis/DevSettings.res index c1193a9eb..937452812 100644 --- a/src/apis/DevSettings.res +++ b/src/apis/DevSettings.res @@ -6,7 +6,4 @@ type title = string external addMenuItem: (title, handler) => unit = "addMenuItem" @scope("DevSettings") @module("react-native") -external reload: unit => unit = "reload" - -@scope("DevSettings") @module("react-native") -external reloadWithReason: reason => unit = "reload" +external reload: (~reason: reason=?) => unit = "reload" diff --git a/src/apis/DevSettings.bs.js b/src/apis/DevSettings.res.js similarity index 100% rename from src/apis/DevSettings.bs.js rename to src/apis/DevSettings.res.js diff --git a/src/apis/Dimensions.bs.js b/src/apis/Dimensions.res.js similarity index 100% rename from src/apis/Dimensions.bs.js rename to src/apis/Dimensions.res.js diff --git a/src/apis/DynamicColorIOS.bs.js b/src/apis/DynamicColorIOS.res.js similarity index 100% rename from src/apis/DynamicColorIOS.bs.js rename to src/apis/DynamicColorIOS.res.js diff --git a/src/apis/Easing.bs.js b/src/apis/Easing.res.js similarity index 100% rename from src/apis/Easing.bs.js rename to src/apis/Easing.res.js diff --git a/src/apis/Event.bs.js b/src/apis/Event.bs.js deleted file mode 100644 index 0d7680c63..000000000 --- a/src/apis/Event.bs.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - - -function EventMethods(T) { - return {}; -} - -function SyntheticEvent(T) { - return {}; -} - -function ResponderSyntheticEvent(T) { - return {}; -} - -var BlurEvent = {}; - -var $$FocusEvent = {}; - -var LayoutEvent = {}; - -var TextLayoutEvent = {}; - -var PressEvent = {}; - -var ScrollEvent = {}; - -var SwitchChangeEvent = {}; - -var TargetEvent = {}; - -exports.EventMethods = EventMethods; -exports.SyntheticEvent = SyntheticEvent; -exports.ResponderSyntheticEvent = ResponderSyntheticEvent; -exports.BlurEvent = BlurEvent; -exports.$$FocusEvent = $$FocusEvent; -exports.LayoutEvent = LayoutEvent; -exports.TextLayoutEvent = TextLayoutEvent; -exports.PressEvent = PressEvent; -exports.ScrollEvent = ScrollEvent; -exports.SwitchChangeEvent = SwitchChangeEvent; -exports.TargetEvent = TargetEvent; -/* No side effect */ diff --git a/src/apis/Event.res b/src/apis/Event.res index b61e062bb..950c82c32 100644 --- a/src/apis/Event.res +++ b/src/apis/Event.res @@ -41,22 +41,20 @@ module SyntheticEvent = ( }, ) => { type t = { - bubbles: Js.Nullable.t, - cancelable: Js.Nullable.t, + bubbles: nullable, + cancelable: nullable, currentTarget: float, - defaultPrevented: Js.Nullable.t, + defaultPrevented: nullable, dispatchConfig: registrationName, - eventPhase: Js.Nullable.t, - isTrusted: Js.Nullable.t, + eventPhase: nullable, + isTrusted: nullable, nativeEvent: T._payload, - target: Js.Nullable.t, + target: nullable, timeStamp: float, - \"type": Js.Nullable.t, + \"type": nullable, } - include EventMethods({ - type event = t - }) + include EventMethods({type event = t}) } module ResponderSyntheticEvent = ( @@ -85,23 +83,21 @@ module ResponderSyntheticEvent = ( } type t = { - bubbles: Js.Nullable.t, - cancelable: Js.Nullable.t, + bubbles: nullable, + cancelable: nullable, currentTarget: float, - defaultPrevented: Js.Nullable.t, + defaultPrevented: nullable, dispatchConfig: registrationName, - eventPhase: Js.Nullable.t, - isTrusted: Js.Nullable.t, + eventPhase: nullable, + isTrusted: nullable, nativeEvent: T._payload, - target: Js.Nullable.t, + target: nullable, timeStamp: float, - \"type": Js.Nullable.t, + \"type": nullable, touchHistory: touchHistory, } - include EventMethods({ - type event = t - }) + include EventMethods({type event = t}) @get external touchHistory: t => touchHistory = "touchHistory" } @@ -127,9 +123,7 @@ module LayoutEvent = { type payload = {layout: layout} - include SyntheticEvent({ - type _payload = payload - }) + include SyntheticEvent({type _payload = payload}) } module TextLayoutEvent = { @@ -147,9 +141,7 @@ module TextLayoutEvent = { type payload = {lines: array} - include SyntheticEvent({ - type _payload = payload - }) + include SyntheticEvent({type _payload = payload}) } module PressEvent = { @@ -161,14 +153,12 @@ module PressEvent = { locationY: float, pageX: float, pageY: float, - target: Js.Nullable.t, + target: nullable, timestamp: float, touches: array, } - include ResponderSyntheticEvent({ - type _payload = payload - }) + include ResponderSyntheticEvent({type _payload = payload}) } module ScrollEvent = { @@ -194,25 +184,19 @@ module ScrollEvent = { layoutMeasurement: dimensions, } - include SyntheticEvent({ - type _payload = payload - }) + include SyntheticEvent({type _payload = payload}) } module SwitchChangeEvent = { type payload = {value: bool} - include SyntheticEvent({ - type _payload = payload - }) + include SyntheticEvent({type _payload = payload}) } module TargetEvent = { type payload = {target: int} - include SyntheticEvent({ - type _payload = payload - }) + include SyntheticEvent({type _payload = payload}) } type blurEvent = BlurEvent.t diff --git a/src/apis/Event.res.js b/src/apis/Event.res.js new file mode 100644 index 000000000..4f40859c5 --- /dev/null +++ b/src/apis/Event.res.js @@ -0,0 +1,45 @@ + + + +function EventMethods(T) { + return {}; +} + +function SyntheticEvent(T) { + return {}; +} + +function ResponderSyntheticEvent(T) { + return {}; +} + +let BlurEvent = {}; + +let FocusEvent = {}; + +let LayoutEvent = {}; + +let TextLayoutEvent = {}; + +let PressEvent = {}; + +let ScrollEvent = {}; + +let SwitchChangeEvent = {}; + +let TargetEvent = {}; + +export { + EventMethods, + SyntheticEvent, + ResponderSyntheticEvent, + BlurEvent, + FocusEvent, + LayoutEvent, + TextLayoutEvent, + PressEvent, + ScrollEvent, + SwitchChangeEvent, + TargetEvent, +} +/* No side effect */ diff --git a/src/apis/EventSubscription.bs.js b/src/apis/EventSubscription.res.js similarity index 100% rename from src/apis/EventSubscription.bs.js rename to src/apis/EventSubscription.res.js diff --git a/src/apis/Global.bs.js b/src/apis/Global.res.js similarity index 100% rename from src/apis/Global.bs.js rename to src/apis/Global.res.js diff --git a/src/apis/InteractionManager.bs.js b/src/apis/InteractionManager.res.js similarity index 100% rename from src/apis/InteractionManager.bs.js rename to src/apis/InteractionManager.res.js diff --git a/src/apis/Keyboard.bs.js b/src/apis/Keyboard.res.js similarity index 100% rename from src/apis/Keyboard.bs.js rename to src/apis/Keyboard.res.js diff --git a/src/apis/LayoutAnimation.bs.js b/src/apis/LayoutAnimation.bs.js deleted file mode 100644 index 4ddf9b4ab..000000000 --- a/src/apis/LayoutAnimation.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - - -var Presets = {}; - -exports.Presets = Presets; -/* No side effect */ diff --git a/src/apis/LayoutAnimation.res b/src/apis/LayoutAnimation.res index a58a5f367..c5457b19b 100644 --- a/src/apis/LayoutAnimation.res +++ b/src/apis/LayoutAnimation.res @@ -25,14 +25,12 @@ type layoutAnimationConfig = { delete?: animationConfig, } -// multiple externals @module("react-native") @scope("LayoutAnimation") -external configureNext: layoutAnimationConfig => unit = "configureNext" - -// multiple externals -@module("react-native") @scope("LayoutAnimation") -external configureNextWithEndCallback: (layoutAnimationConfig, unit => unit) => unit = - "configureNext" +external configureNext: ( + layoutAnimationConfig, + ~onAnimationDidEnd: unit => unit=?, + ~onAnimationDidFail: unit => unit=?, +) => unit = "configureNext" @module("react-native") @scope("LayoutAnimation") external create: ( diff --git a/src/apis/LayoutAnimation.res.js b/src/apis/LayoutAnimation.res.js new file mode 100644 index 000000000..069d4c749 --- /dev/null +++ b/src/apis/LayoutAnimation.res.js @@ -0,0 +1,9 @@ + + + +let Presets = {}; + +export { + Presets, +} +/* No side effect */ diff --git a/src/apis/Linking.bs.js b/src/apis/Linking.bs.js deleted file mode 100644 index 5e47b680a..000000000 --- a/src/apis/Linking.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - - -var ExtraValue = {}; - -exports.ExtraValue = ExtraValue; -/* No side effect */ diff --git a/src/apis/Linking.res b/src/apis/Linking.res index eb84e1d86..77330a6c8 100644 --- a/src/apis/Linking.res +++ b/src/apis/Linking.res @@ -18,18 +18,13 @@ external openURL: string => promise = "openURL" external canOpenURL: string => promise = "canOpenURL" @scope("Linking") @module("react-native") -external getInitialURL: unit => promise> = "getInitialURL" +external getInitialURL: unit => promise> = "getInitialURL" @scope("Linking") @module("react-native") external openSettings: unit => promise = "openSettings" -// multiple externals @scope("Linking") @module("react-native") -external sendIntent: string => promise = "sendIntent" - -// multiple externals -@scope("Linking") @module("react-native") -external sendIntentWithExtras: (string, array) => promise = "sendIntent" +external sendIntent: (string, ~extras: array=?) => promise = "sendIntent" type url = {url: string} diff --git a/src/apis/Linking.res.js b/src/apis/Linking.res.js new file mode 100644 index 000000000..3dbc7fe62 --- /dev/null +++ b/src/apis/Linking.res.js @@ -0,0 +1,9 @@ + + + +let ExtraValue = {}; + +export { + ExtraValue, +} +/* No side effect */ diff --git a/src/apis/LogBox.res b/src/apis/LogBox.res index f46f7f0c8..57a457149 100644 --- a/src/apis/LogBox.res +++ b/src/apis/LogBox.res @@ -2,7 +2,7 @@ external ignoreLogs: array => unit = "ignoreLogs" @module("react-native") @scope("LogBox") -external ignoreLogsRegex: array => unit = "ignoreLogs" +external ignoreLogsRegex: array => unit = "ignoreLogs" @module("react-native") @scope("LogBox") external ignoreAllLogs: (~ignore: bool=?) => unit = "ignoreAllLogs" diff --git a/src/apis/LogBox.bs.js b/src/apis/LogBox.res.js similarity index 100% rename from src/apis/LogBox.bs.js rename to src/apis/LogBox.res.js diff --git a/src/apis/NativeEventEmitter.bs.js b/src/apis/NativeEventEmitter.res.js similarity index 100% rename from src/apis/NativeEventEmitter.bs.js rename to src/apis/NativeEventEmitter.res.js diff --git a/src/apis/NativeModules.bs.js b/src/apis/NativeModules.res.js similarity index 100% rename from src/apis/NativeModules.bs.js rename to src/apis/NativeModules.res.js diff --git a/src/apis/Packager.bs.js b/src/apis/Packager.res.js similarity index 100% rename from src/apis/Packager.bs.js rename to src/apis/Packager.res.js diff --git a/src/apis/PanResponder.bs.js b/src/apis/PanResponder.res.js similarity index 100% rename from src/apis/PanResponder.bs.js rename to src/apis/PanResponder.res.js diff --git a/src/apis/PermissionsAndroid.bs.js b/src/apis/PermissionsAndroid.bs.js deleted file mode 100644 index 1d3b3f076..000000000 --- a/src/apis/PermissionsAndroid.bs.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - - -var Permission = {}; - -var Result = {}; - -exports.Permission = Permission; -exports.Result = Result; -/* No side effect */ diff --git a/src/apis/PermissionsAndroid.res b/src/apis/PermissionsAndroid.res index 472d04dcf..cff580be0 100644 --- a/src/apis/PermissionsAndroid.res +++ b/src/apis/PermissionsAndroid.res @@ -157,13 +157,8 @@ type dict = dict @scope("PermissionsAndroid") @module("react-native") external check: Permission.t => promise = "check" -// multiple externals @scope("PermissionsAndroid") @module("react-native") -external request: Permission.t => promise = "request" - -// multiple externals -@scope("PermissionsAndroid") @module("react-native") -external requestWithRationale: (Permission.t, rationale) => promise = "request" +external request: (Permission.t, ~rationale: rationale=?) => promise = "request" @scope("PermissionsAndroid") @module("react-native") external requestMultiple: array => promise = "requestMultiple" diff --git a/src/apis/PermissionsAndroid.res.js b/src/apis/PermissionsAndroid.res.js new file mode 100644 index 000000000..8146251d0 --- /dev/null +++ b/src/apis/PermissionsAndroid.res.js @@ -0,0 +1,12 @@ + + + +let Permission = {}; + +let Result = {}; + +export { + Permission, + Result, +} +/* No side effect */ diff --git a/src/apis/PermissionsAndroid.resi b/src/apis/PermissionsAndroid.resi index 7709742d9..26060a419 100644 --- a/src/apis/PermissionsAndroid.resi +++ b/src/apis/PermissionsAndroid.resi @@ -157,13 +157,8 @@ type dict @scope("PermissionsAndroid") @module("react-native") external check: Permission.t => promise = "check" -// multiple externals @scope("PermissionsAndroid") @module("react-native") -external request: Permission.t => promise = "request" - -// multiple externals -@scope("PermissionsAndroid") @module("react-native") -external requestWithRationale: (Permission.t, rationale) => promise = "request" +external request: (Permission.t, ~rationale: rationale=?) => promise = "request" @scope("PermissionsAndroid") @module("react-native") external requestMultiple: array => promise = "requestMultiple" diff --git a/src/apis/PixelRatio.bs.js b/src/apis/PixelRatio.res.js similarity index 100% rename from src/apis/PixelRatio.bs.js rename to src/apis/PixelRatio.res.js diff --git a/src/apis/Platform.res b/src/apis/Platform.res index ef150b45a..1145a5e37 100644 --- a/src/apis/Platform.res +++ b/src/apis/Platform.res @@ -10,8 +10,7 @@ Platform.os === #ios : doSomethingInOtherPlatform() ``` */ -@module("react-native") -@scope("Platform") +@module("react-native") @scope("Platform") external os: os = "OS" @module("react-native") @scope("Platform") diff --git a/src/apis/Platform.bs.js b/src/apis/Platform.res.js similarity index 100% rename from src/apis/Platform.bs.js rename to src/apis/Platform.res.js diff --git a/src/apis/PlatformColor.bs.js b/src/apis/PlatformColor.bs.js deleted file mode 100644 index 081587ddd..000000000 --- a/src/apis/PlatformColor.bs.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - - -var Ios = {}; - -var Android = {}; - -exports.Ios = Ios; -exports.Android = Android; -/* No side effect */ diff --git a/src/apis/PlatformColor.res.js b/src/apis/PlatformColor.res.js new file mode 100644 index 000000000..444b7aa49 --- /dev/null +++ b/src/apis/PlatformColor.res.js @@ -0,0 +1,12 @@ + + + +let Ios = {}; + +let Android = {}; + +export { + Ios, + Android, +} +/* No side effect */ diff --git a/src/apis/Settings.bs.js b/src/apis/Settings.res.js similarity index 100% rename from src/apis/Settings.bs.js rename to src/apis/Settings.res.js diff --git a/src/apis/Share.res b/src/apis/Share.res index 9957d5718..e77225fe7 100644 --- a/src/apis/Share.res +++ b/src/apis/Share.res @@ -27,10 +27,5 @@ type shareResult = { activityType: option, } -// multiple externals @module("react-native") @scope("Share") -external share: content => promise = "share" - -// multiple externals -@module("react-native") @scope("Share") -external shareWithOptions: (content, options) => promise = "share" +external share: (content, ~options: options=?) => promise = "share" diff --git a/src/apis/Share.bs.js b/src/apis/Share.res.js similarity index 100% rename from src/apis/Share.bs.js rename to src/apis/Share.res.js diff --git a/src/apis/Style.res b/src/apis/Style.res index f3c34352c..5e307a798 100644 --- a/src/apis/Style.res +++ b/src/apis/Style.res @@ -15,7 +15,7 @@ type size = string external dp: float => size = "%identity" -let pct = num => num->Js.Float.toString ++ "%" +let pct = num => num->Float.toString ++ "%" type margin = size @@ -28,8 +28,8 @@ type offset = { } type angle -let deg: float => angle = num => (num->Js.Float.toString ++ "deg")->Obj.magic -let rad: float => angle = num => (num->Js.Float.toString ++ "rad")->Obj.magic +let deg: float => angle = num => (num->Float.toString ++ "deg")->Obj.magic +let rad: float => angle = num => (num->Float.toString ++ "rad")->Obj.magic type transform @obj external perspective: (~perspective: float) => transform = "" diff --git a/src/apis/Style.bs.js b/src/apis/Style.res.js similarity index 63% rename from src/apis/Style.bs.js rename to src/apis/Style.res.js index 646d2ccbb..6bf4c78c9 100644 --- a/src/apis/Style.bs.js +++ b/src/apis/Style.res.js @@ -1,4 +1,4 @@ -'use strict'; + function pct(num) { @@ -13,10 +13,12 @@ function rad(num) { return num.toString() + "rad"; } -var empty = {}; +let empty = {}; -exports.pct = pct; -exports.deg = deg; -exports.rad = rad; -exports.empty = empty; +export { + pct, + deg, + rad, + empty, +} /* No side effect */ diff --git a/src/apis/StyleSheet.bs.js b/src/apis/StyleSheet.res.js similarity index 100% rename from src/apis/StyleSheet.bs.js rename to src/apis/StyleSheet.res.js diff --git a/src/apis/ToastAndroid.bs.js b/src/apis/ToastAndroid.res.js similarity index 100% rename from src/apis/ToastAndroid.bs.js rename to src/apis/ToastAndroid.res.js diff --git a/src/apis/UIManager.bs.js b/src/apis/UIManager.res.js similarity index 100% rename from src/apis/UIManager.bs.js rename to src/apis/UIManager.res.js diff --git a/src/apis/Vibration.res b/src/apis/Vibration.res index 19f4ab67e..61b3c2f81 100644 --- a/src/apis/Vibration.res +++ b/src/apis/Vibration.res @@ -1,8 +1,7 @@ -@scope("Vibration") @module("react-native") -external vibrateWithDuration: (int, ~repeat: bool=?) => unit = "vibrate" +@unboxed type pattern = Number(int) | Array(array) @scope("Vibration") @module("react-native") -external vibrateWithPattern: (array, ~repeat: bool=?) => unit = "vibrate" +external vibrate: (~pattern: pattern=?, ~repeat: bool=?) => unit = "vibrate" @scope("Vibration") @module("react-native") external cancel: unit => unit = "cancel" diff --git a/src/apis/Vibration.bs.js b/src/apis/Vibration.res.js similarity index 100% rename from src/apis/Vibration.bs.js rename to src/apis/Vibration.res.js diff --git a/src/components/ActivityIndicator.bs.js b/src/components/ActivityIndicator.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/ActivityIndicator.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/ActivityIndicator.res b/src/components/ActivityIndicator.res index 5a2df2a6c..279e9cdf2 100644 --- a/src/components/ActivityIndicator.res +++ b/src/components/ActivityIndicator.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) @unboxed type size = | @as("small") Small | @as("large") Large | Number(float) diff --git a/src/components/ActivityIndicator.res.js b/src/components/ActivityIndicator.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/ActivityIndicator.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/Button.bs.js b/src/components/Button.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/Button.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/Button.res b/src/components/Button.res index 3c853c083..dc56458cc 100644 --- a/src/components/Button.res +++ b/src/components/Button.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type props = { ref?: ref, diff --git a/src/components/Button.res.js b/src/components/Button.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/Button.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/DrawerLayoutAndroid.bs.js b/src/components/DrawerLayoutAndroid.bs.js deleted file mode 100644 index e753ad8b8..000000000 --- a/src/components/DrawerLayoutAndroid.bs.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var Event$ReactNative = require("../apis/Event.bs.js"); -var DrawerLayoutAndroidElement$ReactNative = require("../elements/DrawerLayoutAndroidElement.bs.js"); - -Event$ReactNative.SyntheticEvent({}); - -var DrawerSlideEvent = {}; - -exports.DrawerSlideEvent = DrawerSlideEvent; -/* Not a pure module */ diff --git a/src/components/DrawerLayoutAndroid.res b/src/components/DrawerLayoutAndroid.res index 6c86cd501..c54cf35e9 100644 --- a/src/components/DrawerLayoutAndroid.res +++ b/src/components/DrawerLayoutAndroid.res @@ -3,9 +3,7 @@ include DrawerLayoutAndroidElement module DrawerSlideEvent = { type payload = {offset: float} - include Event.SyntheticEvent({ - type _payload = payload - }) + include Event.SyntheticEvent({type _payload = payload}) } type drawerSlideEvent = DrawerSlideEvent.t diff --git a/src/components/DrawerLayoutAndroid.res.js b/src/components/DrawerLayoutAndroid.res.js new file mode 100644 index 000000000..1c6619acf --- /dev/null +++ b/src/components/DrawerLayoutAndroid.res.js @@ -0,0 +1,13 @@ + + +import * as Event$ReactNative from "../apis/Event.res.js"; +import * as DrawerLayoutAndroidElement$ReactNative from "../elements/DrawerLayoutAndroidElement.res.js"; + +Event$ReactNative.SyntheticEvent({}); + +let DrawerSlideEvent = {}; + +export { + DrawerSlideEvent, +} +/* Not a pure module */ diff --git a/src/components/FlatList.bs.js b/src/components/FlatList.bs.js deleted file mode 100644 index ca4d50a8f..000000000 --- a/src/components/FlatList.bs.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -var VirtualizedListElement$ReactNative = require("../elements/VirtualizedListElement.bs.js"); - - -/* VirtualizedListElement-ReactNative Not a pure module */ diff --git a/src/components/FlatList.res.js b/src/components/FlatList.res.js new file mode 100644 index 000000000..f273b8aea --- /dev/null +++ b/src/components/FlatList.res.js @@ -0,0 +1,6 @@ + + +import * as VirtualizedListElement$ReactNative from "../elements/VirtualizedListElement.res.js"; + + +/* VirtualizedListElement-ReactNative Not a pure module */ diff --git a/src/components/Image.bs.js b/src/components/Image.bs.js deleted file mode 100644 index 26125b48f..000000000 --- a/src/components/Image.bs.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -var Event$ReactNative = require("../apis/Event.bs.js"); -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -var Source = {}; - -Event$ReactNative.SyntheticEvent({}); - -var ImageLoadEvent = {}; - -Event$ReactNative.SyntheticEvent({}); - -var $$ErrorEvent = {}; - -Event$ReactNative.SyntheticEvent({}); - -var $$ProgressEvent = {}; - -exports.Source = Source; -exports.ImageLoadEvent = ImageLoadEvent; -exports.$$ErrorEvent = $$ErrorEvent; -exports.$$ProgressEvent = $$ProgressEvent; -/* Not a pure module */ diff --git a/src/components/Image.res b/src/components/Image.res index bf259dbab..af1fdec8d 100644 --- a/src/components/Image.res +++ b/src/components/Image.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type cache = [ | #default @@ -39,13 +37,11 @@ module ImageLoadEvent = { } type payload = { - uri: Js.Nullable.t, + uri: nullable, source: source, } - include Event.SyntheticEvent({ - type _payload = payload - }) + include Event.SyntheticEvent({type _payload = payload}) } type imageLoadEvent = ImageLoadEvent.t @@ -53,9 +49,7 @@ type imageLoadEvent = ImageLoadEvent.t module ErrorEvent = { type payload = {error: string} - include Event.SyntheticEvent({ - type _payload = payload - }) + include Event.SyntheticEvent({type _payload = payload}) } type errorEvent = ErrorEvent.t @@ -66,9 +60,7 @@ module ProgressEvent = { total: float, } - include Event.SyntheticEvent({ - type _payload = payload - }) + include Event.SyntheticEvent({type _payload = payload}) } type progressEvent = ProgressEvent.t diff --git a/src/components/Image.res.js b/src/components/Image.res.js new file mode 100644 index 000000000..f69d0c9a1 --- /dev/null +++ b/src/components/Image.res.js @@ -0,0 +1,28 @@ + + +import * as Event$ReactNative from "../apis/Event.res.js"; +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +let Source = {}; + +Event$ReactNative.SyntheticEvent({}); + +let ImageLoadEvent = {}; + +Event$ReactNative.SyntheticEvent({}); + +let ErrorEvent = {}; + +Event$ReactNative.SyntheticEvent({}); + +let ProgressEvent = {}; + +export { + Source, + ImageLoadEvent, + ErrorEvent, + ProgressEvent, +} +/* Not a pure module */ diff --git a/src/components/ImageBackground.bs.js b/src/components/ImageBackground.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/ImageBackground.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/ImageBackground.res b/src/components/ImageBackground.res index 59869ff97..13e3f6122 100644 --- a/src/components/ImageBackground.res +++ b/src/components/ImageBackground.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type props = { ref?: ref, diff --git a/src/components/ImageBackground.res.js b/src/components/ImageBackground.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/ImageBackground.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/InputAccessoryView.bs.js b/src/components/InputAccessoryView.res.js similarity index 100% rename from src/components/InputAccessoryView.bs.js rename to src/components/InputAccessoryView.res.js diff --git a/src/components/KeyboardAvoidingView.bs.js b/src/components/KeyboardAvoidingView.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/KeyboardAvoidingView.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/KeyboardAvoidingView.res b/src/components/KeyboardAvoidingView.res index 563ad12e9..52db050d7 100644 --- a/src/components/KeyboardAvoidingView.res +++ b/src/components/KeyboardAvoidingView.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type behavior = [#height | #position | #padding] diff --git a/src/components/KeyboardAvoidingView.res.js b/src/components/KeyboardAvoidingView.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/KeyboardAvoidingView.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/Modal.bs.js b/src/components/Modal.bs.js deleted file mode 100644 index a71650344..000000000 --- a/src/components/Modal.bs.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var Event$ReactNative = require("../apis/Event.bs.js"); -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -Event$ReactNative.SyntheticEvent({}); - -var OrientationChangeEvent = {}; - -exports.OrientationChangeEvent = OrientationChangeEvent; -/* Not a pure module */ diff --git a/src/components/Modal.res b/src/components/Modal.res index 0c9e961aa..87f308364 100644 --- a/src/components/Modal.res +++ b/src/components/Modal.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type orientation = [ | #landscape @@ -17,9 +15,7 @@ type orientationChange = [#landscape | #portrait] module OrientationChangeEvent = { type payload = {orientation: orientationChange} - include Event.SyntheticEvent({ - type _payload = payload - }) + include Event.SyntheticEvent({type _payload = payload}) } type orientationChangeEvent = OrientationChangeEvent.t diff --git a/src/components/Modal.res.js b/src/components/Modal.res.js new file mode 100644 index 000000000..cdf19bfc7 --- /dev/null +++ b/src/components/Modal.res.js @@ -0,0 +1,15 @@ + + +import * as Event$ReactNative from "../apis/Event.res.js"; +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +Event$ReactNative.SyntheticEvent({}); + +let OrientationChangeEvent = {}; + +export { + OrientationChangeEvent, +} +/* Not a pure module */ diff --git a/src/components/Pressable.bs.js b/src/components/Pressable.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/Pressable.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/Pressable.res b/src/components/Pressable.res index 0fe0a907c..c196fcc1d 100644 --- a/src/components/Pressable.res +++ b/src/components/Pressable.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type rippleConfig = { borderless?: bool, diff --git a/src/components/Pressable.res.js b/src/components/Pressable.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/Pressable.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/ProgressBarAndroid.bs.js b/src/components/ProgressBarAndroid.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/ProgressBarAndroid.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/ProgressBarAndroid.res b/src/components/ProgressBarAndroid.res index 4a4a888a9..f6aa3a1fd 100644 --- a/src/components/ProgressBarAndroid.res +++ b/src/components/ProgressBarAndroid.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type styleAttr = [ | #Horizontal diff --git a/src/components/ProgressBarAndroid.res.js b/src/components/ProgressBarAndroid.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/ProgressBarAndroid.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/RefreshControl.bs.js b/src/components/RefreshControl.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/RefreshControl.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/RefreshControl.res b/src/components/RefreshControl.res index 71410e85f..426013b0c 100644 --- a/src/components/RefreshControl.res +++ b/src/components/RefreshControl.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type props = { ref?: ref, diff --git a/src/components/RefreshControl.res.js b/src/components/RefreshControl.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/RefreshControl.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/SafeAreaView.bs.js b/src/components/SafeAreaView.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/SafeAreaView.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/SafeAreaView.res b/src/components/SafeAreaView.res index 6475a9942..813340cc9 100644 --- a/src/components/SafeAreaView.res +++ b/src/components/SafeAreaView.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type props = { ref?: ref, diff --git a/src/components/SafeAreaView.res.js b/src/components/SafeAreaView.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/SafeAreaView.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/ScrollView.bs.js b/src/components/ScrollView.bs.js deleted file mode 100644 index ba1e33dd9..000000000 --- a/src/components/ScrollView.bs.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -var ScrollViewElement$ReactNative = require("../elements/ScrollViewElement.bs.js"); - - -/* ScrollViewElement-ReactNative Not a pure module */ diff --git a/src/components/ScrollView.res.js b/src/components/ScrollView.res.js new file mode 100644 index 000000000..8aab93da4 --- /dev/null +++ b/src/components/ScrollView.res.js @@ -0,0 +1,6 @@ + + +import * as ScrollViewElement$ReactNative from "../elements/ScrollViewElement.res.js"; + + +/* ScrollViewElement-ReactNative Not a pure module */ diff --git a/src/components/SectionList.bs.js b/src/components/SectionList.bs.js deleted file mode 100644 index 7c0cade36..000000000 --- a/src/components/SectionList.bs.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -var VirtualizedSectionListElement$ReactNative = require("../elements/VirtualizedSectionListElement.bs.js"); - - -/* VirtualizedSectionListElement-ReactNative Not a pure module */ diff --git a/src/components/SectionList.res.js b/src/components/SectionList.res.js new file mode 100644 index 000000000..4289ba395 --- /dev/null +++ b/src/components/SectionList.res.js @@ -0,0 +1,6 @@ + + +import * as VirtualizedSectionListElement$ReactNative from "../elements/VirtualizedSectionListElement.res.js"; + + +/* VirtualizedSectionListElement-ReactNative Not a pure module */ diff --git a/src/components/StatusBar.bs.js b/src/components/StatusBar.res.js similarity index 100% rename from src/components/StatusBar.bs.js rename to src/components/StatusBar.res.js diff --git a/src/components/Switch.bs.js b/src/components/Switch.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/Switch.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/Switch.res b/src/components/Switch.res index 9c4bf54bb..b2b81071f 100644 --- a/src/components/Switch.res +++ b/src/components/Switch.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type trackColor = { \"true"?: Color.t, diff --git a/src/components/Switch.res.js b/src/components/Switch.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/Switch.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/Text.bs.js b/src/components/Text.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/Text.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/Text.res b/src/components/Text.res index db2ab8c59..24d350301 100644 --- a/src/components/Text.res +++ b/src/components/Text.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type android_hyphenationFrequency = [ | #normal diff --git a/src/components/Text.res.js b/src/components/Text.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/Text.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/TextInput.bs.js b/src/components/TextInput.bs.js deleted file mode 100644 index 21a1bebf0..000000000 --- a/src/components/TextInput.bs.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -var Event$ReactNative = require("../apis/Event.bs.js"); -var TextInputElement$ReactNative = require("../elements/TextInputElement.bs.js"); - -Event$ReactNative.SyntheticEvent({}); - -var ChangeEvent = {}; - -Event$ReactNative.SyntheticEvent({}); - -var EditingEvent = {}; - -Event$ReactNative.SyntheticEvent({}); - -var ContentSizeChangeEvent = {}; - -Event$ReactNative.SyntheticEvent({}); - -var ScrollEvent = {}; - -Event$ReactNative.SyntheticEvent({}); - -var SelectionChangeEvent = {}; - -Event$ReactNative.SyntheticEvent({}); - -var KeyPressEvent = {}; - -exports.ChangeEvent = ChangeEvent; -exports.EditingEvent = EditingEvent; -exports.ContentSizeChangeEvent = ContentSizeChangeEvent; -exports.ScrollEvent = ScrollEvent; -exports.SelectionChangeEvent = SelectionChangeEvent; -exports.KeyPressEvent = KeyPressEvent; -/* Not a pure module */ diff --git a/src/components/TextInput.res b/src/components/TextInput.res index 519efea16..2da680228 100644 --- a/src/components/TextInput.res +++ b/src/components/TextInput.res @@ -6,9 +6,7 @@ module ChangeEvent = { text: string, } - include Event.SyntheticEvent({ - type _payload = payload - }) + include Event.SyntheticEvent({type _payload = payload}) } type changeEvent = ChangeEvent.t @@ -20,9 +18,7 @@ module EditingEvent = { target: int, } - include Event.SyntheticEvent({ - type _payload = payload - }) + include Event.SyntheticEvent({type _payload = payload}) } type editingEvent = EditingEvent.t @@ -37,9 +33,7 @@ module ContentSizeChangeEvent = { contentSize: contentSize, } - include Event.SyntheticEvent({ - type _payload = payload - }) + include Event.SyntheticEvent({type _payload = payload}) } type contentSizeChangeEvent = ContentSizeChangeEvent.t @@ -52,9 +46,7 @@ module ScrollEvent = { type payload = {contentOffset: contentOffset} - include Event.SyntheticEvent({ - type _payload = payload - }) + include Event.SyntheticEvent({type _payload = payload}) } type scrollEvent = ScrollEvent.t @@ -70,9 +62,7 @@ module SelectionChangeEvent = { target: int, } - include Event.SyntheticEvent({ - type _payload = payload - }) + include Event.SyntheticEvent({type _payload = payload}) } type selectionChangeEvent = SelectionChangeEvent.t @@ -80,13 +70,11 @@ type selectionChangeEvent = SelectionChangeEvent.t module KeyPressEvent = { type payload = { key: string, - target: Js.Nullable.t, - eventCount: Js.Nullable.t, + target: nullable, + eventCount: nullable, } - include Event.SyntheticEvent({ - type _payload = payload - }) + include Event.SyntheticEvent({type _payload = payload}) } type keyPressEvent = KeyPressEvent.t diff --git a/src/components/TextInput.res.js b/src/components/TextInput.res.js new file mode 100644 index 000000000..26330f768 --- /dev/null +++ b/src/components/TextInput.res.js @@ -0,0 +1,38 @@ + + +import * as Event$ReactNative from "../apis/Event.res.js"; +import * as TextInputElement$ReactNative from "../elements/TextInputElement.res.js"; + +Event$ReactNative.SyntheticEvent({}); + +let ChangeEvent = {}; + +Event$ReactNative.SyntheticEvent({}); + +let EditingEvent = {}; + +Event$ReactNative.SyntheticEvent({}); + +let ContentSizeChangeEvent = {}; + +Event$ReactNative.SyntheticEvent({}); + +let ScrollEvent = {}; + +Event$ReactNative.SyntheticEvent({}); + +let SelectionChangeEvent = {}; + +Event$ReactNative.SyntheticEvent({}); + +let KeyPressEvent = {}; + +export { + ChangeEvent, + EditingEvent, + ContentSizeChangeEvent, + ScrollEvent, + SelectionChangeEvent, + KeyPressEvent, +} +/* Not a pure module */ diff --git a/src/components/TouchableHighlight.bs.js b/src/components/TouchableHighlight.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/TouchableHighlight.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/TouchableHighlight.res b/src/components/TouchableHighlight.res index 1696d5d84..c02336dbb 100644 --- a/src/components/TouchableHighlight.res +++ b/src/components/TouchableHighlight.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type props = { ref?: ref, diff --git a/src/components/TouchableHighlight.res.js b/src/components/TouchableHighlight.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/TouchableHighlight.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/TouchableNativeFeedback.bs.js b/src/components/TouchableNativeFeedback.bs.js deleted file mode 100644 index f1831e1c7..000000000 --- a/src/components/TouchableNativeFeedback.bs.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -var Background = {}; - -exports.Background = Background; -/* Not a pure module */ diff --git a/src/components/TouchableNativeFeedback.res b/src/components/TouchableNativeFeedback.res index 60dfbf672..e102f8435 100644 --- a/src/components/TouchableNativeFeedback.res +++ b/src/components/TouchableNativeFeedback.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) module Background = { type t diff --git a/src/components/TouchableNativeFeedback.res.js b/src/components/TouchableNativeFeedback.res.js new file mode 100644 index 000000000..6a4337af7 --- /dev/null +++ b/src/components/TouchableNativeFeedback.res.js @@ -0,0 +1,12 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +let Background = {}; + +export { + Background, +} +/* Not a pure module */ diff --git a/src/components/TouchableOpacity.bs.js b/src/components/TouchableOpacity.bs.js deleted file mode 100644 index 7202c4e42..000000000 --- a/src/components/TouchableOpacity.bs.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -var TouchableOpacityElement$ReactNative = require("../elements/TouchableOpacityElement.bs.js"); - - -/* TouchableOpacityElement-ReactNative Not a pure module */ diff --git a/src/components/TouchableOpacity.res.js b/src/components/TouchableOpacity.res.js new file mode 100644 index 000000000..cc4d7d32b --- /dev/null +++ b/src/components/TouchableOpacity.res.js @@ -0,0 +1,6 @@ + + +import * as TouchableOpacityElement$ReactNative from "../elements/TouchableOpacityElement.res.js"; + + +/* TouchableOpacityElement-ReactNative Not a pure module */ diff --git a/src/components/TouchableWithoutFeedback.bs.js b/src/components/TouchableWithoutFeedback.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/TouchableWithoutFeedback.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/TouchableWithoutFeedback.res b/src/components/TouchableWithoutFeedback.res index b23d7495d..3e37560ee 100644 --- a/src/components/TouchableWithoutFeedback.res +++ b/src/components/TouchableWithoutFeedback.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) type coreProps = { accessible?: bool, diff --git a/src/components/TouchableWithoutFeedback.res.js b/src/components/TouchableWithoutFeedback.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/TouchableWithoutFeedback.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/View.bs.js b/src/components/View.bs.js deleted file mode 100644 index 484019b94..000000000 --- a/src/components/View.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("../elements/NativeElement.bs.js"); - -NativeElement$ReactNative.Impl({}); - -/* Not a pure module */ diff --git a/src/components/View.res b/src/components/View.res index fda0be949..fc24a7138 100644 --- a/src/components/View.res +++ b/src/components/View.res @@ -1,8 +1,6 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) // @todo in 0.71.0 // after adding `aria-*` props, make sure `aria-checked` can be true, false or "mixed" diff --git a/src/components/View.res.js b/src/components/View.res.js new file mode 100644 index 000000000..314503d41 --- /dev/null +++ b/src/components/View.res.js @@ -0,0 +1,7 @@ + + +import * as NativeElement$ReactNative from "../elements/NativeElement.res.js"; + +NativeElement$ReactNative.Impl({}); + +/* Not a pure module */ diff --git a/src/components/VirtualizedList.bs.js b/src/components/VirtualizedList.bs.js deleted file mode 100644 index a53e5f75d..000000000 --- a/src/components/VirtualizedList.bs.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -var VirtualizedListElement$ReactNative = require("../elements/VirtualizedListElement.bs.js"); - -var Separators = {}; - -exports.Separators = Separators; -/* VirtualizedListElement-ReactNative Not a pure module */ diff --git a/src/components/VirtualizedList.res b/src/components/VirtualizedList.res index c5860c48c..913ecdbdf 100644 --- a/src/components/VirtualizedList.res +++ b/src/components/VirtualizedList.res @@ -25,7 +25,7 @@ type cellRendererComponent<'item> = React.component = { item: 'item, key: string, - index: Js.undefined, + index: undefined, isViewable: bool, section: {.}, } diff --git a/src/components/VirtualizedList.res.js b/src/components/VirtualizedList.res.js new file mode 100644 index 000000000..620ab6fc0 --- /dev/null +++ b/src/components/VirtualizedList.res.js @@ -0,0 +1,10 @@ + + +import * as VirtualizedListElement$ReactNative from "../elements/VirtualizedListElement.res.js"; + +let Separators = {}; + +export { + Separators, +} +/* VirtualizedListElement-ReactNative Not a pure module */ diff --git a/src/components/VirtualizedSectionList.bs.js b/src/components/VirtualizedSectionList.bs.js deleted file mode 100644 index 7c0cade36..000000000 --- a/src/components/VirtualizedSectionList.bs.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; - -var VirtualizedSectionListElement$ReactNative = require("../elements/VirtualizedSectionListElement.bs.js"); - - -/* VirtualizedSectionListElement-ReactNative Not a pure module */ diff --git a/src/components/VirtualizedSectionList.res.js b/src/components/VirtualizedSectionList.res.js new file mode 100644 index 000000000..4289ba395 --- /dev/null +++ b/src/components/VirtualizedSectionList.res.js @@ -0,0 +1,6 @@ + + +import * as VirtualizedSectionListElement$ReactNative from "../elements/VirtualizedSectionListElement.res.js"; + + +/* VirtualizedSectionListElement-ReactNative Not a pure module */ diff --git a/src/elements/DrawerLayoutAndroidElement.bs.js b/src/elements/DrawerLayoutAndroidElement.bs.js deleted file mode 100644 index 9417c111c..000000000 --- a/src/elements/DrawerLayoutAndroidElement.bs.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("./NativeElement.bs.js"); -var DrawerLayoutAndroidMethods$ReactNative = require("./DrawerLayoutAndroidMethods.bs.js"); - -NativeElement$ReactNative.Impl({}); - -DrawerLayoutAndroidMethods$ReactNative.Make({}); - -/* Not a pure module */ diff --git a/src/elements/DrawerLayoutAndroidElement.res b/src/elements/DrawerLayoutAndroidElement.res index e9e8daf12..5704b2a04 100644 --- a/src/elements/DrawerLayoutAndroidElement.res +++ b/src/elements/DrawerLayoutAndroidElement.res @@ -1,9 +1,5 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) -include DrawerLayoutAndroidMethods.Make({ - type t = element -}) +include DrawerLayoutAndroidMethods.Make({type t = element}) diff --git a/src/elements/DrawerLayoutAndroidElement.res.js b/src/elements/DrawerLayoutAndroidElement.res.js new file mode 100644 index 000000000..7a04301fd --- /dev/null +++ b/src/elements/DrawerLayoutAndroidElement.res.js @@ -0,0 +1,10 @@ + + +import * as NativeElement$ReactNative from "./NativeElement.res.js"; +import * as DrawerLayoutAndroidMethods$ReactNative from "./DrawerLayoutAndroidMethods.res.js"; + +NativeElement$ReactNative.Impl({}); + +DrawerLayoutAndroidMethods$ReactNative.Make({}); + +/* Not a pure module */ diff --git a/src/elements/ScrollViewMethods.bs.js b/src/elements/DrawerLayoutAndroidMethods.res.js similarity index 62% rename from src/elements/ScrollViewMethods.bs.js rename to src/elements/DrawerLayoutAndroidMethods.res.js index 643aa1ca3..69d99879c 100644 --- a/src/elements/ScrollViewMethods.bs.js +++ b/src/elements/DrawerLayoutAndroidMethods.res.js @@ -1,9 +1,11 @@ -'use strict'; + function Make(T) { return {}; } -exports.Make = Make; +export { + Make, +} /* No side effect */ diff --git a/src/elements/NativeElement.bs.js b/src/elements/NativeElement.bs.js deleted file mode 100644 index 5706b3617..000000000 --- a/src/elements/NativeElement.bs.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -var DOMAPI$ReactNative = require("../types/DOMAPI.bs.js"); -var NativeMethods$ReactNative = require("./NativeMethods.bs.js"); - -function Impl(T) { - NativeMethods$ReactNative.Make({}); - DOMAPI$ReactNative.$$Element.Impl({}); - return {}; -} - -NativeMethods$ReactNative.Make({}); - -exports.Impl = Impl; -/* Not a pure module */ diff --git a/src/elements/NativeElement.res b/src/elements/NativeElement.res index a7fb20461..aee06ba23 100644 --- a/src/elements/NativeElement.res +++ b/src/elements/NativeElement.res @@ -8,13 +8,9 @@ module Impl = ( external unsafeFromAnyElement: DOMAPI.anyElement => element = "%identity" - include NativeMethods.Make({ - type t = element - }) + include NativeMethods.Make({type t = element}) - include DOMAPI.Element.Impl({ - type t = element - }) + include DOMAPI.Element.Impl({type t = element}) } @deprecated("Use NativeElement.Impl instead of accessing element type directly.") @@ -24,6 +20,4 @@ type element type ref = Ref.t @warning("-3") -include NativeMethods.Make({ - type t = element -}) +include NativeMethods.Make({type t = element}) diff --git a/src/elements/NativeElement.res.js b/src/elements/NativeElement.res.js new file mode 100644 index 000000000..e5500ef1c --- /dev/null +++ b/src/elements/NativeElement.res.js @@ -0,0 +1,17 @@ + + +import * as DOMAPI$ReactNative from "../types/DOMAPI.res.js"; +import * as NativeMethods$ReactNative from "./NativeMethods.res.js"; + +function Impl(T) { + NativeMethods$ReactNative.Make({}); + DOMAPI$ReactNative.Element.Impl({}); + return {}; +} + +NativeMethods$ReactNative.Make({}); + +export { + Impl, +} +/* Not a pure module */ diff --git a/src/elements/DrawerLayoutAndroidMethods.bs.js b/src/elements/NativeMethods.res.js similarity index 62% rename from src/elements/DrawerLayoutAndroidMethods.bs.js rename to src/elements/NativeMethods.res.js index 643aa1ca3..69d99879c 100644 --- a/src/elements/DrawerLayoutAndroidMethods.bs.js +++ b/src/elements/NativeMethods.res.js @@ -1,9 +1,11 @@ -'use strict'; + function Make(T) { return {}; } -exports.Make = Make; +export { + Make, +} /* No side effect */ diff --git a/src/elements/Ref.res b/src/elements/Ref.res index 088c07b0a..213c80f9c 100644 --- a/src/elements/Ref.res +++ b/src/elements/Ref.res @@ -1,7 +1,7 @@ type t<'element> -type valueRef<'element> = React.ref> -type callbackRef<'element> = Js.nullable<'element> => unit +type valueRef<'element> = React.ref> +type callbackRef<'element> = nullable<'element> => unit external value: valueRef<'element> => t<'element> = "%identity" external callback: callbackRef<'element> => t<'element> = "%identity" diff --git a/src/elements/Ref.bs.js b/src/elements/Ref.res.js similarity index 100% rename from src/elements/Ref.bs.js rename to src/elements/Ref.res.js diff --git a/src/elements/ScrollViewElement.bs.js b/src/elements/ScrollViewElement.bs.js deleted file mode 100644 index e75393846..000000000 --- a/src/elements/ScrollViewElement.bs.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("./NativeElement.bs.js"); -var ScrollViewMethods$ReactNative = require("./ScrollViewMethods.bs.js"); - -NativeElement$ReactNative.Impl({}); - -ScrollViewMethods$ReactNative.Make({}); - -/* Not a pure module */ diff --git a/src/elements/ScrollViewElement.res b/src/elements/ScrollViewElement.res index 290e8d54d..4d92a185b 100644 --- a/src/elements/ScrollViewElement.res +++ b/src/elements/ScrollViewElement.res @@ -1,18 +1,14 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) -include ScrollViewMethods.Make({ - type t = element -}) +include ScrollViewMethods.Make({type t = element}) -type scrollToParams = { +type scrollToOptions = { x: float, y: float, animated?: bool, duration?: float, } -@send external scrollTo: (element, scrollToParams) => unit = "scrollTo" +@send external scrollTo: (element, scrollToOptions) => unit = "scrollTo" diff --git a/src/elements/ScrollViewElement.res.js b/src/elements/ScrollViewElement.res.js new file mode 100644 index 000000000..3c3792ae3 --- /dev/null +++ b/src/elements/ScrollViewElement.res.js @@ -0,0 +1,10 @@ + + +import * as NativeElement$ReactNative from "./NativeElement.res.js"; +import * as ScrollViewMethods$ReactNative from "./ScrollViewMethods.res.js"; + +NativeElement$ReactNative.Impl({}); + +ScrollViewMethods$ReactNative.Make({}); + +/* Not a pure module */ diff --git a/src/elements/ScrollViewMethods.res b/src/elements/ScrollViewMethods.res index 9e5be5f0b..1589ade14 100644 --- a/src/elements/ScrollViewMethods.res +++ b/src/elements/ScrollViewMethods.res @@ -5,12 +5,7 @@ module Make = ( ) => { type scrollToEndOptions = {animated?: bool, duration?: float} - // multiple externals - @send external scrollToEnd: T.t => unit = "scrollToEnd" - - // multiple externals - @send - external scrollToEndWithOptions: (T.t, scrollToEndOptions) => unit = "scrollToEnd" + @send external scrollToEnd: (T.t, ~options: scrollToEndOptions=?) => unit = "scrollToEnd" @send external flashScrollIndicators: T.t => unit = "flashScrollIndicators" diff --git a/src/elements/NativeMethods.bs.js b/src/elements/ScrollViewMethods.res.js similarity index 62% rename from src/elements/NativeMethods.bs.js rename to src/elements/ScrollViewMethods.res.js index 643aa1ca3..69d99879c 100644 --- a/src/elements/NativeMethods.bs.js +++ b/src/elements/ScrollViewMethods.res.js @@ -1,9 +1,11 @@ -'use strict'; + function Make(T) { return {}; } -exports.Make = Make; +export { + Make, +} /* No side effect */ diff --git a/src/elements/TextInputElement.bs.js b/src/elements/TextInputElement.bs.js deleted file mode 100644 index 2e6eb6a50..000000000 --- a/src/elements/TextInputElement.bs.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("./NativeElement.bs.js"); -var TextInputMethods$ReactNative = require("./TextInputMethods.bs.js"); - -NativeElement$ReactNative.Impl({}); - -TextInputMethods$ReactNative.Make({}); - -/* Not a pure module */ diff --git a/src/elements/TextInputElement.res b/src/elements/TextInputElement.res index 4f26ee666..763793728 100644 --- a/src/elements/TextInputElement.res +++ b/src/elements/TextInputElement.res @@ -1,9 +1,5 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) -include TextInputMethods.Make({ - type t = element -}) +include TextInputMethods.Make({type t = element}) diff --git a/src/elements/TextInputElement.res.js b/src/elements/TextInputElement.res.js new file mode 100644 index 000000000..79c77c4e9 --- /dev/null +++ b/src/elements/TextInputElement.res.js @@ -0,0 +1,10 @@ + + +import * as NativeElement$ReactNative from "./NativeElement.res.js"; +import * as TextInputMethods$ReactNative from "./TextInputMethods.res.js"; + +NativeElement$ReactNative.Impl({}); + +TextInputMethods$ReactNative.Make({}); + +/* Not a pure module */ diff --git a/src/elements/TextInputMethods.bs.js b/src/elements/TextInputMethods.res.js similarity index 62% rename from src/elements/TextInputMethods.bs.js rename to src/elements/TextInputMethods.res.js index 643aa1ca3..69d99879c 100644 --- a/src/elements/TextInputMethods.bs.js +++ b/src/elements/TextInputMethods.res.js @@ -1,9 +1,11 @@ -'use strict'; + function Make(T) { return {}; } -exports.Make = Make; +export { + Make, +} /* No side effect */ diff --git a/src/elements/TouchableOpacityElement.bs.js b/src/elements/TouchableOpacityElement.bs.js deleted file mode 100644 index 19bb2c5cf..000000000 --- a/src/elements/TouchableOpacityElement.bs.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("./NativeElement.bs.js"); -var TouchableOpacityMethods$ReactNative = require("./TouchableOpacityMethods.bs.js"); - -NativeElement$ReactNative.Impl({}); - -TouchableOpacityMethods$ReactNative.Make({}); - -/* Not a pure module */ diff --git a/src/elements/TouchableOpacityElement.res b/src/elements/TouchableOpacityElement.res index 61b2ade5d..e18acc6a3 100644 --- a/src/elements/TouchableOpacityElement.res +++ b/src/elements/TouchableOpacityElement.res @@ -1,9 +1,5 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) -include TouchableOpacityMethods.Make({ - type t = element -}) +include TouchableOpacityMethods.Make({type t = element}) diff --git a/src/elements/TouchableOpacityElement.res.js b/src/elements/TouchableOpacityElement.res.js new file mode 100644 index 000000000..f28c3ea58 --- /dev/null +++ b/src/elements/TouchableOpacityElement.res.js @@ -0,0 +1,10 @@ + + +import * as NativeElement$ReactNative from "./NativeElement.res.js"; +import * as TouchableOpacityMethods$ReactNative from "./TouchableOpacityMethods.res.js"; + +NativeElement$ReactNative.Impl({}); + +TouchableOpacityMethods$ReactNative.Make({}); + +/* Not a pure module */ diff --git a/src/elements/TouchableOpacityMethods.bs.js b/src/elements/TouchableOpacityMethods.bs.js deleted file mode 100644 index 643aa1ca3..000000000 --- a/src/elements/TouchableOpacityMethods.bs.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - - -function Make(T) { - return {}; -} - -exports.Make = Make; -/* No side effect */ diff --git a/src/elements/TouchableOpacityMethods.res.js b/src/elements/TouchableOpacityMethods.res.js new file mode 100644 index 000000000..69d99879c --- /dev/null +++ b/src/elements/TouchableOpacityMethods.res.js @@ -0,0 +1,11 @@ + + + +function Make(T) { + return {}; +} + +export { + Make, +} +/* No side effect */ diff --git a/src/elements/VirtualizedListElement.bs.js b/src/elements/VirtualizedListElement.bs.js deleted file mode 100644 index c9c3bf1a8..000000000 --- a/src/elements/VirtualizedListElement.bs.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("./NativeElement.bs.js"); -var ScrollViewMethods$ReactNative = require("./ScrollViewMethods.bs.js"); -var VirtualizedListMethods$ReactNative = require("./VirtualizedListMethods.bs.js"); - -NativeElement$ReactNative.Impl({}); - -VirtualizedListMethods$ReactNative.Make({}); - -ScrollViewMethods$ReactNative.Make({}); - -/* Not a pure module */ diff --git a/src/elements/VirtualizedListElement.res b/src/elements/VirtualizedListElement.res index 0cb65266a..d30a08517 100644 --- a/src/elements/VirtualizedListElement.res +++ b/src/elements/VirtualizedListElement.res @@ -1,13 +1,7 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) -include VirtualizedListMethods.Make({ - type t = element -}) +include VirtualizedListMethods.Make({type t = element}) -include ScrollViewMethods.Make({ - type t = element -}) +include ScrollViewMethods.Make({type t = element}) diff --git a/src/elements/VirtualizedListElement.res.js b/src/elements/VirtualizedListElement.res.js new file mode 100644 index 000000000..925f046e3 --- /dev/null +++ b/src/elements/VirtualizedListElement.res.js @@ -0,0 +1,13 @@ + + +import * as NativeElement$ReactNative from "./NativeElement.res.js"; +import * as ScrollViewMethods$ReactNative from "./ScrollViewMethods.res.js"; +import * as VirtualizedListMethods$ReactNative from "./VirtualizedListMethods.res.js"; + +NativeElement$ReactNative.Impl({}); + +VirtualizedListMethods$ReactNative.Make({}); + +ScrollViewMethods$ReactNative.Make({}); + +/* Not a pure module */ diff --git a/src/elements/VirtualizedListMethods.bs.js b/src/elements/VirtualizedListMethods.bs.js deleted file mode 100644 index 643aa1ca3..000000000 --- a/src/elements/VirtualizedListMethods.bs.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - - -function Make(T) { - return {}; -} - -exports.Make = Make; -/* No side effect */ diff --git a/src/elements/VirtualizedListMethods.res.js b/src/elements/VirtualizedListMethods.res.js new file mode 100644 index 000000000..69d99879c --- /dev/null +++ b/src/elements/VirtualizedListMethods.res.js @@ -0,0 +1,11 @@ + + + +function Make(T) { + return {}; +} + +export { + Make, +} +/* No side effect */ diff --git a/src/elements/VirtualizedSectionListElement.bs.js b/src/elements/VirtualizedSectionListElement.bs.js deleted file mode 100644 index 77d094256..000000000 --- a/src/elements/VirtualizedSectionListElement.bs.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var NativeElement$ReactNative = require("./NativeElement.bs.js"); -var VirtualizedSectionListMethods$ReactNative = require("./VirtualizedSectionListMethods.bs.js"); - -NativeElement$ReactNative.Impl({}); - -VirtualizedSectionListMethods$ReactNative.Make({}); - -/* Not a pure module */ diff --git a/src/elements/VirtualizedSectionListElement.res b/src/elements/VirtualizedSectionListElement.res index 2897e90a4..fbcfb44d9 100644 --- a/src/elements/VirtualizedSectionListElement.res +++ b/src/elements/VirtualizedSectionListElement.res @@ -1,9 +1,5 @@ type nativeElement -include NativeElement.Impl({ - type t = nativeElement -}) +include NativeElement.Impl({type t = nativeElement}) -include VirtualizedSectionListMethods.Make({ - type t = element -}) +include VirtualizedSectionListMethods.Make({type t = element}) diff --git a/src/elements/VirtualizedSectionListElement.res.js b/src/elements/VirtualizedSectionListElement.res.js new file mode 100644 index 000000000..33ada8463 --- /dev/null +++ b/src/elements/VirtualizedSectionListElement.res.js @@ -0,0 +1,10 @@ + + +import * as NativeElement$ReactNative from "./NativeElement.res.js"; +import * as VirtualizedSectionListMethods$ReactNative from "./VirtualizedSectionListMethods.res.js"; + +NativeElement$ReactNative.Impl({}); + +VirtualizedSectionListMethods$ReactNative.Make({}); + +/* Not a pure module */ diff --git a/src/elements/VirtualizedSectionListMethods.bs.js b/src/elements/VirtualizedSectionListMethods.bs.js deleted file mode 100644 index 643aa1ca3..000000000 --- a/src/elements/VirtualizedSectionListMethods.bs.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - - -function Make(T) { - return {}; -} - -exports.Make = Make; -/* No side effect */ diff --git a/src/elements/VirtualizedSectionListMethods.res.js b/src/elements/VirtualizedSectionListMethods.res.js new file mode 100644 index 000000000..69d99879c --- /dev/null +++ b/src/elements/VirtualizedSectionListMethods.res.js @@ -0,0 +1,11 @@ + + + +function Make(T) { + return {}; +} + +export { + Make, +} +/* No side effect */ diff --git a/src/private/SourceCode.bs.js b/src/private/SourceCode.res.js similarity index 100% rename from src/private/SourceCode.bs.js rename to src/private/SourceCode.res.js diff --git a/src/types/Accessibility.bs.js b/src/types/Accessibility.res.js similarity index 100% rename from src/types/Accessibility.bs.js rename to src/types/Accessibility.res.js diff --git a/src/types/AccessibilityActionEvent.bs.js b/src/types/AccessibilityActionEvent.bs.js deleted file mode 100644 index 3c6b7e80a..000000000 --- a/src/types/AccessibilityActionEvent.bs.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -var Event$ReactNative = require("../apis/Event.bs.js"); - -Event$ReactNative.SyntheticEvent({}); - -/* Not a pure module */ diff --git a/src/types/AccessibilityActionEvent.res b/src/types/AccessibilityActionEvent.res index b88ac778b..7bba69268 100644 --- a/src/types/AccessibilityActionEvent.res +++ b/src/types/AccessibilityActionEvent.res @@ -1,5 +1,3 @@ type payload = {actionName: string} -include Event.SyntheticEvent({ - type _payload = payload -}) +include Event.SyntheticEvent({type _payload = payload}) diff --git a/src/types/AccessibilityActionEvent.res.js b/src/types/AccessibilityActionEvent.res.js new file mode 100644 index 000000000..2ad0fc415 --- /dev/null +++ b/src/types/AccessibilityActionEvent.res.js @@ -0,0 +1,7 @@ + + +import * as Event$ReactNative from "../apis/Event.res.js"; + +Event$ReactNative.SyntheticEvent({}); + +/* Not a pure module */ diff --git a/src/types/DOMAPI.bs.js b/src/types/DOMAPI.bs.js deleted file mode 100644 index 203971287..000000000 --- a/src/types/DOMAPI.bs.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict'; - - -var $$NodeList = {}; - -var $$HTMLCollection = {}; - -function Impl(T) { - return {}; -} - -var $$Node = { - Impl: Impl -}; - -function Impl$1(T) { - return {}; -} - -var $$Element = { - Impl: Impl$1 -}; - -var $$Document = {}; - -var $$Text = {}; - -function classify(node) { - switch (node.nodeType) { - case 1 : - return { - TAG: "Element", - _0: node - }; - case 3 : - return { - TAG: "Text", - _0: node - }; - case 9 : - return { - TAG: "Document", - _0: node - }; - default: - return "Unknown"; - } -} - -var NodeType = { - classify: classify -}; - -exports.$$NodeList = $$NodeList; -exports.$$HTMLCollection = $$HTMLCollection; -exports.$$Node = $$Node; -exports.$$Element = $$Element; -exports.$$Document = $$Document; -exports.$$Text = $$Text; -exports.NodeType = NodeType; -/* No side effect */ diff --git a/src/types/DOMAPI.res b/src/types/DOMAPI.res index 6651ed98a..bea2fae4f 100644 --- a/src/types/DOMAPI.res +++ b/src/types/DOMAPI.res @@ -6,18 +6,18 @@ type htmlCollection<'element> = {length: int} type readOnlyNode<'node, 'document, 'element> = { // Node childNodes: nodeList<'node>, - firstChild: Js.Null.t<'node>, + firstChild: null<'node>, isConnected: bool, - lastChild: Js.Null.t<'node>, - nextSibling: Js.Null.t<'node>, + lastChild: null<'node>, + nextSibling: null<'node>, nodeType: int, nodeName: string, - nodeValue: Js.Null.t, - ownerDocument: Js.Null.t<'document>, - parentElement: Js.Null.t<'element>, - parentNode: Js.Null.t<'node>, - previousSibling: Js.Null.t<'node>, - textContent: Js.Null.t, + nodeValue: null, + ownerDocument: null<'document>, + parentElement: null<'element>, + parentNode: null<'node>, + previousSibling: null<'node>, + textContent: null, } type unknownNativeElement @@ -36,11 +36,11 @@ and element<'nativeElement> = { clientLeft: int, clientTop: int, clientWidth: int, - firstElementChild: Js.Null.t, + firstElementChild: null, id: string, - lastElementChild: Js.Null.t, - nextElementSibling: Js.Null.t, - previousElementSibling: Js.Null.t, + lastElementChild: null, + nextElementSibling: null, + previousElementSibling: null, scrollHeight: int, scrollLeft: int, scrollTop: int, @@ -51,7 +51,7 @@ and element<'nativeElement> = { offsetLeft: int, offsetTop: int, offsetWidth: int, - offsetParent: Js.Null.t, + offsetParent: null, } and text = { @@ -60,8 +60,8 @@ and text = { // CharacterData data: string, length: int, - nextElementSibling: Js.Null.t, - previousElementSibling: Js.Null.t, + nextElementSibling: null, + previousElementSibling: null, } and document = { @@ -69,23 +69,23 @@ and document = { childElementCount: int, children: htmlCollection, documentElement: anyElement, - firstElementChild: Js.Null.t, - lastElementChild: Js.Null.t, + firstElementChild: null, + lastElementChild: null, } and anyElement = element module NodeList = { @send - external item: (nodeList<'node>, int) => Js.Null.t<'node> = "item" + external item: (nodeList<'node>, int) => null<'node> = "item" } module HTMLCollection = { @send - external item: (htmlCollection<'element>, int) => Js.Null.t<'element> = "item" + external item: (htmlCollection<'element>, int) => null<'element> = "item" @send - external namedItem: (htmlCollection<'element>, string) => Js.Null.t<'element> = "namedItem" + external namedItem: (htmlCollection<'element>, string) => null<'element> = "namedItem" } module Node = { @@ -103,9 +103,7 @@ module Node = { @send external hasChildNodes: T.t => bool = "hasChildNodes" } - include Impl({ - type t = node - }) + include Impl({type t = node}) } module Element = { @@ -114,9 +112,7 @@ module Element = { type t }, ) => { - include Node.Impl({ - type t = T.t - }) + include Node.Impl({type t = T.t}) @send external getBoundingClientRect: T.t => Rect.t = "getBoundingClientRect" @@ -132,24 +128,18 @@ module Element = { @send external setNativeProps: (T.t, {..}) => unit = "setNativeProps" } - include Impl({ - type t = anyElement - }) + include Impl({type t = anyElement}) } module Document = { - include Node.Impl({ - type t = document - }) + include Node.Impl({type t = document}) @send - external getElementById: (document, string) => Js.Null.t = "getElementById" + external getElementById: (document, string) => null = "getElementById" } module Text = { - include Node.Impl({ - type t = text - }) + include Node.Impl({type t = text}) @send external substringData: (text, ~offset: int, ~count: int) => string = "substringData" } diff --git a/src/types/DOMAPI.res.js b/src/types/DOMAPI.res.js new file mode 100644 index 000000000..9884fda89 --- /dev/null +++ b/src/types/DOMAPI.res.js @@ -0,0 +1,63 @@ + + + +let NodeList = {}; + +let HTMLCollection = {}; + +function Impl(T) { + return {}; +} + +let Node = { + Impl: Impl +}; + +function Impl$1(T) { + return {}; +} + +let Element = { + Impl: Impl$1 +}; + +let Document = {}; + +let Text = {}; + +function classify(node) { + switch (node.nodeType) { + case 1 : + return { + TAG: "Element", + _0: node + }; + case 3 : + return { + TAG: "Text", + _0: node + }; + case 9 : + return { + TAG: "Document", + _0: node + }; + default: + return "Unknown"; + } +} + +let NodeType = { + classify: classify +}; + +export { + NodeList, + HTMLCollection, + Node, + Element, + Document, + Text, + NodeType, +} +/* No side effect */ diff --git a/src/types/NativeTypes.bs.js b/src/types/NativeTypes.res.js similarity index 100% rename from src/types/NativeTypes.bs.js rename to src/types/NativeTypes.res.js diff --git a/src/types/Rect.bs.js b/src/types/Rect.res.js similarity index 100% rename from src/types/Rect.bs.js rename to src/types/Rect.res.js diff --git a/src/types/Role.bs.js b/src/types/Role.res.js similarity index 100% rename from src/types/Role.bs.js rename to src/types/Role.res.js diff --git a/src/types/TV.bs.js b/src/types/TV.res.js similarity index 100% rename from src/types/TV.bs.js rename to src/types/TV.res.js diff --git a/src/types/Web.bs.js b/src/types/Web.res.js similarity index 100% rename from src/types/Web.bs.js rename to src/types/Web.res.js