chore(deps): align website deps with Dependabot + add TS 6/7 split#152
Merged
Conversation
Bump the workshop site dependencies to the versions Dependabot proposed, superseding the individual bump PRs: - astro 5.16 -> 7.0.9 - @astrojs/starlight 0.37 -> 0.41.3 (peers astro ^7, moves with astro) - sharp 0.34 -> 0.35.3 - @astrojs/check 0.9.4 -> 0.9.9 - typescript 5.7 -> 6.0.3 TypeScript is held on the 6.x line because @astrojs/check (our type-checker) peers `typescript@^5 || ^6` and does not yet support TypeScript 7. To still exercise the TS 7 toolchain, add a split: `@typescript/native-preview` (tsgo) as a dev dependency, a dedicated `tsconfig.tsgo.json`, and `check:tsgo` / `check:all` scripts. `npm run check` runs astro check (TS 6); `check:tsgo` runs tsgo (TS 7); `check:all` runs both. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 64357866-3a3f-4fd8-914b-77826de5be5a
Astro 7 requires Node >=22.12, so bump setup-node from 20 to 22. Add a type-check step that runs `npm run check:all` (astro check on TS 6 plus tsgo on TS 7) before the build so the split config is enforced in CI. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 64357866-3a3f-4fd8-914b-77826de5be5a
typescript must stay on 6.x for @astrojs/check, so tell Dependabot to stop re-proposing the TS 5->7 major update. The TS 7 path is tracked separately via @typescript/native-preview. Remove this ignore once @astrojs/check supports TS 7. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 64357866-3a3f-4fd8-914b-77826de5be5a
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the website/ Astro + Starlight publishing wrapper to newer Dependabot-proposed versions and introduces a dual type-check approach: keep astro check working on TypeScript 6 while also running tsgo (TypeScript 7 toolchain) in CI to track forward compatibility.
Changes:
- Bump
astro,@astrojs/starlight,sharp,@astrojs/check, and keeptypescripton^6.0.3while adding@typescript/native-preview+check:tsgo/check:all. - Add
website/tsconfig.tsgo.jsonto drive the TS 7 (tsgo) check. - Update Pages workflow to use Node 22 and run
npm run check:allbefore building; configure Dependabot to ignore TypeScript major bumps.
Show a summary per file
| File | Description |
|---|---|
website/tsconfig.tsgo.json |
Adds a dedicated tsgo/TS7 config extending the main tsconfig with noEmit. |
website/package.json |
Aligns dependencies to Astro 7/Starlight 0.41 and introduces check:tsgo + check:all scripts plus @typescript/native-preview. |
.github/workflows/pages.yml |
Bumps CI Node major to 22 and enforces both TS6 + TS7 checks before the build. |
.github/dependabot.yml |
Ignores TypeScript major updates to prevent recurring TS7 PRs until @astrojs/check supports it. |
Review details
- Files reviewed: 4/5 changed files
- Comments generated: 1
- Review effort level: Low
Comment on lines
31
to
33
| with: | ||
| node-version: '20' | ||
| node-version: '22' | ||
| cache: 'npm' |
Collaborator
Author
There was a problem hiding this comment.
Good catch on the determinism angle. Switched to node-version: 'lts/*' in 776894c, which always resolves to the current LTS (>=22.12) and self-maintains across future LTS releases — matching the Node setup shown in the cloud workshop lesson.
Pinning only the major (`22`) can, in principle, resolve to a 22.x below Astro 7's required 22.12.0. `lts/*` always resolves to the current LTS (>=22.12) and self-maintains across future LTS releases, matching the Node setup shown in the cloud workshop lesson. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 64357866-3a3f-4fd8-914b-77826de5be5a
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Aligns the
website/Astro + Starlight dependencies with the versions Dependabot proposed, and sets up a TypeScript 6/7 split so the site keeps a working type-checker while still exercising the TS 7 toolchain. Supersedes Dependabot PRs #147 (typescript), #148 (astro), #149 (starlight), and #150 (sharp).Dependency bumps:
astro5.16 → 7.0.9@astrojs/starlight0.37 → 0.41.3 (peersastro@^7, so it must move together with Astro)sharp0.34 → 0.35.3@astrojs/check0.9.4 → 0.9.9typescript5.7 → 6.0.3 (held on 6.x — see below)TypeScript 6/7 split
@astrojs/check(our only type-checker) peerstypescript@^5 || ^6and does not support TypeScript 7 yet, so bumping the projecttypescriptstraight to 7 breaks type-checking. Instead:typescriptstays on^6.0.3forastro check(npm run check).@typescript/native-preview(tsgo) is added as a dev dependency for the TS 7 path (npm run check:tsgo, config intsconfig.tsgo.json).npm run check:allruns both.typescriptmajor bump until@astrojs/checksupports TS 7 (so chore(deps): Bump typescript from 5.9.3 to 7.0.2 in /website #147 stops recurring).CI
pages.ymlNode bumped 20 → 22 (Astro 7 requiresnode >=22.12).npm run check:allbefore the build, so the split is enforced in the build gate.Type of change
website/Astro + Starlight wrapper)Verification
cd website && rm -rf dist && npm run buildsucceeds — 218 HTML incl. 404, 217 excludingnpm run check:all— astro check (TS 6): 0 errors; tsgo (TS 7): 0 errorsNote
Local installs need
npm install --min-release-age=0because of a corp npmrc release-age guard on brand-new versions; CI on the public registry does not. Nothing about that flag is committed — the lockfile pins the resolved versions (including tsgo'slinux-x64binary for the runner).Notes for reviewers
tscbuild step, so tsgo effectively checkscontent.config.ts. The split exists so TS 7 is tracked and runnable, and so thetypescriptdep can advance to 7 in one step once@astrojs/checksupports it.