Skip to content

chore(deps): update dependency typescript to v6#43

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/typescript-6.x
Open

chore(deps): update dependency typescript to v6#43
renovate[bot] wants to merge 1 commit intomainfrom
renovate/typescript-6.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 17, 2026

This PR contains the following updates:

Package Change Age Confidence
typescript (source) 5.9.36.0.2 age confidence

Release Notes

microsoft/TypeScript (typescript)

v6.0.2

Compare Source


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday (* 0-4,22-23 * * 1-5)
    • Only on Sunday and Saturday (* * * * 0,6)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 17, 2026

Renovate PR Review Results

⚖️ Safety Assessment: ⚠️ Needs Manual Migration

🔍 Release Content Analysis

TypeScript 6.0.2 Major Changes:

  • Breaking Change: Auto-discovery of @types packages disabled - The most impactful change for this codebase. Previously TypeScript automatically included all @types packages from node_modules. In TypeScript 6.0, the types compiler option now defaults to an empty array instead of auto-loading all type packages, requiring explicit configuration.

  • Strict mode now defaults to true - Type checking strictness is enabled by default. Projects not using strict mode must explicitly opt out.

  • Default target changed from ES3 to ES2025 - Projects targeting older JavaScript versions must explicitly specify their target.

  • Module resolution updates - moduleResolution: "classic" removed; must use "nodenext" or "bundler".

  • Import syntax modernization - Import assertions (assert { }) deprecated in favor of import attributes (with { }).

  • ESModule interop always enabled - esModuleInterop and allowSyntheticDefaultImports can no longer be set to false.

  • ES5 target deprecated - Minimum target is now ES2015.

Security Fixes: No specific security vulnerabilities mentioned in the release notes.

🎯 Impact Scope Investigation

Direct Impact Identified:

  1. Configuration File: internal/sandbox/defaults/node-typescript/tsconfig.json

    • Missing required "types": ["node"] field
    • Current configuration will fail to compile TypeScript code that uses Node.js APIs (console, process, etc.)
  2. Test Failures Confirmed:

    • E2E test runtime/node-typescript/13/async/await fails with compilation error: Cannot find name 'console'. Do you need to change your target library?
    • Any user-submitted TypeScript code using Node.js built-in APIs (console, process, Buffer, etc.) will fail compilation
  3. Package Updates:

    • internal/sandbox/defaults/node-typescript/package.json: TypeScript 5.9.3 → 6.0.2
    • internal/sandbox/defaults/node-typescript/package-lock.json: Updated checksums and versions

Compatibility Analysis:

  • Current tsconfig.json settings:
    • "target": "ES2024" - Compatible (ES2024 > minimum ES2015)
    • "module": "commonjs" - Compatible
    • "lib": ["ES2024"] - Compatible
    • "esModuleInterop": true - Compatible (already enabled)
    • "skipLibCheck": true - Compatible
    • Missing "types": ["node"] - BREAKING: Required in TypeScript 6.0

Scope of Changes:

  • Single configuration file needs updating
  • No code changes required
  • Docker image rebuild required to pick up the updated TypeScript version and fixed config

💡 Recommended Actions

Required Migration Steps:

  1. Update tsconfig.json - Add the types field to explicitly include Node.js type definitions:

    {
      "compilerOptions": {
        "target": "ES2024",
        "module": "commonjs",
        "lib": ["ES2024"],
        "esModuleInterop": true,
        "skipLibCheck": true,
        "types": ["node"]
      }
    }
  2. Rebuild and test:

    docker compose down
    docker compose up --build -d
    go test -tags e2e ./e2e/...
  3. Verify all E2E tests pass, particularly:

    • runtime/node-typescript/13/async/await
    • All other TypeScript runtime tests

Why This Change Is Necessary:

TypeScript 6.0 changed the default behavior of type auto-discovery to improve build performance and reduce unexpected type pollution. Without explicit "types": ["node"], the @types/node package installed in node_modules will not be loaded, causing compilation errors for any code using Node.js built-in APIs like console, process, Buffer, etc.

Estimated Impact:

  • Low risk - Single configuration line addition
  • High confidence - Well-documented breaking change with clear fix
  • Testing available - Comprehensive E2E test suite covers all use cases

🔗 Reference Links

Generated by koki-develop/claude-renovate-review

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.

0 participants