From c772357d49ca713505c94ed2e8d64dbb0005323d Mon Sep 17 00:00:00 2001 From: Hyeseong Kim Date: Sat, 29 Jun 2024 06:51:27 +0900 Subject: [PATCH 01/11] switch to Biome --- .prettierignore | 14 --- .prettierrc.json | 3 - biome.json | 49 +++++++++ package-lock.json | 261 ++++++++++++++++++++++++++++++++++++++++++---- package.json | 10 +- 5 files changed, 293 insertions(+), 44 deletions(-) delete mode 100644 .prettierignore delete mode 100644 .prettierrc.json create mode 100644 biome.json diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 3a78d5d9e3..0000000000 --- a/.prettierignore +++ /dev/null @@ -1,14 +0,0 @@ -jscomp/* -!jscomp/build_tests -jscomp/build_tests/*/** -!jscomp/build_tests/*/input.js -!jscomp/build_tests/*/*.json -lib/ -ninja/ -rewatch/target/ -_build/ -_opam -CHANGELOG.md -README.md -playground/ -.github/ISSUE_TEMPLATE/*.md \ No newline at end of file diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index d68aa739ec..0000000000 --- a/.prettierrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "arrowParens": "avoid" -} diff --git a/biome.json b/biome.json new file mode 100644 index 0000000000..6edc9abd72 --- /dev/null +++ b/biome.json @@ -0,0 +1,49 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json", + "vcs": { + "enabled": true, + "clientKind": "git", + "defaultBranch": "master", + "useIgnoreFile": true + }, + "linter": { + "enabled": false + }, + "organizeImports": { + "enabled": false + }, + "formatter": { + "enabled": true, + "formatWithErrors": false, + "indentStyle": "space", + "indentWidth": 2, + "lineEnding": "lf", + "lineWidth": 80, + "attributePosition": "auto", + "ignore": [ + "_build/**", + "_opam/**", + "jscomp/build_tests/**/lib/**", + "jscomp/build_tests/**/*.bs.js", + "jscomp/build_tests/**/*.res.js", + "lib/**", + "ninja/**", + "package.json", + "playground/**", + "rewatch/target/**" + ] + }, + "javascript": { + "formatter": { + "jsxQuoteStyle": "double", + "quoteProperties": "asNeeded", + "trailingCommas": "all", + "semicolons": "always", + "arrowParentheses": "asNeeded", + "bracketSpacing": true, + "bracketSameLine": false, + "quoteStyle": "double", + "attributePosition": "auto" + } + } +} diff --git a/package-lock.json b/package-lock.json index 730edc9fff..2787b4362c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,9 +16,9 @@ "rewatch": "scripts/rewatch" }, "devDependencies": { + "@biomejs/biome": "1.8.3", "mocha": "10.1.0", - "nyc": "15.0.0", - "prettier": "2.7.1" + "nyc": "15.0.0" }, "engines": { "node": ">=18" @@ -233,6 +233,170 @@ "node": ">=6.9.0" } }, + "node_modules/@biomejs/biome": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.8.3.tgz", + "integrity": "sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT OR Apache-2.0", + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "1.8.3", + "@biomejs/cli-darwin-x64": "1.8.3", + "@biomejs/cli-linux-arm64": "1.8.3", + "@biomejs/cli-linux-arm64-musl": "1.8.3", + "@biomejs/cli-linux-x64": "1.8.3", + "@biomejs/cli-linux-x64-musl": "1.8.3", + "@biomejs/cli-win32-arm64": "1.8.3", + "@biomejs/cli-win32-x64": "1.8.3" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.8.3.tgz", + "integrity": "sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.8.3.tgz", + "integrity": "sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.8.3.tgz", + "integrity": "sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.8.3.tgz", + "integrity": "sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.8.3.tgz", + "integrity": "sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.8.3.tgz", + "integrity": "sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.8.3.tgz", + "integrity": "sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.8.3.tgz", + "integrity": "sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz", @@ -1885,21 +2049,6 @@ "node": ">=8" } }, - "node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, "node_modules/process-on-spawn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", @@ -2569,6 +2718,78 @@ "to-fast-properties": "^2.0.0" } }, + "@biomejs/biome": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.8.3.tgz", + "integrity": "sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==", + "dev": true, + "requires": { + "@biomejs/cli-darwin-arm64": "1.8.3", + "@biomejs/cli-darwin-x64": "1.8.3", + "@biomejs/cli-linux-arm64": "1.8.3", + "@biomejs/cli-linux-arm64-musl": "1.8.3", + "@biomejs/cli-linux-x64": "1.8.3", + "@biomejs/cli-linux-x64-musl": "1.8.3", + "@biomejs/cli-win32-arm64": "1.8.3", + "@biomejs/cli-win32-x64": "1.8.3" + } + }, + "@biomejs/cli-darwin-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.8.3.tgz", + "integrity": "sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==", + "dev": true, + "optional": true + }, + "@biomejs/cli-darwin-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.8.3.tgz", + "integrity": "sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.8.3.tgz", + "integrity": "sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-arm64-musl": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.8.3.tgz", + "integrity": "sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.8.3.tgz", + "integrity": "sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-x64-musl": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.8.3.tgz", + "integrity": "sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==", + "dev": true, + "optional": true + }, + "@biomejs/cli-win32-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.8.3.tgz", + "integrity": "sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==", + "dev": true, + "optional": true + }, + "@biomejs/cli-win32-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.8.3.tgz", + "integrity": "sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==", + "dev": true, + "optional": true + }, "@istanbuljs/load-nyc-config": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz", @@ -3828,12 +4049,6 @@ } } }, - "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true - }, "process-on-spawn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", diff --git a/package.json b/package.json index 74dd9fb4b6..daac7ef5a7 100644 --- a/package.json +++ b/package.json @@ -2,9 +2,9 @@ "name": "rescript", "version": "12.0.0-alpha.1", "devDependencies": { + "@biomejs/biome": "1.8.3", "mocha": "10.1.0", - "nyc": "15.0.0", - "prettier": "2.7.1" + "nyc": "15.0.0" }, "engines": { "node": ">=18" @@ -20,8 +20,10 @@ "test": "node scripts/ciTest.js -all", "test-bsb": "node scripts/ciTest.js -bsb", "test-ocaml": "node scripts/ciTest.js -ounit", - "format": "prettier --write .", - "checkFormat": "prettier --check .", + "format": "biome format --changed --write .", + "format:all": "biome format --write .", + "checkFormat": "biome format --changed .", + "checkFormat:all": "biome format .", "coverage": "nyc --timeout=3000 --reporter=html mocha jscomp/test/*test.js && open ./coverage/index.html" }, "description": "ReScript toolchain", From cac699cf73ef7de221eb364ddb67307675153f3b Mon Sep 17 00:00:00 2001 From: Hyeseong Kim Date: Sat, 29 Jun 2024 07:14:49 +0900 Subject: [PATCH 02/11] do check format first --- scripts/ciTest.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/scripts/ciTest.js b/scripts/ciTest.js index df7e74e32a..2f7aee5f34 100644 --- a/scripts/ciTest.js +++ b/scripts/ciTest.js @@ -36,6 +36,18 @@ if (process.argv.includes("-all")) { } async function runTests() { + if (formatTest) { + cp.execSync("npm run checkFormat:all", { + cwd: path.join(__dirname, ".."), + stdio: [0, 1, 2], + }); + + cp.execSync("bash scripts/check_format.sh", { + cwd: path.join(__dirname, ".."), + stdio: [0, 1, 2], + }); + } + if (ounitTest) { cp.execSync(path.join(duneBinDir, "ounit_tests"), { stdio: [0, 1, 2], @@ -84,18 +96,6 @@ async function runTests() { process.exit(1); } } - - if (formatTest) { - cp.execSync("npm run checkFormat", { - cwd: path.join(__dirname, ".."), - stdio: [0, 1, 2], - }); - - cp.execSync("bash scripts/check_format.sh", { - cwd: path.join(__dirname, ".."), - stdio: [0, 1, 2], - }); - } } runTests(); From 3b27fb1945737ddc0f4c8253c0a956f035a5cb4f Mon Sep 17 00:00:00 2001 From: Hyeseong Kim Date: Sat, 29 Jun 2024 07:18:14 +0900 Subject: [PATCH 03/11] check only changes --- package.json | 4 ++-- scripts/ciTest.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index daac7ef5a7..dd76d7c710 100644 --- a/package.json +++ b/package.json @@ -20,9 +20,9 @@ "test": "node scripts/ciTest.js -all", "test-bsb": "node scripts/ciTest.js -bsb", "test-ocaml": "node scripts/ciTest.js -ounit", - "format": "biome format --changed --write .", + "format": "biome format --changed --no-errors-on-unmatched --write .", "format:all": "biome format --write .", - "checkFormat": "biome format --changed .", + "checkFormat": "biome format --changed --no-errors-on-unmatched .", "checkFormat:all": "biome format .", "coverage": "nyc --timeout=3000 --reporter=html mocha jscomp/test/*test.js && open ./coverage/index.html" }, diff --git a/scripts/ciTest.js b/scripts/ciTest.js index 2f7aee5f34..1394fb531e 100644 --- a/scripts/ciTest.js +++ b/scripts/ciTest.js @@ -37,7 +37,7 @@ if (process.argv.includes("-all")) { async function runTests() { if (formatTest) { - cp.execSync("npm run checkFormat:all", { + cp.execSync("npm run checkFormat", { cwd: path.join(__dirname, ".."), stdio: [0, 1, 2], }); From 9a18d38e6167b22ea9f2ae2539f0bea2a14bdfd5 Mon Sep 17 00:00:00 2001 From: Hyeseong Kim Date: Sun, 30 Jun 2024 02:28:26 +0900 Subject: [PATCH 04/11] ignore generated codes --- biome.json | 1 + 1 file changed, 1 insertion(+) diff --git a/biome.json b/biome.json index 6edc9abd72..ef2e658d78 100644 --- a/biome.json +++ b/biome.json @@ -26,6 +26,7 @@ "jscomp/build_tests/**/lib/**", "jscomp/build_tests/**/*.bs.js", "jscomp/build_tests/**/*.res.js", + "jscomp/test/*.js", "lib/**", "ninja/**", "package.json", From 722e4706194678d360b23bdecd5301485ecf63ac Mon Sep 17 00:00:00 2001 From: Hyeseong Kim Date: Sun, 30 Jun 2024 02:32:26 +0900 Subject: [PATCH 05/11] dedupe ignore list that already ignored by vcs integration --- .gitignore | 3 +++ biome.json | 5 +---- rewatch/.gitignore | 2 -- 3 files changed, 4 insertions(+), 6 deletions(-) delete mode 100644 rewatch/.gitignore diff --git a/.gitignore b/.gitignore index e418f372d2..862159ef35 100644 --- a/.gitignore +++ b/.gitignore @@ -93,3 +93,6 @@ playground/*.cmj playground/*.cmi playground/.netrc playground/compiler.js + +rewatch/target/ +rewatch/rewatch diff --git a/biome.json b/biome.json index ef2e658d78..632897b5f6 100644 --- a/biome.json +++ b/biome.json @@ -21,17 +21,14 @@ "lineWidth": 80, "attributePosition": "auto", "ignore": [ - "_build/**", - "_opam/**", "jscomp/build_tests/**/lib/**", "jscomp/build_tests/**/*.bs.js", "jscomp/build_tests/**/*.res.js", "jscomp/test/*.js", "lib/**", "ninja/**", - "package.json", "playground/**", - "rewatch/target/**" + "package.json" ] }, "javascript": { diff --git a/rewatch/.gitignore b/rewatch/.gitignore deleted file mode 100644 index 6655aab8aa..0000000000 --- a/rewatch/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -target/ -rewatch From c6ab9a4c65ed4cc1266fd39e89f1618368e938fe Mon Sep 17 00:00:00 2001 From: Hyeseong Kim Date: Sun, 30 Jun 2024 02:42:24 +0900 Subject: [PATCH 06/11] update Biome ignore list --- biome.json | 8 +++++--- .../typescript-react-example/.merlin | 16 ---------------- .../typescript-react-example/.watchmanconfig | 0 3 files changed, 5 insertions(+), 19 deletions(-) delete mode 100644 jscomp/gentype_tests/typescript-react-example/.merlin delete mode 100644 jscomp/gentype_tests/typescript-react-example/.watchmanconfig diff --git a/biome.json b/biome.json index 632897b5f6..c5e429052d 100644 --- a/biome.json +++ b/biome.json @@ -22,12 +22,14 @@ "attributePosition": "auto", "ignore": [ "jscomp/build_tests/**/lib/**", - "jscomp/build_tests/**/*.bs.js", - "jscomp/build_tests/**/*.res.js", - "jscomp/test/*.js", + "jscomp/build_tests/**/src/**", + "jscomp/test/**", "lib/**", "ninja/**", "playground/**", + "**/*.bs.js", + "**/*.res.js", + "**/*.gen.ts*", "package.json" ] }, diff --git a/jscomp/gentype_tests/typescript-react-example/.merlin b/jscomp/gentype_tests/typescript-react-example/.merlin deleted file mode 100644 index 09aab72a75..0000000000 --- a/jscomp/gentype_tests/typescript-react-example/.merlin +++ /dev/null @@ -1,16 +0,0 @@ -####{BSB GENERATED: NO EDIT -FLG -ppx '/Users/cristianocalcagno/GitHub/genType/examples/typescript-react-example/node_modules/rescript/darwin/bsc.exe -as-ppx -bs-jsx 3' -S /Users/cristianocalcagno/GitHub/genType/examples/typescript-react-example/node_modules/rescript/lib/ocaml -B /Users/cristianocalcagno/GitHub/genType/examples/typescript-react-example/node_modules/rescript/lib/ocaml -FLG -w +a-4-9-20-40-41-42-50-61-102 -S /Users/cristianocalcagno/GitHub/genType/examples/typescript-react-example/node_modules/@rescript/react/lib/ocaml -B /Users/cristianocalcagno/GitHub/genType/examples/typescript-react-example/node_modules/@rescript/react/lib/ocaml -S src -B lib/bs/src -S src/nested -B lib/bs/src/nested -S src/strange_file_names -B lib/bs/src/strange_file_names -S src/location -B lib/bs/src/location -####BSB GENERATED: NO EDIT} diff --git a/jscomp/gentype_tests/typescript-react-example/.watchmanconfig b/jscomp/gentype_tests/typescript-react-example/.watchmanconfig deleted file mode 100644 index e69de29bb2..0000000000 From a5a7f583acb0138b08473571676e6d40aeaab57d Mon Sep 17 00:00:00 2001 From: Hyeseong Kim Date: Sun, 30 Jun 2024 02:57:36 +0900 Subject: [PATCH 07/11] did `npm run format:all` once --- .github/workflows/get_artifact_dir_name.js | 2 +- .github/workflows/prepare_package_upload.js | 6 +-- cli/rescript_arg.js | 2 +- cli/rescript_bsb.js | 4 +- cli/rescript_convert.js | 4 +- cli/rescript_format.js | 12 ++--- cli/rescript_postinstall.js | 8 +-- .../build_tests/cli_compile_status/input.js | 8 +-- jscomp/build_tests/cmd/input.js | 6 +-- .../deprecated-package-specs/input.js | 2 +- .../a/bsconfig.json | 11 ++-- .../b/bsconfig.json | 10 ++-- .../c/bsconfig.json | 10 ++-- .../duplicated_symlinked_packages/input.js | 2 +- jscomp/build_tests/in_source/input.js | 2 +- jscomp/build_tests/scoped_ppx/input.js | 4 +- jscomp/build_tests/super_errors/input.js | 6 +-- .../a/rescript.json | 46 ++++++++--------- .../transitive_pinned_dependency1/input.js | 4 +- .../a/rescript.json | 42 ++++++++-------- .../transitive_pinned_dependency2/input.js | 4 +- .../unboxed_bool_with_const/input.js | 2 +- .../build_tests/warn_legacy_config/input.js | 4 +- jscomp/build_tests/weird_deps/input.js | 2 +- jscomp/build_tests/weird_devdeps/input.js | 2 +- .../typescript-react-example/.eslintrc.json | 5 +- .../typescript-react-example/src/App.tsx | 4 +- .../typescript-react-example/src/CoreTS.ts | 4 +- .../typescript-react-example/src/MyInput.tsx | 2 +- .../typescript-react-example/src/MyMath.ts | 8 +-- .../src/exportNestedValues.js | 9 ++-- .../src/hookExample.tsx | 3 +- .../typescript-react-example/src/index.tsx | 31 ++++++------ .../src/shims/RescriptPervasives.shim.ts | 4 +- .../typescript-react-example/tsconfig.json | 10 +--- .../tsconfig.prod.json | 2 +- .../tsconfig.test.json | 2 +- .../scripts/generate_cmijs.js | 10 ++-- scripts/dune.js | 2 +- scripts/ninja.js | 50 +++++++++---------- scripts/prebuilt.js | 4 +- scripts/release.js | 2 +- scripts/setVersion.js | 6 +-- scripts/shake.js | 8 +-- scripts/tmp.js | 6 +-- 45 files changed, 176 insertions(+), 201 deletions(-) diff --git a/.github/workflows/get_artifact_dir_name.js b/.github/workflows/get_artifact_dir_name.js index 7f9071dbdf..28e245bb5c 100644 --- a/.github/workflows/get_artifact_dir_name.js +++ b/.github/workflows/get_artifact_dir_name.js @@ -6,5 +6,5 @@ const { dirName: artifactDirName } = require("../../cli/bin_path.js"); // Pass artifactDirName to subsequent GitHub actions fs.appendFileSync( process.env.GITHUB_ENV, - `artifact_dir_name=${artifactDirName}${os.EOL}` + `artifact_dir_name=${artifactDirName}${os.EOL}`, ); diff --git a/.github/workflows/prepare_package_upload.js b/.github/workflows/prepare_package_upload.js index f26a909146..b94e20153e 100644 --- a/.github/workflows/prepare_package_upload.js +++ b/.github/workflows/prepare_package_upload.js @@ -9,15 +9,15 @@ const commitHashShort = commitHash.substring(0, 7); fs.renameSync( `rescript-${version}.tgz`, - `rescript-${version}-${commitHashShort}.tgz` + `rescript-${version}-${commitHashShort}.tgz`, ); fs.renameSync( `packages/std/rescript-std-${version}.tgz`, - `rescript-std-${version}-${commitHashShort}.tgz` + `rescript-std-${version}-${commitHashShort}.tgz`, ); // Pass information to subsequent GitHub actions fs.appendFileSync( process.env.GITHUB_ENV, - `rescript_version=${version}-${commitHashShort}${os.EOL}` + `rescript_version=${version}-${commitHashShort}${os.EOL}`, ); diff --git a/cli/rescript_arg.js b/cli/rescript_arg.js index 3cbd5373d7..3bfdc1283e 100644 --- a/cli/rescript_arg.js +++ b/cli/rescript_arg.js @@ -112,7 +112,7 @@ function parse_exn( annofun, start = 0, // first 3 are [node, rescript, subcommand] - finish = argv.length + finish = argv.length, ) { var current = start; var list = []; diff --git a/cli/rescript_bsb.js b/cli/rescript_bsb.js index f0e282ef96..9155f6518f 100644 --- a/cli/rescript_bsb.js +++ b/cli/rescript_bsb.js @@ -363,7 +363,7 @@ Please pick a different one using the \`-ws [host:]port\` flag from bsb.`); function outputError(error, highlight) { if (isTtyError && highlight) { process.stderr.write( - error.replace(highlight, "\x1b[1;31m" + highlight + "\x1b[0m") + error.replace(highlight, "\x1b[1;31m" + highlight + "\x1b[0m"), ); } else { process.stderr.write(error); @@ -408,7 +408,7 @@ Please pick a different one using the \`-ws [host:]port\` flag from bsb.`); // it could fail due to other issues like .bsb.lock else { dlog( - `Acquire lock failed, do the build later ${depth} : ${reasonsToRebuild}` + `Acquire lock failed, do the build later ${depth} : ${reasonsToRebuild}`, ); const waitTime = Math.pow(2, depth) * 40; setTimeout(() => { diff --git a/cli/rescript_convert.js b/cli/rescript_convert.js index e7f37419bf..e0e87e65d3 100644 --- a/cli/rescript_convert.js +++ b/cli/rescript_convert.js @@ -59,7 +59,7 @@ function handleOneFile(file, bsc_exe) { console.error(`Error when converting ${file}`); console.log(stderr); } - } + }, ); } /** @@ -91,7 +91,7 @@ function main(argv, rescript_exe, bsc_exe) { ["info", "-list-files"], { encoding: "utf-8", - } + }, ); if (output.status !== 0) { console.error(output.stdout); diff --git a/cli/rescript_format.js b/cli/rescript_format.js index 939f8d4274..550384e6dc 100644 --- a/cli/rescript_format.js +++ b/cli/rescript_format.js @@ -92,7 +92,7 @@ async function formatFiles(files, bsc_exe, isSupportedFile, checkFormatting) { } } return null; - }) + }), ); } catch (err) { console.error(err); @@ -103,7 +103,7 @@ async function formatFiles(files, bsc_exe, isSupportedFile, checkFormatting) { console.error("The file listed above needs formatting"); } else { console.error( - `The ${incorrectlyFormattedFiles} files listed above need formatting` + `The ${incorrectlyFormattedFiles} files listed above need formatting`, ); } process.exit(3); @@ -135,7 +135,7 @@ async function main(argv, rescript_exe, bsc_exe) { // Require: -all or path to a file if (check.val && !format_project && files.length == 0) { console.error( - "format check require path to a file or use `-all` to check the whole project" + "format check require path to a file or use `-all` to check the whole project", ); process.exit(2); } @@ -152,7 +152,7 @@ async function main(argv, rescript_exe, bsc_exe) { ["info", "-list-files"], { encoding: "utf-8", - } + }, ); if (output.status !== 0) { console.error(output.stdout); @@ -173,7 +173,7 @@ async function main(argv, rescript_exe, bsc_exe) { os.tmpdir(), "rescript_" + crypto.randomBytes(8).toString("hex") + - path.parse(use_stdin).base + path.parse(use_stdin).base, ); (async function () { var content = await readStdin(); @@ -191,7 +191,7 @@ async function main(argv, rescript_exe, bsc_exe) { console.error(stderr); process.exit(2); } - } + }, ); })(); } else { diff --git a/cli/rescript_postinstall.js b/cli/rescript_postinstall.js index ac5332ac0f..482d3b7962 100644 --- a/cli/rescript_postinstall.js +++ b/cli/rescript_postinstall.js @@ -7,7 +7,7 @@ const { bsc_exe, ninja_exe } = require("./bin_path"); function checkNinja() { if (!fs.existsSync(ninja_exe)) { throw new Error( - `No ninja binary found for this platform. ${ninja_exe} does not exist.` + `No ninja binary found for this platform. ${ninja_exe} does not exist.`, ); } @@ -15,7 +15,7 @@ function checkNinja() { return String(child_process.execFileSync(ninja_exe, ["--version"])).trim(); } catch (e) { throw new Error( - `Error getting ninja version. The ninja binary at ${ninja_exe} may not be compatible with this platform: ${e}` + `Error getting ninja version. The ninja binary at ${ninja_exe} may not be compatible with this platform: ${e}`, ); } } @@ -23,7 +23,7 @@ function checkNinja() { function checkCompiler() { if (!fs.existsSync(bsc_exe)) { throw new Error( - `No ReScript compiler binary found for this platform. ${bsc_exe} does not exist.` + `No ReScript compiler binary found for this platform. ${bsc_exe} does not exist.`, ); } @@ -31,7 +31,7 @@ function checkCompiler() { return String(child_process.execFileSync(bsc_exe, ["-v"])).trim(); } catch (e) { throw new Error( - `Error getting ReScript compiler version. The compiler binary at ${bsc_exe} may not be compatible with this platform: ${e}` + `Error getting ReScript compiler version. The compiler binary at ${bsc_exe} may not be compatible with this platform: ${e}`, ); } } diff --git a/jscomp/build_tests/cli_compile_status/input.js b/jscomp/build_tests/cli_compile_status/input.js index be04df447f..90f72542c3 100755 --- a/jscomp/build_tests/cli_compile_status/input.js +++ b/jscomp/build_tests/cli_compile_status/input.js @@ -12,7 +12,7 @@ assert.match( out.stdout, new RegExp(`>>>> Start compiling Dependency Finished ->>>> Finish compiling \\d+ mseconds`) +>>>> Finish compiling \\d+ mseconds`), ); // Shows compile time for `rescript` command @@ -24,7 +24,7 @@ assert.match( out.stdout, new RegExp(`>>>> Start compiling Dependency Finished ->>>> Finish compiling \\d+ mseconds`) +>>>> Finish compiling \\d+ mseconds`), ); // Doesn't show compile time for `rescript build -verbose` command @@ -38,6 +38,6 @@ out = child_process.spawnSync(`../../../rescript`, ["build", "-verbose"], { assert.match( out.stdout, new RegExp( - `Package stack: test \nDependency Finished\nninja.exe -C lib/bs \n` - ) + `Package stack: test \nDependency Finished\nninja.exe -C lib/bs \n`, + ), ); diff --git a/jscomp/build_tests/cmd/input.js b/jscomp/build_tests/cmd/input.js index 9f995dcc30..60a7914e73 100644 --- a/jscomp/build_tests/cmd/input.js +++ b/jscomp/build_tests/cmd/input.js @@ -35,7 +35,7 @@ function evalCode(code) { encoding: "utf8", shell: true, cwd: __dirname, - } + }, ); return bsc_exe; @@ -51,10 +51,10 @@ test(react); assert.ok( evalCode(react + foo_react).stdout.match(/require/g).length === 2, - "foo react twice " + "foo react twice ", ); assert.ok( evalCode(foo_react).stdout.match(/require/g).length === 1, - "foo react one" + "foo react one", ); diff --git a/jscomp/build_tests/deprecated-package-specs/input.js b/jscomp/build_tests/deprecated-package-specs/input.js index bdf2247ecb..7a7769861d 100644 --- a/jscomp/build_tests/deprecated-package-specs/input.js +++ b/jscomp/build_tests/deprecated-package-specs/input.js @@ -5,5 +5,5 @@ const { rescript_exe } = require("#cli/bin_path"); const out = child_process.spawnSync(rescript_exe, { encoding: "utf8" }); assert.match( out.stderr, - /deprecated: Option "es6-global" is deprecated\. Use "esmodule" instead\./ + /deprecated: Option "es6-global" is deprecated\. Use "esmodule" instead\./, ); diff --git a/jscomp/build_tests/duplicated_symlinked_packages/a/bsconfig.json b/jscomp/build_tests/duplicated_symlinked_packages/a/bsconfig.json index 93ee22beb1..e59898305e 100644 --- a/jscomp/build_tests/duplicated_symlinked_packages/a/bsconfig.json +++ b/jscomp/build_tests/duplicated_symlinked_packages/a/bsconfig.json @@ -2,18 +2,15 @@ "name": "a", "version": "0.1.0", "sources": { - "dir" : "src", - "subdirs" : true + "dir": "src", + "subdirs": true }, "package-specs": { "module": "commonjs", "in-source": true }, "suffix": ".bs.js", - "bs-dependencies": [ - "c", - "z" - ], - "warnings": {"error" : "+101"}, + "bs-dependencies": ["c", "z"], + "warnings": { "error": "+101" }, "namespace": true } diff --git a/jscomp/build_tests/duplicated_symlinked_packages/b/bsconfig.json b/jscomp/build_tests/duplicated_symlinked_packages/b/bsconfig.json index 77361fe5df..29d031fd4b 100644 --- a/jscomp/build_tests/duplicated_symlinked_packages/b/bsconfig.json +++ b/jscomp/build_tests/duplicated_symlinked_packages/b/bsconfig.json @@ -2,17 +2,15 @@ "name": "b", "version": "0.1.0", "sources": { - "dir" : "src", - "subdirs" : true + "dir": "src", + "subdirs": true }, "package-specs": { "module": "commonjs", "in-source": true }, "suffix": ".bs.js", - "bs-dependencies": [ - "c" - ], - "warnings": {"error" : "+101"}, + "bs-dependencies": ["c"], + "warnings": { "error": "+101" }, "namespace": true } diff --git a/jscomp/build_tests/duplicated_symlinked_packages/c/bsconfig.json b/jscomp/build_tests/duplicated_symlinked_packages/c/bsconfig.json index e95c884bd7..24cc6980db 100644 --- a/jscomp/build_tests/duplicated_symlinked_packages/c/bsconfig.json +++ b/jscomp/build_tests/duplicated_symlinked_packages/c/bsconfig.json @@ -2,17 +2,15 @@ "name": "c", "version": "0.1.0", "sources": { - "dir" : "src", - "subdirs" : true + "dir": "src", + "subdirs": true }, "package-specs": { "module": "commonjs", "in-source": true }, "suffix": ".bs.js", - "bs-dependencies": [ - - ], - "warnings": {"error" : "+101"}, + "bs-dependencies": [], + "warnings": { "error": "+101" }, "namespace": true } diff --git a/jscomp/build_tests/duplicated_symlinked_packages/input.js b/jscomp/build_tests/duplicated_symlinked_packages/input.js index a9ee3188e5..b4f70bfd6a 100644 --- a/jscomp/build_tests/duplicated_symlinked_packages/input.js +++ b/jscomp/build_tests/duplicated_symlinked_packages/input.js @@ -19,7 +19,7 @@ child_process.exec(rescript_exe, { cwd: __dirname }, (err, stdout, stderr) => { fs.writeFileSync(expectedFilePath, actualErrorOutput); } else { const expectedErrorOutput = postProcessErrorOutput( - fs.readFileSync(expectedFilePath, { encoding: "utf-8" }) + fs.readFileSync(expectedFilePath, { encoding: "utf-8" }), ); if (expectedErrorOutput !== actualErrorOutput) { console.error(`The old and new error output aren't the same`); diff --git a/jscomp/build_tests/in_source/input.js b/jscomp/build_tests/in_source/input.js index cd04194c5f..533a61a521 100644 --- a/jscomp/build_tests/in_source/input.js +++ b/jscomp/build_tests/in_source/input.js @@ -16,7 +16,7 @@ assert.throws( return true; } return false; - } + }, ); // assert.throws(()=>{ diff --git a/jscomp/build_tests/scoped_ppx/input.js b/jscomp/build_tests/scoped_ppx/input.js index c2707b768e..57815a9ef1 100644 --- a/jscomp/build_tests/scoped_ppx/input.js +++ b/jscomp/build_tests/scoped_ppx/input.js @@ -9,6 +9,6 @@ var output = cp.execSync(`${rescript_exe} build -- -t commands src/hello.ast`, { }); assert( /-ppx '.*\/test\.js -hello' -ppx '.*\/test\.js -heyy' -ppx .*test\.js/.test( - output - ) + output, + ), ); diff --git a/jscomp/build_tests/super_errors/input.js b/jscomp/build_tests/super_errors/input.js index 55f3b53ecb..d6bf82eb3a 100644 --- a/jscomp/build_tests/super_errors/input.js +++ b/jscomp/build_tests/super_errors/input.js @@ -19,7 +19,7 @@ function postProcessErrorOutput(output) { output = output.trimRight(); output = output.replace( /\/[^ ]+?jscomp\/build_tests\/super_errors\//g, - "/.../" + "/.../", ); return output; } @@ -43,11 +43,11 @@ fixtures.forEach(fileName => { fs.writeFileSync(expectedFilePath, actualErrorOutput); } else { const expectedErrorOutput = postProcessErrorOutput( - fs.readFileSync(expectedFilePath, { encoding: "utf-8" }) + fs.readFileSync(expectedFilePath, { encoding: "utf-8" }), ); if (expectedErrorOutput !== actualErrorOutput) { console.error( - `The old and new error output for the test ${fullFilePath} aren't the same` + `The old and new error output for the test ${fullFilePath} aren't the same`, ); console.error("\n=== Old:"); console.error(expectedErrorOutput); diff --git a/jscomp/build_tests/transitive_pinned_dependency1/a/rescript.json b/jscomp/build_tests/transitive_pinned_dependency1/a/rescript.json index 5a451068a3..065cbb35b8 100644 --- a/jscomp/build_tests/transitive_pinned_dependency1/a/rescript.json +++ b/jscomp/build_tests/transitive_pinned_dependency1/a/rescript.json @@ -1,27 +1,23 @@ { - "name": "a", - "namespace": true, - "sources": [ - { - "dir": "src" - }, - { - "dir": "tests", - "type": "dev" - } - ], - "package-specs": { - "module": "commonjs", - "in-source": false + "name": "a", + "namespace": true, + "sources": [ + { + "dir": "src" }, - "warnings": { - "error": true - }, - "suffix": ".mjs", - "bs-dependencies": [ - "b" - ], - "pinned-dependencies": [ - "b" - ] -} \ No newline at end of file + { + "dir": "tests", + "type": "dev" + } + ], + "package-specs": { + "module": "commonjs", + "in-source": false + }, + "warnings": { + "error": true + }, + "suffix": ".mjs", + "bs-dependencies": ["b"], + "pinned-dependencies": ["b"] +} diff --git a/jscomp/build_tests/transitive_pinned_dependency1/input.js b/jscomp/build_tests/transitive_pinned_dependency1/input.js index fb6943daee..565410ca01 100644 --- a/jscomp/build_tests/transitive_pinned_dependency1/input.js +++ b/jscomp/build_tests/transitive_pinned_dependency1/input.js @@ -5,10 +5,10 @@ var fs = require("fs"); var { rescript_exe } = require("#cli/bin_path"); console.log( - child_process.execSync(rescript_exe, { encoding: "utf8", cwd: "./a" }) + child_process.execSync(rescript_exe, { encoding: "utf8", cwd: "./a" }), ); assert( fs.existsSync("./node_modules/c/lib/js/tests/test.mjs"), - "dev files of module 'c' were not built by 'a' even though 'c' is a transitive pinned dependency of 'a' through 'b'" + "dev files of module 'c' were not built by 'a' even though 'c' is a transitive pinned dependency of 'a' through 'b'", ); diff --git a/jscomp/build_tests/transitive_pinned_dependency2/a/rescript.json b/jscomp/build_tests/transitive_pinned_dependency2/a/rescript.json index ee6dff6aa1..40bd9a1a7d 100644 --- a/jscomp/build_tests/transitive_pinned_dependency2/a/rescript.json +++ b/jscomp/build_tests/transitive_pinned_dependency2/a/rescript.json @@ -1,24 +1,22 @@ { - "name": "a", - "namespace": true, - "sources": [ - { - "dir": "src" - }, - { - "dir": "tests", - "type": "dev" - } - ], - "package-specs": { - "module": "commonjs", - "in-source": false + "name": "a", + "namespace": true, + "sources": [ + { + "dir": "src" }, - "warnings": { - "error": true - }, - "suffix": ".mjs", - "bs-dependencies": [ - "b" - ] -} \ No newline at end of file + { + "dir": "tests", + "type": "dev" + } + ], + "package-specs": { + "module": "commonjs", + "in-source": false + }, + "warnings": { + "error": true + }, + "suffix": ".mjs", + "bs-dependencies": ["b"] +} diff --git a/jscomp/build_tests/transitive_pinned_dependency2/input.js b/jscomp/build_tests/transitive_pinned_dependency2/input.js index 6082cf44e7..aa9c501afc 100644 --- a/jscomp/build_tests/transitive_pinned_dependency2/input.js +++ b/jscomp/build_tests/transitive_pinned_dependency2/input.js @@ -5,10 +5,10 @@ var fs = require("fs"); var { rescript_exe } = require("#cli/bin_path"); console.log( - child_process.execSync(rescript_exe, { encoding: "utf8", cwd: "./a" }) + child_process.execSync(rescript_exe, { encoding: "utf8", cwd: "./a" }), ); assert( !fs.existsSync("./node_modules/c/lib/js/tests/test.mjs"), - "dev files of module 'c' were built by 'a' even though 'c' is not a pinned dependency of 'a'" + "dev files of module 'c' were built by 'a' even though 'c' is not a pinned dependency of 'a'", ); diff --git a/jscomp/build_tests/unboxed_bool_with_const/input.js b/jscomp/build_tests/unboxed_bool_with_const/input.js index 45d1db6e7c..2f5c856668 100644 --- a/jscomp/build_tests/unboxed_bool_with_const/input.js +++ b/jscomp/build_tests/unboxed_bool_with_const/input.js @@ -22,5 +22,5 @@ assert.equal( This untagged variant definition is invalid: At most one case can be a boolean type. FAILED: cannot make progress due to previous errors. -` +`, ); diff --git a/jscomp/build_tests/warn_legacy_config/input.js b/jscomp/build_tests/warn_legacy_config/input.js index 2bf5dc8b12..6a273a047f 100644 --- a/jscomp/build_tests/warn_legacy_config/input.js +++ b/jscomp/build_tests/warn_legacy_config/input.js @@ -5,6 +5,6 @@ const { rescript_exe } = require("#cli/bin_path"); const output = spawnSync(rescript_exe, { encoding: "utf8" }); assert( /^Warning: bsconfig.json is deprecated. Migrate it to rescript.json/.test( - output.stdout - ) + output.stdout, + ), ); diff --git a/jscomp/build_tests/weird_deps/input.js b/jscomp/build_tests/weird_deps/input.js index 32c2b7e483..30d0fdd927 100644 --- a/jscomp/build_tests/weird_deps/input.js +++ b/jscomp/build_tests/weird_deps/input.js @@ -19,6 +19,6 @@ if (out.stdout !== "") { "Error: package weird not found or built ", "- Did you install it?", "", - ].join("\n") + ].join("\n"), ); } diff --git a/jscomp/build_tests/weird_devdeps/input.js b/jscomp/build_tests/weird_devdeps/input.js index 091354500a..892b4bdf37 100644 --- a/jscomp/build_tests/weird_devdeps/input.js +++ b/jscomp/build_tests/weird_devdeps/input.js @@ -19,6 +19,6 @@ if (out.stdout !== "") { "Error: package weird not found or built ", "- Did you install it?", "", - ].join("\n") + ].join("\n"), ); } diff --git a/jscomp/gentype_tests/typescript-react-example/.eslintrc.json b/jscomp/gentype_tests/typescript-react-example/.eslintrc.json index 0eba27d5e7..77d32563f7 100644 --- a/jscomp/gentype_tests/typescript-react-example/.eslintrc.json +++ b/jscomp/gentype_tests/typescript-react-example/.eslintrc.json @@ -1,8 +1,5 @@ { - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended" - ], + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"], "ignorePatterns": ["src/**/*.res.js"], diff --git a/jscomp/gentype_tests/typescript-react-example/src/App.tsx b/jscomp/gentype_tests/typescript-react-example/src/App.tsx index 3169d1d329..f5e213df6a 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/App.tsx +++ b/jscomp/gentype_tests/typescript-react-example/src/App.tsx @@ -8,9 +8,7 @@ export interface Props { class App extends React.PureComponent { public render() { - return ( -
- ); + return
; } } diff --git a/jscomp/gentype_tests/typescript-react-example/src/CoreTS.ts b/jscomp/gentype_tests/typescript-react-example/src/CoreTS.ts index ef25fa71eb..9c15fb041d 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/CoreTS.ts +++ b/jscomp/gentype_tests/typescript-react-example/src/CoreTS.ts @@ -1,9 +1,9 @@ export declare function someFunWithNullThenOptionalArgs( nullable: null | string, - app?: string + app?: string, ): string; export declare function someFunWithNullUndefinedArg( nullUndefined: null | undefined | string, - other: number + other: number, ): string; diff --git a/jscomp/gentype_tests/typescript-react-example/src/MyInput.tsx b/jscomp/gentype_tests/typescript-react-example/src/MyInput.tsx index 3f275ef9d2..258c181f84 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/MyInput.tsx +++ b/jscomp/gentype_tests/typescript-react-example/src/MyInput.tsx @@ -2,6 +2,6 @@ import * as React from "react"; type Props = React.InputHTMLAttributes; -const MyInput: React.FC = (props) => +const MyInput: React.FC = props => ; export default MyInput; diff --git a/jscomp/gentype_tests/typescript-react-example/src/MyMath.ts b/jscomp/gentype_tests/typescript-react-example/src/MyMath.ts index 55ea301c30..aa365f8779 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/MyMath.ts +++ b/jscomp/gentype_tests/typescript-react-example/src/MyMath.ts @@ -4,14 +4,14 @@ export const round: (_: number) => number = Math.round; export const round2 = round; -export const area = function(point: { x: number; y?: number }): number { +export const area = function (point: { x: number; y?: number }): number { return point.x * (point.y === undefined ? 1 : point.y); }; export type numberOrString = number | string; -export const returnMixedArray = function() : Array { - return [1,2]; +export const returnMixedArray = function (): Array { + return [1, 2]; }; export class AbsoluteValue { @@ -27,7 +27,7 @@ export class AbsoluteValue { export type stringFunction = (_: string) => string; // eslint-disable-next-line @typescript-eslint/no-unused-vars -export const useColor = function(x: "tomato" | "gray"): number { +export const useColor = function (x: "tomato" | "gray"): number { return 0; }; diff --git a/jscomp/gentype_tests/typescript-react-example/src/exportNestedValues.js b/jscomp/gentype_tests/typescript-react-example/src/exportNestedValues.js index 4c1f469e26..77bbd8f21b 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/exportNestedValues.js +++ b/jscomp/gentype_tests/typescript-react-example/src/exportNestedValues.js @@ -2,16 +2,17 @@ class InnerClass { static InnerStuff = { - innerStuffContents: { x: 34 } + innerStuffContents: { x: 34 }, }; } export class TopLevelClass { static MiddleLevelElements = { - stuff: InnerClass + stuff: InnerClass, }; } -export const ValueStartingWithUpperCaseLetter = "ValueStartingWithUpperCaseLetter"; +export const ValueStartingWithUpperCaseLetter = + "ValueStartingWithUpperCaseLetter"; -export default 42; \ No newline at end of file +export default 42; diff --git a/jscomp/gentype_tests/typescript-react-example/src/hookExample.tsx b/jscomp/gentype_tests/typescript-react-example/src/hookExample.tsx index ac51a9ff0f..b04a357e02 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/hookExample.tsx +++ b/jscomp/gentype_tests/typescript-react-example/src/hookExample.tsx @@ -1,6 +1,7 @@ import * as React from "react"; -export const foo = (person: { readonly name: string; readonly age: number }) => person.name; +export const foo = (person: { readonly name: string; readonly age: number }) => + person.name; type Props = { readonly person: { readonly name: string; readonly age: number }; diff --git a/jscomp/gentype_tests/typescript-react-example/src/index.tsx b/jscomp/gentype_tests/typescript-react-example/src/index.tsx index c9c9a2bdfb..750d783299 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/index.tsx +++ b/jscomp/gentype_tests/typescript-react-example/src/index.tsx @@ -23,7 +23,7 @@ import * as TestPromise from "./TestPromise.gen"; const consoleLog = console.log; -const intList = Types.map((x) => x + 1, Types.someIntList); +const intList = Types.map(x => x + 1, Types.someIntList); const businesses = [ { @@ -42,20 +42,20 @@ consoleLog("index.tsx roundedNumber:", ImportJsValue.roundedNumber); consoleLog("index.tsx areaValue:", ImportJsValue.areaValue); consoleLog( "index.tsx returnedFromHigherOrder:", - ImportJsValue.returnedFromHigherOrder + ImportJsValue.returnedFromHigherOrder, ); consoleLog( "index.tsx callback:", - Uncurried.callback(() => 3) + Uncurried.callback(() => 3), ); consoleLog( "index.tsx callback2:", - Uncurried.callback2({ login: () => "hello" }) + Uncurried.callback2({ login: () => "hello" }), ); consoleLog( "index.tsx callback2U:", - Uncurried.callback2U({ loginU: () => "hello" }) + Uncurried.callback2U({ loginU: () => "hello" }), ); Uncurried.sumU(3, 4); Uncurried.sumU2(3)(4); @@ -67,7 +67,7 @@ ReactDOM.render(
, - document.getElementById("root") as HTMLElement + document.getElementById("root") as HTMLElement, ); const x1 = Records.getPayload(Records.payloadValue).v; @@ -78,7 +78,7 @@ consoleLog("x1,x2,x3,x4 are", x1, x2, x3, x4); consoleLog( "Universe_Nested2_Nested3_nested3Value: ", - Universe_Nested2_Nested3_nested3Value + Universe_Nested2_Nested3_nested3Value, ); consoleLog("Enums: swap(sunday) =", Variants.swap("sunday")); @@ -86,12 +86,9 @@ consoleLog("Enums: fortytwoOK is", Variants.fortytwoOK); consoleLog("Enums: fortytwoBAD is", Variants.fortytwoBAD); consoleLog( "Variants: testConvert3to2('module') =", - Variants.testConvert2to3('module') -); -consoleLog( - "Variants: testConvert3to2(42) =", - Variants.testConvert2to3(42) + Variants.testConvert2to3("module"), ); +consoleLog("Variants: testConvert3to2(42) =", Variants.testConvert2to3(42)); const absoluteValueInstance = new MyMath.AbsoluteValue(); absoluteValueInstance.prop = -3; @@ -115,14 +112,14 @@ printManyPayloads(testManyPayloads({ NAME: "three", VAL: { x: 15 } })); printVariantWithPayloads(testVariantWithPayloads("A")); printVariantWithPayloads(testVariantWithPayloads({ TAG: "B", _0: 4 })); -printVariantWithPayloads(testVariantWithPayloads({ TAG: "C", _0:1, _1:2 })); -printVariantWithPayloads(testVariantWithPayloads({ TAG: "D", _0:1, _1:2 })); +printVariantWithPayloads(testVariantWithPayloads({ TAG: "C", _0: 1, _1: 2 })); +printVariantWithPayloads(testVariantWithPayloads({ TAG: "D", _0: 1, _1: 2 })); printVariantWithPayloads( - testVariantWithPayloads({ TAG: "E", _0:1, _1:"hello", _2:2 }) + testVariantWithPayloads({ TAG: "E", _0: 1, _1: "hello", _2: 2 }), ); -TestPromise.convert(Promise.resolve({ x: 3, s: "hello" })).then((x) => - consoleLog("TestPromise result:", x.result) +TestPromise.convert(Promise.resolve({ x: 3, s: "hello" })).then(x => + consoleLog("TestPromise result:", x.result), ); type Props = { diff --git a/jscomp/gentype_tests/typescript-react-example/src/shims/RescriptPervasives.shim.ts b/jscomp/gentype_tests/typescript-react-example/src/shims/RescriptPervasives.shim.ts index d83f49ce57..b674cdf15b 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/shims/RescriptPervasives.shim.ts +++ b/jscomp/gentype_tests/typescript-react-example/src/shims/RescriptPervasives.shim.ts @@ -13,12 +13,12 @@ export abstract class Cons { export type list = Cons | EmptyList; -export function cons(itm: T, lst: list) : list { +export function cons(itm: T, lst: list): list { // eslint-disable-next-line @typescript-eslint/no-explicit-any return /* :: */ [itm, lst] as any; } // eslint-disable-next-line @typescript-eslint/no-explicit-any -export const emptyList : EmptyList = /* [] */ 0 as any; +export const emptyList: EmptyList = /* [] */ 0 as any; export const fromArray = $$Array.to_list; diff --git a/jscomp/gentype_tests/typescript-react-example/tsconfig.json b/jscomp/gentype_tests/typescript-react-example/tsconfig.json index 1992ba5d9c..9401424aa4 100644 --- a/jscomp/gentype_tests/typescript-react-example/tsconfig.json +++ b/jscomp/gentype_tests/typescript-react-example/tsconfig.json @@ -3,11 +3,7 @@ "outDir": "build/dist", "module": "esnext", "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], + "lib": ["dom", "dom.iterable", "esnext"], "sourceMap": true, "allowJs": true, "jsx": "react", @@ -29,9 +25,7 @@ "noEmit": true, "noFallthroughCasesInSwitch": true }, - "include": [ - "src" - ], + "include": ["src"], "exclude": [ "node_modules", "build", diff --git a/jscomp/gentype_tests/typescript-react-example/tsconfig.prod.json b/jscomp/gentype_tests/typescript-react-example/tsconfig.prod.json index 4144216dd1..fc8520e737 100644 --- a/jscomp/gentype_tests/typescript-react-example/tsconfig.prod.json +++ b/jscomp/gentype_tests/typescript-react-example/tsconfig.prod.json @@ -1,3 +1,3 @@ { "extends": "./tsconfig.json" -} \ No newline at end of file +} diff --git a/jscomp/gentype_tests/typescript-react-example/tsconfig.test.json b/jscomp/gentype_tests/typescript-react-example/tsconfig.test.json index 65ffdd4939..2c7b284162 100644 --- a/jscomp/gentype_tests/typescript-react-example/tsconfig.test.json +++ b/jscomp/gentype_tests/typescript-react-example/tsconfig.test.json @@ -3,4 +3,4 @@ "compilerOptions": { "module": "commonjs" } -} \ No newline at end of file +} diff --git a/packages/playground-bundling/scripts/generate_cmijs.js b/packages/playground-bundling/scripts/generate_cmijs.js index 5594414dea..d2f42b4640 100644 --- a/packages/playground-bundling/scripts/generate_cmijs.js +++ b/packages/playground-bundling/scripts/generate_cmijs.js @@ -63,7 +63,7 @@ function buildCompilerCmij() { "node_modules", "rescript", "lib", - "ocaml" + "ocaml", ); const outputFolder = path.join(PACKAGES_DIR, "compiler-builtins"); @@ -75,7 +75,7 @@ function buildCompilerCmij() { } e( - `find ${rescriptLibOcamlFolder} -name "*.cmi" -or -name "*.cmj" | xargs -n1 basename | xargs js_of_ocaml build-fs -o ${cmijFile} -I ${rescriptLibOcamlFolder}` + `find ${rescriptLibOcamlFolder} -name "*.cmi" -or -name "*.cmj" | xargs -n1 basename | xargs js_of_ocaml build-fs -o ${cmijFile} -I ${rescriptLibOcamlFolder}`, ); } @@ -86,14 +86,14 @@ function buildThirdPartyCmijs() { "node_modules", pkg, "lib", - "ocaml" + "ocaml", ); const libEs6Folder = path.join( PROJECT_ROOT_DIR, "node_modules", pkg, "lib", - "es6" + "es6", ); const outputFolder = path.join(PACKAGES_DIR, pkg); @@ -105,7 +105,7 @@ function buildThirdPartyCmijs() { e(`find ${libEs6Folder} -name '*.js' -exec cp {} ${outputFolder} \\;`); e( - `find ${libOcamlFolder} -name "*.cmi" -or -name "*.cmj" | xargs -n1 basename | xargs js_of_ocaml build-fs -o ${cmijFile} -I ${libOcamlFolder}` + `find ${libOcamlFolder} -name "*.cmi" -or -name "*.cmj" | xargs -n1 basename | xargs js_of_ocaml build-fs -o ${cmijFile} -I ${libOcamlFolder}`, ); }); } diff --git a/scripts/dune.js b/scripts/dune.js index 2f49546859..dd22149381 100644 --- a/scripts/dune.js +++ b/scripts/dune.js @@ -6,7 +6,7 @@ var duneBinDir = path.join( "_build", "install", "default", - "bin" + "bin", ); exports.duneBinDir = duneBinDir; diff --git a/scripts/ninja.js b/scripts/ninja.js index d72a945d22..1a36cdf503 100755 --- a/scripts/ninja.js +++ b/scripts/ninja.js @@ -19,13 +19,13 @@ var runtimeMlFiles = runtimeFiles.filter( x => !x.startsWith("bs_stdlib_mini") && (x.endsWith(".ml") || x.endsWith(".res")) && - x !== "js.ml" + x !== "js.ml", ); var runtimeMliFiles = runtimeFiles.filter( x => !x.startsWith("bs_stdlib_mini") && (x.endsWith(".mli") || x.endsWith(".resi")) && - x !== "js.mli" + x !== "js.mli", ); var runtimeSourceFiles = runtimeMlFiles.concat(runtimeMliFiles); var runtimeJsFiles = [...new Set(runtimeSourceFiles.map(baseName))]; @@ -404,7 +404,7 @@ function ninjaQuickBuild( cwd, overrides, fileDeps, - extraDeps + extraDeps, ) { var os = Array.isArray(outputs) ? fileTargets(outputs) @@ -423,7 +423,7 @@ function ninjaQuickBuild( cwd, overrides.map(x => { return { key: x[0], value: x[1] }; - }) + }), ); } @@ -575,7 +575,7 @@ function ocamlDepForBscAsync(files, dir, depsMap) { { cwd: dir, encoding: "ascii", - } + }, ); mlfiles.push(mlfile); } catch (err) { @@ -586,7 +586,7 @@ function ocamlDepForBscAsync(files, dir, depsMap) { const minusI = tmpdir == null ? "" : `-I ${tmpdir}`; cp.exec( `ocamldep.opt -allow-approx -one-line ${minusI} -native ${files.join( - " " + " ", )} ${mlfiles.join(" ")}`, { cwd: dir, @@ -608,13 +608,13 @@ function ocamlDepForBscAsync(files, dir, depsMap) { updateDepsKVsByFile( source, deps.map(x => replaceCmj(path.basename(x))), - depsMap + depsMap, ); } }); return resolve(); } - } + }, ); }); } @@ -668,10 +668,10 @@ function depModulesForBscAsync(files, dir, depsMap) { new Promise((resolve, reject) => { cp.exec( `${bsc_exe} -modules -bs-syntax-only ${resFiles.join( - " " + " ", )} ${ocamlFiles.join(" ")}`, config, - cb(resolve, reject) + cb(resolve, reject), ); }), ]; @@ -796,7 +796,7 @@ function generateNinja(depsMap, allTargets, cwd, extraDeps = []) { */ let mk = (outputs, inputs, rule = "cc") => { return build_stmts.push( - buildStmt(outputs, inputs, rule, depsMap, cwd, overrides, extraDeps) + buildStmt(outputs, inputs, rule, depsMap, cwd, overrides, extraDeps), ); }; switch (x) { @@ -888,11 +888,11 @@ ${ninjaQuickBuildList([ ]); var stmts = generateNinja(depsMap, allTargets, ninjaCwd, externalDeps); stmts.push( - phony(runtimeTarget, fileTargets(allFileTargetsInRuntime), ninjaCwd) + phony(runtimeTarget, fileTargets(allFileTargetsInRuntime), ninjaCwd), ); writeFileAscii( path.join(runtimeDir, ninjaOutput), - templateRuntimeRules + stmts.join("\n") + "\n" + templateRuntimeRules + stmts.join("\n") + "\n", ); } catch (e) { console.log(e); @@ -969,7 +969,7 @@ ${ninjaQuickBuildList([ !x.includes(".cppo") && !x.includes(".pp") && !x.includes("#") && - x !== "js.ml" + x !== "js.ml", ); var othersFiles = othersDirFiles.filter( x => @@ -981,7 +981,7 @@ ${ninjaQuickBuildList([ x.endsWith(".res") || x.endsWith(".resi")) && !x.includes("#") && - !x.includes(".cppo") + !x.includes(".cppo"), ); var jsTargets = collectTarget(jsPrefixSourceFiles); var allJsTargets = scanFileTargets(jsTargets, []); @@ -1015,7 +1015,7 @@ ${ninjaQuickBuildList([ jsOutput.join("\n") + "\n" + beltOutput.join("\n") + - "\n" + "\n", ); } /** @@ -1098,7 +1098,7 @@ ${ninjaQuickBuildList([ writeFileAscii( path.join(stdlibDir, ninjaOutput), - templateStdlibRules + output.join("\n") + "\n" + templateStdlibRules + output.join("\n") + "\n", ); } @@ -1116,7 +1116,7 @@ function getDeps(text) { function (_, ignore, id) { if (!ignore) deps.push(id); return ""; // TODO: examine the regex - } + }, ); return deps; } @@ -1188,12 +1188,12 @@ ${mllList(ninjaCwd, [ phony( pseudoTarget("test"), fileTargets(scanFileTargets(targets, [])), - ninjaCwd - ) + ninjaCwd, + ), ); writeFileAscii( path.join(testDir, ninjaOutput), - templateTestRules + output.join("\n") + "\n" + templateTestRules + output.join("\n") + "\n", ); } @@ -1270,7 +1270,7 @@ function checkEffect() { // @ts-ignore assert( effect.length === black_list.size && - effect.every(x => black_list.has(x.file)) + effect.every(x => black_list.has(x.file)), ); console.log(effect); @@ -1294,7 +1294,7 @@ subninja others/build.ninja subninja $stdlib/build.ninja subninja test/build.ninja o all: phony runtime others $stdlib test -` +`, ); writeFileAscii( path.join(jscompDir, "..", "lib", "build.ninja"), @@ -1303,7 +1303,7 @@ ocamlopt = ocamlopt.opt ext = exe INCL= "4.06.1+BS" include body.ninja -` +`, ); preprocessorNinjaSync(); // This is needed so that ocamldep makes sense @@ -1406,7 +1406,7 @@ function main() { encoding: "utf8", cwd: path.join(__dirname, ".."), stdio: [0, 1, 2], - } + }, ); break; case "config": diff --git a/scripts/prebuilt.js b/scripts/prebuilt.js index 0ca9ad8d3e..8862c22a93 100755 --- a/scripts/prebuilt.js +++ b/scripts/prebuilt.js @@ -8,7 +8,7 @@ const assert = require("assert"); const package_config = require(path.join(__dirname, "..", "package.json")); const bsVersion = fs.readFileSync( path.join(__dirname, "..", "jscomp", "common", "bs_version.ml"), - "utf-8" + "utf-8", ); /** @@ -26,7 +26,7 @@ function verifyVersion(bsVersion, version) { .split("."); let [specifiedMajor, specifiedMinor] = version.split("."); console.log( - `Version check: package.json: ${specifiedMajor}.${specifiedMinor} vs ABI: ${major}.${minor}` + `Version check: package.json: ${specifiedMajor}.${specifiedMinor} vs ABI: ${major}.${minor}`, ); return major === specifiedMajor && minor === specifiedMinor; } catch (e) { diff --git a/scripts/release.js b/scripts/release.js index 2dd8cd802e..1ddacab96e 100755 --- a/scripts/release.js +++ b/scripts/release.js @@ -19,7 +19,7 @@ function run() { cp.execSync( `git clean -dfx stubs ext common syntax depends core bsb main .`, - { cwd: jscompDir, encoding: "utf8", stdio: [0, 1, 2] } + { cwd: jscompDir, encoding: "utf8", stdio: [0, 1, 2] }, ); cp.execSync(`ninja -t clean -g && ninja`, { cwd: jscompDir, diff --git a/scripts/setVersion.js b/scripts/setVersion.js index b3f24fb743..e0d600bfcb 100644 --- a/scripts/setVersion.js +++ b/scripts/setVersion.js @@ -9,12 +9,12 @@ const packageSpec = JSON.parse(fs.readFileSync("./package.json", "utf8")); const { version, name } = packageSpec; const stdlibPackageSpec = JSON.parse( - fs.readFileSync("./packages/std/package.json", "utf8") + fs.readFileSync("./packages/std/package.json", "utf8"), ); stdlibPackageSpec.version = version; fs.writeFileSync( "./packages/std/package.json", - JSON.stringify(stdlibPackageSpec, null, 2) + JSON.stringify(stdlibPackageSpec, null, 2), ); fs.writeFileSync( @@ -46,7 +46,7 @@ let version = "${version}" let header = "// Generated by ReScript, PLEASE EDIT WITH CARE" let package_name = ref "${name}" `, - "utf8" + "utf8", ); // For some reason, the version number is also in npm's package-lock.json. This updates it. diff --git a/scripts/shake.js b/scripts/shake.js index e66cb8c0c2..a3f1178a1d 100644 --- a/scripts/shake.js +++ b/scripts/shake.js @@ -11,7 +11,7 @@ var ocamlopt = path.join( "native", "4.06.1", "bin", - "ocamlopt.opt" + "ocamlopt.opt", ); var base = process.argv[2]; @@ -37,7 +37,7 @@ function dsource(file) { cwd, encoding: "utf8", shell: true, - } + }, ); // check output.status if (output.status === 0) { @@ -67,7 +67,7 @@ function checkDiff(file, msg) { if (output.status !== 0) { var output = cp.spawnSync( `git add ${file} && git commit -m "${msg} for ${file}"`, - { shell: true, encoding: "utf8", cwd } + { shell: true, encoding: "utf8", cwd }, ); if (output.status !== 0) { console.error(`diff failure for ${file} -- ${msg}`); @@ -91,7 +91,7 @@ function shake(file) { cwd, encoding: "utf8", shell: true, - } + }, ); if (output.status !== 0) { console.error(`shake failure`); diff --git a/scripts/tmp.js b/scripts/tmp.js index a6ea88b4f3..cfe6c54fd4 100644 --- a/scripts/tmp.js +++ b/scripts/tmp.js @@ -62,7 +62,7 @@ var code = n => { */ var polyCode = n => { var content = `type t = [ \n ${polyConstructors( - n + n, )}\n ] [@@deriving jsConverter] `; var eq = ` let eq (x : t option) (y: t option) = @@ -84,14 +84,14 @@ var run = () => { fs.writeFileSync( path.join(__dirname, "..", "jscomp", "test", "big_enum.ml"), code(300), - "utf8" + "utf8", ); }; var runPol = () => { fs.writeFileSync( path.join(__dirname, "..", "jscomp", "test", "big_polyvar_test.ml"), - polyCode(300) + polyCode(300), ); }; From 3bd438f4dfa41d79f3c14874d72ea27c4e7fdc6c Mon Sep 17 00:00:00 2001 From: Hyeseong Kim Date: Sun, 30 Jun 2024 03:15:55 +0900 Subject: [PATCH 08/11] use Biome for gentype tests too --- .../typescript-react-example/.eslintrc.json | 7 - .../typescript-react-example/Makefile | 2 +- .../typescript-react-example/biome.json | 14 + .../package-lock.json | 1708 ++--------------- .../typescript-react-example/package.json | 6 +- .../typescript-react-example/src/MyInput.tsx | 2 +- .../typescript-react-example/src/MyMath.ts | 18 +- .../src/exportNestedValues.js | 4 +- .../typescript-react-example/src/index.tsx | 6 +- .../src/shims/ReactEvent.shim.ts | 14 - .../src/shims/RescriptPervasives.shim.ts | 7 +- .../src/testReferences.ts | 2 - 12 files changed, 203 insertions(+), 1587 deletions(-) delete mode 100644 jscomp/gentype_tests/typescript-react-example/.eslintrc.json create mode 100644 jscomp/gentype_tests/typescript-react-example/biome.json diff --git a/jscomp/gentype_tests/typescript-react-example/.eslintrc.json b/jscomp/gentype_tests/typescript-react-example/.eslintrc.json deleted file mode 100644 index 77d32563f7..0000000000 --- a/jscomp/gentype_tests/typescript-react-example/.eslintrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"], - "ignorePatterns": ["src/**/*.res.js"], - "root": true -} diff --git a/jscomp/gentype_tests/typescript-react-example/Makefile b/jscomp/gentype_tests/typescript-react-example/Makefile index 2794f18826..1d66d5442b 100644 --- a/jscomp/gentype_tests/typescript-react-example/Makefile +++ b/jscomp/gentype_tests/typescript-react-example/Makefile @@ -2,9 +2,9 @@ SHELL = /bin/bash test: npm install + npm run lint npm run build npm run tsc - npm run lint @git diff --quiet src/ \ || { echo; echo "Please review the Gentype outputs too!"; echo; false; } \ || exit 1 diff --git a/jscomp/gentype_tests/typescript-react-example/biome.json b/jscomp/gentype_tests/typescript-react-example/biome.json new file mode 100644 index 0000000000..4e213bc610 --- /dev/null +++ b/jscomp/gentype_tests/typescript-react-example/biome.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json", + "extends": ["../../../biome.json"], + "linter": { + "enabled": true, + "rules": { + "recommended": true + }, + "ignore": [ + "**/*.res.js", + "**/*.gen.ts*" + ] + } +} diff --git a/jscomp/gentype_tests/typescript-react-example/package-lock.json b/jscomp/gentype_tests/typescript-react-example/package-lock.json index 0d34aefc35..479c7a4e0b 100644 --- a/jscomp/gentype_tests/typescript-react-example/package-lock.json +++ b/jscomp/gentype_tests/typescript-react-example/package-lock.json @@ -13,11 +13,9 @@ "react-dom": "^18.2.0" }, "devDependencies": { + "@biomejs/biome": "1.8.3", "@types/node": "^18.15.12", "@types/react-dom": "^18.0.11", - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", - "eslint": "^8.51.0", "rescript": "file:../../..", "typescript": "^5.2.2" } @@ -35,145 +33,176 @@ "rewatch": "scripts/rewatch" }, "devDependencies": { + "@biomejs/biome": "1.8.3", "mocha": "10.1.0", - "nyc": "15.0.0", - "prettier": "2.7.1" + "nyc": "15.0.0" }, "engines": { "node": ">=18" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "node_modules/@biomejs/biome": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.8.3.tgz", + "integrity": "sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==", "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "hasInstallScript": true, + "license": "MIT OR Apache-2.0", + "bin": { + "biome": "bin/biome" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=14.21.3" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "1.8.3", + "@biomejs/cli-darwin-x64": "1.8.3", + "@biomejs/cli-linux-arm64": "1.8.3", + "@biomejs/cli-linux-arm64-musl": "1.8.3", + "@biomejs/cli-linux-x64": "1.8.3", + "@biomejs/cli-linux-x64-musl": "1.8.3", + "@biomejs/cli-win32-arm64": "1.8.3", + "@biomejs/cli-win32-x64": "1.8.3" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.8.3.tgz", + "integrity": "sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=14.21.3" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "node_modules/@biomejs/cli-darwin-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.8.3.tgz", + "integrity": "sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=14.21.3" } }, - "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "node_modules/@biomejs/cli-linux-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.8.3.tgz", + "integrity": "sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=14.21.3" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.8.3.tgz", + "integrity": "sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10.10.0" + "node": ">=14.21.3" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.8.3.tgz", + "integrity": "sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node": ">=14.21.3" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.8.3.tgz", + "integrity": "sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": ">=14.21.3" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@biomejs/cli-win32-arm64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.8.3.tgz", + "integrity": "sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 8" + "node": ">=14.21.3" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@biomejs/cli-win32-x64": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.8.3.tgz", + "integrity": "sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 8" + "node": ">=14.21.3" } }, "node_modules/@rescript/react": { @@ -185,12 +214,6 @@ "react-dom": ">=18.0.0" } }, - "node_modules/@types/json-schema": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", - "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", - "dev": true - }, "node_modules/@types/node": { "version": "18.18.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", @@ -229,1460 +252,75 @@ "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==", "dev": true }, - "node_modules/@types/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", "dev": true }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz", - "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/type-utils": "6.8.0", - "@typescript-eslint/utils": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "node_modules/@typescript-eslint/parser": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz", - "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==", - "dev": true, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/typescript-estree": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz", - "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==", - "dev": true, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "dependencies": { - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0" + "loose-envify": "^1.1.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz", - "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==", - "dev": true, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dependencies": { - "@typescript-eslint/typescript-estree": "6.8.0", - "@typescript-eslint/utils": "6.8.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz", - "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz", - "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "react": "^18.2.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz", - "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/typescript-estree": "6.8.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } + "node_modules/rescript": { + "resolved": "../../..", + "link": true }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz", - "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==", - "dev": true, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dependencies": { - "@typescript-eslint/types": "6.8.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "loose-envify": "^1.1.0" } }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true, "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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 - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "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/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==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "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==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "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==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "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 - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/once": { - "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, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/rescript": { - "resolved": "../../..", - "link": true - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", - "dev": true, - "engines": { - "node": ">=16.13.0" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { "node": ">=14.17" } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } } } } diff --git a/jscomp/gentype_tests/typescript-react-example/package.json b/jscomp/gentype_tests/typescript-react-example/package.json index 172eb2a18f..1004c4a557 100644 --- a/jscomp/gentype_tests/typescript-react-example/package.json +++ b/jscomp/gentype_tests/typescript-react-example/package.json @@ -7,7 +7,7 @@ "build": "rescript", "clean": "rescript clean", "tsc": "tsc -p tsconfig.json", - "lint": "eslint src" + "lint": "biome check src" }, "dependencies": { "@rescript/react": "^0.12.0", @@ -15,11 +15,9 @@ "react-dom": "^18.2.0" }, "devDependencies": { + "@biomejs/biome": "1.8.3", "@types/node": "^18.15.12", "@types/react-dom": "^18.0.11", - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", - "eslint": "^8.51.0", "rescript": "file:../../..", "typescript": "^5.2.2" } diff --git a/jscomp/gentype_tests/typescript-react-example/src/MyInput.tsx b/jscomp/gentype_tests/typescript-react-example/src/MyInput.tsx index 258c181f84..367c734d50 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/MyInput.tsx +++ b/jscomp/gentype_tests/typescript-react-example/src/MyInput.tsx @@ -1,4 +1,4 @@ -import * as React from "react"; +import type * as React from "react"; type Props = React.InputHTMLAttributes; diff --git a/jscomp/gentype_tests/typescript-react-example/src/MyMath.ts b/jscomp/gentype_tests/typescript-react-example/src/MyMath.ts index aa365f8779..8727646f29 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/MyMath.ts +++ b/jscomp/gentype_tests/typescript-react-example/src/MyMath.ts @@ -1,18 +1,13 @@ -/* @flow strict */ - export const round: (_: number) => number = Math.round; export const round2 = round; -export const area = function (point: { x: number; y?: number }): number { - return point.x * (point.y === undefined ? 1 : point.y); -}; +export const area = (point: { x: number; y?: number }): number => + point.x * (point.y === undefined ? 1 : point.y); export type numberOrString = number | string; -export const returnMixedArray = function (): Array { - return [1, 2]; -}; +export const returnMixedArray = (): Array => [1, 2]; export class AbsoluteValue { public prop!: number; @@ -26,15 +21,12 @@ export class AbsoluteValue { export type stringFunction = (_: string) => string; -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export const useColor = function (x: "tomato" | "gray"): number { - return 0; -}; +export const useColor = (x: "tomato" | "gray"): number => 0; export const higherOrder = (foo: (_1: number, _2: number) => number) => foo(3, 4); -// eslint-disable-next-line @typescript-eslint/no-explicit-any +// biome-ignore lint/suspicious/noExplicitAny: intended use export const convertVariant = (x: any) => x; export const polymorphic = (x: T): T => x; diff --git a/jscomp/gentype_tests/typescript-react-example/src/exportNestedValues.js b/jscomp/gentype_tests/typescript-react-example/src/exportNestedValues.js index 77bbd8f21b..dd691305fc 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/exportNestedValues.js +++ b/jscomp/gentype_tests/typescript-react-example/src/exportNestedValues.js @@ -1,11 +1,11 @@ -/* @flow strict */ - +// biome-ignore lint/complexity/noStaticOnlyClass: intended use class InnerClass { static InnerStuff = { innerStuffContents: { x: 34 }, }; } +// biome-ignore lint/complexity/noStaticOnlyClass: intended use export class TopLevelClass { static MiddleLevelElements = { stuff: InnerClass, diff --git a/jscomp/gentype_tests/typescript-react-example/src/index.tsx b/jscomp/gentype_tests/typescript-react-example/src/index.tsx index 750d783299..eadf3cc8b9 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/index.tsx +++ b/jscomp/gentype_tests/typescript-react-example/src/index.tsx @@ -1,4 +1,4 @@ -import * as React from "react"; +import type * as React from "react"; import * as ReactDOM from "react-dom"; import App from "./App"; import * as ImportJsValue from "./ImportJsValue.gen"; @@ -125,9 +125,9 @@ TestPromise.convert(Promise.resolve({ x: 3, s: "hello" })).then(x => type Props = { readonly method?: "push" | "replace"; }; -// eslint-disable-next-line @typescript-eslint/no-unused-vars + export const make: React.FC = (x: Props) => { - return
; + return
; }; const signedMessage = DocStrings.signMessage("hello", 42); diff --git a/jscomp/gentype_tests/typescript-react-example/src/shims/ReactEvent.shim.ts b/jscomp/gentype_tests/typescript-react-example/src/shims/ReactEvent.shim.ts index 4ad7494fa1..fc4035f844 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/shims/ReactEvent.shim.ts +++ b/jscomp/gentype_tests/typescript-react-example/src/shims/ReactEvent.shim.ts @@ -1,69 +1,55 @@ -// eslint-disable-next-line max-classes-per-file export abstract class Animation_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Clipboard_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Composition_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Focus_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Form_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Keyboard_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Image_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Media_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Selection_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Synthetic_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Touch_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Transition_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class UI_t { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Wheel_t { protected opaque: unknown; } diff --git a/jscomp/gentype_tests/typescript-react-example/src/shims/RescriptPervasives.shim.ts b/jscomp/gentype_tests/typescript-react-example/src/shims/RescriptPervasives.shim.ts index b674cdf15b..af1e6dc7e3 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/shims/RescriptPervasives.shim.ts +++ b/jscomp/gentype_tests/typescript-react-example/src/shims/RescriptPervasives.shim.ts @@ -1,12 +1,9 @@ -// eslint-disable-next-line @typescript-eslint/no-var-requires const $$Array = require("bs-platform/lib/js/array"); -// eslint-disable-next-line max-classes-per-file export abstract class EmptyList { protected opaque: unknown; } -// eslint-disable-next-line max-classes-per-file export abstract class Cons { protected opaque!: T; } @@ -14,11 +11,11 @@ export abstract class Cons { export type list = Cons | EmptyList; export function cons(itm: T, lst: list): list { - // eslint-disable-next-line @typescript-eslint/no-explicit-any + // biome-ignore lint/suspicious/noExplicitAny: intended use return /* :: */ [itm, lst] as any; } -// eslint-disable-next-line @typescript-eslint/no-explicit-any +// biome-ignore lint/suspicious/noExplicitAny: intended use export const emptyList: EmptyList = /* [] */ 0 as any; export const fromArray = $$Array.to_list; diff --git a/jscomp/gentype_tests/typescript-react-example/src/testReferences.ts b/jscomp/gentype_tests/typescript-react-example/src/testReferences.ts index 1d0efa32e7..4f48449ba2 100644 --- a/jscomp/gentype_tests/typescript-react-example/src/testReferences.ts +++ b/jscomp/gentype_tests/typescript-react-example/src/testReferences.ts @@ -1,5 +1,3 @@ -/* @flow strict */ - import * as References from "./References.gen"; const r: { contents: number } = { contents: 34 }; From d7b873bf4758fa9f95aeb620d3917a8882f8a8c1 Mon Sep 17 00:00:00 2001 From: Hyeseong Kim Date: Sun, 30 Jun 2024 03:24:40 +0900 Subject: [PATCH 09/11] add VSCode extension recommendation --- .vscode/extensions.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .vscode/extensions.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000000..d1554f724c --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": ["biomejs.biome", "chenglou92.rescript-vscode"], + "unwantedRecommendations": [ + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode" + ] +} From 8a865052047ebb687317132abdd58098405ec49f Mon Sep 17 00:00:00 2001 From: Hyeseong Kim Date: Sun, 30 Jun 2024 03:24:53 +0900 Subject: [PATCH 10/11] fix more json errors --- jscomp/build_tests/case/rescript.json | 4 +--- jscomp/build_tests/case2/rescript.json | 4 +--- jscomp/build_tests/exports/rescript.json | 4 +--- jscomp/build_tests/zerocycle/rescript.json | 4 +--- jscomp/gentype_tests/typescript-react-example/biome.json | 5 +---- jscomp/ounit_tests/ounit_bsb_regex_tests.ml | 4 +--- 6 files changed, 6 insertions(+), 19 deletions(-) diff --git a/jscomp/build_tests/case/rescript.json b/jscomp/build_tests/case/rescript.json index 0f5b875586..09ac723be8 100644 --- a/jscomp/build_tests/case/rescript.json +++ b/jscomp/build_tests/case/rescript.json @@ -2,7 +2,5 @@ "name": "case", "version": "0.1.0", "sources": ["src"], - "bs-dependencies": [ - // add your bs-dependencies here - ] + "bs-dependencies": [] } diff --git a/jscomp/build_tests/case2/rescript.json b/jscomp/build_tests/case2/rescript.json index db6b5e7fc8..ec8b8ce528 100644 --- a/jscomp/build_tests/case2/rescript.json +++ b/jscomp/build_tests/case2/rescript.json @@ -2,7 +2,5 @@ "name": "case2", "version": "0.1.0", "sources": ["src"], - "bs-dependencies": [ - // add your bs-dependencies here - ] + "bs-dependencies": [] } diff --git a/jscomp/build_tests/exports/rescript.json b/jscomp/build_tests/exports/rescript.json index 2414b95ac1..341475886f 100644 --- a/jscomp/build_tests/exports/rescript.json +++ b/jscomp/build_tests/exports/rescript.json @@ -2,7 +2,5 @@ "name": "exports", "version": "0.1.0", "sources": ["src"], - "bs-dependencies": [ - // add your bs-dependencies here - ] + "bs-dependencies": [] } diff --git a/jscomp/build_tests/zerocycle/rescript.json b/jscomp/build_tests/zerocycle/rescript.json index 3cd7e90d96..4210d87b96 100644 --- a/jscomp/build_tests/zerocycle/rescript.json +++ b/jscomp/build_tests/zerocycle/rescript.json @@ -7,7 +7,5 @@ "in-source": true }, "suffix": ".bs.js", - "bs-dependencies": [ - // add your bs-dependencies here - ] + "bs-dependencies": [] } diff --git a/jscomp/gentype_tests/typescript-react-example/biome.json b/jscomp/gentype_tests/typescript-react-example/biome.json index 4e213bc610..d9c8975046 100644 --- a/jscomp/gentype_tests/typescript-react-example/biome.json +++ b/jscomp/gentype_tests/typescript-react-example/biome.json @@ -6,9 +6,6 @@ "rules": { "recommended": true }, - "ignore": [ - "**/*.res.js", - "**/*.gen.ts*" - ] + "ignore": ["**/*.res.js", "**/*.gen.ts*"] } } diff --git a/jscomp/ounit_tests/ounit_bsb_regex_tests.ml b/jscomp/ounit_tests/ounit_bsb_regex_tests.ml index 076c244a5f..d5f87d0458 100644 --- a/jscomp/ounit_tests/ounit_bsb_regex_tests.ml +++ b/jscomp/ounit_tests/ounit_bsb_regex_tests.ml @@ -51,7 +51,6 @@ let suites = ], "reason" : { "react-jsx" : true}, "bs-dependencies" : [ - // add your bs-dependencies here ] } |} {| @@ -63,7 +62,6 @@ let suites = ], "reason" : { "react-jsx" : true}, "bs-dependencies" : [ - // add your bs-dependencies here ] } |} @@ -190,4 +188,4 @@ let suites = } |} end - ] \ No newline at end of file + ] From f92668610d6e787706b32731405bd3d36e70e593 Mon Sep 17 00:00:00 2001 From: Hyeseong Kim Date: Sun, 30 Jun 2024 03:26:21 +0900 Subject: [PATCH 11/11] jsx runtime should be match --- jscomp/gentype_tests/typescript-react-example/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jscomp/gentype_tests/typescript-react-example/tsconfig.json b/jscomp/gentype_tests/typescript-react-example/tsconfig.json index 9401424aa4..fef2a942b1 100644 --- a/jscomp/gentype_tests/typescript-react-example/tsconfig.json +++ b/jscomp/gentype_tests/typescript-react-example/tsconfig.json @@ -6,7 +6,7 @@ "lib": ["dom", "dom.iterable", "esnext"], "sourceMap": true, "allowJs": true, - "jsx": "react", + "jsx": "react-jsx", "skipLibCheck": true, "moduleResolution": "node", "rootDir": ".",