Skip to content

Update parent test dependencies for security fixes - #746

Merged
Bill Schnurr (bschnurr) merged 7 commits into
mainfrom
security/npm-parent-upgrades
Sep 24, 2026
Merged

Bill Schnurr (bschnurr) merged 7 commits into
mainfrom
security/npm-parent-upgrades

Conversation

@bschnurr

Copy link
Copy Markdown
Member

Summary

Updates the parent test dependencies that retain vulnerable transitive packages:

This addresses Dependabot alerts #55 (GHSA-5c6j-r48x-rmvq), #81 (GHSA-qj8w-gfj5-8c6v), and #79 (GHSA-vpq2-c234-7xj6).

Dependency

Draft until microsoft/vscode-common-python-lsp#105 merges. After that PR is squash-merged, this branch must update the submodule pointer to the resulting commit on the shared repository's default branch and be revalidated.

Validation

  • npm ci using the public lockfile URLs
  • authenticated internal-feed npm ci
  • npm run lint
  • direct Prettier checks for TypeScript and YAML
  • npm run pretest
  • VS Code extension tests: 10 passing
  • production VSIX packaging

No overrides, resolutions, --force, or --legacy-peer-deps were used. Committed lockfile URLs remain public for GitHub Actions; Azure Pipelines rewrites them to Pylance_PublicPackages for authenticated installation.

Upgrade Mocha and @vscode/test-electron, and consume the shared-package Mocha 12 update to remove vulnerable serialize-javascript and @tootallnate/once paths.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bschnurr Bill Schnurr (bschnurr) added dependencies Pull requests that update a dependency file debt Code quality issues no-changelog don't include this item in release notes. labels Sep 15, 2026
@bschnurr

Copy link
Copy Markdown
Member Author

Copilot resolve the merge conflicts in this pull request

…pgrades

# Conflicts:
#	package-lock.json

Co-authored-by: bschnurr <1946977+bschnurr@users.noreply.github.com>

Copilot AI commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Copilot resolve the merge conflicts in this pull request

Merged main into this branch in 712dd64. The only conflict was package-lock.json; I resolved it by taking main's lockfile (keeping the .npmrc/Dependabot changes from #747 and the transitive fixes from #744/#745) and regenerating it against this branch's package.json and submodule pointer.

Verified in the resulting lockfile: mocha 12.0.2, @vscode/test-electron 3.1.0, serialize-javascript 7.1.1, no @tootallnate/once, all registry URLs still public, and npm install --package-lock-only is a no-op.

Note: npm ci can't complete in this sandbox — the @vscode/python-environments tarball redirects to *.vsblob.vsassets.io, which is firewall-blocked, so lint/tests will need CI to confirm.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5e6c1434-54f4-49a8-93b6-7c06ecb2367e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5e6c1434-54f4-49a8-93b6-7c06ecb2367e
Use @vscode/test-electron 2.3.10 to avoid the ora 8 / string-width 7 subtree that pulls get-east-asian-width, then regenerate the lockfile against the feed-complete graph.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 5e6c1434-54f4-49a8-93b6-7c06ecb2367e
@edvilme

Copy link
Copy Markdown
Contributor

Copilot resolve merge conflicts with this PR and make sure it is updated

…pgrades

# Conflicts:
#	package-lock.json
#	package.json

Co-authored-by: edvilme <5952839+edvilme@users.noreply.github.com>

Copilot AI commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Copilot resolve merge conflicts with this PR and make sure it is updated

Merged main (now through #749) in 1db9b2d — a true merge commit with both parents.

Two conflicts:

  • package.json — @vscode/test-electron. This branch had it pinned to 2.3.10 (eb3ca98, to dodge the ora 8/string-width 7 subtree), while Bump the "dependencies" group with 3 updates across multiple ecosystems #749 bumped main to ^3.1.0. I took main's ^3.1.0, because the 2.3.10 pin reintroduces @tootallnate/once via http-proxy-agent@4 — the exact package this PR set out to remove. get-east-asian-width is present either way now, since main carries it independently of this branch.
  • package-lock.json — resolved by taking main's lockfile and regenerating against this branch's package.json and submodule pointer. Regeneration is idempotent (identical hash on a second run).

Submodule stays at d26410d as set by #750; main didn't touch it.

Verified: mocha 12.0.2, @vscode/test-electron 3.1.0, serialize-javascript 7.1.2 under mocha, zero @tootallnate/once, registry URLs still public, root devDeps match the lockfile, and no unmet non-optional deps.

The branch now differs from main by only mocha ^12.0.1, the submodule pointer, and the lockfile — the test-electron half of this PR has effectively already landed on main.

One caveat: npm ci still can't run in this sandbox (the @vscode/python-environments tarball redirects to a firewalled *.vsblob.vsassets.io host), so lint/tests need CI to confirm.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 5e6c1434-54f4-49a8-93b6-7c06ecb2367e
@bschnurr
Bill Schnurr (bschnurr) merged commit 9a90528 into main Sep 24, 2026
18 of 20 checks passed
@bschnurr
Bill Schnurr (bschnurr) deleted the security/npm-parent-upgrades branch September 24, 2026 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

debt Code quality issues dependencies Pull requests that update a dependency file no-changelog don't include this item in release notes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants