Skip to content

[codex] Use TS6 and TSGO for typechecking#10

Merged
KayleeWilliams merged 1 commit into
mainfrom
KayleeWilliams/ts6-tsgo
Apr 27, 2026
Merged

[codex] Use TS6 and TSGO for typechecking#10
KayleeWilliams merged 1 commit into
mainfrom
KayleeWilliams/ts6-tsgo

Conversation

@KayleeWilliams
Copy link
Copy Markdown
Collaborator

Updates the repo to TypeScript 6.0.3 and adds @typescript/native-preview so package typecheck scripts run via tsgo --noEmit. Adjusts TS6 config by removing deprecated baseUrl usage in the smoke app, adding explicit ambient types, and mapping @inth/docs subpaths to workspace source for prebuild typechecking. Adds a tsup DTS deprecation override needed because tsup injects baseUrl during declaration bundling under TS6. Validated with bun run check-types, bun run check, bun run build, and the commit hook package test suite.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 27, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 41cc3f94-c4f3-467e-bbb6-5541ece6a6b3

📥 Commits

Reviewing files that changed from the base of the PR and between 8926c23 and f435bf2.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (6)
  • apps/docs-smoke/package.json
  • apps/docs-smoke/tsconfig.json
  • package.json
  • packages/docs/package.json
  • packages/docs/tsconfig.json
  • packages/docs/tsup.config.ts
📜 Recent review details
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{ts,tsx}: Use explicit types for function parameters and return values when they enhance clarity
Prefer unknown over any when the type is genuinely unknown
Use const assertions (as const) for immutable values and literal types
Leverage TypeScript's type narrowing instead of type assertions

Files:

  • packages/docs/tsup.config.ts
**/*.{js,ts,jsx,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{js,ts,jsx,tsx}: Use meaningful variable names instead of magic numbers - extract constants with descriptive names
Use arrow functions for callbacks and short functions
Prefer for...of loops over .forEach() and indexed for loops
Use optional chaining (?.) and nullish coalescing (??) for safer property access
Prefer template literals over string concatenation
Use destructuring for object and array assignments
Use const by default, let only when reassignment is needed, never var
Always await promises in async functions - don't forget to use the return value
Use async/await syntax instead of promise chains for better readability
Handle errors appropriately in async code with try-catch blocks
Don't use async functions as Promise executors
Remove console.log, debugger, and alert statements from production code
Throw Error objects with descriptive messages, not strings or other values
Use try-catch blocks meaningfully - don't catch errors just to rethrow them
Prefer early returns over nested conditionals for error cases
Extract complex conditions into well-named boolean variables
Use early returns to reduce nesting
Prefer simple conditionals over nested ternary operators
Don't use eval() or assign directly to document.cookie
Avoid spread syntax in accumulators within loops
Use top-level regex literals instead of creating them in loops
Prefer specific imports over namespace imports
Use descriptive names for functions, variables, and types for meaningful naming
Add comments for complex logic, but prefer self-documenting code

Files:

  • packages/docs/tsup.config.ts
🧠 Learnings (40)
📓 Common learnings
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/**/*.tsx : Use TypeScript for all components (.tsx) in the docs app
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2026-03-19T22:58:00.031Z
Learning: Applies to **/*.{ts,tsx} : Use TypeScript for type safety in all new code
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Implement full TypeScript support
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Implement full TypeScript support in Elements package
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:19.913Z
Learning: Applies to apps/docs/**/*.tsx : Use TypeScript for all components (.tsx)
Learnt from: CR
Repo: consentdotio/dsar PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-20T14:21:40.180Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Leverage TypeScript's type narrowing instead of type assertions
📚 Learning: 2025-07-23T12:51:43.299Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:43.299Z
Learning: Applies to **/*.{ts,tsx} : Export type definitions for public API in TypeScript libraries

Applied to files:

  • packages/docs/tsconfig.json
  • apps/docs-smoke/tsconfig.json
  • packages/docs/package.json
  • apps/docs-smoke/package.json
  • packages/docs/tsup.config.ts
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Export type definitions for public API

Applied to files:

  • packages/docs/tsconfig.json
  • apps/docs-smoke/tsconfig.json
  • packages/docs/package.json
  • apps/docs-smoke/package.json
  • packages/docs/tsup.config.ts
📚 Learning: 2026-03-19T22:57:45.114Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:45.114Z
Learning: Applies to **/*.{ts,tsx} : Export type definitions for public API and avoid TypeScript enums; use const objects or 'as const' assertions instead due to runtime overhead and tree-shaking limitations

Applied to files:

  • packages/docs/tsconfig.json
  • apps/docs-smoke/tsconfig.json
  • packages/docs/package.json
  • apps/docs-smoke/package.json
  • packages/docs/tsup.config.ts
