Skip to content

chore: typescript 7 - #615

Open
C4illin wants to merge 2 commits into
mainfrom
chore/typescript-7
Open

chore: typescript 7#615
C4illin wants to merge 2 commits into
mainfrom
chore/typescript-7

Conversation

@C4illin

@C4illin C4illin commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Summary by cubic

Adopts TypeScript 7 as the default compiler via @typescript/native and keeps TypeScript 6 under the typescript alias for ecosystem compatibility. Also removes downlevelIteration from tsconfig.json (we target ESNext) and pins @types/bun for stability.

  • Running tsc now uses TypeScript 7; use tsc6 for TypeScript 6. Update any scripts referencing node_modules/typescript/bin/tsc to call tsc (or tsc6) directly.
  • Tools with a typescript peer (e.g., typescript-eslint) continue to resolve to TypeScript 6 automatically; no config changes expected.
  • @types/bun is pinned to 1.3.14; bump explicitly when needed.

Written for commit 76bd409. Summary will update on new commits.

Review in cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found and verified against the latest diff

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="package.json">

<violation number="1" location="package.json:39">
P2: Two installed packages now provide a `tsc` bin: `@typescript/native` (TypeScript 7.0.2 native) and `@typescript/old` (TypeScript 6.0.3, pulled in as the dependency of the aliased `typescript` package). The `build:js` and `lint:tsc` scripts run bare `tsc`, so which compiler actually runs is ambiguous and depends on `.bin/tsc` symlink resolution/install order. If the intent of this PR is to build with native TypeScript 7, add `@typescript/native` does not guarantee that — the aliased `typescript` is still version 6. Invoke the native binary explicitly (a dedicated script/bin, e.g. `@typescript/native`'s tsc entry) instead of relying on the shared `tsc` name.</violation>

<violation number="2" location="package.json:50">
P2: @kitajs/ts-html-plugin@4.1.4 declares a peer dependency of `typescript: ^5.9.3`, but this change makes `typescript` resolve to 6.0.2 (outside that range). The plugin is wired in tsconfig.json under `plugins` and is the HTML/JSX tooling behind `jsxImportSource: @kitajs/html`, so the version mismatch can make the plugin warn or fail to load under TypeScript 6. Either pin `typescript` to a 5.9.x that satisfies the plugin while you port it, or confirm ts-html-plugin supports 6.x and update the peer accordingly.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread package.json
"tailwind-scrollbar": "^4.0.2",
"tailwindcss": "^4.3.3",
"typescript": "^5.9.3",
"typescript": "npm:@typescript/typescript6@^6.0.2",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: @kitajs/ts-html-plugin@4.1.4 declares a peer dependency of typescript: ^5.9.3, but this change makes typescript resolve to 6.0.2 (outside that range). The plugin is wired in tsconfig.json under plugins and is the HTML/JSX tooling behind jsxImportSource: @kitajs/html, so the version mismatch can make the plugin warn or fail to load under TypeScript 6. Either pin typescript to a 5.9.x that satisfies the plugin while you port it, or confirm ts-html-plugin supports 6.x and update the peer accordingly.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At package.json, line 49:

<comment>@kitajs/ts-html-plugin@4.1.4 declares a peer dependency of `typescript: ^5.9.3`, but this change makes `typescript` resolve to 6.0.2 (outside that range). The plugin is wired in tsconfig.json under `plugins` and is the HTML/JSX tooling behind `jsxImportSource: @kitajs/html`, so the version mismatch can make the plugin warn or fail to load under TypeScript 6. Either pin `typescript` to a 5.9.x that satisfies the plugin while you port it, or confirm ts-html-plugin supports 6.x and update the peer accordingly.</comment>

<file context>
@@ -34,18 +34,19 @@
     "tailwind-scrollbar": "^4.0.2",
     "tailwindcss": "^4.3.3",
-    "typescript": "^5.9.3",
+    "typescript": "npm:@typescript/typescript6@^6.0.2",
     "typescript-eslint": "^8.67.0"
   },
</file context>
Comment thread package.json
"@tailwindcss/postcss": "^4.3.3",
"@types/bun": "latest",
"@types/bun": "1.3.14",
"@typescript/native": "npm:typescript@^7.0.2",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Two installed packages now provide a tsc bin: @typescript/native (TypeScript 7.0.2 native) and @typescript/old (TypeScript 6.0.3, pulled in as the dependency of the aliased typescript package). The build:js and lint:tsc scripts run bare tsc, so which compiler actually runs is ambiguous and depends on .bin/tsc symlink resolution/install order. If the intent of this PR is to build with native TypeScript 7, add @typescript/native does not guarantee that — the aliased typescript is still version 6. Invoke the native binary explicitly (a dedicated script/bin, e.g. @typescript/native's tsc entry) instead of relying on the shared tsc name.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At package.json, line 38:

<comment>Two installed packages now provide a `tsc` bin: `@typescript/native` (TypeScript 7.0.2 native) and `@typescript/old` (TypeScript 6.0.3, pulled in as the dependency of the aliased `typescript` package). The `build:js` and `lint:tsc` scripts run bare `tsc`, so which compiler actually runs is ambiguous and depends on `.bin/tsc` symlink resolution/install order. If the intent of this PR is to build with native TypeScript 7, add `@typescript/native` does not guarantee that — the aliased `typescript` is still version 6. Invoke the native binary explicitly (a dedicated script/bin, e.g. `@typescript/native`'s tsc entry) instead of relying on the shared `tsc` name.</comment>

<file context>
@@ -34,18 +34,19 @@
     "@tailwindcss/postcss": "^4.3.3",
-    "@types/bun": "latest",
+    "@types/bun": "1.3.14",
+    "@typescript/native": "npm:typescript@^7.0.2",
     "@types/node": "^24.13.3",
     "eslint": "^10.8.1",
</file context>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant