Skip to content

Use published packages for stable releases#4566

Open
jakebailey wants to merge 6 commits into
mainfrom
jabaile/use-published-702-vsix-bits
Open

Use published packages for stable releases#4566
jakebailey wants to merge 6 commits into
mainfrom
jabaile/use-published-702-vsix-bits

Conversation

@jakebailey

Copy link
Copy Markdown
Member

This adds code to turn on in the release branch that pulls the code from npm instead of rebuilding it.

Janky, because npm does not install the other platform's packages so we can't simply depend on them (sigh).

Add a disabled release packaging mode that builds VSIXes from a pinned published TypeScript package alias instead of locally built npm packages. The mode skips package build/sign/pack, fetches platform tarballs with npm using configured registry settings, and copies each package lib directory into the VSIX.
Error when the published TypeScript alias used for VSIX packaging does not match the release version, so stale published bits cannot be packaged accidentally.
Keep usePublishedPlatformPackagesForVsix as a hardcoded release-branch boolean instead of a CLI or environment option, so publishers do not need to pass extra configuration.
Copilot AI review requested due to automatic review settings July 8, 2026 20:37

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the release packaging flow so VSIX builds can optionally source platform-specific native binaries from already-published npm packages (instead of rebuilding/signing/packing them locally), which better matches stable release branch needs.

Changes:

  • Add tar (and @types/tar) to support unpacking platform tarballs during VSIX packaging.
  • Introduce usePublishedPlatformPackagesForVsix flow in Herebyfile.mjs to fetch platform packages via npm pack and extract their lib/ for inclusion in VSIXes.
  • Add a typescript7 alias dependency in the extension workspace to read typescript’s optionalDependencies list for platform package version resolution.

Reviewed changes

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

File Description
package.json Adds tar + typings to support unpacking published platform tarballs.
package-lock.json Locks tar deps and the new typescript7 workspace devDependency + optional platform packages.
Herebyfile.mjs Implements the “use published platform packages” VSIX packaging path (fetch + extract + wire into pack task).
_extension/package.json Adds typescript7 alias to make the published TypeScript platform optionalDependencies available during release packaging.

Comment thread Herebyfile.mjs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants