Repository navigation
refactor: Remove unused dependency codecov and bump js-yaml from 3.14.0 to 3.15.2 - #233
Conversation
|
🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review. Tip
Note Please respond to review comments from AI agents just like you would to comments from a human reviewer. Let the reviewer resolve their own comments, unless they have reviewed and accepted your commit, or agreed with your explanation for why the feedback was incorrect. Caution Pull requests must be written using an AI agent with human supervision. Pull requests written entirely by a human will likely be rejected, because of lower code quality, higher review effort and the higher risk of introducing bugs. Please note that AI review comments on this pull request alone do not satisfy this requirement. Our CI and AI review are safeguards, not development tools. If many issues are flagged, rethink your development approach. Invest more effort in planning and design rather than using review cycles to fix low-quality code. |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Remove codecov and related lock entries package.json, package-lock.json |
Removes codecov from the development dependencies and removes associated package entries from the lockfile. |
Update the js-yaml lock entry package-lock.json |
Updates js-yaml from 3.14.0 to 3.15.2 and changes its resolved URL, integrity value, and license metadata. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Possibly related PRs
- parse-community/node-apn#231: PR
#231updates js-yaml 4.x copies and notes that codecov pins js-yaml 3.14.0; this pull request removes codecov and updates the remaining js-yaml 3.x lock entry.
Merge Risk: 
Minimal · up to 6bd96
-
The dependency cleanup is ready to merge with no identified current-head risk.
Pre-merge checks: 
6
-
Full details: Security Check
-
Explanation
The PR changes only dependency manifests. It removes
codecov3.8.1 and its vulnerable transitive dependency tree, including@tootallnate/once1.1.2. It updates the remainingjs-yaml3.x entry from 3.14.0 to 3.15.2 with a new registry integrity value. No source, workflow, or security-sensitive code changes were introduced. Existing unrelated vulnerable entries remain unchanged and are not caused by this PR.
Full details: Engage In Review Feedback
-
Explanation
PASS. The supplied current-review result contains zero actionable findings, and no CodeRabbit review threads were returned. Therefore, there is no review feedback that the pull request failed to engage with.
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #233 +/- ##
=======================================
Coverage 95.87% 95.87%
=======================================
Files 23 23
Lines 849 849
=======================================
Hits 814 814
Misses 35 35 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Security
This PR resolves six development alerts:
js-yaml>= 3.0.0, < 3.15.2js-yaml3.15.2js-yaml>= 3.0.0, < 3.15.1js-yaml3.15.2js-yaml>= 3.0.0, < 3.15.0js-yaml3.15.2js-yaml< 3.15.0js-yaml3.15.2js-yaml< 3.14.2js-yaml3.15.2@tootallnate/once< 2.0.1codecovcodecov3.8.1 was the only package that used@tootallnate/once1.1.2, throughteeny-request6.0.1 >http-proxy-agent4.0.1, which requires@tootallnate/once1. Removingcodecovremoves that copy.codecov3.8.1 also pinnedjs-yamlto exactly 3.14.0, which held the hoisted copy at that version. Its only other user isnyc>@istanbuljs/load-nyc-config1.1.0, which requires^3.13.1. With the pin gone, the second commit updates that copy to 3.15.2, the latest 3.x release. The otherjs-yamlcopies (4.3.2 and 5.5.0) aren't affected by these alerts.These development alerts stay open:
uuid< 11.1.1):node_modules/uuid3.4.0 is also required bynyc>istanbul-lib-processinfo2.0.2 as^3.3.3, so no version within range fixes it.undici< 6.29.1): they come fromundici6.29.0, which is bundled insidenpm11.21.1 through its bundlednode-gyp.@semantic-release/npm13.1.5 requiresnpm^11.6.2. A bundled copy can't be updated through the lock file, and 11.21.1 is the latest npm 11.x release.Why remove
codecovcodecov3.8.1 (November 2020) pins all of its dependencies to exact versions, and no fixed version will follow. Its final release, 3.8.3 (July 2021), is deprecated on npm in favor of Codecov's new uploader, and its repositorycodecov/codecov-nodeis archived.The package is also unused. No npm script, config file or workflow runs it. CI uploads coverage with the
codecov/codecov-action@v4GitHub Action in.github/workflows/ci.yml, which doesn't use this npm package.Changes
Commit 1: remove
codecovpackage.json: removes thecodecov(3.8.1) devDependency.package-lock.json: regenerated frommasterwithnpm uninstall codecov --ignore-scripts --package-lock-only. It removescodecovand the 15 packages that only it used:teeny-request6.0.1, withhttp-proxy-agent4.0.1 and@tootallnate/once1.1.2,https-proxy-agent4.0.0 with its nestedagent-base5.1.1,agent-base6.0.2,node-fetch2.6.7 withwhatwg-url5.0.0,tr460.0.3 andwebidl-conversions3.0.1, andstream-events1.0.5 withstubs3.0.0ignore-walk3.0.3urlgrey0.4.4argv0.0.2No other entry changes: no package is added, no version changes and no
devoroptionalflag changes.Commit 2: bump
js-yamlfrom 3.14.0 to 3.15.2package-lock.json:npm update js-yaml --ignore-scripts --package-lock-onlychanges only thenode_modules/js-yamlentry: its version,resolvedandintegrity, plus thelicensefield that npm now records. Its dependencies (argparse^1.0.7,esprima^4.0.0) and itsdevflag are unchanged.js-yamlchanges from 3.14.0 to 3.15.2, from the changelog on thev3branch and the published packages:load()through an anchor namedhasOwnProperty. An alias such as*hasOwnPropertynow resolves instead of throwing aTypeError.<<) (GHSA-mh29-5h37-fv8m). A__proto__key becomes an own property instead of setting the object's prototype.maxTotalMergeKeysloader option, default 10000, which limits the total number of keys that merges process in one load call (GHSA-h67p-54hq-rp68, GHSA-52cp-r559-cp3m). The limit also applies toload().!!omapduplicate key detection (GHSA-5p4m-2wfm-xmqj).maxTotalMergeKeysas well as each of its keys, so the 10000 limit applies to merged mappings and merged keys combined, and merges of empty mappings are bounded too (GHSA-2883-xcg3-v3hh). For example, 5001 merges of a one-key mapping now throw. A merge sequence is also limited to 100 entries. This is a hard limit thatmaxTotalMergeKeys: -1doesn't disable.Besides
lib/, the published package also changes the browser bundles indist/, the README andpackage.json(publishConfig.tagv3-legacy), and it no longer shipsCHANGELOG.md. None of these affect whatrequire('js-yaml')loads (index.jsandlib/).After both commits,
lockfileVersionstays 3,npm ls --all --package-lock-onlyreports no missing or invalid dependencies, as onmaster, andnpm audit --package-lock-onlyreports 12 vulnerable packages instead of 17.Compatibility
@istanbuljs/load-nyc-configcallsrequire('js-yaml').load(content)only for a.nycrc.ymlor.nycrc.yamlconfig file, including one reached throughextends. node-apn has no nyc config file and nonyckey inpackage.json;npm run coveragepasses its options on the command line. Sojs-yamlisn't loaded during the coverage run.load()was also compared between 3.14.0 and 3.15.2 on 32 inputs: a typical.nycrc.yml, anchors and merges,!!js/*,!!omapand other tags, and malformed input (bad or tab indentation, unclosed quotes, duplicate keys, unknown tags and aliases, null bytes, invalid escapes, multiple documents, deep nesting). 25 inputs give identical results. The 7 differences are the fixes listed above:__proto__keys, set directly or through a merge, become own properties instead of setting the prototype. This also lets!!omapaccept a__proto__key.hasOwnPropertyresolves instead of throwing aTypeError.Breaking Changes
None.
codecovandjs-yaml3.x are development-only dependencies and aren't part of the published package.Code Changes Required
None. No source, config or workflow file references the
codecovnpm package. The coverage upload in CI and the coverage badge in the README use the Codecov GitHub Action and service, not this package, and stay unchanged.Summary by CodeRabbit