본문으로 건너뛰기
cccskills
무료GitHub에 공개

typescript-migration

TypeScript version migration guide (5.x to 6 to 7, tsgo native port). Use for TS 6 tsconfig breaking changes, TS 7 Go rewrite rollout, or TS5xxx deprecation codes.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(16)

  • SKILL.md10.8 KB
  • references/ecosystem-compatibility.md4.8 KB
  • references/migration-playbooks.md4.9 KB
  • references/ts-migrating-tool-guide.md4.7 KB
  • references/ts6-breaking-changes.md14.4 KB
  • references/ts7-go-rewrite.md13.8 KB
  • references/unverified-claims.md6.1 KB
  • scripts/audit-ts7-breakers.sh10.1 KB
  • scripts/compare-tsc7-tsc6.sh3.9 KB
  • scripts/detect-ts-version.sh6.0 KB
  • scripts/README.md1.2 KB
  • scripts/ts6-deprecation-scan.sh4.3 KB
  • templates/github-actions-tsc-tsc6.yml1.8 KB
  • templates/package.side-by-side.json915 B
  • templates/tsconfig.ts6.json1.4 KB
  • templates/tsconfig.ts7.json1.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

TypeScript Migration

Authoritative migration guide for TypeScript 5.x → 6 → 7 (native Go port). Sourced from Microsoft's official announcements.

Status

The Golden Rule

NEVER skip TypeScript 6. The only supported paths are 5.x → 6 → 7.

Skipping TS 6 produces a wall of hard errors because TS 7 removes everything TS 6 deprecated. Use "ignoreDeprecations": "6.0" only as a temporary pause inside TS 6; it does NOT work in TS 7.

Quick Triage (1 Minute)

  1. Detect current version — run scripts/detect-ts-version.sh (reads package.json).
  2. Classify the path:
    • 5.x → start with references/migration-playbooks.md § "5.x → 6".
    • 6.x → may go directly to TS 7 (see references/ts7-go-rewrite.md).
    • 5.x wanting TS 7 → must go 5 → 6 → 7 (no shortcuts).
    • Intra-version strict-flag rollout (no version change) → see references/ts-migrating-tool-guide.md for the optional ts-migrating tool.
  3. Audit before changing anything — run scripts/audit-ts7-breakers.sh to detect tooling that breaks under TS 7 (typescript-eslint, ts-morph, ts-node, Vue/Svelte/Astro/MDX/Angular templates, ts-patch, ttypescript, typia, baseUrl, node10, ES5 target).

Project-Type Decision Matrix

Project typeRecommendationWhy
Greenfield, no API-dependent toolingAdopt TS 7 directlyFull speedup, no blockers
Existing TS project, no special tooling5 → 6 → 7 sequentiallyTS 6 surfaces every deprecation as a warning first
Uses typescript-eslint / ts-morph / API consumers5 → 6 → 7 via @typescript/typescript6 side-by-sideTS 7 has no programmatic API until 7.1
Vue / Svelte / Astro / MDX (Volar-based)Stay on TS 6Volar needs the programmatic API; not yet supported
Angular with template type-checkingTS 7 for CLI + TS 6 for editorMicrosoft's official split workaround
ts-patch / ttypescript / typia / custom AST transformersStay on TS 6 until migrated to Oxc/SWCTransformer API gone in TS 7

TS 6 — Top Breaking Changes (Quick View)

ChangeOld defaultTS 6 defaultFix
strictfalsetrueSet explicitly or fix errors
moduleCommonJSesnextSet commonjs if needed
targetES3es2025 (floating)Set explicitly
moduleResolutionnode10bundlerSet nodenext for Node targets
rootDirinferred. (tsconfig dir)Set "rootDir": "./src"
typesall @types[]Set "types": ["node"]
esModuleInteropfalsetrueRemove :false; fix import * as → import
noUncheckedSideEffectImportsfalsetrueFix typos or set false for bundler CSS
libReplacementtruefalse—
allowSyntheticDefaultImportsvariestrue—

Deprecated in 6, HARD ERRORS in 7: target: es5; downlevelIteration; moduleResolution: node | node10 | classic; module: amd | umd | systemjs | none; baseUrl; esModuleInterop: false; allowSyntheticDefaultImports: false; alwaysStrict: false; outFile; module Foo {} keyword; assert { } on imports; /// <reference no-default-lib="true"/>; tsc <file> + tsconfig present (use --ignoreConfig).

For full detail per change including PR citations, examples, and the official ts5to6 codemod usage, load references/ts6-breaking-changes.md.

TS 7 — What Changed (Quick View)

  • Native Go port; the standard typescript npm package IS TS 7 (npm install -D typescript).
  • All TS 6 deprecations become hard errors (see table above).
  • No programmatic Compiler API in 7.0 — TS 7.1 will ship a new one. Affects ts-morph, ts-node, ts-jest, ts-loader, ts-patch, ttypescript, typia, typescript-eslint (use the side-by-side pattern below).
  • preserveConstEnums removed — always emits const enums.
  • stableTypeOrdering now true by default; cannot be turned off.
  • NEW flags: --checkers N (default 4), --builders N, --singleThreaded.
  • NEW breaking change: template literal types preserve Unicode code points (not UTF-16 code units).
  • NEW: JS file handling reworked (Closure-style @enum, @class, ?, postfix ! no longer special).
  • Performance (official, real OSS codebases): 7.7x–11.9x faster builds (up to 16.7x with --checkers 8); 6–26% lower memory.

Full install options, compatibility matrix, performance tables, and known issues in references/ts7-go-rewrite.md.

The Official Side-by-Side Pattern (TS 7 + TS 6 API)

Microsoft's recommended path for projects whose tooling depends on the TS Compiler API. Declare an alias in package.json:

{
  "devDependencies": {
    "@typescript/native": "npm:typescript@^7.0.2",
    "typescript": "npm:@typescript/typescript6@^6.0.2"
  }
}
  • npx tsc runs TS 7 (via the @typescript/native alias).
  • Tools importing typescript (typescript-eslint, ts-morph) transparently get TS 6's API via @typescript/typescript6.
  • A tsc6 executable is also available if a TS 6 invocation is needed directly.
  • Remove this workaround once TS 7.1 ships the new API.

The 4-Step Standard Workflow

  1. Detect — scripts/detect-ts-version.sh reports the installed version.
  2. Audit — scripts/audit-ts7-breakers.sh detects breakers BEFORE any upgrade. scripts/ts6-deprecation-scan.sh extracts TS5xxx codes from tsc output.
  3. Migrate — follow references/migration-playbooks.md for the appropriate path. Run ts5to6 --fixBaseUrl and ts5to6 --fixRootDir if the user explicitly approves (these are official Microsoft-endorsed codemods). All other changes are manual.
  4. Verify — scripts/compare-tsc7-tsc6.sh diffs diagnostic codes between TS 7 tsc and TS 6 tsc6. Match on TSxxxx codes, NOT message text (wording differs between compilers). Delete stale .tsbuildinfo files before the first TS 7 run (incompatible between the JS and Go compilers).

Critical Rules

Always

  • ✅ Migrate through TS 6 — never skip it.
  • ✅ Match on diagnostic codes (TSxxxx), not message wording.
  • ✅ Delete stale .tsbuildinfo before the first TS 7 run.
  • ✅ Cite Microsoft's official blog posts as authoritative; treat third-party tutorials as secondary.
  • ✅ Run audit-ts7-breakers.sh BEFORE any upgrade.

Never

  • ❌ Never install @typescript/native-preview for stable use — it's the legacy nightly package; stable is the standard typescript package.
  • ❌ Never assert the unverified third-party claims listed in references/unverified-claims.md (e.g. "moduleResolution default is node16", "--ts6-migration flag exists", "ES5 target is removed in 6", "--keyofStringsOnly was removed").
  • ❌ Never recommend ts-migrating (the tool) for TS version migration — it only helps tighten compilerOptions within a version.
  • ❌ Never assume VS Code needs a setting key to enable TS 7 — install the official extension; it auto-enables.
  • ❌ Never auto-edit user source via custom scripts — only detection/audit scripts and officially-blessed codemods (ts5to6).

The ts-migrating Tool — Conditional Offer

