chore(deps): update all dependencies to latest and fix GitHub Actions drift - #19
Merged
Conversation
Resolves three security advisories reported for package-lock.json, and brings every remaining dependency to its latest version. Vulnerabilities (all fixed by a lockfile refresh — the patched versions already satisfied the existing ranges, so no manifest change was needed): picomatch 2.3.1 -> 2.3.2 (nested under @prefresh/vite) @babel/core 7.29.0 -> 7.29.7 postcss 8.5.15 -> 8.5.25 Other updates: preact 10.29.8, preact-iso 2.12.1, preact-render-to-string 6.7.0, @preact/preset-vite 2.10.6, vite 8.2.0, biome 2.5.7, baseline-browser-mapping 2.11.12, typescript 7.0.2. TypeScript 5.9 -> 7.0 (the native port) needed no tsconfig.json changes: nothing here uses the compiler API — which 7.0 drops until 7.1 — and no removed option or changed default applies. tsc --noEmit passes clean. Biome 2.5 deprecated linter.rules.recommended, so biome.json is migrated to the equivalent "preset": "recommended" via `biome migrate`. Every GitHub Action was a full major behind, because Dependabot without a config file only opens security PRs. Bump all five and add .github/dependabot.yml so both npm and github-actions get weekly version updates and this stops recurring. Also: `npm run format` never actually formatted (biome format without --write only checks), and package.json's "main" pointed at a file that does not exist. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Resolves the three security advisories from the GitHub alert digest, and brings every remaining dependency to its latest version.
Security advisories
All three are fixed by a lockfile refresh alone — the patched versions already satisfied the existing ranges, so no manifest change was required for them.
picomatch(nested under@prefresh/vite)@babel/corepostcssnpm auditnow reports 0 vulnerabilities,npm outdatedis empty.Dependency updates
preact 10.29.8 · preact-iso 2.12.1 · preact-render-to-string 6.7.0 · @preact/preset-vite 2.10.6 · vite 8.2.0 · biome 2.5.7 · baseline-browser-mapping 2.11.12 · typescript 7.0.2
TypeScript 5.9 → 7.0
The major is the native (Go) compiler port. Verified safe here before bumping —
tsconfig.jsonis unchanged andtsc --noEmitpasses clean:typescript, and no package in the tree depends on it —tsc --noEmitis the only consumer.targetisES2022,moduleESNext,moduleResolutionbundler; nobaseUrl,downlevelIteration, namespaces, enums, decorators, or import assertions.strictandnoUncheckedSideEffectImportswere already explicitlytrue;rootDiris moot undernoEmit; the newtypes: []default is moot as there are no@types/*direct deps, triple-slash refs, orimport.meta.envusage.Biome 2.4 → 2.5
2.5 deprecated
linter.rules.recommended. Migrated viabiome migrateto the equivalent"preset": "recommended". Confirmed the active rule set is unchanged — both a preset rule (noDoubleEquals) and the explicitnoConsoleoverride still fire.GitHub Actions — all five were a full major behind
actions/checkoutactions/setup-nodeactions/configure-pagesactions/upload-pages-artifactactions/deploy-pagesRelease notes reviewed: these majors are runner-runtime bumps (Node 24) and internal dependency updates — no input/output changes affecting our usage, which is only
node-versionandpath.upload-pages-artifactv5 anddeploy-pagesv5 are a matched pair, keeping the Pages artifact format aligned.Root cause: Dependabot without a config file only opens security PRs — version updates and the
github-actionsecosystem both require.github/dependabot.yml. That's why the npm CVEs reached us as a digest email while the Actions drift stayed invisible. This PR adds that config (weekly, npm + github-actions, minor/patch grouped into one PR so majors stay reviewable).Drive-by fixes
npm run formatnever formatted.biome formatwithout--writeonly checks — verified by running it against a deliberately misformatted file and seeing no change. Nowbiome format --write.lintstays check-only for CI.package.json: removed"main": "index.js"(that file does not exist), added"private": true, filled in the emptydescription.Verification
npm ci,npm test(lint + typecheck),npm run build— all exit 0npm audit— 0 vulnerabilities;npm outdated— emptyAlbert|NULL,Elizabeth|NULL,NULL|Rugby; ANTI yields only the two NULL rows.is-null/is-not-selectedhighlighting intact.ModalAdd: adding a like for Albert putAlbert|Chessin the result and droppedis-not-selected3→2.light→dark→systemand persists./and the five non-English locale chunks split correctly, witheninlined inmainand not duplicated.Reviewer note
test.ymlruns on this PR, socheckout@v7andsetup-node@v7are proven by CI here. The three Pages actions only run on push tomainand cannot be verified until merge — if the deploy fails afterwards, those are the suspects, and revertingstatic.ymlalone restores the previous deploy path.🤖 Generated with Claude Code