Skip to content

Alternative: override debug-fabulous + es5-ext to eliminate quarantined dependency#315067

Closed
jiridanek wants to merge 1 commit intomicrosoft:mainfrom
jiridanek:fix/override-debug-fabulous-drop-es5ext
Closed

Alternative: override debug-fabulous + es5-ext to eliminate quarantined dependency#315067
jiridanek wants to merge 1 commit intomicrosoft:mainfrom
jiridanek:fix/override-debug-fabulous-drop-es5ext

Conversation

@jiridanek
Copy link
Copy Markdown
Contributor

Summary

Alternative to #315063 — instead of only aliasing es5-ext, this PR also upgrades debug-fabulous to v2.0.69 which dropped the memoizee dependency that was the main consumer of es5-ext in the build tooling chain.

Two overrides:

  1. "debug-fabulous": "^2.0.69" — this version (published today) removed memoizee as a dependency, completely eliminating es5-ext from the gulp-sourcemapsdebug-fabulousmemoizeees5-ext chain. The entire d/es6-*/esniff/timers-ext/lru-queue family is removed from the dependency tree.

  2. "es5-ext": "npm:@unes/es5-ext@0.10.64-1" — still needed for the remaining production path: @microsoft/dev-tunnels-connectionses5-ext + websocketes5-ext. Uses a community fork without the postinstall script.

Why this may be preferred over #315063: The debug-fabulous override removes es5-ext from the build tooling tree entirely rather than aliasing it. Fewer transitive dependencies overall.

Fixes #310541

References

Made with Cursor

debug-fabulous@2.0.69 dropped the memoizee dependency that pulled in
es5-ext through the build tooling chain (gulp-sourcemaps). This
eliminates es5-ext from devDependencies entirely.

For the remaining production path (@microsoft/dev-tunnels-connections
→ websocket → es5-ext), override es5-ext with @unes/es5-ext@0.10.64-1,
a community fork without the postinstall script.

es5-ext is quarantined by Nexus Firewall (sonatype-2022-2248) due to
undisclosed postinstall code execution.

Fixes microsoft#310541

Co-authored-by: Cursor <cursoragent@cursor.com>
Copilot AI review requested due to automatic review settings May 7, 2026 18:11
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts the root npm dependency resolution to reduce exposure to the quarantined es5-ext package by (1) overriding debug-fabulous to a newer release that drops the memoizee -> es5-ext toolchain path, and (2) overriding remaining es5-ext uses to the @unes/es5-ext fork.

Changes:

  • Add npm overrides for debug-fabulous@^2.0.69 and es5-extnpm:@unes/es5-ext@0.10.64-1.
  • Update package-lock.json to reflect the new resolution: remove memoizee (and related transitive deps) and rewrite es5-ext occurrences to @unes/es5-ext.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.

File Description
package.json Adds dependency overrides for debug-fabulous and es5-ext to alter the transitive dependency graph.
package-lock.json Updates the resolved dependency tree to reflect the new overrides (including removing memoizee and swapping es5-ext to @unes/es5-ext).

Comment thread package.json
"node-addon-api": "7.1.0"
},
"serialize-javascript": "^7.0.3",
"debug-fabulous": "^2.0.69",
@jiridanek
Copy link
Copy Markdown
Contributor Author

Closing in favor of #315063, which now uses the simpler .moduleignore approach as suggested by @connor4312. That strips es5-ext from the build output entirely without changing the dependency tree or risking semver breakage from the debug-fabulous major version override (valid concern from Copilot's review).

@jiridanek jiridanek closed this May 7, 2026
@jiridanek jiridanek deleted the fix/override-debug-fabulous-drop-es5ext branch May 8, 2026 09:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Infected by JS.Siggen5.44590

3 participants