Offer this tool ONLY when the user wants to enable a stricter compilerOption (e.g. noUncheckedIndexedAccess, strict, erasableSyntaxOnly) on an existing large codebase — NOT for version migration.

Gate conditions (all must hold):

  • Existing, non-greenfield TypeScript project.
  • The goal is enabling a compilerOption incrementally.
  • This is not a tsgo / TS-7 migration.

Warnings:

  • The annotate subcommand rewrites source — run on a clean git tree and review the diff.
  • The IDE plugin has ZERO effect on tsc; wire ts-migrating check into CI for it to matter.
  • // @ts-migrating markers are tech debt needing a cleanup sweep.
  • This is NOT Airbnb's ts-migrate (different tool — JS → TS conversion).

Full install, commands, and gate logic in references/ts-migrating-tool-guide.md.

Common Error Codes

CodeMeaningAction
TS5011rootDir mismatchSet "rootDir": "./src"
TS5101Option deprecated, stops in TS {ver}Add "ignoreDeprecations": "6.0" (TS 6 only) or fix
TS5102Option removedRemove from tsconfig
TS5107Option=value deprecatedSame as TS5101
TS5108Option=value removedRemove
TS5111Migration info (baseUrl, node10)See references/ts6-breaking-changes.md
TS5112tsc file-args + tsconfig presentUse --ignoreConfig

When to Load References

Load these reference files when the user needs detail beyond the quick-reference above:

Load This FileWhen
references/ts6-breaking-changes.mdMigrating to TS 6; need full PR-cited detail on each default change, deprecation, or syntax change
references/ts7-go-rewrite.mdAdopting TS 7; need install detail, compat matrix, performance tables, known gaps
references/ecosystem-compatibility.mdChecking whether a specific tool (typescript-eslint, ts-morph, ts-node, vite, webpack, vitest, etc.) works under TS 7
references/migration-playbooks.mdNeed ordered checklists for 5→6, 6→7, or 5→7-via-6
references/ts-migrating-tool-guide.mdUser wants to enable a stricter compilerOption incrementally on an existing large codebase
references/unverified-claims.mdEncountering a claim that contradicts official sources; verify before asserting

Dependencies

  • Required for migration: typescript (target version), tsconfig.json in the project root.
  • Optional helpers:
    • @andrewbranch/ts5to6 — official codemod for baseUrl / rootDir.
    • @typescript/typescript6 — side-by-side API compat for TS 7.
    • ts-migrating — incremental strict-flag rollout (see guide).

Package Versions (Verified 2026-07-09)

{
  "devDependencies": {
    "typescript": "^7.0.2",
    "@typescript/typescript6": "^6.0.2"
  },
  "optionalHelpers": {
    "@andrewbranch/ts5to6": "latest",
    "ts-migrating": "latest"
  }
}

All facts in this skill are cited to Microsoft's official TypeScript blog (devblogs.microsoft.com/typescript). Third-party tutorial claims that conflict with official sources are catalogued in references/unverified-claims.md and treated as suspect.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

100+ animated React components (Aceternity UI) for Next.js with Tailwind. Use for hero sections, parallax, 3D effects, or encountering animation, shadcn CLI integration errors.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2312026년 10월 19일 업데이트

Secure API authentication with JWT, OAuth 2.0, API keys. Use for authentication systems, third-party integrations, service-to-service communication, or encountering token management, security headers, auth flow errors.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2312026년 10월 19일 업데이트

Creates comprehensive API changelogs documenting breaking changes, deprecations, and migration strategies for API consumers. Use when managing API versions, communicating breaking changes, or creating upgrade guides.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2312026년 10월 19일 업데이트

Verifies API contracts between services using consumer-driven contracts, schema validation, and tools like Pact. Use when testing microservices communication, preventing breaking changes, or validating OpenAPI specifications.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2312026년 10월 19일 업데이트

Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing API design standards.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2312026년 10월 19일 업데이트

Implements standardized API error responses with proper status codes, logging, and user-friendly messages. Use when building production APIs, implementing error recovery patterns, or integrating error monitoring services.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

secondsky/claude-skills2312026년 10월 19일 업데이트

secondsky의 스킬 모두 보기

이 스킬의 문제 신고