Repository navigation
fix: bump yeoman-environment ^4 -> ^6 to clear tar CRITICAL (GHSA-23hp-3jrh-7fpw) - #938
Merged
AnujVishwakarma-src merged 1 commit intoSep 25, 2026
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…p-3jrh-7fpw) tar@6.2.1 (the lone CRITICAL advisory, node-tar DoS, patched >=7.5.19) remained in the prod tree via yeoman-environment@4.4.3 -> node-gyp@10 -> tar@6.2.1. Bumping yeoman-environment to ^6 pulls node-gyp@12 -> tar@7.5.22 (patched), removing the advisory (npm audit critical 1 -> 0). yeoman-environment@6 requires Node >=20.17.0 (its floor is ^20.17.0 || >=22.9.0), so engines.node is raised from >=20.5.0 to >=20.17.0 to reflect the real minimum while keeping Node 20/21/22/24 working. The env API used here (createEnv/instantiate/runGenerator) is unchanged.
AnujVishwakarma-src
force-pushed
the
APPBLD-5140-yeoman-env-tar
branch
from
September 25, 2026 05:34
7a613e0 to
f9d499c
Compare
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
tar@6.2.1— fixing CRITICAL advisory in the aio-cli tree (GHSA-23hp-3jrh-7fpw, node-tar decompression/parse DoS, patched at>=7.5.19) — remains in this plugin's production dependency tree via:The generator ESM migration (yeoman-generator v7) cleared the generator-side tar chain, but
yeoman-environmentis a separate direct prod dependency and was untouched — so this is the sole remaining source.Fix
Bump
yeoman-environment^4.4.3 -> ^6.3.0. v6 pullsnode-gyp@12 -> tar@7.5.22(patched), removingtar@6.2.1.yeoman-environment@6requires Node^20.17.0 || >=22.9.0, soengines.nodeis raised from>=20.5.0to match. This keeps Node 20/22/24 support (v6 was chosen over v7 specifically because v7 drops Node 20). The env API used here —createEnv/env.instantiate/env.runGenerator— is unchanged between v4 and v6, andsrc/lib/create-yeoman-environment.jsalready loads it via dynamicimport().Validation
npm auditcritical: 1 -> 0 (tar@6.2.1gone; tree now resolvestar@7.5.22, patched).createEnv/instantiate/runGeneratorpresent in v6.aio-cli 11.1.4, Node 26):aio app init,aio app add ci,aio app delete ciall run their generators end-to-end viayeoman-environment@6(createEnv -> instantiate -> runGenerator).Sequenced after #937 (ESM generator loads), per APPBLD-5140.
Node version compatibility (empirically tested 2026-09-24)
yeoman-environment@6's own engines are^20.17.0 || >=22.9.0, which technically excludes Node 21.x and 22.0–22.8. To confirm this is advisory-only (EBADENGINE), not a runtime break,aio app init(full generator fleet viayeoman-environment@6→createEnv/instantiate/runGenerator) was run on standalone Node binaries:aio app initE2EConclusion: nothing breaks on Node 21 or 22.0–22.8 — the CLI runs;
EBADENGINEis only an advisory warning there. Those versions are non-LTS or superseded pre-LTS releases anyway; the epic's target LTS lines (20 @ ≥20.17, 22 @ ≥22.9/LTS 22.11, 24) are fully supported.engines.node =
>=20.17.0(not^20.17.0 || >=22.9.0):>=20.17.0is the real minimum (below whichyeoman-environment@6won't install cleanly) and it covers Node 21 / 22.0–22.8 too — so plugin-app does not add self-inflicted EBADENGINE warnings on versions where the code demonstrably works.