You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up to #523. The spec-upgrade epic can open a validated PR that bumps a single lexicon, but "republish as ready" is blocked by the monorepo-wide release model. This issue scopes decoupling publish so one lexicon can ship independently.
Current state
All packages are version-locked (packages/core, every lexicons/* at 0.13.1); root is a 0.0.0 workspace.
Publish is triggered by a single chant-v* tag; publish.yml runs every lexicon's prepack then publishes each.
Enabler already present: each publish step is per-package idempotent — it compares the local version to the npm-published version and skips when equal ([ "$V" = "$P" ] && skip || npm publish --provenance). So if only one package's version changed, only that one publishes today. The missing piece is independent versioning and a trigger that isn't one monorepo tag.
Problem
A lexicon spec upgrade (#523) that validates clean should be able to bump and republish just that lexicon on its own cadence, without forcing a lockstep bump of core and the other nine lexicons.
Options
Independent semver per package (changesets-style). Each package versions on its own; a merged upgrade PR bumps only its lexicon; publish runs on merge/tag and the existing skip-if-unchanged logic ships only what moved. Needs a compatibility story between lexicon versions and @intentius/chant core (peer range, not exact pin).
Per-lexicon release tags. e.g. chant-lexicon-aws-v* triggers a publish of just that package. Minimal change to the model; more tags to manage.
Dependency ranges. For a lexicon to move independently, consumers must depend on it (and it on core) via a compatible range, not an exact pinned version. Audit dependencies / peerDependencies across packages.
Compatibility matrix. Independent versions raise "does lexicon-aws@X work with chant@Y?" — needs a documented peer range and CI that tests the supported combinations.
Provenance & trusted publisher. Preserve npm provenance and the trusted-publisher setup already in publish.yml.
Acceptance criteria (if pursued)
A single lexicon can be versioned and published without bumping core or other lexicons.
Follow-up to #523. The spec-upgrade epic can open a validated PR that bumps a single lexicon, but "republish as ready" is blocked by the monorepo-wide release model. This issue scopes decoupling publish so one lexicon can ship independently.
Current state
packages/core, everylexicons/*at0.13.1); root is a0.0.0workspace.chant-v*tag;publish.ymlruns every lexicon'sprepackthen publishes each.versionto the npm-published version and skips when equal ([ "$V" = "$P" ] && skip || npm publish --provenance). So if only one package's version changed, only that one publishes today. The missing piece is independent versioning and a trigger that isn't one monorepo tag.Problem
A lexicon spec upgrade (#523) that validates clean should be able to bump and republish just that lexicon on its own cadence, without forcing a lockstep bump of core and the other nine lexicons.
Options
@intentius/chantcore (peer range, not exact pin).chant-lexicon-aws-v*triggers a publish of just that package. Minimal change to the model; more tags to manage.Considerations
dependencies/peerDependenciesacross packages.publish.yml.Acceptance criteria (if pursued)
Related