Repository navigation
refactor: Bump npm from 11.18.0 to 11.21.1, brace-expansion from 5.0.7 to 5.0.12 and @babel/core from 7.24.8 to 7.29.7 - #965
Conversation
…7 to 5.0.12 and @babel/core from 7.24.8 to 7.29.7
|
🚀 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. |
Security
This lock-file-only change updates three development dependencies to address open Dependabot alerts. It was generated with
npm update npm brace-expansion @babel/core --ignore-scripts --package-lock-only. npm prints "up to date", but the lock file changes.npm@semantic-release/npm13.1.5 (^11.6.2)brace-expansionminimatch10.2.5 (^5.0.5)@babel/coreistanbul-lib-instrument6.0.3 (vianyc)All three packages are development-only:
npm ls --omit=devdoes not list any of them.Most alerts concern copies bundled inside the npm tarball (
inBundleentries). Those copies can only change through an npm release, so npm itself is updated. The 13 bundled entries in the new lock file match the npm 11.21.1 tarball exactly.This change addresses these open alerts:
postcss-selector-parser(bundled in npm)>= 7.0.0, < 7.1.6undici(bundled in npm)< 6.28.1undici(bundled in npm)< 6.28.0undici(bundled in npm)< 6.28.0undici(bundled in npm)< 6.28.0http-cache-semantics(bundled in npm)<= 4.2.0ip-address(bundled in npm)<= 10.7.0ip-address(bundled in npm)<= 10.5.0ip-address(bundled in npm)>= 10.2.0, <= 10.5.0ip-address(bundled in npm)<= 10.3.0ip-address(bundled in npm)>= 10.1.1, <= 10.2.1ip-address(bundled in npm)>= 10.1.1, <= 10.2.0brace-expansion(top level and bundled in npm)>= 4.0.0, < 5.0.12@babel/core<= 7.29.0(first patched 7.29.6)Note on alert 460: GHSA-ch52-4w7c-c8xp is disputed and lists no patched version. The alert closes only because
http-cache-semantics4.3.0 is outside the listed range<= 4.2.0. No fix has been confirmed.This change also resolves these auto-dismissed alerts:
ip-addressGHSA-h3mg-xc3c-68pw,<= 10.7.0, bundled 10.7.2undiciGHSA-rfgv-xxqx-mfg5,>= 6.7.0, < 6.28.1, bundled 6.29.0undiciGHSA-3wwx-pv8p-q78v,>= 6.25.0, < 6.28.1, bundled 6.29.0brace-expansionGHSA-qhr7-859c-m2p7,>= 4.0.0, < 5.0.11, 5.0.12brace-expansionGHSA-6j4f-fj2g-mc7p,>= 4.0.0, < 5.0.10, 5.0.12brace-expansionGHSA-rgw5-rvv9-x895,>= 4.0.0, < 5.0.9, 5.0.12brace-expansionGHSA-mh99-v99m-4gvg,>= 4.0.0, < 5.0.8, 5.0.12These advisories still match after this change:
undiciGHSA-xjj6-f33q-929c, high,>= 6.23.0, < 6.29.1) and alert 471 (auto-dismissed,undiciGHSA-4qv8-2p9j-2685,>= 6.5.0, < 6.29.1).undici6.29.0 bundled in npm 11.21.1.undici6.29.1 or newer: 11.21.1 is the latest 11.x.^11.6.2range of@semantic-release/npm.undiciadvisories for< 6.29.1, published on 2026-10-27.undici6.29.0 just as they match the current 6.27.0, for the same reason.undici6.29.1 and the productionundici7.30.1 are outside their ranges.ip-addressGHSA-rxp7-6hxx-x8q5,<= 10.7.3).ip-address10.7.2 bundled in npm 11.21.1, the latest 11.x.ip-address10.7.4 is not affected.tarGHSA-r292-9mhp-454m,<= 7.5.20).tarmoves from 7.5.19 to 7.5.22.tar7.5.20 still matches. It is outside this change.Lock File Scope
Every changed, added or removed entry is inside the dependency tree of
npm,brace-expansionor@babel/core:npm11.18.0 → 11.21.1, and 13 entries bundled in it:undici6.27.0 → 6.29.0ip-address10.2.0 → 10.7.2http-cache-semantics4.2.0 → 4.3.0postcss-selector-parser7.1.4 → 7.1.6brace-expansion5.0.7 → 5.0.12tar7.5.19 → 7.5.22@npmcli/arborist9.9.0 → 9.9.3@npmcli/config10.12.0 → 10.14.0libnpmdiff8.1.11 → 8.1.14libnpmexec10.3.1 → 10.3.4libnpmfund7.0.25 → 7.0.28libnpmpack9.1.11 → 9.1.15libnpmpublish11.2.0 → 11.2.1brace-expansion(top level) 5.0.7 → 5.0.12.@babel/core7.24.8 → 7.29.7, with its own dependency tree:@babel/*packages move to 7.29.x.@jridgewell/gen-mapping0.3.13,@jridgewell/resolve-uri3.1.2,@jridgewell/sourcemap-codec1.6.0 and@jridgewell/trace-mapping0.3.31.@jridgewell/remapping2.3.5 replaces@ampproject/remapping.jsesc2.5.2 → 3.1.0, which@babel/generator7.29.8 requires.browserslist4.29.4 → 4.29.5,baseline-browser-mapping2.11.32 → 2.11.34 andelectron-to-chromium1.5.464 → 1.5.466.lru-cacheandyallistonly gain alicensefield.@jridgewell/set-arrayand a nestedglobals11.12.0.Usage in This Repository
npm@semantic-release/npmandnpmPublish: false. With that setting the plugin skips npm authentication, publishing and dist-tags.npm version <version> --no-git-tag-version --allow-same-versionin thepreparestep of a release. It is called throughexecawithpreferLocal, so it resolves tonode_modules/.bin/npm.npm version. No CI step and no npm script used in CI invokesnpm.brace-expansionminimatch10.2.5 by ESLint andtypescript-eslintin the Lint job, and byglob(jasmine) in the Tests job.nodemonandnyc(test-exclude) also load it.{a},b}rewrites. Above a cap, the expansion is truncated instead of exhausting memory, stack or CPU.minimatch10.2.5 (braceExpand,Minimatch#makeRe, and matching against project paths). The comparison covered 27 project patterns: ESLintfiles/ignoresand defaults, jasmine**/*[sS]pec.ts, nyc andtest-excludedefaults, and the nodemon extensions. It also covered 27 malformed inputs such as{a,b,a},{},{a},b}, escaped braces and invalid ranges.{a},b}rewrites, which took 9.5 s with 5.0.7 and 75 ms with 5.0.12.@babel/core@babel/coreand@babel/parserare only used byistanbul-lib-instrumentthroughnyc, which only runs in thecoveragescript. No workflow runs that script (CI runsnpm run lintandnpm test), so CI does not load them.@babel/code-frameis also loaded byparse-json(throughread-pkgandcosmiconfig) in the release job, where it only formats JSON parse errors.brace-expansion5.0.8 and later declareengines.nodeas20 || >=22, while this repository'sengines.nodestill includes Node 18.20.4.enginesranges ofnpm11 (^20.17.0 || >=22.9.0) and@babel/core(>=6.9.0) are unchanged.Changes
npm11.18.0 → 11.21.1 (including the bundled@npmcli/arborist,@npmcli/config,libnpmpackandlibnpmpublishreleases):install-scripts: use install-scripts as the warning log title (feat(install-scripts): use install-scripts as the warning log title (backport to v11) npm/cli#9698)pack: honormin-release-age-exclude(fix(pack): honor min-release-age-exclude npm/cli#9811)owner: use the scoped registry for user lookup (fix(owner): use scoped registry for user lookup npm/cli#9810)@npmcli/arborist9.9.1: avoid a crash when peer back-off detaches a node (fix(arborist): avoid crash when peer back-off detaches a node npm/cli#9808), and allow audit fix to install safe downgrades (fix(arborist): allow audit fix to install safe downgrades npm/cli#9791)allow-directory(fix: exempt explicit pack targets from allow-directory npm/cli#9916)undici6.28.0,ip-address10.5.0,brace-expansion5.0.9 andtar7.5.22token: support read-write-stage-only granular access tokens (feat(token): support read-write-stage-only granular access tokens npm/cli#9994)stage: display staged package status (feat(stage): display staged package status npm/cli#9920)provenance-filetakes precedence over OIDC auto-generated provenance (fix: provenance-file takes precedence over OIDC auto-generated provenance npm/cli#9947)config: avoid exporting persistentallow-scripts(fix(config): avoid exporting persistent allow-scripts npm/cli#9937)@npmcli/arborist9.9.2: reject uninstall args that carry a version (fix(arborist): reject uninstall args that carry a version npm/cli#9930), matchallowScriptskeys for local paths (fix(arborist): match allowScripts keys for local paths npm/cli#9929), and do not fetch packuments for uninstallable optional peer dependencies (fix(arborist): don't fetch packuments for uninstallable optional peer deps npm/cli#9903)dist-tag: support OIDC authentication (feat(dist-tag): support OIDC authentication npm/cli#10056)npm stageallowScriptskeys underinstall-strategy=linked(fix: write registry allowScripts keys under install-strategy=linked npm/cli#10059)@npmcli/arborist9.9.3: reportETARGETinstead ofERESOLVEfor unresolvable peer targets (fix(arborist): report ETARGET instead of ERESOLVE for unresolvable peer targets npm/cli#10118)http-cache-semantics4.3.0,undici6.29.0,postcss-selector-parser7.1.6,ip-address10.7.2 andbrace-expansion5.0.12brace-expansion5.0.7 → 5.0.12:parseCommaParts(GHSA-6j4f-fj2g-mc7p).{a},b}rewrite (GHSA-q2hr-2g5m-vwhr).@babel/core7.24.8 → 7.29.7:sourceMappingURLcomment) is "Improve input source map handling" in 7.29.6 ([7.x packport]Improve input source map handling babel/babel#18001).@babel/core:@babel/generator7.29.8,@babel/traverseand@babel/helpers7.29.10, and@babel/parser,@babel/typesand@babel/helper-string-parser7.29.11. Their release notes up to 7.29.11 are included below.Babel 7.24.9 to 7.29.11 entries for the installed packages
require()call in@babel/standalonebundle (Avoidrequire()call in@babel/standalonebundle babel/babel#16639;@babel/core)@babel/types)as/satisfies(Avoid extra parens in TSas/satisfiesbabel/babel#16617;@babel/generator)as/satisfies(Fix parens detection for object&function inas/satisfiesbabel/babel#16648;@babel/generator)await usingnormative updates (await usingnormative updates babel/babel#16537;@babel/helpers)ensureFunctionNametoNodePath.prototype(MoveensureFunctionNametoNodePath.prototypebabel/babel#16658;@babel/traverse,@babel/types)hoistVariablestoScope.prototype(MovehoistVariablestoScope.prototypebabel/babel#16644;@babel/traverse)splitExportDeclarationtoNodePath.prototype(MovesplitExportDeclarationtoNodePath.prototypebabel/babel#16645;@babel/helper-module-transforms,@babel/traverse,@babel/types)environment-visitorhelper into@babel/traverse(Moveenvironment-visitorhelper into@babel/traversebabel/babel#16649;@babel/helper-module-transforms,@babel/traverse).extra.async(Expose wether a module has TLA or not as.extra.asyncbabel/babel#16480;@babel/core,@babel/parser)bugfix-safari-class-field-initializer-scope(Introducebugfix-safari-class-field-initializer-scopebabel/babel#16569;@babel/compat-data)NodePath#getAssignmentIdentifiers(AddNodePath#getAssignmentIdentifiersbabel/babel#16551;@babel/traverse,@babel/types)duplicate-named-capturing-groups-regextopreset-env(Addduplicate-named-capturing-groups-regextopreset-envbabel/babel#16445;@babel/compat-data)@babel/generator)@babel/template,@babel/types)@babel/parser)super.xoutput (Improvesuper.xoutput babel/babel#16374;@babel/helpers)@babel/traverse)requeueComputedKeyAndDecoratorsis available (Ensure thatrequeueComputedKeyAndDecoratorsis available babel/babel#16695;@babel/core,@babel/traverse)traverse.visitors.merge(Avoid validating visitors produced bytraverse.visitors.mergebabel/babel#16699;@babel/traverse)@babel/traverse)@babel/types)export namespace as A(Print semicolon after TSexport namespace as Ababel/babel#16709;@babel/generator)@babel/generator,@babel/traverse)@babel/generator)@babel/generator)@babel/generator)@babel/generator,@babel/traverse)satisfies's LHS if it has newlines (Only force-parenthesizesatisfies's LHS if it has newlines babel/babel#16738;@babel/generator)@babel/generator)@babel/generator)path.getAssignmentIdentifiersmay beundefined(fix:path.getAssignmentIdentifiersmay beundefinedbabel/babel#16727;@babel/traverse)@babel/parser)superPropertyGethelper (Only wrap functions insuperPropertyGethelper babel/babel#16769;@babel/helpers)(and comments (Do not enforce printing space between(and comments babel/babel#16780;@babel/generator)@babel/generator)@babel/helper-validator-identifier)@babel/traverse)inferin compact mode (Fix printing of TSinferin compact mode babel/babel#16788;@babel/generator)@babel/generator)[no LineTerminator here]after nodes (Respect[no LineTerminator here]after nodes babel/babel#16778;@babel/generator)@babel/types)@babel/typesbuilders (perf: Improve @babel/types builders babel/babel#16842;@babel/types)BABEL_TYPES_8_BREAKINGat startup (Only accessBABEL_TYPES_8_BREAKINGat startup babel/babel#16828;@babel/types)resolvePlugin/resolvePreset(Restore public API ofresolvePlugin/resolvePresetbabel/babel#16888;@babel/core)syntacticPlaceholdersmode (fix: Keep type annotations insyntacticPlaceholdersmode babel/babel#16905;@babel/parser,@babel/template,@babel/types)@babel/helper-compilation-targets)VISITOR_KEYSetc. faster to access (perf: MakeVISITOR_KEYSetc. faster to access babel/babel#16918;@babel/parser,@babel/types)@babel/core,@babel/generator,@babel/parser,@babel/types)@babel/core)transform-regexp-modifierstopreset-env(Addtransform-regexp-modifierstopreset-envbabel/babel#16692;@babel/compat-data)startIndexparser option (feat: addstartIndexparser option babel/babel#16849;@babel/parser)@babel/generator,@babel/parser)import()inrewriteImportExtensions(Supportimport()inrewriteImportExtensionsbabel/babel#16794;@babel/helpers)@babel/generator(Add experimental format-preserving mode to@babel/generatorbabel/babel#16708;@babel/generator,@babel/parser)@babel/core)@babel/core)@babel/helper-module-transforms)@babel/parser)@babel/parser)@babel/parser)@babel/generator)@babel/generator)@babel/generator)@babel/traverse)@babel/traverse)@babel/traverse)import.defer()form ofimport defer(Allow the dynamicimport.defer()form ofimport deferbabel/babel#17011;@babel/parser)@babel/parser)@(a.b)()(fix: Correctly set position for@(a.b)()babel/babel#17013;@babel/parser)@babel/parser)@babel/generator,@babel/parser,@babel/types)transform-typeof-symbolcompat data (fix: More accuratetransform-typeof-symbolcompat data babel/babel#17031;@babel/compat-data)@babel/generator,@babel/parser,@babel/types)@babel/helpers)rangesoption in estree method value (Respectrangesoption in estree method value babel/babel#17079;@babel/parser)@babel/core)import x = y.z(fix: Remove type-onlyimport x = y.zbabel/babel#17025;@babel/traverse,@babel/types)TSPropertySignature.kind(fix: Definition forTSPropertySignature.kindbabel/babel#17103;@babel/types)@babel/generator,@babel/types)@babel/parser)@babel/parser,@babel/template)@babel/core)@babel/parser)@babel/traverse)abstract override(fix: Correctly generateabstract overridebabel/babel#17153;@babel/generator)@babel/parser)@babel/helpers)importAttributesKeywordtowith(DefaultimportAttributesKeywordtowithbabel/babel#16977;@babel/generator,@babel/parser)traverseFastto exit early (AllowtraverseFastto exit early babel/babel#17169;@babel/traverse,@babel/types)ImportAttributestoStandardizedand move its parser test fixtures (AddImportAttributestoStandardizedand move its parser test fixtures babel/babel#17110;@babel/parser,@babel/types)@babel/generator)allowYieldOutsideFunctionto parser (AddallowYieldOutsideFunctionto parser babel/babel#17149;@babel/parser,@babel/template)upToScopeparameter tohasBinding(feat: AddupToScopeparameter tohasBindingbabel/babel#17102;@babel/traverse)@babel/parser)@babel/types)scope.crawl()(fix: Reset child scopes whenscope.crawl()babel/babel#17170;@babel/traverse)rewriteRelativeImportExtensions(Fix: align behaviour to tscrewriteRelativeImportExtensionsbabel/babel#17118;@babel/helpers)@babel/types)@babel/types(perf: Improve builders of@babel/typesbabel/babel#16870;@babel/types)using ofas lexical declaration within for (Allowusing ofas lexical declaration within for babel/babel#17254;@babel/parser)@babel/parser)@babel/parser,@babel/types)@babel/traverse)@babel/parser)@babel/generator,@babel/parser)@babel/parser)@babel/parser)@babel/compat-data)@babel/traverse)@babel/generator)@babel/traverse)interopRequireWildcardsize (ReduceinteropRequireWildcardsize babel/babel#16538;@babel/helpers)regeneratorRuntimesize (ReduceregeneratorRuntimesize babel/babel#17213;@babel/helpers)@babel/parser/bin/index.jscontainsnode:protocol require (fix:@babel/parser/bin/index.jscontainsnode:protocol require babel/babel#17289;@babel/parser)@babel/parser)@babel/template)@babel/generator).displayNameonGeneratorFunction(Correctly set.displayNameonGeneratorFunctionbabel/babel#17328;@babel/helpers)abstractmodifiers in class declaration to expression conversion (fix(converter): Removeabstractmodifiers in class declaration to expression conversion babel/babel#17321;@babel/types)@babel/helper-module-transforms)@babel/parser)@babel/parser)@babel/generator,@babel/parser)@babel/parser)@babel/parser)regeneratorsize more (Reduceregeneratorsize more babel/babel#17287;@babel/helpers)@babel/helpers)regeneratorhelper size (Reduceregeneratorhelper size babel/babel#17268;@babel/helpers)regeneratorRuntimeinto multiple helpers (SplitregeneratorRuntimeinto multiple helpers babel/babel#17238;@babel/core,@babel/helpers)@babel/parser)finallycauses unexpected return value (fix:finallycauses unexpected return value babel/babel#17366;@babel/helpers)@babel/generator,@babel/parser,@babel/types)allow*options as top level only (Interepret parserallow*options as top level only babel/babel#17203;@babel/parser)@babel/parser)@babel/core)@babel/types)@babel/types)@babel/compat-data)sourceType: "commonjs"(SupportsourceType: "commonjs"babel/babel#17390;@babel/core,@babel/parser)explicitResourceManagementparser plugin (MaterializeexplicitResourceManagementparser plugin babel/babel#17346;@babel/generator,@babel/parser)@babel/traverse,@babel/types)t.bigIntLiteralfactory (Accept bigints int.bigIntLiteralfactory babel/babel#17378;@babel/parser,@babel/traverse,@babel/types)@babel/generator,@babel/types)@babel/generator,@babel/parser,@babel/traverse,@babel/types)@babel/helper-globals,@babel/traverse)@babel/types)@babel/types)operatorparam int.tsTypeOperatoroptional ([babel 7] Makeoperatorparam int.tsTypeOperatoroptional babel/babel#17445;@babel/types)regeneratorDefinecompatibility with es5 strict mode (fix:regeneratorDefinecompatibility with es5 strict mode babel/babel#17441;@babel/helpers)import("./a", {with:{},})(fix(parser/typescript): parseimport("./a", {with:{},})babel/babel#17465;@babel/parser)@babel/parser)Runtime Errors for Function Call Assignment Targets(AllowRuntime Errors for Function Call Assignment Targetsbabel/babel#17446;@babel/parser)@babel/helper-validator-identifier)@babel/parsererror typing (Improve@babel/parsererror typing babel/babel#17521;@babel/parser)@babel/parser)JSXIdentifierhandling inisReferencedIdentifier(FixJSXIdentifierhandling inisReferencedIdentifierbabel/babel#17503;@babel/traverse,@babel/types)@babel/traverse)buildCodeFrameError(Faster finding of locations inbuildCodeFrameErrorbabel/babel#17490;@babel/core)@babel/code-frame,@babel/core,@babel/traverse,@babel/types)@babel/core)@babel/types)extendsclause (fix(parser): correctly parse type assertions inextendsclause babel/babel#17765;@babel/parser)@babel/parser)@babel/traverse)@babel/traverse)@babel/generator)@babel/generator)@babel/parser)@babel/helpers)@babel/parser)@babel/compat-data)@babel/parser)@babel/generator)@babel/core)@babel/core,@babel/generator)@babel/generator,@babel/parser,@babel/traverse,@babel/types)supercall afternew(Disallow super call after new babel/babel#17871)newcallees in the generator@babel/parser)@babel/traverse,@babel/helpers)path.evaluateno longer evaluates destructured bindings (fix(traverse): do not evaluate destructured bindings inpath.evaluatebabel/babel#18281)@@toPrimitiveusage in thetoPrimitivehelperinteropRequireWildcardhelper@babel/parser,@babel/types)evalandargumentsas class names,const xfollowed by a line break andof, named specifiers after* as ns,delete (x)withcreateParenthesizedExpressions: true, and call expressions as arrow function parameters in sloppy mode/=regex, ASI afterexport default fromwithoutexportDefaultFrom, ASI between a property initializer and an escapedin,argumentsas a label in a class, skipping HTML-like comments in the character lookahead, and registering the function id of labeled function declarations@babel/typesvisits the decorators ofTSParameterPropertyBreaking Changes
None
Code Changes Required
None. Only
package-lock.jsonchanges;package.jsonand the code are unchanged.Summary by CodeRabbit