📚 Learning: 2026-04-16T03:27:04.353Z
Learnt from: CR
Repo: inthhq/dsar PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-16T03:27:04.353Z
Learning: Applies to **/*.{ts,tsx} : Use explicit types for function parameters and return values when they enhance clarity

Applied to files:

  • packages/docs/tsconfig.json
📚 Learning: 2026-02-20T14:21:19.208Z
Learnt from: CR
Repo: consentdotio/dsar PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2026-02-20T14:21:19.208Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use explicit types for function parameters and return values when they enhance clarity

Applied to files:

  • packages/docs/tsconfig.json
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use `export type` for types

Applied to files:

  • packages/docs/tsconfig.json
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Don't use user-defined types

Applied to files:

  • packages/docs/tsconfig.json
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use `with { type: "json" }` for JSON module imports

Applied to files:

  • packages/docs/tsconfig.json
  • apps/docs-smoke/tsconfig.json
  • packages/docs/tsup.config.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use the `node:` protocol for Node.js builtin modules

Applied to files:

  • packages/docs/tsconfig.json
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use `node:assert/strict` over `node:assert`

Applied to files:

  • packages/docs/tsconfig.json
📚 Learning: 2026-02-20T14:21:40.180Z
Learnt from: CR
Repo: consentdotio/dsar PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-20T14:21:40.180Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Leverage TypeScript's type narrowing instead of type assertions

Applied to files:

  • packages/docs/tsconfig.json
  • packages/docs/tsup.config.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Don't use specified modules when loaded by import or require

Applied to files:

  • packages/docs/tsconfig.json
  • apps/docs-smoke/tsconfig.json
📚 Learning: 2025-11-07T16:17:07.589Z
Learnt from: danielsitek
Repo: consentdotio/benchmarks PR: 6
File: benchmarks/with-dgp-cookie-consent/config.json:15-20
Timestamp: 2025-11-07T16:17:07.589Z
Learning: In the cookiebench/benchmark-schema package (packages/benchmark-schema/schema.json), the valid enum values for bundleType are: "esm", "cjs", "iffe", and "bundled". Note that it's "iffe" (not "iife").

Applied to files:

  • packages/docs/tsconfig.json
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use `import type` for types

Applied to files:

  • packages/docs/tsconfig.json
  • apps/docs-smoke/tsconfig.json
📚 Learning: 2026-01-31T11:24:55.220Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-01-31T11:24:55.220Z
Learning: Applies to apps/docs/**/*.tsx : Use TypeScript for all components (.tsx) in the docs app

Applied to files:

  • apps/docs-smoke/tsconfig.json
  • packages/docs/package.json
  • apps/docs-smoke/package.json
  • packages/docs/tsup.config.ts
📚 Learning: 2026-03-19T22:57:19.913Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/docs-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:19.913Z
Learning: Applies to apps/docs/**/*.tsx : Use TypeScript for all components (.tsx)

Applied to files:

  • apps/docs-smoke/tsconfig.json
  • packages/docs/package.json
  • apps/docs-smoke/package.json
  • packages/docs/tsup.config.ts
📚 Learning: 2026-03-19T22:57:33.411Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{ts,tsx,md} : Include TypeScript examples in Elements package documentation

Applied to files:

  • apps/docs-smoke/tsconfig.json
  • packages/docs/package.json
  • apps/docs-smoke/package.json
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Don't use TypeScript namespaces

Applied to files:

  • apps/docs-smoke/tsconfig.json
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Include TypeScript examples

Applied to files:

  • apps/docs-smoke/tsconfig.json
📚 Learning: 2026-02-20T14:21:19.208Z
Learnt from: CR
Repo: consentdotio/dsar PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2026-02-20T14:21:19.208Z
Learning: Applies to **/*.{ts,tsx} : Leverage TypeScript's type narrowing instead of type assertions

Applied to files:

  • apps/docs-smoke/tsconfig.json
📚 Learning: 2026-03-19T16:08:15.951Z
Learnt from: CR
Repo: consentdotio/c-ray PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-03-19T16:08:15.951Z
Learning: When configuring devtools, load the devtools-vite-plugin skill file from node_modules/tanstack/devtools-vite/skills/devtools-vite-plugin/SKILL.md

Applied to files:

  • apps/docs-smoke/tsconfig.json
  • apps/docs-smoke/package.json
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.test.{ts,tsx} : Use Vitest for testing framework

Applied to files:

  • apps/docs-smoke/tsconfig.json
  • apps/docs-smoke/package.json
📚 Learning: 2025-07-23T12:51:43.299Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/global-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:43.299Z
Learning: Applies to **/*.{test,spec}.{ts,tsx,js,jsx} : Include integration tests for component combinations

Applied to files:

  • apps/docs-smoke/tsconfig.json
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Make sure builtins are correctly instantiated

