From a3f2c4ffc1ab8711b6c1ffcb6058d08172eb89c9 Mon Sep 17 00:00:00 2001 From: Alaister Young Date: Thu, 9 Jul 2026 20:07:17 +0800 Subject: [PATCH] chore(deps): upgrade to TypeScript 7 (native compiler) (#47757) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upgrades the monorepo to TypeScript 7.0.2, released 2026-07-08. `tsc` is now the native Go compiler ([announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/)) — full turbo typecheck drops from ~56s to ~19s locally. TS 7.0 ships **without a programmatic API** (it lands in 7.1), so this uses Microsoft's recommended side-by-side setup: the `typescript` name resolves to `@typescript/typescript6` (the 6.0 API republished) for API consumers — typescript-eslint and Next.js build typechecking — while `@typescript/native` (the real `typescript@7.0.2`) owns the `tsc` bin that typecheck scripts run. Exactly one version of each is in the lockfile; nothing imports the native package as a library. When 7.1 + tool support lands we can collapse back to a single `typescript` dep in the catalog. **Changed:** - `pnpm-workspace.yaml`: catalog aliases for `typescript` / `@typescript/native` - 17 package.json files: `@typescript/native` added beside each `typescript` dep so every package's `tsc` is the native binary - `apps/studio/tsconfig.json`: exclude `dist/` (gitignored build output) from typechecking **Fixed** (real type errors TS 6 under-reported): - `packages/ui-patterns` CodeBlock: `borderLeft: null` → `undefined` (`CSSProperties` doesn't accept null) - `apps/www` CodeBlock: removed a JSX `@ts-ignore` comment that tsgo doesn't honor and fixed what it masked (untyped `.js` theme objects, possibly-undefined highlighter children) ⚠️ **Merge timing:** the new packages are inside pnpm's 3-day `minimumReleaseAge` window until ~July 11. Installs from the committed lockfile are unaffected (resolution is skipped), but anything that forces a re-resolution before then will fail — hold off merging until the window passes. Note for editors: the compat package has no `lib/tsserver.js`, so VS Code's "Use Workspace Version" won't work — use the bundled TS or the TypeScript Native Preview extension. ## To test - `pnpm install && pnpm typecheck` — all 15 tasks green, and `./node_modules/.bin/tsc --version` prints 7.0.2 - `pnpm lint --filter=studio` — typescript-eslint still parses (resolves the 6.0 API) - `pnpm build --filter=design-system` (or any Next app) — Next's tsconfig validation and build typecheck still work - CodeBlock rendering on www (syntax highlighting, line highlights with/without border) — the two fixes are behavior-neutral but worth an eyeball ## Summary by CodeRabbit * **Improvements / New Features** * Enhanced TypeScript tooling support across the workspace for smoother development builds and checks. * **Bug Fixes** * Code blocks render more reliably when content is empty or missing. * Highlighted code line styling applies more consistently. * **Maintenance** * Studio TypeScript builds now avoid including generated output (such as `dist`) during compilation. --------- Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com> Co-authored-by: Ivan Vasilov --- apps/design-system/package.json | 1 + apps/docs/package.json | 1 + apps/studio/package.json | 1 + apps/studio/tsconfig.json | 2 +- apps/ui-library/package.json | 1 + apps/www/components/CodeBlock/CodeBlock.tsx | 9 +- apps/www/package.json | 1 + blocks/vue/package.json | 2 + package.json | 1 + packages/ai-commands/package.json | 1 + packages/api-types/package.json | 1 + packages/common/package.json | 1 + packages/config/package.json | 1 + packages/dev-tools/package.json | 1 + packages/eslint-config-supabase/package.json | 1 + packages/icons/package.json | 1 + packages/marketing/package.json | 1 + packages/pg-meta/package.json | 1 + packages/ui-patterns/package.json | 1 + .../ui-patterns/src/CodeBlock/CodeBlock.tsx | 2 +- packages/ui/package.json | 1 + pnpm-lock.yaml | 270 +++++++++++++++++- pnpm-workspace.yaml | 10 +- 23 files changed, 303 insertions(+), 9 deletions(-) diff --git a/apps/design-system/package.json b/apps/design-system/package.json index bad4ec8c6be..9636c6b1dd6 100644 --- a/apps/design-system/package.json +++ b/apps/design-system/package.json @@ -66,6 +66,7 @@ "tailwindcss": "catalog:", "tsconfig": "workspace:*", "tsx": "catalog:", + "@typescript/native": "catalog:", "typescript": "catalog:", "unist-builder": "3.0.0" } diff --git a/apps/docs/package.json b/apps/docs/package.json index 11a8b9a54ff..8f2b9580222 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -181,6 +181,7 @@ "tsconfig": "workspace:*", "tsx": "catalog:", "twoslash": "^0.3.1", + "@typescript/native": "catalog:", "typescript": "catalog:", "unist-util-visit-parents": "5.1.3", "vite": "catalog:", diff --git a/apps/studio/package.json b/apps/studio/package.json index 6eaf32965b7..78122739a90 100644 --- a/apps/studio/package.json +++ b/apps/studio/package.json @@ -209,6 +209,7 @@ "require-in-the-middle": "^8.0.0", "tsconfig": "workspace:*", "tsx": "catalog:", + "@typescript/native": "catalog:", "typescript": "catalog:", "vite": "catalog:", "vite-tsconfig-paths": "catalog:", diff --git a/apps/studio/tsconfig.json b/apps/studio/tsconfig.json index 5bf688391c2..ab88b971924 100644 --- a/apps/studio/tsconfig.json +++ b/apps/studio/tsconfig.json @@ -19,5 +19,5 @@ "strictNullChecks": true }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules", "public/deno/*.ts"] + "exclude": ["node_modules", "public/deno/*.ts", "dist"] } diff --git a/apps/ui-library/package.json b/apps/ui-library/package.json index 4d35dc19cdc..844cd637bb4 100644 --- a/apps/ui-library/package.json +++ b/apps/ui-library/package.json @@ -92,6 +92,7 @@ "tailwindcss": "catalog:", "tsconfig": "workspace:*", "tsx": "catalog:", + "@typescript/native": "catalog:", "typescript": "catalog:", "vite": "catalog:" } diff --git a/apps/www/components/CodeBlock/CodeBlock.tsx b/apps/www/components/CodeBlock/CodeBlock.tsx index 2e8e8f35d43..f0d9a8da453 100644 --- a/apps/www/components/CodeBlock/CodeBlock.tsx +++ b/apps/www/components/CodeBlock/CodeBlock.tsx @@ -2,7 +2,7 @@ import { Check, Copy, File, Terminal } from 'lucide-react' import { useTheme } from 'next-themes' -import { useEffect, useState } from 'react' +import { useEffect, useState, type CSSProperties } from 'react' import CopyToClipboard from 'react-copy-to-clipboard' import { Light as SyntaxHighlighter } from 'react-syntax-highlighter' import bash from 'react-syntax-highlighter/dist/cjs/languages/hljs/bash' @@ -114,17 +114,16 @@ function CodeBlock(props: CodeBlockProps) { )}
- {/* @ts-ignore */} } className={cn( 'synthax-highlighter border border-default/15 rounded-lg', @@ -152,7 +151,7 @@ function CodeBlock(props: CodeBlockProps) { fontSize: large ? 14 : '0.75rem', }} > - {content} + {content ?? ''} {!props.hideCopy && props.children ? (
diff --git a/apps/www/package.json b/apps/www/package.json index 73c53727667..5495f58a98e 100644 --- a/apps/www/package.json +++ b/apps/www/package.json @@ -90,6 +90,7 @@ "shiki": "^4.2.0", "swiper": "^12.1.2", "typed.js": "^2.0.16", + "@typescript/native": "catalog:", "typescript": "catalog:", "ui": "workspace:*", "ui-patterns": "workspace:*", diff --git a/blocks/vue/package.json b/blocks/vue/package.json index 7ac1bcd10d1..8ff4abe17cc 100644 --- a/blocks/vue/package.json +++ b/blocks/vue/package.json @@ -26,6 +26,8 @@ "devDependencies": { "shadcn": "^3.3.1", "tsconfig": "workspace:*", + "@typescript/native": "catalog:", + "typescript": "catalog:", "vite": "^7.3.2" } } diff --git a/package.json b/package.json index ff71db442bf..4b5c8e45eae 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,7 @@ "tailwindcss": "catalog:", "tsx": "catalog:", "turbo": "2.9.14", + "@typescript/native": "catalog:", "typescript": "catalog:", "zod": "catalog:" }, diff --git a/packages/ai-commands/package.json b/packages/ai-commands/package.json index bde2074adca..68b2181eacc 100644 --- a/packages/ai-commands/package.json +++ b/packages/ai-commands/package.json @@ -34,6 +34,7 @@ "mdast-util-from-markdown": "^2.0.0", "sql-formatter": "^15.0.0", "tsconfig": "workspace:*", + "@typescript/native": "catalog:", "typescript": "catalog:", "vite": "catalog:", "vitest": "catalog:" diff --git a/packages/api-types/package.json b/packages/api-types/package.json index 6674869602b..666602c98a7 100644 --- a/packages/api-types/package.json +++ b/packages/api-types/package.json @@ -14,6 +14,7 @@ "devDependencies": { "openapi-typescript": "^7.4.3", "prettier": "*", + "@typescript/native": "catalog:", "typescript": "catalog:" } } diff --git a/packages/common/package.json b/packages/common/package.json index 714cc1059b2..cf143eb2619 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -34,6 +34,7 @@ "@vitest/ui": "catalog:", "tsconfig": "workspace:*", "type-fest": "5.6.0", + "@typescript/native": "catalog:", "typescript": "catalog:", "vitest": "catalog:" }, diff --git a/packages/config/package.json b/packages/config/package.json index 0645eabf1ca..324105ef29b 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -15,6 +15,7 @@ "@tailwindcss/postcss": "^4.2.4", "tailwindcss": "catalog:", "tw-animate-css": "^1.4.0", + "@typescript/native": "catalog:", "typescript": "catalog:" } } diff --git a/packages/dev-tools/package.json b/packages/dev-tools/package.json index 92a11f7a1dd..7d32a3ee694 100644 --- a/packages/dev-tools/package.json +++ b/packages/dev-tools/package.json @@ -31,6 +31,7 @@ "next-router-mock": "^0.9.13", "tailwindcss": "catalog:", "tsconfig": "workspace:*", + "@typescript/native": "catalog:", "typescript": "catalog:", "vitest": "catalog:" }, diff --git a/packages/eslint-config-supabase/package.json b/packages/eslint-config-supabase/package.json index c4a70a1cd28..878e68ca8e1 100644 --- a/packages/eslint-config-supabase/package.json +++ b/packages/eslint-config-supabase/package.json @@ -16,6 +16,7 @@ "eslint-config-next": "^15.5.0", "eslint-config-prettier": "^10.0.0", "eslint-config-turbo": "^2.5.0", + "@typescript/native": "catalog:", "typescript": "catalog:" } } diff --git a/packages/icons/package.json b/packages/icons/package.json index d222c83c994..dc5bc56c5cf 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -7,6 +7,7 @@ "clean": "rimraf node_modules .turbo" }, "dependencies": { + "@typescript/native": "catalog:", "typescript": "catalog:", "@supabase/build-icons": "workspace:*" }, diff --git a/packages/marketing/package.json b/packages/marketing/package.json index 4f434138aec..f9274b2f2e3 100644 --- a/packages/marketing/package.json +++ b/packages/marketing/package.json @@ -25,6 +25,7 @@ "config": "workspace:*", "tailwindcss": "^4.2.4", "tsconfig": "workspace:", + "@typescript/native": "catalog:", "typescript": "catalog:" }, "license": "MIT" diff --git a/packages/pg-meta/package.json b/packages/pg-meta/package.json index 5adb1dd464c..94f2cc95947 100644 --- a/packages/pg-meta/package.json +++ b/packages/pg-meta/package.json @@ -22,6 +22,7 @@ "npm-run-all": "^4.1.5", "pg": "^8.13.1", "postgres-array": "^3.0.2", + "@typescript/native": "catalog:", "typescript": "catalog:", "vite": "catalog:", "vitest": "catalog:" diff --git a/packages/ui-patterns/package.json b/packages/ui-patterns/package.json index a4c164bd59e..c9dd3e0956a 100644 --- a/packages/ui-patterns/package.json +++ b/packages/ui-patterns/package.json @@ -797,6 +797,7 @@ "next-router-mock": "^0.9.13", "tailwindcss": "^4.2.4", "tsx": "catalog:", + "@typescript/native": "catalog:", "typescript": "catalog:", "unified": "^11.0.5", "vfile": "^6.0.3", diff --git a/packages/ui-patterns/src/CodeBlock/CodeBlock.tsx b/packages/ui-patterns/src/CodeBlock/CodeBlock.tsx index 8fd0d29552f..1243173bf66 100644 --- a/packages/ui-patterns/src/CodeBlock/CodeBlock.tsx +++ b/packages/ui-patterns/src/CodeBlock/CodeBlock.tsx @@ -222,7 +222,7 @@ export const CodeBlock = ({ : 'var(--background-selection)', borderLeft: highlightBorder ? `1px solid ${styleConfig?.highlightBorderColor ? styleConfig?.highlightBorderColor : 'var(--foreground-default)'}` - : null, + : undefined, }, class: 'hljs-line-highlight', } diff --git a/packages/ui/package.json b/packages/ui/package.json index 43f2ac880e0..a724528e4fc 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -56,6 +56,7 @@ "config": "workspace:*", "tsconfig": "workspace:*", "tsx": "catalog:", + "@typescript/native": "catalog:", "typescript": "catalog:", "vite": "catalog:", "vitest": "catalog:" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cac46b981b0..7f1e6200ce6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,6 +45,9 @@ catalogs: '@types/react-dom': specifier: ^19.2.3 version: 19.2.3 + '@typescript/native': + specifier: npm:typescript@~7.0.2 + version: 7.0.2 '@vitejs/plugin-react': specifier: ^6.0.1 version: 6.0.1 @@ -79,7 +82,7 @@ catalogs: specifier: ^4.22.0 version: 4.22.4 typescript: - specifier: ~6.0.0 + specifier: ~6.0.2 version: 6.0.2 valtio: specifier: ^1.12.0 @@ -140,6 +143,9 @@ importers: '@types/node': specifier: 'catalog:' version: 22.13.14 + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 eslint: specifier: ^9.0.0 version: 9.37.0(jiti@2.7.0)(supports-color@8.1.1) @@ -294,6 +300,9 @@ importers: '@types/react-dom': specifier: 'catalog:' version: 19.2.3(@types/react@19.2.14) + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 config: specifier: workspace:* version: link:../../packages/config @@ -637,6 +646,9 @@ importers: '@types/unist': specifier: ^2.0.6 version: 2.0.8 + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 amaro: specifier: ^1.1.5 version: 1.1.5 @@ -1300,6 +1312,9 @@ importers: '@types/zxcvbn': specifier: ^4.4.1 version: 4.4.2 + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 '@vercel/config': specifier: ^0.2.1 version: 0.2.1 @@ -1565,6 +1580,9 @@ importers: '@types/react-dom': specifier: 'catalog:' version: 19.2.3(@types/react@19.2.14) + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 config: specifier: workspace:^ version: link:../../packages/config @@ -1661,6 +1679,9 @@ importers: '@supabase/supabase-js': specifier: 'catalog:' version: 2.110.1 + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 '@vercel/og': specifier: ^0.6.2 version: 0.6.2 @@ -1954,12 +1975,18 @@ importers: specifier: ^4.5.1 version: 4.5.1(vue@3.5.35(typescript@6.0.2)) devDependencies: + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 shadcn: specifier: ^3.3.1 version: 3.3.1(@types/node@22.13.14)(babel-plugin-macros@3.1.0)(supports-color@8.1.1)(typescript@6.0.2) tsconfig: specifier: workspace:* version: link:../../packages/tsconfig + typescript: + specifier: 'catalog:' + version: 6.0.2 vite: specifier: ^7.3.2 version: 7.3.5(@types/node@22.13.14)(jiti@2.7.0)(lightningcss@1.32.0)(sass@1.77.4)(terser@5.39.0)(tsx@4.22.4)(yaml@2.9.0) @@ -2034,6 +2061,9 @@ importers: '@types/node': specifier: 'catalog:' version: 22.13.14 + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 api-types: specifier: workspace:* version: link:../api-types @@ -2067,6 +2097,9 @@ importers: packages/api-types: devDependencies: + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 openapi-typescript: specifier: ^7.4.3 version: 7.5.2(encoding@0.1.13)(typescript@6.0.2) @@ -2152,6 +2185,9 @@ importers: '@types/react-dom': specifier: 'catalog:' version: 19.2.3(@types/react@19.2.14) + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 '@vitest/coverage-v8': specifier: 'catalog:' version: 4.1.4(vitest@4.1.4) @@ -2183,6 +2219,9 @@ importers: '@tailwindcss/postcss': specifier: ^4.2.4 version: 4.2.4 + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 tailwindcss: specifier: 'catalog:' version: 4.2.4 @@ -2229,6 +2268,9 @@ importers: '@types/react-dom': specifier: 'catalog:' version: 19.2.3(@types/react@19.2.14) + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 config: specifier: workspace:* version: link:../config @@ -2265,6 +2307,9 @@ importers: '@typescript-eslint/parser': specifier: ^8.48.0 version: 8.48.0(eslint@9.37.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.2) + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 eslint-config-next: specifier: ^15.5.0 version: 15.5.4(eslint@9.37.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.2) @@ -2304,6 +2349,9 @@ importers: '@supabase/build-icons': specifier: workspace:* version: link:../build-icons + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 react: specifier: 'catalog:' version: 19.2.6 @@ -2339,6 +2387,9 @@ importers: specifier: 'catalog:' version: 3.25.76 devDependencies: + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 config: specifier: workspace:* version: link:../config @@ -2361,6 +2412,9 @@ importers: '@types/pg': specifier: ^8.11.11 version: 8.11.11 + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 '@vitest/coverage-v8': specifier: 'catalog:' version: 4.1.4(vitest@4.1.4) @@ -2503,6 +2557,9 @@ importers: '@types/react-dom': specifier: 'catalog:' version: 19.2.3(@types/react@19.2.14) + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 '@vitest/coverage-v8': specifier: 'catalog:' version: 4.1.4(vitest@4.1.4) @@ -2714,6 +2771,9 @@ importers: '@types/react-syntax-highlighter': specifier: ^15.5.13 version: 15.5.13 + '@typescript/native': + specifier: 'catalog:' + version: typescript@7.0.2 '@vitest/coverage-v8': specifier: 'catalog:' version: 4.1.4(vitest@4.1.4) @@ -8595,6 +8655,126 @@ packages: resolution: {integrity: sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@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] + '@typescript/vfs@1.6.1': resolution: {integrity: sha512-JwoxboBh7Oz1v38tPbkrZ62ZXNHAk9bJ7c9x0eI5zBfBnBYGhURdbnh7Z4smN/MV48Y5OCcZb58n972UtbazsA==} peerDependencies: @@ -16459,6 +16639,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 + ua-parser-js@1.0.40: resolution: {integrity: sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==} hasBin: true @@ -24508,6 +24693,66 @@ snapshots: '@typescript-eslint/types': 8.48.0 eslint-visitor-keys: 4.2.1 + '@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 + '@typescript/vfs@1.6.1(supports-color@8.1.1)(typescript@6.0.2)': dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -34198,6 +34443,29 @@ snapshots: typescript@6.0.2: {} + 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 + ua-parser-js@1.0.40: {} uc.micro@2.1.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 68c237b24b7..4112912416c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -20,6 +20,12 @@ catalog: '@types/node': ^22.0.0 '@types/react': ^19.2.14 '@types/react-dom': ^19.2.3 + # TypeScript 7 has no programmatic API until 7.1, so `typescript` stays aliased + # to the 6.0-API compat package for tools that import it (typescript-eslint, + # Next.js build typechecking), while `@typescript/native` provides the native + # TS 7 `tsc` binary used by typecheck scripts. + # https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/ + '@typescript/native': npm:typescript@~7.0.2 '@vitejs/plugin-react': ^6.0.1 '@vitest/coverage-v8': ^4.1.4 '@vitest/ui': ^4.1.4 @@ -35,7 +41,7 @@ catalog: recharts: ^2.15.4 tailwindcss: ^4.2.4 tsx: ^4.22.0 - typescript: ~6.0.0 + typescript: ~6.0.2 valtio: ^1.12.0 vite: ^8.0.16 vite-tsconfig-paths: ^6.1.1 @@ -60,6 +66,8 @@ minimumReleaseAgeExclude: - '@ai-sdk/*' - '@supabase/*' - '@supabase-labs/*' + - typescript + - '@typescript/*' # First-party, published from supabase-community/mdast-jsx. - mdast-jsx # The following are excluded to fix vulnerablities.