Upgrade TypeScript 5.9.3 → 6.0.2 with TS6 deprecation fixes and documentation updates#1484
Upgrade TypeScript 5.9.3 → 6.0.2 with TS6 deprecation fixes and documentation updates#1484
Conversation
🏷️ Automatic Labeling SummaryThis PR has been automatically labeled based on the files changed and PR metadata. Applied Labels: size-xs Label Categories
For more information, see |
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
…entation updates Agent-Logs-Url: https://github.com/Hack23/riksdagsmonitor/sessions/c212b53b-2bb4-4fde-a255-1fcf836ed0f7 Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
There was a problem hiding this comment.
Pull request overview
Updates the repository’s TypeScript toolchain to TypeScript 6.0.2 and aligns key workflow/roadmap documentation with the new version, including TS6 deprecation suppression in tsconfig targets used for scripts and TypeDoc.
Changes:
- Bump
typescriptdependency to 6.0.2 (and lockfile update). - Add
ignoreDeprecations: "6.0"to TypeDoc/scripts tsconfigs. - Update multiple documentation surfaces (workflows, roadmap, EOL strategy, skills, release drafter) to reference TypeScript 6.x / 6.0.x.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| WORKFLOWS.md | Updates Technology Stack table to TypeScript 6.0.2. |
| tsconfig.typedoc.json | Adds ignoreDeprecations: "6.0" for TS6 deprecation handling. |
| tsconfig.scripts.json | Adds ignoreDeprecations: "6.0" for TS6 deprecation handling. |
| package.json | Upgrades TypeScript dependency to 6.0.2. |
| package-lock.json | Locks TypeScript to 6.0.2 (resolved/integrity updates). |
| FUTURE_WORKFLOWS.md | Updates roadmap TypeScript versions (6.0 in 2026, 7.x in 2027). |
| End-of-Life-Strategy.md | Updates TypeScript version + adds TS lifecycle/policy sections and TS-related risks. |
| .github/skills/hack23-future-architecture-standards/SKILL.md | Updates example tech stack reference to TypeScript 6.0. |
| .github/release-drafter.yml | Updates “Built With” TypeScript version from 5.9.x to 6.x. |
| | **Language** | [TypeScript](https://www.typescriptlang.org/) | 6.0.2 | Active (quarterly releases) | Track latest stable | | ||
| | **Build Tool** | [Vite](https://vite.dev/) | 7.3.1 | Active | Track latest major | | ||
| | **Transpiler** | [tsx](https://tsx.is/) | 4.21.0 | Active | Track latest stable | |
There was a problem hiding this comment.
The "Current Technology Stack & EOL Timeline" table is now inconsistent with the repo’s actual tool versions (e.g., it lists Vite 7.3.1 while package.json is on Vite 8.0.3). Since this section is meant to reflect the current stack, please sync the table versions to package.json (at least the rows touched by this PR: TypeScript/Vite, and ideally the rest of the table in the same pass).
| "tsx": "4.21.0", | ||
| "typedoc": "0.28.18", | ||
| "typedoc-plugin-mdn-links": "5.1.1", | ||
| "typescript": "5.9.3", | ||
| "typescript": "6.0.2", | ||
| "typescript-eslint": "8.58.0", | ||
| "vite": "8.0.3", |
There was a problem hiding this comment.
PR description says all documentation referencing TypeScript 5.9.x was updated, but docs/dependencies/dependency-tree.json still contains TypeScript 5.9.3 entries. Either regenerate/update that dependency tree artifact to reflect 6.0.2 or adjust the PR description/scope so it’s accurate.
|
@copilot apply changes based on the comments in this thread |
…e dependency tree artifacts Agent-Logs-Url: https://github.com/Hack23/riksdagsmonitor/sessions/dadba6a2-2d7f-4ec0-997b-6ce40a3d3bcb Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Both review comments addressed in
|
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
| <h2>📋 Direct Dependencies</h2> | ||
| <div class="search"><input type="text" id="depSearch" placeholder="Search packages..." aria-label="Search dependencies"></div> | ||
| <table class="data-table" id="depTable"><thead><tr><th>Package</th><th>Version</th><th>Type</th></tr></thead><tbody><tr><td>@emnapi/core</td><td>1.8.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>@emnapi/runtime</td><td>1.8.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>@emnapi/wasi-threads</td><td>1.1.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>@eslint/js</td><td>10.0.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>@napi-rs/wasm-runtime</td><td>1.1.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>@tybys/wasm-util</td><td>0.10.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>@types/d3</td><td>7.4.3</td><td><span class="badge prod">prod</span></td></tr><tr><td>@types/node</td><td>25.5.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>@types/papaparse</td><td>5.5.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>@vitest/coverage-v8</td><td>4.1.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>@vitest/ui</td><td>4.1.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>ajv</td><td>8.18.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>ajv-formats</td><td>3.0.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>chart.js</td><td>4.5.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>chartjs-plugin-annotation</td><td>3.1.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>cypress</td><td>15.13.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>d3</td><td>7.9.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>eslint</td><td>10.1.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>globals</td><td>17.4.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>happy-dom</td><td>20.8.9</td><td><span class="badge prod">prod</span></td></tr><tr><td>htmlhint</td><td>1.9.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>js-yaml</td><td>4.1.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>json-schema-to-typescript</td><td>15.0.4</td><td><span class="badge prod">prod</span></td></tr><tr><td>knip</td><td>6.1.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>papaparse</td><td>5.5.3</td><td><span class="badge prod">prod</span></td></tr><tr><td>playwright</td><td>1.58.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>start-server-and-test</td><td>3.0.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>tsx</td><td>4.21.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>typedoc</td><td>0.28.18</td><td><span class="badge prod">prod</span></td></tr><tr><td>typedoc-plugin-mdn-links</td><td>5.1.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>typescript</td><td>5.9.3</td><td><span class="badge prod">prod</span></td></tr><tr><td>typescript-eslint</td><td>8.58.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>vite</td><td>8.0.3</td><td><span class="badge prod">prod</span></td></tr><tr><td>vite-plugin-sri-gen</td><td>1.3.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>vitest</td><td>4.1.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>worldbank-mcp</td><td>1.0.1</td><td><span class="badge prod">prod</span></td></tr></tbody></table> | ||
| <table class="data-table" id="depTable"><thead><tr><th>Package</th><th>Version</th><th>Type</th></tr></thead><tbody><tr><td>@emnapi/core</td><td>1.8.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>@emnapi/runtime</td><td>1.8.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>@emnapi/wasi-threads</td><td>1.1.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>@eslint/js</td><td>10.0.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>@napi-rs/wasm-runtime</td><td>1.1.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>@tybys/wasm-util</td><td>0.10.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>@types/d3</td><td>7.4.3</td><td><span class="badge prod">prod</span></td></tr><tr><td>@types/node</td><td>25.5.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>@types/papaparse</td><td>5.5.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>@vitest/coverage-v8</td><td>4.1.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>@vitest/ui</td><td>4.1.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>ajv</td><td>8.18.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>ajv-formats</td><td>3.0.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>chart.js</td><td>4.5.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>chartjs-plugin-annotation</td><td>3.1.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>cypress</td><td>15.13.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>d3</td><td>7.9.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>eslint</td><td>10.1.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>globals</td><td>17.4.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>happy-dom</td><td>20.8.9</td><td><span class="badge prod">prod</span></td></tr><tr><td>htmlhint</td><td>1.9.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>js-yaml</td><td>4.1.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>json-schema-to-typescript</td><td>15.0.4</td><td><span class="badge prod">prod</span></td></tr><tr><td>knip</td><td>6.1.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>papaparse</td><td>5.5.3</td><td><span class="badge prod">prod</span></td></tr><tr><td>playwright</td><td>1.58.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>start-server-and-test</td><td>3.0.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>tsx</td><td>4.21.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>typedoc</td><td>0.28.18</td><td><span class="badge prod">prod</span></td></tr><tr><td>typedoc-plugin-mdn-links</td><td>5.1.1</td><td><span class="badge prod">prod</span></td></tr><tr><td>typescript</td><td>6.0.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>typescript-eslint</td><td>8.58.0</td><td><span class="badge prod">prod</span></td></tr><tr><td>vite</td><td>8.0.3</td><td><span class="badge prod">prod</span></td></tr><tr><td>vite-plugin-sri-gen</td><td>1.3.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>vitest</td><td>4.1.2</td><td><span class="badge prod">prod</span></td></tr><tr><td>worldbank-mcp</td><td>1.0.1</td><td><span class="badge prod">prod</span></td></tr></tbody></table> |
There was a problem hiding this comment.
The dependency report classifies all direct packages as "prod" and shows "Dev Dependencies" as 0, but package.json lists most of these (e.g. typescript, vitest, eslint, typedoc) under devDependencies and cypress under optionalDependencies. This makes the report misleading; update the report generation (or the labels) to reflect dependency types from package.json (prod/dev/optional), or rename the stats/column so it no longer implies npm prod/dev classification.
Upgrade to TypeScript 6.0.2 following the pattern from Hack23/game#539. Updates release drafter, End-of-Life Strategy, WORKFLOWS.md, FUTURE_WORKFLOWS.md, and all documentation referencing TypeScript 5.9.x.
TS6 breaking change fixes
"ignoreDeprecations": "6.0"totsconfig.scripts.jsonandtsconfig.typedoc.json— both usebaseUrlwhich is deprecated in TS6 (still functional, removed in TS7)global→globalThisorNodeJS.Timeoutchanges needed (not used in this codebase)Documentation updates
release-drafter.yml— "Built With" TypeScript5.9.x→6.xWORKFLOWS.md— Technology stack table5.9.3→6.0.2FUTURE_WORKFLOWS.md— Roadmap: 2026 Q1/Q25.9→6.0, 20276.x→7.xEnd-of-Life-Strategy.md— Version bump to 1.2; added TypeScript lifecycle table, upgrade policy/triggers, TS-specific risks in risk matrix, marked TS 5→6 migration as completed, added TS 6→7 row; synced all tech stack table versions with package.json (Vite 8.0.3, Vitest 4.1.2, Cypress 15.13.0, ESLint 10.1.0, knip 6.1.1, TypeDoc 0.28.18, happy-dom 20.8.9)hack23-future-architecture-standards/SKILL.md— Example reference5.9→6.0docs/dependencies/— Regenerateddependency-tree.json,dependency-tree.txt, andindex.htmlto reflect TypeScript 6.0.2Validation
All 4 tsconfig targets pass (
browser,scripts,lib,typedoc), 4609 tests pass, Vite build succeeds.