Applied to files:

  • apps/docs-smoke/tsconfig.json
  • packages/docs/package.json
📚 Learning: 2026-03-19T22:57:33.411Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Document all props and types in Elements package TypeScript code

Applied to files:

  • packages/docs/package.json
  • apps/docs-smoke/package.json
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Implement full TypeScript support

Applied to files:

  • packages/docs/package.json
  • apps/docs-smoke/package.json
  • packages/docs/tsup.config.ts
📚 Learning: 2026-03-19T22:58:00.031Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc:0-0
Timestamp: 2026-03-19T22:58:00.031Z
Learning: Applies to **/*.{ts,tsx} : Use TypeScript for type safety in all new code

Applied to files:

  • packages/docs/package.json
  • packages/docs/tsup.config.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Make sure to use the "use strict" directive in script files

Applied to files:

  • packages/docs/package.json
📚 Learning: 2026-03-19T22:57:33.411Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Implement full TypeScript support in Elements package

Applied to files:

  • apps/docs-smoke/package.json
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use the namespace keyword instead of the module keyword to declare TypeScript namespaces

Applied to files:

  • apps/docs-smoke/package.json
📚 Learning: 2026-02-20T14:21:40.180Z
Learnt from: CR
Repo: consentdotio/dsar PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-20T14:21:40.180Z
Learning: Applies to **/*.{tsx,jsx} : Specify all dependencies in hook dependency arrays correctly

Applied to files:

  • apps/docs-smoke/package.json
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Make sure all dependencies are correctly specified in React hooks

Applied to files:

  • apps/docs-smoke/package.json
📚 Learning: 2026-03-19T22:57:33.411Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{test,spec}.{ts,tsx} : Use Vitest as the testing framework for Elements package

Applied to files:

  • apps/docs-smoke/package.json
📚 Learning: 2025-07-23T12:51:10.961Z
Learnt from: CR
Repo: consentdotio/monorepo PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2025-07-23T12:51:10.961Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Include TSDoc comments for components

Applied to files:

  • packages/docs/tsup.config.ts
📚 Learning: 2026-03-19T22:57:33.411Z
Learnt from: CR
Repo: consentdotio/GDPRish PR: 0
File: .cursor/rules/elements-rules.mdc:0-0
Timestamp: 2026-03-19T22:57:33.411Z
Learning: Applies to packages/elements/**/*.{ts,tsx} : Include TSDoc comments for components in Elements package

Applied to files:

  • packages/docs/tsup.config.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Make sure object literals are declared consistently (defaults to explicit definitions)

Applied to files:

  • packages/docs/tsup.config.ts
