Repository navigation
Conversation
Upgrade vite to 8.3.8, the tiptap packages to 3.33.1 so happy-dom resolves to 21.0.4, refresh source-map-js to 1.2.2 and override minimatch to 11 under eslint and typescript-eslint.
Posts stamped published_at and their other timestamps from the real clock while subscribers and the digest ran on an injected one, so the digest spec failed once the real date passed its fixed window. createPosts now takes now like the rest of the server code and the spec passes its clock through.
… dev On a cold Vite cache the editor's dependencies were only discovered when the post editor was first opened. Vite then re-optimised and reloaded the page, which dropped focus and keystrokes for anyone already typing. React Router's dependency optimisation scans the routes at startup, so nothing is discovered late.
This was referenced Nov 12, 2026
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 all 10 open Dependabot alerts on
site/package-lock.json.Alerts
vite(direct)viterange raised from^8.0.16to^8.3.8. Same major;@react-router/dev8.5.1 accepts^7.0.0 || ^8.0.0.happy-dom(via@tiptap/html)@tiptap/html3.31.4 only allowshappy-dom ^20.8.9; 3.33.x allows^21.0.4. Tiptap pins@tiptap/coreand@tiptap/pmas exact peers, so the 18 pinned@tiptap/*packages move together from 3.31.4 to 3.33.1.minimatch(viaeslint,@eslint/config-array,@typescript-eslint/typescript-estree)eslint10.14.0 still requires^10.2.6), sooverridesscoped toeslintandtypescript-eslint.source-map-js(viapostcss,@tailwindcss/node)Notes on the upgrades
rolldown1.2.8 to 1.2.19 andpostcss8.5.28 to 8.5.32.server/render.tsonly usesgenerateHTML, which loads neither.@tiptap/extension-collaboration3.33.0 changes behaviour only whenenableContentCheckis set, whichPostEditor.tsxdoes not set.@tiptap/y-tiptapstays at 3.0.9: it satisfies the^3.0.7peer range, and 3.2.0 changes how collaborative documents store position data, which does not belong in a security fix.makeRe(),Minimatch#regexpand theASTclass. The three consumers only callnew Minimatch(...).match()andminimatch(). This is the conflict that made the Dependabot security update forminimatchfail: its only update path downgraded@eslint/jsfrom 10.0.1 to 9.39.5.The overrides can be removed once
eslintandtypescript-eslintacceptminimatch11.Checks
npm ci,npm run typecheck,npx eslint .,npx prettier --check .,npm run build,npm run size(every page within 150 KB)server/live-audit.test.ts,server/share.test.ts,server/addresses.test.ts,server/posts.test.ts(covers the happy-dom path inserver/render.ts): 23 tests passSupersedes
#22, #27 and #42. #31 and #43 are the weekly grouped updates and stay open.
Also in this PR
fix(posts): stamp posts from an injectable clock:server/subscribers.test.ts:280(digest) has failed on every branch since 2026-11-09T12:01Z,mainincluded. The spec fixes its clock at 2026-11-06 whileserver/posts.tsstampedpublished_atfrom the real clock, so the posts fell outside the digest window.createPostsnow takesnowlikecreateSubscribers, and the spec passes its clock through. Expectations are unchanged.fix(editor): pre-bundle dependencies so the editor does not reload in dev: on a cold Vite cache, the editor's dependencies were discovered only when the post editor first opened; Vite re-optimised and reloaded the page, dropping focus and keystrokes.react-router.config.tsturns onfuture.unstable_optimizeDeps, so the routes are scanned at startup. Development only; the production build has no optimiser.