Skip to content

chore(deps): align website deps with Dependabot + add TS 6/7 split - #152

Merged
GeekTrainer merged 4 commits into
mainfrom
geektrainer/dependabot-alignment
Jul 15, 2026
Merged

chore(deps): align website deps with Dependabot + add TS 6/7 split#152
GeekTrainer merged 4 commits into
mainfrom
geektrainer/dependabot-alignment

Conversation

@GeekTrainer

@GeekTrainer GeekTrainer commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

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:

  • astro 5.16 → 7.0.9
  • @astrojs/starlight 0.37 → 0.41.3 (peers astro@^7, so it must move together with Astro)
  • sharp 0.34 → 0.35.3
  • @astrojs/check 0.9.4 → 0.9.9
  • typescript 5.7 → 6.0.3 (held on 6.x — see below)

TypeScript 6/7 split

@astrojs/check (our only type-checker) peers typescript@^5 || ^6 and does not support TypeScript 7 yet, so bumping the project typescript straight to 7 breaks type-checking. Instead:

  • typescript stays on ^6.0.3 for astro check (npm run check).
  • @typescript/native-preview (tsgo) is added as a dev dependency for the TS 7 path (npm run check:tsgo, config in tsconfig.tsgo.json).
  • npm run check:all runs both.
  • Dependabot is told to ignore the typescript major bump until @astrojs/check supports TS 7 (so chore(deps): Bump typescript from 5.9.3 to 7.0.2 in /website #147 stops recurring).

CI

  • pages.yml Node bumped 20 → 22 (Astro 7 requires node >=22.12).
  • Added a type-check step running npm run check:all before the build, so the split is enforced in the build gate.

Type of change

  • Repo housekeeping (CI, dependabot, README, license)
  • Site shell (website/ Astro + Starlight wrapper)

Verification

  • cd website && rm -rf dist && npm run build succeeds — 218 HTML incl. 404, 217 excluding
  • npm run check:all — astro check (TS 6): 0 errors; tsgo (TS 7): 0 errors
  • Lychee offline link check: 0 errors (14029 OK)
  • Page-count invariant: 36 source routes, 217 built pages

Note

Local installs need npm install --min-release-age=0 because 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's linux-x64 binary for the runner).

Notes for reviewers

  • The TS 7 side is intentionally lightweight: this is a docs site with no tsc build step, so tsgo effectively checks content.config.ts. The split exists so TS 7 is tracked and runnable, and so the typescript dep can advance to 7 in one step once @astrojs/check supports it.
GeekTrainer and others added 3 commits July 15, 2026 14:06
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
Copilot AI review requested due to automatic review settings July 15, 2026 21:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 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 keep typescript on ^6.0.3 while adding @typescript/native-preview + check:tsgo / check:all.
  • Add website/tsconfig.tsgo.json to drive the TS 7 (tsgo) check.
  • Update Pages workflow to use Node 22 and run npm run check:all before 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'

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

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
@GeekTrainer
GeekTrainer merged commit 2c454e8 into main Jul 15, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants