fix(deps): remove unused depcheck to unblock js-yaml security update#1020
Merged
Conversation
depcheck is declared as a dependency but is never imported in the codebase and is not invoked by any npm script. It is a CLI auditing tool meant to be run on demand (e.g. `npx depcheck`), not a runtime dependency. Its only effect here is harmful: depcheck@1.4.7 (its latest release) hard-pins js-yaml@^3.14.1 and still calls the removed safeLoad API, so it cannot move to js-yaml 4.x. This drags a vulnerable transitive js-yaml 3.x into the tree and makes the js-yaml prototype-pollution security advisory (only fixed in 4.2.0) unresolvable for Dependabot: security_update_not_possible: depcheck@1.4.7 requires js-yaml@^3.14.1 Removing depcheck prunes that subtree; the only remaining js-yaml is the direct devDependency at 4.2.0. No functional change. Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
phil-davis
approved these changes
Jun 16, 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.
Problem
The Dependabot security update job for
js-yamlfails withsecurity_update_not_possible:The js-yaml advisory (prototype pollution in the merge
<<operator) is only fixed in 4.2.0. We already depend onjs-yaml@^4.2.0directly, butdepcheckdrags a second, transitive, vulnerable js-yaml 3.x into the tree:depcheck@1.4.7is its latest release and hard-pinsjs-yaml@^3.14.1.jsYaml.safeLoad(...), an API removed in js-yaml 4, so it cannot be moved to 4.x.Why removing it is safe
depcheckappears only inpackage.json— it is neverrequire()d anywhere ingulpfile.jsortasks/, and no npm script (lint,preview,bundle) invokes it. It's a CLI auditing tool meant to be run on demand (npx depcheck), not a runtime/build dependency.Change
depcheckfromdependencies.package-lock.json(prunes the whole depcheck subtree).After the change the only
js-yamlin the lockfile is the direct devDependency at 4.2.0 — no 3.x remains. No functional change to the build.If depcheck's auditing is wanted in future, run it ad-hoc with
npx depcheck.🤖 Generated with Claude Code