chore: dependency maintenance and Dependabot config (1.0.1) - #1
Merged
Conversation
Clears 34 of the 36 open Dependabot advisories, all within the semver ranges already declared in package.json: hono 4.12.9 -> 4.12.33 (23 advisories, 1 high) basic-ftp 5.2.0 -> 5.3.1 (4 advisories, all high) ws 8.20.0 -> 8.21.1 (2 advisories, 1 high) js-yaml 4.1.1 -> 4.3.1 (2 advisories, 1 high) @hono/node-server 1.19.11 -> 1.19.17 (1 advisory) ip-address 10.1.0 -> 10.4.0 (1 advisory) esbuild 0.27.4 -> 0.28.1 (1 advisory) Only the two @hono/node-server advisories below 2.0.5 remain open. Both describe a path traversal in serve-static that requires a Windows host, and closing them means a major upgrade to 2.x. Crewfest is deployed as a Linux container, so that upgrade is deferred rather than rushed. The update carries Puppeteer from 24.40.0 to 24.43.1, which removed the networkidle values from the waitUntil union of setContent. src/services/ pdf.ts now waits for 'load' instead. Every PDF template renders from a self-contained HTML string with inline styles and no external assets, so there was never any network activity to idle on. Verified locally: npm run build and tsc --noEmit both pass, and npm audit reports only the deferred @hono/node-server advisory. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Security alerts were already on, but without this config nothing opened a pull request, so the advisories sat untouched from the day the repository was published until they were found by hand. Minor and patch updates are grouped into one pull request per ecosystem per month, which keeps a best effort repository reviewable. Security updates ignore the schedule and still arrive as soon as an advisory is published. CI builds every pull request and runs the end to end smoke test with a real Puppeteer PDF export, so a dependency bump that breaks the app fails before anyone can merge it. 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.
Closes the dependency backlog that had built up since the initial public release, and sets things up so it does not build up again.
What this does
34 of 36 open Dependabot advisories are cleared by an in-range
npm update. No package.json range was widened, so nothing here is a breaking upgrade:One code change was required. The update carries Puppeteer from 24.40.0 to 24.43.1, which removed the
networkidlevalues from thewaitUntilunion ofsetContent.src/services/pdf.tsnow waits for'load'. That is safe here: all three templates insrc/views/pdf-*.tsrender a self-contained HTML string with inline styles and no external images, stylesheets or fonts, so there is no network activity to idle on. Without this change the build fails on a type error..github/dependabot.ymlis new. Security alerts were already enabled, but nothing was opening pull requests, which is why the advisories sat untouched. Minor and patch updates are now grouped into one PR per ecosystem per month. Security updates ignore that schedule and arrive immediately.What is deliberately left open
Two
@hono/node-serveradvisories below 2.0.5, both describing a path traversal inserve-staticthat requires a Windows host.serveStaticis genuinely used (src/app.ts:33), but Crewfest is deployed as a Linux container, and closing these means a major upgrade to 2.x. That belongs in its own PR with its own testing.For the record on the highs that are now closed: the hono CORS advisory never applied, because no CORS middleware is used anywhere in the codebase. The basic-ftp, ws and js-yaml advisories are all transitive under Puppeteer and would need a hostile FTP proxy or WebSocket peer to trigger. They were noise, but 36 red alerts on a public repository are their own kind of problem.
Verification
Locally:
npm run buildandnpx tsc --noEmitboth pass,npm auditreports only the deferred advisory above. CI covers the rest, including a real PDF export through Puppeteer, which is the part this PR actually touches.🤖 Generated with Claude Code