← Back to issue list

build: upgrade to typescript 7

View original Github issue

Metadata

Project
craft-actions
Number
#95
Type
pull request
State
merged
Author
bepri
Labels
—
Created
Updated
Closed

Current evaluation

Maintainer bepri's PR #95 merged into main, upgrading compilation to TypeScript 7 while keeping TypeScript 6 for linting/typechecking (no AST API yet). Supersedes closed Renovate PR #92; all CI checks green.

Resolution: closed resolved

Reason: PR #95 was merged into main with approval from 1 reviewer and all CI checks passing (run-rockcraft-pack-action on 22.04/24.04, test-action-code, Canonical CLA). It implements the TS7 upgrade itself, superseding the abandoned Renovate PR #92 which was closed unmerged.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Upgrades to TypeScript 7. Supersedes #92. The weird changes in the package file are because of this: https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/#running-side-by-side-with-typescript-6.0 tl;dr, the rewrite of `tsc` in Go was finished from a functional standpoint, but they haven't created an API for popular linters and typecheckers to hook into the AST and traverse the code. This pretty much makes it use TS6 for linting/types, but TS7 for compilation speed. To check for yourself, running `pnpm i` followed by `pnpm tsc --version` will show it is version 7, but `pnpm lint` will still work because it picks up on the TS6 API.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Maintainer bepri's PR #95 merged into main, upgrading compilation to TypeScript 7 while keeping TypeScript 6 for linting/typechecking (no AST API yet). Supersedes closed Renovate PR #92; all CI checks green.
stealth/space-bunny-alpha — closed resolved Merged PR #95 upgrades the build to TypeScript 7 (tsc), keeping TypeScript 6 alongside for ESLint/type API. Supersedes unmerged Renovate PR #92, which was closed after TS 7 updates broke test-action-code.
stealth/space-bunny-alpha — closed resolved Merged PR #95 upgrades compilation to TypeScript 7 while retaining TypeScript 6 for linting/type checking, supersedes unmerged #92, and passed all CI checks.
qwen/qwen3.6-35b-a3b — — Merged TypeScript 7 upgrade, superseding PR #92. The build uses TS7 for compilation and TS6 for linting and type checking to bypass missing APIs. All CI checks passed and the change was approved.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 35
Confidence: 95
needs review Upgrades TypeScript to v7, adjusting package configuration for side-by-side compilation and linting. Approved by one reviewer, all CI checks pass, and no unresolved comments remain.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 35
Confidence: 85
needs review Upgrades TypeScript to version 7, adjusting package configuration to leverage the new Go-based compiler while retaining TS6 APIs for linting. Currently pending maintainer review with all CI checks passing.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 40
Confidence: 90
needs review Upgrades TypeScript to v7, superseding #92. Adjusts package configuration to run TS6 for linting/types and TS7 for compilation. Currently pending maintainer review with passing CI.

Update history

Date Change
updated
updated
updated
created

Related work

  • Superseded By: canonical/craft-actions#92 (confidence 98%)

    Renovate dependency bump PR for TypeScript 7 that was closed unmerged; #95's description explicitly states it supersedes #92, having solved the test-action-code failures and 7.x update issues.

  • Related To: canonical/craft-actions#94 (confidence 55%)

    Merged Renovate-only workflow that rebuilds transpiled artifacts after dependency updates, relevant context for the package.json/devDependency and compiled-output changes in #95.

Related issues

Issue Project State Summary Similarity
#92 chore(deps): update dependency typescript to v7 craft-actions closed Renovate PR #92 was closed unmerged; the TypeScript 7 update left test-action-code failing, and future 7.x updates will be ignored.
72%