Skip to content

feat(release): split vscode bump + prebuild core/types; release 3.0.3#735

Merged
waleedkadous merged 2 commits into
mainfrom
feat/vscode-release-tooling
May 12, 2026
Merged

feat(release): split vscode bump + prebuild core/types; release 3.0.3#735
waleedkadous merged 2 commits into
mainfrom
feat/vscode-release-tooling

Conversation

@amrmelsayed
Copy link
Copy Markdown
Collaborator

@amrmelsayed amrmelsayed commented May 12, 2026

Summary

Two commits:

  1. feat(release): split vscode bump into standalone script + prebuild core/types — tooling
  2. chore(vscode): release 3.0.3 — promotes ## [Unreleased]## [3.0.3] - 2026-05-13 in packages/vscode/CHANGELOG.md so the next Marketplace publish shows release notes for the 3.0.3 already in packages/vscode/package.json

Tooling changes (commit 1)

  • New scripts/bump-vscode.sh (and pnpm bump-vscode-version alias) that handles vscode versioning + CHANGELOG promotion as a single standalone operation. Defaults to patch bump from vscode's own current version; accepts patch/minor/major/explicit. Refuses pre-release versions (Marketplace constraint).
  • scripts/bump-all.sh delegates the vscode step to the new script, passing the lockstep version explicitly so no double-bump occurs. Pre-release lockstep bumps still skip vscode entirely.
  • vscode:prepublish extended to pnpm --filter @cluesmith/codev-core --filter @cluesmith/codev-types build && pnpm package. The vscode bundle inlines code from those workspace dist/ directories (esbuild + bundle: true); without this prebuild a stale dist/ could ship into the .vsix. Same staleness class as prepublishOnly on the npm side, just for vsce.
  • Release protocol step 4 updated with a note about the standalone script.

Marketplace changelog policy

Promoted [Unreleased] heading becomes [X.Y.Z] - YYYY-MM-DD. No fresh [Unreleased] heading is inserted — the next PR with notes adds one back. Keeps the published Marketplace changelog free of empty sections (Vue/Babel-style).

Test plan

  • pnpm bump-version (lockstep) bumps root + 4 packages and promotes vscode CHANGELOG
  • pnpm bump-version 3.5.0-rc.1 (lockstep RC) bumps root/codev/core/types; vscode + CHANGELOG untouched
  • pnpm bump-vscode-version (standalone default patch) bumps only vscode + CHANGELOG
  • pnpm bump-vscode-version 3.5.0 (standalone explicit) bumps to explicit
  • pnpm bump-vscode-version 3.5.0-rc.1 (standalone pre-release) refused with clear error
  • pnpm vscode:prepublish builds core + types before esbuild, produces a clean production bundle
  • First actual pnpm vscode:publish after this PR merges

…re/types

Add scripts/bump-vscode.sh (also exposed as `pnpm bump-vscode-version`)
that bumps packages/vscode/package.json AND renames `## [Unreleased]`
to `## [X.Y.Z] - YYYY-MM-DD` in packages/vscode/CHANGELOG.md so the
Marketplace listing reflects the new version. Standalone-callable for
shipping a vscode-only patch outside the lockstep cadence; the script
anchors on vscode's own current version in that mode and accepts
patch/minor/major/explicit forms. Pre-release versions are refused
(VS Code Marketplace requires plain semver).

bump-all.sh delegates the vscode step to bump-vscode.sh, passing the
lockstep version explicitly so no double-bump occurs. Pre-release
lockstep bumps still skip vscode entirely.

No fresh [Unreleased] heading is inserted after promotion — the next
PR with notes adds one back. Keeps the published Marketplace
changelog free of empty sections.

Extend vscode:prepublish to build @cluesmith/codev-core and
@cluesmith/codev-types before the esbuild bundle. The extension's
bundle inlines code from those workspace dist/ directories, so stale
dist on either could ship into the .vsix; rebuilding them as part of
the prepublish hook closes the same source-to-build staleness window
that prepublishOnly closes for the npm side.

Update release protocol step 4 with a note about the standalone script.
Copy link
Copy Markdown
Contributor

@waleedkadous waleedkadous left a comment

Choose a reason for hiding this comment

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

Excellent catch, thank you! The vscode:prepublish fix plugs a real bug class I missed in the lockstep review — prepublishOnly on core/types doesn't fire for vsce bundling, so esbuild could have inlined stale dist/ into the .vsix. And the CHANGELOG promotion unblocks the next marketplace publish (would have shipped empty release notes otherwise). Clean delegation in bump-all, well-tested. Approving and merging.

@waleedkadous waleedkadous merged commit 87f5abe into main May 12, 2026
6 checks passed
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