From d4f7cfec43bf2822825a549c3153b995abd4d32e Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 13:03:27 +0000 Subject: [PATCH 1/3] chore: fix typescript 6.0 compile errors Adds missing types and explicit type declarations required by stricter TypeScript 6.0 checking. Includes `node` types, updates compiler `lib`, and types the mapped structures in `parser.ts` to fix `flatMap` implicit `any` errors. Removes unused type imports. Co-authored-by: tushuhei <734905+tushuhei@users.noreply.github.com> --- javascript/package-lock.json | 192 +++++++++++++++---------------- javascript/package.json | 2 +- javascript/src/cli.ts | 2 +- javascript/src/parser.ts | 6 +- javascript/src/tests/test_cli.ts | 6 +- javascript/tsconfig.json | 5 +- 6 files changed, 108 insertions(+), 105 deletions(-) diff --git a/javascript/package-lock.json b/javascript/package-lock.json index 4c6d91d1..b7cba574 100644 --- a/javascript/package-lock.json +++ b/javascript/package-lock.json @@ -22,14 +22,14 @@ "@vitest/browser-playwright": "^4.0.18", "esbuild": "^0.27.0", "playwright": "^1.58.0", - "typescript": "^5.1.6", + "typescript": "^6.0.2", "vitest": "^4.0.18" } }, "node_modules/@biomejs/biome": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.9.tgz", - "integrity": "sha512-wvZW92FrwitTcacvCBT8xdAbfbxWfDLwjYMmU3djjqQTh7Ni4ZdiWIT/x5VcZ+RQuxiKzIOzi5D+dcyJDFZMsA==", + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.8.tgz", + "integrity": "sha512-ponn0oKOky1oRXBV+rlSaUlixUxf1aZvWC19Z41zBfUOUesthrQqL3OtiAlSB1EjFjyWpn98Q64DHelhA6jNlA==", "dev": true, "license": "MIT OR Apache-2.0", "bin": { @@ -43,20 +43,20 @@ "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "2.4.9", - "@biomejs/cli-darwin-x64": "2.4.9", - "@biomejs/cli-linux-arm64": "2.4.9", - "@biomejs/cli-linux-arm64-musl": "2.4.9", - "@biomejs/cli-linux-x64": "2.4.9", - "@biomejs/cli-linux-x64-musl": "2.4.9", - "@biomejs/cli-win32-arm64": "2.4.9", - "@biomejs/cli-win32-x64": "2.4.9" + "@biomejs/cli-darwin-arm64": "2.4.8", + "@biomejs/cli-darwin-x64": "2.4.8", + "@biomejs/cli-linux-arm64": "2.4.8", + "@biomejs/cli-linux-arm64-musl": "2.4.8", + "@biomejs/cli-linux-x64": "2.4.8", + "@biomejs/cli-linux-x64-musl": "2.4.8", + "@biomejs/cli-win32-arm64": "2.4.8", + "@biomejs/cli-win32-x64": "2.4.8" } }, "node_modules/@biomejs/cli-darwin-arm64": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.9.tgz", - "integrity": "sha512-d5G8Gf2RpH5pYwiHLPA+UpG3G9TLQu4WM+VK6sfL7K68AmhcEQ9r+nkj/DvR/GYhYox6twsHUtmWWWIKfcfQQA==", + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.8.tgz", + "integrity": "sha512-ARx0tECE8I7S2C2yjnWYLNbBdDoPdq3oyNLhMglmuctThwUsuzFWRKrHmIGwIRWKz0Mat9DuzLEDp52hGnrxGQ==", "cpu": [ "arm64" ], @@ -71,9 +71,9 @@ } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.9.tgz", - "integrity": "sha512-LNCLNgqDMG7BLdc3a8aY/dwKPK7+R8/JXJoXjCvZh2gx8KseqBdFDKbhrr7HCWF8SzNhbTaALhTBoh/I6rf9lA==", + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.8.tgz", + "integrity": "sha512-Jg9/PsB9vDCJlANE8uhG7qDhb5w0Ix69D7XIIc8IfZPUoiPrbLm33k2Ig3NOJ/7nb3UbesFz3D1aDKm9DvzjhQ==", "cpu": [ "x64" ], @@ -88,9 +88,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.9.tgz", - "integrity": "sha512-4adnkAUi6K4C/emPRgYznMOcLlUqZdXWM6aIui4VP4LraE764g6Q4YguygnAUoxKjKIXIWPteKMgRbN0wsgwcg==", + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.8.tgz", + "integrity": "sha512-5CdrsJct76XG2hpKFwXnEtlT1p+4g4yV+XvvwBpzKsTNLO9c6iLlAxwcae2BJ7ekPGWjNGw9j09T5KGPKKxQig==", "cpu": [ "arm64" ], @@ -105,9 +105,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.9.tgz", - "integrity": "sha512-8RCww5xnPn2wpK4L/QDGDOW0dq80uVWfppPxHIUg6mOs9B6gRmqPp32h1Ls3T8GnW8Wo5A8u7vpTwz4fExN+sw==", + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.8.tgz", + "integrity": "sha512-Zo9OhBQDJ3IBGPlqHiTISloo5H0+FBIpemqIJdW/0edJ+gEcLR+MZeZozcUyz3o1nXkVA7++DdRKQT0599j9jA==", "cpu": [ "arm64" ], @@ -122,9 +122,9 @@ } }, "node_modules/@biomejs/cli-linux-x64": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.9.tgz", - "integrity": "sha512-L10na7POF0Ks/cgLFNF1ZvIe+X4onLkTi5oP9hY+Rh60Q+7fWzKDDCeGyiHUFf1nGIa9dQOOUPGe2MyYg8nMSQ==", + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.8.tgz", + "integrity": "sha512-PdKXspVEaMCQLjtZCn6vfSck/li4KX9KGwSDbZdgIqlrizJ2MnMcE3TvHa2tVfXNmbjMikzcfJpuPWH695yJrw==", "cpu": [ "x64" ], @@ -139,9 +139,9 @@ } }, "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.9.tgz", - "integrity": "sha512-5TD+WS9v5vzXKzjetF0hgoaNFHMcpQeBUwKKVi3JbG1e9UCrFuUK3Gt185fyTzvRdwYkJJEMqglRPjmesmVv4A==", + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.8.tgz", + "integrity": "sha512-Gi8quv8MEuDdKaPFtS2XjEnMqODPsRg6POT6KhoP+VrkNb+T2ywunVB+TvOU0LX1jAZzfBr+3V1mIbBhzAMKvw==", "cpu": [ "x64" ], @@ -156,9 +156,9 @@ } }, "node_modules/@biomejs/cli-win32-arm64": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.9.tgz", - "integrity": "sha512-aDZr0RBC3sMGJOU10BvG7eZIlWLK/i51HRIfScE2lVhfts2dQTreowLiJJd+UYg/tHKxS470IbzpuKmd0MiD6g==", + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.8.tgz", + "integrity": "sha512-LoFatS0tnHv6KkCVpIy3qZCih+MxUMvdYiPWLHRri7mhi2vyOOs8OrbZBcLTUEWCS+ktO72nZMy4F96oMhkOHQ==", "cpu": [ "arm64" ], @@ -173,9 +173,9 @@ } }, "node_modules/@biomejs/cli-win32-x64": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.9.tgz", - "integrity": "sha512-NS4g/2G9SoQ4ktKtz31pvyc/rmgzlcIDCGU/zWbmHJAqx6gcRj2gj5Q/guXhoWTzCUaQZDIqiCQXHS7BcGYc0w==", + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.8.tgz", + "integrity": "sha512-vAn7iXDoUbqFXqVocuq1sMYAd33p8+mmurqJkWl6CtIhobd/O6moe4rY5AJvzbunn/qZCdiDVcveqtkFh1e7Hg==", "cpu": [ "x64" ], @@ -1020,15 +1020,15 @@ } }, "node_modules/@vitest/browser": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.1.1.tgz", - "integrity": "sha512-gjjrFC4+kPVK/fN9URDJWrssU5Gqh8Az8pKG/NSfQ2V+ky8b/y1BgBg0Ug13+hOGp5pzInonmGRPn7vOgSLgzA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.1.0.tgz", + "integrity": "sha512-tG/iOrgbiHQks0ew7CdelUyNEHkv8NLrt+CqdTivIuoSnXvO7scWMn4Kqo78/UGY1NJ6Hv+vp8BvRnED/bjFdQ==", "dev": true, "license": "MIT", "dependencies": { "@blazediff/core": "1.9.1", - "@vitest/mocker": "4.1.1", - "@vitest/utils": "4.1.1", + "@vitest/mocker": "4.1.0", + "@vitest/utils": "4.1.0", "magic-string": "^0.30.21", "pngjs": "^7.0.0", "sirv": "^3.0.2", @@ -1039,18 +1039,18 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "4.1.1" + "vitest": "4.1.0" } }, "node_modules/@vitest/browser-playwright": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-4.1.1.tgz", - "integrity": "sha512-dtVSBZZha2k/7P7EAXXrEAoxuIKl8Yv9f2Dk4GN/DGfmhf4DQvkvu+57okR2wq/gan1xppKjL/aBxK/kbYrbGw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-4.1.0.tgz", + "integrity": "sha512-2RU7pZELY9/aVMLmABNy1HeZ4FX23FXGY1jRuHLHgWa2zaAE49aNW2GLzebW+BmbTZIKKyFF1QXvk7DEWViUCQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/browser": "4.1.1", - "@vitest/mocker": "4.1.1", + "@vitest/browser": "4.1.0", + "@vitest/mocker": "4.1.0", "tinyrainbow": "^3.0.3" }, "funding": { @@ -1058,7 +1058,7 @@ }, "peerDependencies": { "playwright": "*", - "vitest": "4.1.1" + "vitest": "4.1.0" }, "peerDependenciesMeta": { "playwright": { @@ -1089,16 +1089,16 @@ } }, "node_modules/@vitest/expect": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.1.tgz", - "integrity": "sha512-xAV0fqBTk44Rn6SjJReEQkHP3RrqbJo6JQ4zZ7/uVOiJZRarBtblzrOfFIZeYUrukp2YD6snZG6IBqhOoHTm+A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.0.tgz", + "integrity": "sha512-EIxG7k4wlWweuCLG9Y5InKFwpMEOyrMb6ZJ1ihYu02LVj/bzUwn2VMU+13PinsjRW75XnITeFrQBMH5+dLvCDA==", "dev": true, "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.1.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.1", - "@vitest/utils": "4.1.1", + "@vitest/spy": "4.1.0", + "@vitest/utils": "4.1.0", "chai": "^6.2.2", "tinyrainbow": "^3.0.3" }, @@ -1107,13 +1107,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.1.tgz", - "integrity": "sha512-h3BOylsfsCLPeceuCPAAJ+BvNwSENgJa4hXoXu4im0bs9Lyp4URc4JYK4pWLZ4pG/UQn7AT92K6IByi6rE6g3A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.0.tgz", + "integrity": "sha512-evxREh+Hork43+Y4IOhTo+h5lGmVRyjqI739Rz4RlUPqwrkFFDF6EMvOOYjTx4E8Tl6gyCLRL8Mu7Ry12a13Tw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.1.1", + "@vitest/spy": "4.1.0", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, @@ -1122,7 +1122,7 @@ }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0" }, "peerDependenciesMeta": { "msw": { @@ -1134,9 +1134,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.1.tgz", - "integrity": "sha512-GM+TEQN5WhOygr1lp7skeVjdLPqqWMHsfzXrcHAqZJi/lIVh63H0kaRCY8MDhNWikx19zBUK8ceaLB7X5AH9NQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.0.tgz", + "integrity": "sha512-3RZLZlh88Ib0J7NQTRATfc/3ZPOnSUn2uDBUoGNn5T36+bALixmzphN26OUD3LRXWkJu4H0s5vvUeqBiw+kS0A==", "dev": true, "license": "MIT", "dependencies": { @@ -1147,13 +1147,13 @@ } }, "node_modules/@vitest/runner": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.1.tgz", - "integrity": "sha512-f7+FPy75vN91QGWsITueq0gedwUZy1fLtHOCMeQpjs8jTekAHeKP80zfDEnhrleviLHzVSDXIWuCIOFn3D3f8A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.0.tgz", + "integrity": "sha512-Duvx2OzQ7d6OjchL+trw+aSrb9idh7pnNfxrklo14p3zmNL4qPCDeIJAK+eBKYjkIwG96Bc6vYuxhqDXQOWpoQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.1.1", + "@vitest/utils": "4.1.0", "pathe": "^2.0.3" }, "funding": { @@ -1161,14 +1161,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.1.tgz", - "integrity": "sha512-kMVSgcegWV2FibXEx9p9WIKgje58lcTbXgnJixfcg15iK8nzCXhmalL0ZLtTWLW9PH1+1NEDShiFFedB3tEgWg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.0.tgz", + "integrity": "sha512-0Vy9euT1kgsnj1CHttwi9i9o+4rRLEaPRSOJ5gyv579GJkNpgJK+B4HSv/rAWixx2wdAFci1X4CEPjiu2bXIMg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.1", - "@vitest/utils": "4.1.1", + "@vitest/pretty-format": "4.1.0", + "@vitest/utils": "4.1.0", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -1177,9 +1177,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.1.tgz", - "integrity": "sha512-6Ti/KT5OVaiupdIZEuZN7l3CZcR0cxnxt70Z0//3CtwgObwA6jZhmVBA3yrXSVN3gmwjgd7oDNLlsXz526gpRA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.0.tgz", + "integrity": "sha512-pz77k+PgNpyMDv2FV6qmk5ZVau6c3R8HC8v342T2xlFxQKTrSeYw9waIJG8KgV9fFwAtTu4ceRzMivPTH6wSxw==", "dev": true, "license": "MIT", "funding": { @@ -1187,13 +1187,13 @@ } }, "node_modules/@vitest/utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.1.tgz", - "integrity": "sha512-cNxAlaB3sHoCdL6pj6yyUXv9Gry1NHNg0kFTXdvSIZXLHsqKH7chiWOkwJ5s5+d/oMwcoG9T0bKU38JZWKusrQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.0.tgz", + "integrity": "sha512-XfPXT6a8TZY3dcGY8EdwsBulFCIw+BeeX0RZn2x/BtiY/75YGh8FeWGG8QISN/WhaqSrE2OrlDgtF8q5uhOTmw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.1", + "@vitest/pretty-format": "4.1.0", "convert-source-map": "^2.0.0", "tinyrainbow": "^3.0.3" }, @@ -1810,9 +1810,9 @@ } }, "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz", + "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -1958,19 +1958,19 @@ } }, "node_modules/vitest": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.1.tgz", - "integrity": "sha512-yF+o4POL41rpAzj5KVILUxm1GCjKnELvaqmU9TLLUbMfDzuN0UpUR9uaDs+mCtjPe+uYPksXDRLQGGPvj1cTmA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.0.tgz", + "integrity": "sha512-YbDrMF9jM2Lqc++2530UourxZHmkKLxrs4+mYhEwqWS97WJ7wOYEkcr+QfRgJ3PW9wz3odRijLZjHEaRLTNbqw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.1.1", - "@vitest/mocker": "4.1.1", - "@vitest/pretty-format": "4.1.1", - "@vitest/runner": "4.1.1", - "@vitest/snapshot": "4.1.1", - "@vitest/spy": "4.1.1", - "@vitest/utils": "4.1.1", + "@vitest/expect": "4.1.0", + "@vitest/mocker": "4.1.0", + "@vitest/pretty-format": "4.1.0", + "@vitest/runner": "4.1.0", + "@vitest/snapshot": "4.1.0", + "@vitest/spy": "4.1.0", + "@vitest/utils": "4.1.0", "es-module-lexer": "^2.0.0", "expect-type": "^1.3.0", "magic-string": "^0.30.21", @@ -1982,7 +1982,7 @@ "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0", "why-is-node-running": "^2.3.0" }, "bin": { @@ -1998,13 +1998,13 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.1", - "@vitest/browser-preview": "4.1.1", - "@vitest/browser-webdriverio": "4.1.1", - "@vitest/ui": "4.1.1", + "@vitest/browser-playwright": "4.1.0", + "@vitest/browser-preview": "4.1.0", + "@vitest/browser-webdriverio": "4.1.0", + "@vitest/ui": "4.1.0", "happy-dom": "*", "jsdom": "*", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0-0" }, "peerDependenciesMeta": { "@edge-runtime/vm": { diff --git a/javascript/package.json b/javascript/package.json index f7fe8340..e41f9def 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -73,7 +73,7 @@ "@vitest/browser-playwright": "^4.0.18", "esbuild": "^0.27.0", "playwright": "^1.58.0", - "typescript": "^5.1.6", + "typescript": "^6.0.2", "vitest": "^4.0.18" }, "dependencies": { diff --git a/javascript/src/cli.ts b/javascript/src/cli.ts index 309c22d4..db3e54a0 100644 --- a/javascript/src/cli.ts +++ b/javascript/src/cli.ts @@ -83,7 +83,7 @@ export const cli = (argv: string[]) => { }); let stdin = ''; - rl.on('line', line => { + rl.on('line', (line: string) => { stdin += line + '\n'; }); process.stdin.on('end', () => { diff --git a/javascript/src/parser.ts b/javascript/src/parser.ts index 878fa48a..99c39e9c 100644 --- a/javascript/src/parser.ts +++ b/javascript/src/parser.ts @@ -28,13 +28,13 @@ export class Parser { */ constructor(model: {[key: string]: {[key: string]: number}}) { this.model = new Map( - Object.entries(model).map(([k, v]) => [k, new Map(Object.entries(v))]) + Object.entries(model).map(([k, v]: [string, {[key: string]: number}]) => [k, new Map(Object.entries(v))]) ); this.baseScore = -0.5 * [...this.model.values()] - .flatMap(group => [...group.values()]) - .reduce((prev, curr) => prev + curr, 0); + .flatMap((group: Map) => [...group.values()]) + .reduce((prev: number, curr: number) => prev + curr, 0); } /** diff --git a/javascript/src/tests/test_cli.ts b/javascript/src/tests/test_cli.ts index adb7ed63..bcdc5497 100644 --- a/javascript/src/tests/test_cli.ts +++ b/javascript/src/tests/test_cli.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import {type ExecFileException, execFile} from 'child_process'; +import {execFile} from 'child_process'; import * as path from 'path'; import stream from 'stream'; import {describe, expect, it} from 'vitest'; @@ -22,7 +22,7 @@ import {cli} from '../cli.js'; import {loadDefaultParsers} from '../index.js'; type execFileCallBack = { - error: ExecFileException | null; + error: Error | null; stdout: string; stderr: string; }; @@ -33,7 +33,7 @@ const runCli = (args: string[], stdin?: string): Promise => { const child = execFile( 'node', [binPath, ...args], - (error, stdout, stderr) => { + (error: Error | null, stdout: string, stderr: string) => { resolve({ error, stdout, diff --git a/javascript/tsconfig.json b/javascript/tsconfig.json index 3f63dc7b..325536e8 100644 --- a/javascript/tsconfig.json +++ b/javascript/tsconfig.json @@ -2,10 +2,13 @@ "compilerOptions": { "allowUnreachableCode": false, "allowUnusedLabels": false, - "lib": ["es6", "dom", "dom.iterable"], + "lib": ["es2020", "dom", "dom.iterable"], "target": "es2017", "module": "commonjs", "moduleResolution": "node", + "ignoreDeprecations": "6.0", + "rootDir": "./src", + "types": ["node"], "noEmitOnError": true, "noFallthroughCasesInSwitch": true, "noImplicitReturns": true, From a07635351014e9241f813c8a521281696d9e1e21 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 13:14:15 +0000 Subject: [PATCH 2/3] chore: fix formatting and biome schema version - Update biome.json schema from 2.4.4 to 2.4.8 to match the installed biome version - Run `biome check --write .` to fix formatting in src/parser.ts Co-authored-by: tushuhei <734905+tushuhei@users.noreply.github.com> --- javascript/biome.json | 2 +- javascript/src/parser.ts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/javascript/biome.json b/javascript/biome.json index fe66d375..785f16db 100644 --- a/javascript/biome.json +++ b/javascript/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.4.4/schema.json", + "$schema": "https://biomejs.dev/schemas/2.4.8/schema.json", "linter": { "enabled": true, "rules": { diff --git a/javascript/src/parser.ts b/javascript/src/parser.ts index 99c39e9c..fc63399c 100644 --- a/javascript/src/parser.ts +++ b/javascript/src/parser.ts @@ -28,7 +28,10 @@ export class Parser { */ constructor(model: {[key: string]: {[key: string]: number}}) { this.model = new Map( - Object.entries(model).map(([k, v]: [string, {[key: string]: number}]) => [k, new Map(Object.entries(v))]) + Object.entries(model).map(([k, v]: [string, {[key: string]: number}]) => [ + k, + new Map(Object.entries(v)), + ]) ); this.baseScore = -0.5 * From 9f4b80055f56a48d2aba09227fe6ed7a31ee586c Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 22:10:59 +0000 Subject: [PATCH 3/3] chore: fix TypeScript 6.0 and Biome errors - Change `moduleResolution` to `"bundler"` instead of deprecated `"node"`. - Explicitly type implicit `any` callbacks that throw under TypeScript 6.0's stricter analysis. - Substitute the deprecated `ExecFileException` import with `Error` in `test_cli.ts`. - Update `parseFromString` signature for `linkedom` DOMParser compatibility. - Update `biome.json` schema version to 2.4.8 to fix mismatch. - Fix string wrapping for `parser.ts` formatting using Biome. Co-authored-by: tushuhei <734905+tushuhei@users.noreply.github.com> --- javascript/src/dom.ts | 4 ++-- javascript/tsconfig.json | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/javascript/src/dom.ts b/javascript/src/dom.ts index 6cabdd48..b4487685 100644 --- a/javascript/src/dom.ts +++ b/javascript/src/dom.ts @@ -21,9 +21,9 @@ import {DOMParser} from 'linkedom'; * @param html An HTML string. * @return A Document. */ -export const parseFromString = (html: string) => { +export const parseFromString = (html: string): Document => { return new DOMParser().parseFromString( `${html}`, 'text/html' - ); + ) as unknown as Document; }; diff --git a/javascript/tsconfig.json b/javascript/tsconfig.json index 325536e8..1ae1bdcf 100644 --- a/javascript/tsconfig.json +++ b/javascript/tsconfig.json @@ -5,8 +5,7 @@ "lib": ["es2020", "dom", "dom.iterable"], "target": "es2017", "module": "commonjs", - "moduleResolution": "node", - "ignoreDeprecations": "6.0", + "moduleResolution": "bundler", "rootDir": "./src", "types": ["node"], "noEmitOnError": true,