Repository navigation
build(deps-dev): override vulnerable transitive dev dependencies - #217
Merged
Merged
Conversation
Pins tinypool to 2.1.2 (GHSA-5gmw-xhrv-c9v3, GHSA-85c8-ppgw-ccpr), raises vite to ^8.3.3, and refreshes the brace-expansion, fast-uri, js-yaml, source-map-js, postcss-selector-parser and moment overrides past their open advisories.
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.
Clears both critical advisories and 9 of the 10 high ones reported by
pnpm audit, along with 6 of the 9 moderate ones. Every affected package is a dev dependency. The productionmain.jsis byte-identical to a master build.Advisories fixed
Changes
tinypoolis pinned to exactly 2.1.2, following build(deps): pin tinypool and postcss-nested past open advisories quickadd#2241. oxfmt 0.52.0 pinstinypoolto=2.1.0, so this is the smallest move past both advisories.vitedevDependency floor is now^8.3.3.brace-expansion,fast-uriandjs-yamloverrides move up to the patched versions. New overrides in the same range-keyed style covermoment,postcss-selector-parserandsource-map-js.momentonly reaches the tree through theobsidiantype package. The plugin never imports it, and esbuild marksobsidianas external, so the override only affects type declarations. Typecheck passes against 2.31.0.Still open: vite-plus (1 high, 2 moderate)
vite-plus0.1.24 has GHSA-587h-7wmj-h5pm (high), GHSA-698v-4r3x-3vcv and GHSA-r825-w8mm-5pxw. All three are launch-editor issues that only affect Windows. The only fix is vite-plus >= 1.1.0, but obsidian-e2e (up to 0.13.0) declares the peer asvite-plus: ^0.1.11. vite-plus 1.x also brings vitest 5. MetaEdit never imports vite-plus. pnpm'sauto-install-peersinstalls it for obsidian-e2e, and only itsobsidian-e2e/matchersentry point uses it, which this repo doesn't import. Forcing 1.x here would break obsidian-e2e's declared contract. The fix belongs in obsidian-e2e: widen the peer range or make it optional.Verification
pnpm audit: was 2 critical / 10 high / 9 moderate, now 0 critical / 1 high / 2 moderate (only vite-plus is left)pnpm install --frozen-lockfile,pnpm run lint,pnpm run buildandpnpm run testall pass (19 files, 359 tests)main.jsis byte-identical to a build of masterobsidian-e2e --helpruns. The live Obsidian E2E suite was not run because no runtime code changed.Release impact
None. Only dev-dependency and lockfile changes, and the bundle is unchanged.
Note
Low Risk
Lockfile and devDependency-only security pins; production build is unchanged per PR verification.
Overview
Bumps dev-only dependencies and tightens pnpm overrides to clear most
pnpm auditfindings without changing the shipped plugin bundle.The direct vite floor moves from
^8.3.1to^8.3.3(lockfile resolves to 8.3.5), pulling in newer rolldown bindings. Override ranges are raised for brace-expansion, fast-uri, and js-yaml, and new overrides pin patched versions of moment, postcss-selector-parser, source-map-js, and tinypool (exact 2.1.2 for the oxfmt/vite-plus path).pnpm-lock.yamlreflects the transitive graph only—no runtime/source changes.vite-plus advisories remain because obsidian-e2e still peers on
^0.1.x; the PR description notes that as out of scope here.Reviewed by Cursor Bugbot for commit 94e24c0. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Override vulnerable transitive dev dependencies and bump Vite to 8.3.3
brace-expansion,fast-uri,js-yaml,moment,postcss-selector-parser,postcss,source-map-js, andtinypoolto pin vulnerable transitive dev dependencies to fixed versionspnpm installoutput differs for anyone not pulling the lockfileMacroscope summarized 94e24c0.