Skip to content

Upgrade TypeScript 5.9.3 → 6.0.2 with TS6 deprecation fixes and documentation updates#1484

Merged
pethers merged 4 commits intomainfrom
copilot/update-typescript-6-0-2
Mar 31, 2026
Merged

Upgrade TypeScript 5.9.3 → 6.0.2 with TS6 deprecation fixes and documentation updates#1484
pethers merged 4 commits intomainfrom
copilot/update-typescript-6-0-2

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 31, 2026

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

  • Added "ignoreDeprecations": "6.0" to tsconfig.scripts.json and tsconfig.typedoc.json — both use baseUrl which is deprecated in TS6 (still functional, removed in TS7)
  • No globalglobalThis or NodeJS.Timeout changes needed (not used in this codebase)
// tsconfig.scripts.json / tsconfig.typedoc.json
{
  "compilerOptions": {
    "ignoreDeprecations": "6.0",
    "baseUrl": "."
  }
}

Documentation updates

  • release-drafter.yml — "Built With" TypeScript 5.9.x6.x
  • WORKFLOWS.md — Technology stack table 5.9.36.0.2
  • FUTURE_WORKFLOWS.md — Roadmap: 2026 Q1/Q2 5.96.0, 2027 6.x7.x
  • End-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 reference 5.96.0
  • docs/dependencies/ — Regenerated dependency-tree.json, dependency-tree.txt, and index.html to reflect TypeScript 6.0.2

Validation

All 4 tsconfig targets pass (browser, scripts, lib, typedoc), 4609 tests pass, Vite build succeeds.

@github-actions github-actions bot added the size-xs Extra small change (< 10 lines) label Mar 31, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🏷️ Automatic Labeling Summary

This PR has been automatically labeled based on the files changed and PR metadata.

Applied Labels: size-xs

Label Categories

  • 🗳️ Content: news, dashboard, visualization, intelligence
  • 💻 Technology: html-css, javascript, workflow, security
  • 📊 Data: cia-data, riksdag-data, data-pipeline, schema
  • 🌍 I18n: i18n, translation, rtl
  • 🔒 ISMS: isms, iso-27001, nist-csf, cis-controls
  • 🏗️ Infrastructure: ci-cd, deployment, performance, monitoring
  • 🔄 Quality: testing, accessibility, documentation, refactor
  • 🤖 AI: agent, skill, agentic-workflow

For more information, see .github/labeler.yml.

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

@github-actions github-actions bot added documentation Documentation updates dependencies Dependency updates skill Skill configuration size-m Medium change (50-250 lines) labels Mar 31, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Copilot AI changed the title [WIP] Upgrade to TypeScript 6.0.2 and update documentation Upgrade TypeScript 5.9.3 → 6.0.2 with TS6 deprecation fixes and documentation updates Mar 31, 2026
Copilot AI requested a review from pethers March 31, 2026 12:34
@pethers pethers marked this pull request as ready for review March 31, 2026 12:44
Copilot AI review requested due to automatic review settings March 31, 2026 12:44
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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 typescript dependency 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.

Comment on lines +116 to 118
| **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 |
Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

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

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).

Copilot uses AI. Check for mistakes.
Comment on lines 124 to 129
"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",
Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

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

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 uses AI. Check for mistakes.
@pethers
Copy link
Copy Markdown
Member

pethers commented Mar 31, 2026

@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>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 31, 2026

@copilot apply changes based on the comments in this thread

Both review comments addressed in bf1690f:

  1. End-of-Life-Strategy.md table sync — Updated all version rows to match package.json: Vite 7.3.1→8.0.3, Vitest 4.0.18→4.1.2, Cypress 15.11.0→15.13.0, ESLint 10.0.3→10.1.0, knip 5.86.0→6.1.1, TypeDoc 0.28.17→0.28.18, happy-dom 20.8.3→20.8.9.

  2. Dependency tree artifacts — Regenerated all three files (dependency-tree.json, dependency-tree.txt, index.html) via npm run docs:dependencies + node scripts/generate-dependency-report-html.cjs. All now show TypeScript 6.0.2.

@github-actions github-actions bot added the html-css HTML/CSS changes label Mar 31, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

@pethers pethers requested a review from Copilot March 31, 2026 13:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.

<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>
Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
@pethers pethers merged commit 04966fd into main Mar 31, 2026
21 checks passed
@pethers pethers deleted the copilot/update-typescript-6-0-2 branch March 31, 2026 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates documentation Documentation updates html-css HTML/CSS changes size-m Medium change (50-250 lines) size-xs Extra small change (< 10 lines) skill Skill configuration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants