Skip to content

chore(release): align all @comvi/* packages to v0.2.0 - #14

Merged
EugeneBalabai merged 1 commit into
mainfrom
chore/release-v0.2.0-align
May 9, 2026
Merged

EugeneBalabai merged 1 commit into
mainfrom
chore/release-v0.2.0-align

Conversation

@EugeneBalabai

@EugeneBalabai EugeneBalabai commented May 9, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Manual release of v0.2.0 across all 12 @comvi/* packages, bypassing the bot release PR (#6) because changesets' default behaviour produced unintended 1.0.0 versions.

What changed

  • Consumed all 6 queued changesets via pnpm changeset version (with fixed: [] and a synth changeset bumping every @comvi/* as minor).
  • Three packages still escalated to 1.0.0 due to a known changesets quirk: peer-dep workspace:* is treated as exact-match (assemble-release-plan source line 283, related issue #1011), so any minor bump of @comvi/core is "out of range" and forces peer consumers to major. The escape-hatch ___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.onlyUpdatePeerDependentsWhenOutOfRange: true doesn't help here for the same reason.
  • Manually corrected the three plugins (plugin-fetch-loader, plugin-in-context-editor, plugin-locale-detector): version 1.0.0 → 0.2.0 in package.json, ## 1.0.0 → ## 0.2.0 in CHANGELOG, plus one stale cross-reference inside plugin-in-context-editor's 0.2.0 section.
  • Historical 1.0.0 entries in older CHANGELOG sections are left untouched — those reflect real prior versions.

Result

All 12 packages now ship at exactly 0.2.0:

Package Version
@comvi/cli, @comvi/core, @comvi/next, @comvi/nuxt, @comvi/react, @comvi/solid, @comvi/svelte, @comvi/vue, @comvi/vite-plugin 0.2.0 (via changesets)
@comvi/plugin-fetch-loader, @comvi/plugin-in-context-editor, @comvi/plugin-locale-detector 0.2.0 (manually overridden from 1.0.0)

What lands in the v0.2.0 CHANGELOG

  • @comvi/cli — .env auto-load, namespaces / locales config filters, locales/--locale rename, doc-URL fix, drop unused @comvi/core dep, ConfigLoader.create() regression fix
  • @comvi/svelte — strip TypeScript from published .svelte files
  • @comvi/vite-plugin — drop dead doc links
  • All other @comvi/* — coordinated bump for version alignment

Test plan

  • pnpm -w run test — 23/23 task groups pass across the workspace
  • pnpm -w run build — 12/12 build tasks succeed
  • pnpm -w run typecheck — 29/29 packages clean
  • All package.json versions aligned to 0.2.0
  • No stale 1.0.0 refs in any new ## 0.2.0 CHANGELOG section
  • All workspace:* cross-package refs preserved (lockfile unchanged)

After merge

  • Workflow Release will see no .changeset/*.md files and run changeset publish directly → npm publishes 12 × 0.2.0 with provenance.
  • PR chore: release packages #6 (the bot release PR) is now superseded — it'll either auto-close (no remaining changesets) or can be closed manually.
  • I'll sync develop ← main after the publish completes so both branches converge at 0.2.0.

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • New Features

    • CLI now auto-loads the nearest .env file; configure with --env-file, --no-env-file, or COMVI_DEBUG flags
    • Added namespace and locale filters to configuration for pull and push operations
  • Bug Fixes

    • Fixed configuration filters to persist across save operations
    • Removed unused dependency
    • Corrected documentation links
    • Fixed Svelte package distribution
  • Version Updates

    • All packages coordinated to version 0.2.0

Review Change Stack

Manual override of changesets output: drop the `fixed` group from
.changeset/config.json (it escalated minor → major in 0.x — see
changesets/changesets#1011 for related),
add an aligning changeset that bumps every @comvi/* package as
minor, then run `pnpm changeset version`.

Three plugins (plugin-fetch-loader, plugin-in-context-editor,
plugin-locale-detector) still escalated to 1.0.0 because changesets
treats peer-dep `workspace:*` as exact-match (assemble-release-plan
line 283), so a minor bump on @comvi/core is "out of range" and
forces consumer major. The flag onlyUpdatePeerDependentsWhenOutOfRange
doesn't help here for the same reason.

Manually corrected those three: package.json version 1.0.0 → 0.2.0,
CHANGELOG `## 1.0.0` → `## 0.2.0`, and one stale dep reference
(`@comvi/[email protected]` → `0.2.0` inside
plugin-in-context-editor's 0.2.0 section). Historical 1.0.0 entries
in older sections of CHANGELOGs are left untouched — those are real
prior versions.

Result: all 12 @comvi/* packages now ship as 0.2.0.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@coderabbitai

coderabbitai Bot commented May 9, 2026 •

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f0624bd7-16c8-4de6-8ae4-ced3a9b36ad8

📥 Commits

Reviewing files that changed from the base of the PR and between 5431187 and 3f32cf4.

📒 Files selected for processing (31)
  • .changeset/cli-auto-load-env.md
  • .changeset/cli-config-namespaces-locales.md
  • .changeset/cli-drop-core-dependency.md
  • .changeset/cli-fix-create-persist-filters.md
  • .changeset/config.json
  • .changeset/fix-readme-doc-urls.md
  • .changeset/svelte-strip-ts-from-dist.md
  • packages/cli/CHANGELOG.md
  • packages/cli/package.json
  • packages/core/CHANGELOG.md
  • packages/core/package.json
  • packages/next/CHANGELOG.md
  • packages/next/package.json
  • packages/nuxt/CHANGELOG.md
  • packages/nuxt/package.json
  • packages/plugin-fetch-loader/CHANGELOG.md
  • packages/plugin-fetch-loader/package.json
  • packages/plugin-in-context-editor/CHANGELOG.md
  • packages/plugin-in-context-editor/package.json
  • packages/plugin-locale-detector/CHANGELOG.md
  • packages/plugin-locale-detector/package.json
  • packages/react/CHANGELOG.md
  • packages/react/package.json
  • packages/solid/CHANGELOG.md
  • packages/solid/package.json
  • packages/svelte/CHANGELOG.md
  • packages/svelte/package.json
  • packages/vite-plugin/CHANGELOG.md
  • packages/vite-plugin/package.json
  • packages/vue/CHANGELOG.md
  • packages/vue/package.json
💤 Files with no reviewable changes (6)
  • .changeset/fix-readme-doc-urls.md
  • .changeset/svelte-strip-ts-from-dist.md
  • .changeset/cli-config-namespaces-locales.md
  • .changeset/cli-drop-core-dependency.md
  • .changeset/cli-fix-create-persist-filters.md
  • .changeset/cli-auto-load-env.md

📝 Walkthrough

Walkthrough

This PR coordinates a 0.2.0 release across all @comvi packages. Changesets document newly implemented CLI features (.env auto-loading, namespaces/locales configuration filters), dependency cleanup, and bug fixes. Fixed package constraints are removed, all version fields are bumped from 0.1.1 to 0.2.0, and changelog entries are added across the monorepo.

Changes

Coordinated 0.2.0 Release

Layer / File(s) Summary
Release Documentation
.changeset/cli-*, .changeset/fix-readme-doc-urls.md, .changeset/svelte-strip-ts-from-dist.md
Changesets document CLI features: .env auto-load with walk-up discovery and global flags (--env-file, --no-env-file, COMVI_DEBUG), top-level namespaces/locales config filters with validation (exit code 4), removal of unused @comvi/core dependency, ConfigLoader persistence fixes, and README documentation URL corrections.
Release Configuration
.changeset/config.json
Fixed package version constraints (@comvi/*) are removed, enabling independent versioning.
Package Versions
packages/*/package.json
All @comvi package versions bumped from 0.1.1 to 0.2.0 across: cli, core, next, nuxt, react, solid, svelte, vue, vite-plugin, plugin-fetch-loader, plugin-in-context-editor, plugin-locale-detector.
Changelog Entries
packages/*/CHANGELOG.md
Version 0.2.0 entries added to all packages documenting minor changes (CLI features, coordinated release) and patch changes (dependency updates to @comvi/core@0.2.0, documentation fixes, TypeScript stripping from .svelte dist files).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • comvi-io/comvi-js#11: Implements the same CLI features documented in this PR (.env auto-loading, EnvLoader, ConfigLoader, namespaces/locales configuration).
  • comvi-io/comvi-js#9: Renames "languages" to "locales" terminology across CLI commands, ConfigLoader, TranslationSync, and types.
  • comvi-io/comvi-js#10: Fixes the same README documentation URLs for @comvi/cli and @comvi/vite-plugin that this PR documents.

Poem

🐰 A release hops forth with version bump clear,
All packages align—0.2.0 appears!
Changesets whisper of features implemented,
Changelogs sing of the work that's transmitted,
In sync, they all dance, a coordinated cheer! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: a coordinated version alignment across all @comvi packages to v0.2.0, which matches the PR's primary objective.
Description check ✅ Passed The description provides comprehensive context including summary, detailed changes, test results, and post-merge steps. It significantly exceeds the template requirements with thorough documentation of the release strategy.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/release-v0.2.0-align

Comment @coderabbitai help to get the list of available commands and usage tips.

@EugeneBalabai
EugeneBalabai merged commit 6ff427c into main May 9, 2026
2 checks passed
@EugeneBalabai
EugeneBalabai deleted the chore/release-v0.2.0-align branch May 9, 2026 10:07
EugeneBalabai pushed a commit that referenced this pull request Oct 10, 2026
…onfig

RC review #14. Nothing validated `pull.emptyDir`, and a JSON string is
truthy, so `"emptyDir": "false"` enabled the clear that deletes the local
catalog — the option set to the exact opposite of what the file said. The
same mistake in `strictParams` silently re-enabled strict parameters.

Both must now be a boolean or absent, and the `pull` / `push` sections
must be objects. Validation happens in ConfigLoader.load, before a
command opens a socket or touches the translations directory, and the
message names the key and the type received. `push.forceMode` already had
its own check against the four allowed modes.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01XCpEDJzjm499ShssuoimHb
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.

1 participant