From bfefa356237107a959445f531af99c3eaa430d08 Mon Sep 17 00:00:00 2001 From: Nick Gomez <122398915+nick-inkeep@users.noreply.github.com> Date: Thu, 5 Nov 2026 14:48:33 +0000 Subject: [PATCH] Use TypeScript 7 for Visimer typechecks (#8937) * chore(visimer): add the official TypeScript 7 checker control * chore(visimer): exercise TypeScript 7 with a planted type error * chore(visimer): restore the clean TypeScript 7 checker candidate * chore(visimer): use the pinned tsrs checker after TypeScript 7 parity * chore(visimer): prove tsrs rejects the planted type error * chore(visimer): restore clean tsrs typechecks after CI proof * chore(visimer): preserve the original dependency ordering * Use the validated official TypeScript 7 checker for Visimer * [preview] Request Vercel previews GitOrigin-RevId: ee0a326c56fa8a8e3593ad19aaf56f7eddad33e1 --- apps/js-playground/package.json | 2 +- apps/playground/package.json | 2 +- apps/site/package.json | 2 +- package.json | 1 + packages/codemirror/package.json | 2 +- packages/core/package.json | 2 +- packages/dom/package.json | 2 +- packages/monaco/package.json | 2 +- packages/react/package.json | 2 +- pnpm-lock.yaml | 211 +++++++++++++++++++++++++++++++ 10 files changed, 220 insertions(+), 8 deletions(-) diff --git a/apps/js-playground/package.json b/apps/js-playground/package.json index 0a74742..5a1ac6b 100644 --- a/apps/js-playground/package.json +++ b/apps/js-playground/package.json @@ -6,7 +6,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "typecheck": "tsc -p tsconfig.json" + "typecheck": "node ../../node_modules/@typescript/native/bin/tsc -p tsconfig.json" }, "dependencies": { "@codemirror/commands": "^6.6.1", diff --git a/apps/playground/package.json b/apps/playground/package.json index 9f0304b..6cf7e22 100644 --- a/apps/playground/package.json +++ b/apps/playground/package.json @@ -6,7 +6,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "typecheck": "tsc -p tsconfig.json" + "typecheck": "node ../../node_modules/@typescript/native/bin/tsc -p tsconfig.json" }, "dependencies": { "@codemirror/commands": "^6.6.1", diff --git a/apps/site/package.json b/apps/site/package.json index 563d158..af020cb 100644 --- a/apps/site/package.json +++ b/apps/site/package.json @@ -6,7 +6,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "typecheck": "tsc -p tsconfig.json" + "typecheck": "node ../../node_modules/@typescript/native/bin/tsc -p tsconfig.json" }, "dependencies": { "@codemirror/commands": "^6.10.4", diff --git a/package.json b/package.json index 6fd359c..e62a1ac 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "release": "pnpm build && changeset publish" }, "devDependencies": { + "@typescript/native": "npm:typescript@7.0.2", "tsup": "^8.5.1", "typescript": "^5.6.3", "@changesets/cli": "^2.27.10" diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 384e400..f6eb824 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -9,7 +9,7 @@ ".": "./src/index.ts" }, "scripts": { - "typecheck": "tsc -p tsconfig.json", + "typecheck": "node ../../node_modules/@typescript/native/bin/tsc -p tsconfig.json", "build": "tsup src/index.ts --format esm --dts --sourcemap --out-dir dist", "test": "vitest run" }, diff --git a/packages/core/package.json b/packages/core/package.json index f4ce188..4c536a3 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -10,7 +10,7 @@ }, "scripts": { "test": "vitest run", - "typecheck": "tsc -p tsconfig.json", + "typecheck": "node ../../node_modules/@typescript/native/bin/tsc -p tsconfig.json", "build": "tsup src/index.ts --format esm --dts --sourcemap --out-dir dist" }, "devDependencies": { diff --git a/packages/dom/package.json b/packages/dom/package.json index 5bde617..b1e9dcb 100644 --- a/packages/dom/package.json +++ b/packages/dom/package.json @@ -9,7 +9,7 @@ ".": "./src/index.ts" }, "scripts": { - "typecheck": "tsc -p tsconfig.json", + "typecheck": "node ../../node_modules/@typescript/native/bin/tsc -p tsconfig.json", "test": "vitest run", "build": "tsup src/index.ts --format esm --dts --sourcemap --out-dir dist" }, diff --git a/packages/monaco/package.json b/packages/monaco/package.json index 9022af0..5a19cf5 100644 --- a/packages/monaco/package.json +++ b/packages/monaco/package.json @@ -9,7 +9,7 @@ ".": "./src/index.ts" }, "scripts": { - "typecheck": "tsc -p tsconfig.json", + "typecheck": "node ../../node_modules/@typescript/native/bin/tsc -p tsconfig.json", "build": "tsup src/index.ts --format esm --dts --sourcemap --out-dir dist", "test": "vitest run" }, diff --git a/packages/react/package.json b/packages/react/package.json index 231352c..706f207 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -9,7 +9,7 @@ ".": "./src/index.tsx" }, "scripts": { - "typecheck": "tsc -p tsconfig.json", + "typecheck": "node ../../node_modules/@typescript/native/bin/tsc -p tsconfig.json", "build": "tsup src/index.tsx --format esm --dts --sourcemap --out-dir dist --external react" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dfa64ca..7c3cb32 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@changesets/cli': specifier: ^2.27.10 version: 2.31.1 + '@typescript/native': + specifier: npm:typescript@7.0.2 + version: typescript@7.0.2 tsup: specifier: ^8.5.1 version: 8.5.1(postcss@8.5.17)(typescript@5.9.3) @@ -1417,6 +1420,126 @@ packages: '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@typescript/typescript-aix-ppc64@7.0.2': + resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [aix] + + '@typescript/typescript-darwin-arm64@7.0.2': + resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [darwin] + + '@typescript/typescript-darwin-x64@7.0.2': + resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [darwin] + + '@typescript/typescript-freebsd-arm64@7.0.2': + resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [freebsd] + + '@typescript/typescript-freebsd-x64@7.0.2': + resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [freebsd] + + '@typescript/typescript-linux-arm64@7.0.2': + resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [linux] + + '@typescript/typescript-linux-arm@7.0.2': + resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==} + engines: {node: '>=16.20.0'} + cpu: [arm] + os: [linux] + + '@typescript/typescript-linux-loong64@7.0.2': + resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==} + engines: {node: '>=16.20.0'} + cpu: [loong64] + os: [linux] + + '@typescript/typescript-linux-mips64el@7.0.2': + resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==} + engines: {node: '>=16.20.0'} + cpu: [mips64el] + os: [linux] + + '@typescript/typescript-linux-ppc64@7.0.2': + resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [linux] + + '@typescript/typescript-linux-riscv64@7.0.2': + resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==} + engines: {node: '>=16.20.0'} + cpu: [riscv64] + os: [linux] + + '@typescript/typescript-linux-s390x@7.0.2': + resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==} + engines: {node: '>=16.20.0'} + cpu: [s390x] + os: [linux] + + '@typescript/typescript-linux-x64@7.0.2': + resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [linux] + + '@typescript/typescript-netbsd-arm64@7.0.2': + resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [netbsd] + + '@typescript/typescript-netbsd-x64@7.0.2': + resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [netbsd] + + '@typescript/typescript-openbsd-arm64@7.0.2': + resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [openbsd] + + '@typescript/typescript-openbsd-x64@7.0.2': + resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [openbsd] + + '@typescript/typescript-sunos-x64@7.0.2': + resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [sunos] + + '@typescript/typescript-win32-arm64@7.0.2': + resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [win32] + + '@typescript/typescript-win32-x64@7.0.2': + resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [win32] + '@upsetjs/venn.js@2.0.0': resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==} @@ -2627,6 +2750,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@7.0.2: + resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} + engines: {node: '>=16.20.0'} + hasBin: true + ufo@1.6.4: resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} @@ -3828,6 +3956,66 @@ snapshots: '@types/trusted-types@2.0.7': optional: true + '@typescript/typescript-aix-ppc64@7.0.2': + optional: true + + '@typescript/typescript-darwin-arm64@7.0.2': + optional: true + + '@typescript/typescript-darwin-x64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-x64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm@7.0.2': + optional: true + + '@typescript/typescript-linux-loong64@7.0.2': + optional: true + + '@typescript/typescript-linux-mips64el@7.0.2': + optional: true + + '@typescript/typescript-linux-ppc64@7.0.2': + optional: true + + '@typescript/typescript-linux-riscv64@7.0.2': + optional: true + + '@typescript/typescript-linux-s390x@7.0.2': + optional: true + + '@typescript/typescript-linux-x64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-sunos-x64@7.0.2': + optional: true + + '@typescript/typescript-win32-arm64@7.0.2': + optional: true + + '@typescript/typescript-win32-x64@7.0.2': + optional: true + '@upsetjs/venn.js@2.0.0': optionalDependencies: d3-selection: 3.0.0 @@ -5087,6 +5275,29 @@ snapshots: typescript@5.9.3: {} + typescript@7.0.2: + optionalDependencies: + '@typescript/typescript-aix-ppc64': 7.0.2 + '@typescript/typescript-darwin-arm64': 7.0.2 + '@typescript/typescript-darwin-x64': 7.0.2 + '@typescript/typescript-freebsd-arm64': 7.0.2 + '@typescript/typescript-freebsd-x64': 7.0.2 + '@typescript/typescript-linux-arm': 7.0.2 + '@typescript/typescript-linux-arm64': 7.0.2 + '@typescript/typescript-linux-loong64': 7.0.2 + '@typescript/typescript-linux-mips64el': 7.0.2 + '@typescript/typescript-linux-ppc64': 7.0.2 + '@typescript/typescript-linux-riscv64': 7.0.2 + '@typescript/typescript-linux-s390x': 7.0.2 + '@typescript/typescript-linux-x64': 7.0.2 + '@typescript/typescript-netbsd-arm64': 7.0.2 + '@typescript/typescript-netbsd-x64': 7.0.2 + '@typescript/typescript-openbsd-arm64': 7.0.2 + '@typescript/typescript-openbsd-x64': 7.0.2 + '@typescript/typescript-sunos-x64': 7.0.2 + '@typescript/typescript-win32-arm64': 7.0.2 + '@typescript/typescript-win32-x64': 7.0.2 + ufo@1.6.4: {} universalify@0.1.2: {}