📚 Learning: 2026-04-18T15:01:52.722Z
Learnt from: CR
Repo: inthhq/docs PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-18T15:01:52.722Z
Learning: Applies to **/*.{ts,tsx} : Use const assertions (`as const`) for immutable values and literal types

Applied to files:

  • packages/docs/tsup.config.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use standard constants instead of approximated literals

Applied to files:

  • packages/docs/tsup.config.ts
📚 Learning: 2025-12-17T14:48:41.563Z
Learnt from: CR
Repo: consentdotio/c15t-docs PR: 0
File: .cursor/rules/ultracite.mdc:0-0
Timestamp: 2025-12-17T14:48:41.563Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Don't use the TypeScript directive ts-ignore

Applied to files:

  • packages/docs/tsup.config.ts
🔍 Remote MCP

I've encountered rate limits with Context7. Let me search for publicly available information about these technologies to help you review this PR.## Summary of Additional Context for PR Review

Based on my research, here is the relevant context for reviewing this TypeScript 6 and tsgo migration PR:

Understanding tsgo and @typescript/native-preview

The @typescript/native-preview package distributes a Go-based compiler executable called tsgo that offers roughly 8–10x improvements in editor project-load and type-check times on large repositories, while still being in preview and lacking some production features like declaration emit and --build/project-references support.

tsgo uses the same CLI API as tsc, which means existing tsc scripts can be safely replaced with tsgo. As of recent updates, the TypeScript 7 command-line compiler has reached major parity with features like --incremental, project reference support, and --build mode all now ported and working.

TypeScript 6.0 as a Transition Release

TypeScript 6.0 is a stepping-stone release designed as a transition release where options deprecated in TypeScript 6.0 will continue to work without errors when "ignoreDeprecations": "6.0" is set, but those options will be removed entirely in TypeScript 7.0 (the native TypeScript port).

baseUrl Deprecation (Why it's Removed)

In TypeScript 6.0, baseUrl is deprecated and will no longer be considered a look-up root for module resolution. The recommended approach is to remove baseUrl and add appropriate prefixes to paths entries instead.

This explains why the PR removes the explicit baseUrl setting from apps/docs-smoke/tsconfig.json and why the tsup configuration needs the deprecation override.

tsup DTS Deprecation Override Context

When using tsup with TypeScript 6.x, DTS builds fail with error TS5101 indicating that 'baseUrl' is deprecated and will stop functioning in TypeScript 7.0, solvable by specifying compilerOption '"ignoreDeprecations": "6.0"'.

The PR's change to tsup.config.ts—passing compilerOptions.ignoreDeprecations with value "6.0"—is a targeted fix for this known issue where tsup internally injects baseUrl during declaration bundling under TS6.

Node Types Addition

The explicit addition of "types": ["node"] to tsconfig files aligns with TypeScript 6.0 defaults. A common change from TypeScript 6.0 defaults comes from the types field now defaulting to an empty array. By explicitly including Node types, the PR ensures ambient type declarations are available.

Path Alias Strategy

The PR adds @inth/docs/* path aliases mapping to workspace source files, enabling prebuild typechecking. This is a modern alternative to relying on baseUrl for module resolution.

🔇 Additional comments (9)
packages/docs/tsconfig.json (1)

9-9: Explicit Node ambient types here is a solid TS6 migration step.

This keeps Node globals/types available during package typechecking and build flows.

packages/docs/tsup.config.ts (1)

19-23: DTS deprecation override is well-scoped and appropriate.

Applying ignoreDeprecations: "6.0" only within the DTS config keeps the workaround targeted.

package.json (1)

6-6: Root toolchain alignment looks correct.

Pinning both TypeScript 6.0.3 and native preview at the workspace root matches the tsgo migration intent.

Also applies to: 10-10

packages/docs/package.json (2)

68-68: check-types migration to tsgo --noEmit is clean.

This matches the stated prebuild typecheck workflow for the TS6 migration.


99-99: Package-local TS toolchain versions are consistent with root.

Good version alignment reduces workspace drift for typechecking behavior.

Also applies to: 106-106

apps/docs-smoke/package.json (2)

10-10: Typecheck command update is correct.

Switching this app to tsgo --noEmit is aligned with the new typecheck strategy.


52-52: Dependency bump pairing is coherent for docs-smoke.

Native preview + TS 6.0.3 in this package matches the rest of the workspace migration.

Also applies to: 60-60

apps/docs-smoke/tsconfig.json (2)

23-23: Ambient types update is correct for docs-smoke.

Including both node and vite/client fits this app’s type environment.


25-47: Subpath path mappings are thorough and aligned with package exports.

This is a good approach for prebuild typechecking against @inth/docs source entries.


📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Upgraded TypeScript toolchain from 5.9.2 to 6.0.3
    • Introduced TypeScript native preview for enhanced type-checking capabilities
    • Updated type-checking scripts and configurations across packages
    • Modified build configuration for improved deprecation handling

Walkthrough

This PR upgrades TypeScript from 5.9.2 to 6.0.3, introduces the @typescript/native-preview tooling dependency, and switches type-checking scripts from tsc to tsgo across multiple packages. TypeScript configurations are updated to include Node.js type definitions and path aliases, while build configuration adjusts deprecation handling.

Changes

Cohort / File(s) Summary
TypeScript Upgrade & Tooling
package.json, apps/docs-smoke/package.json, packages/docs/package.json
Upgrades typescript devDependency from 5.9.2 to 6.0.3 and adds @typescript/native-preview devDependency. Type-checking scripts switched from tsc to tsgo in apps/docs-smoke and packages/docs.
TypeScript Configuration Updates
apps/docs-smoke/tsconfig.json, packages/docs/tsconfig.json
Removes explicit baseUrl setting, expands compilerOptions.types to include Node typings, and adds comprehensive path aliases mapping @inth/docs/* to entry files under packages/docs/src.
Build Configuration Updates
packages/docs/tsup.config.ts
Modifies dts generation configuration from boolean to structured object, adding compilerOptions.ignoreDeprecations: "6.0" to handle TypeScript 6.0 deprecation diagnostics.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 Hops of joy for TypeScript six!
tsgo speeds the type-check fix,
Nodes and paths align just right,
Deprecations fade from sight!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main changes: upgrading to TypeScript 6 and switching to TSGO for typechecking, which are the core objectives of this pull request.
Description check ✅ Passed The description is directly related to the changeset, providing specific details about TypeScript 6.0.3 upgrade, @typescript/native-preview addition, tsgo integration, configuration adjustments, and validation performed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@KayleeWilliams KayleeWilliams marked this pull request as ready for review April 27, 2026 18:53
@KayleeWilliams KayleeWilliams merged commit a7a724e into main Apr 27, 2026
3 checks passed
@KayleeWilliams KayleeWilliams deleted the KayleeWilliams/ts6-tsgo branch May 9, 2026 02:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant