Skip to content

chore(deps): consolidate dependency upgrades & clear security advisories - #263

Merged
marc0olo merged 2 commits into
mainfrom
chore/consolidate-dep-upgrades
Aug 4, 2026
Merged

chore(deps): consolidate dependency upgrades & clear security advisories#263
marc0olo merged 2 commits into
mainfrom
chore/consolidate-dep-upgrades

Conversation

@marc0olo

@marc0olo marc0olo commented Aug 4, 2026

Copy link
Copy Markdown
Member

Consolidates the 7 open Dependabot PRs into a single upgrade that is verified to keep the site building, and takes npm audit from 10 vulnerabilities → 0.

Why one PR instead of merging the Dependabot PRs

The Dependabot PRs overlap and conflict, and CI never built the site — the checks / validate job only runs skill-validator, and only when a skill file changes. Dependency PRs touch just package.json/package-lock.json, so validation was skipped entirely and the check went green without ever running astro build. The real build only happens post-merge in deploy-ic.yml. Merging these blind risked breaking production.

Concretely, the Dependabot PRs were inconsistent:

Changes

Package From To Notes
astro 6.4.6 7.1.6 major
@astrojs/preact 4.1.3 6.0.0 major, required by astro 7
@astrojs/rss 4.0.12 4.0.19
archiver 7.0.1 8.0.0 major — now ESM, no default export
overrides sharp ^0.35.3, svgo ^4.0.2, scoped @astrojs/preact→vite ^6.4.3 clears transitive advisories

archiver 8 breaking change: archiver 8 is pure ESM and dropped its default export, so import archiver from 'archiver' throws at build time. SKILL.zip.ts migrates to the ZipArchive class (identical instance API — append/finalize/pipe/on).

Scoped vite override: the vulnerable vite (≤6.4.2) comes only from @astrojs/preact's dev tooling. A global vite override forced Astro 7's own vite (needs v8) down to 6.4.3 and broke the build, so the override is scoped to the @astrojs/preact subtree only — Astro keeps vite 8.2.0.

CI build gate: adds npm run build to the checks workflow so every PR (including future dependency bumps) is verified to build, closing the gap that let these PRs go green without building.

Verification

npm audit and npm run build output

```
$ npm audit
found 0 vulnerabilities # was 10 (2 low, 1 moderate, 7 high)

$ npm run build
[build] 30 page(s) built
[@astrojs/sitemap] sitemap-index.xml created at dist
[build] Complete!

post-build checks

All 26 SKILL.zip files valid
llms.txt + sitemap-index.xml + .well-known/skills/index.json present
```

Installed: astro 7.1.6 · @astrojs/preact 6.0.2 · archiver 8.0.0 · sharp 0.35.3 · svgo 4.0.2 · vite 8.2.0 (astro) / 6.4.3 (preact subtree)

Follow-up

Once merged, close the superseded Dependabot PRs: #232, #233, #249, #252, #253, #259, #260.

🤖 Generated with Claude Code

…ories

Supersedes the 7 open Dependabot PRs (#232, #233, #249, #252, #253, #259,
#260) with a single verified upgrade that keeps the site building.

- astro 6.4.6 → 7.1.6 (major)
- @astrojs/preact 4.1.3 → 6.0.0 (major, required by astro 7)
- @astrojs/rss 4.0.12 → 4.0.19
- archiver 7.0.1 → 8.0.0 (major; now ESM, no default export)
- overrides: sharp ^0.35.3, svgo ^4.0.2, and a scoped
  @astrojs/preact→vite ^6.4.3 to clear transitive advisories without
  forcing astro's own vite 8 down

archiver 8 dropped its default export, so SKILL.zip.ts migrates to the
`ZipArchive` class (same instance API).

Adds an `npm run build` gate to CI: skill-validator only runs when skills
change, so dependency PRs previously passed CI without ever building the
site — the real build only ran post-merge in deploy-ic.yml.

Result: `npm audit` reports 0 vulnerabilities (was 10), `npm run build`
produces 30 pages with all 26 SKILL.zip files valid and llms.txt /
sitemap / .well-known/skills/index.json intact.
@marc0olo
marc0olo requested review from a team and JoshDFN as code owners August 4, 2026 12:15
…runtime)

The incremental npm install left the lockfile internally inconsistent: it
listed @img/sharp-wasm32 (which requires @emnapi/runtime/@emnapi/core via
the sharp 0.35.3 override) but omitted those packages, so npm ci failed on
Linux CI with 'Missing: @emnapi/runtime@1.11.3 from lock file'. Regenerated
from a clean install; npm ci, build, and audit (0 vulns) all pass.
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Skill Validation Report

No skill files were changed in this PR — validation skipped.

@marc0olo
marc0olo merged commit 3a02c91 into main Aug 4, 2026
6 checks passed
@marc0olo
marc0olo deleted the chore/consolidate-dep-upgrades branch August 4, 2026 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants