diff --git a/.changeset/fix-back-merge-loop.md b/.changeset/fix-back-merge-loop.md new file mode 100644 index 00000000..b2d83090 --- /dev/null +++ b/.changeset/fix-back-merge-loop.md @@ -0,0 +1,5 @@ +--- +"@stackwright/cli": patch +--- + +Upgrade the back-merge rebase conflict handler from a one-shot block to a loop. Dev can accumulate multiple alpha-bump commits that all modified `.changeset/pre.json` — the previous one-shot `||{ }` only resolved the first conflict. The loop now runs until all pre.json conflicts are resolved or an unexpected conflict is encountered. diff --git a/.changeset/fix-back-merge-pre-json-conflict.md b/.changeset/fix-back-merge-pre-json-conflict.md new file mode 100644 index 00000000..5bb72d97 --- /dev/null +++ b/.changeset/fix-back-merge-pre-json-conflict.md @@ -0,0 +1,5 @@ +--- +"@stackwright/cli": patch +--- + +Fix back-merge into dev failing with a modify/delete conflict on `.changeset/pre.json` during rebase. The release workflow deletes this file via `changeset pre exit`, but dev's alpha-bump commits still reference it. The rebase now explicitly resolves the conflict by accepting main's deletion and continuing. diff --git a/.changeset/fix-js-yaml-override-conflict.md b/.changeset/fix-js-yaml-override-conflict.md new file mode 100644 index 00000000..c5edcbf0 --- /dev/null +++ b/.changeset/fix-js-yaml-override-conflict.md @@ -0,0 +1,5 @@ +--- +"@stackwright/cli": patch +--- + +Fix js-yaml version override conflict in pnpm overrides that caused `yaml.safeLoad is removed` errors when running `changeset pre exit` in CI. The global `js-yaml: >=4.1.1` override was stomping the scoped `read-yaml-file>js-yaml: ^3` override, forcing js-yaml v4 into read-yaml-file which doesn't support it. diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 00000000..fc6a634d --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,29 @@ +{ + "mode": "pre", + "tag": "alpha", + "initialVersions": { + "stackwright-docs": "0.1.3", + "@stackwright/build-scripts": "0.6.0", + "@stackwright/cli": "0.8.2", + "@stackwright/collections": "0.1.0", + "@stackwright/core": "0.8.1", + "@stackwright/e2e": "0.3.0", + "@stackwright/hooks-registry": "0.1.0", + "@stackwright/icons": "0.5.1", + "launch-stackwright": "0.2.2", + "@stackwright/maplibre": "2.0.1", + "@stackwright/mcp": "0.4.2", + "@stackwright/nextjs": "0.5.0", + "@stackwright/otters": "0.2.0", + "@stackwright/sbom-generator": "0.2.0", + "@stackwright/scaffold-core": "0.3.0", + "@stackwright/themes": "0.5.2", + "@stackwright/types": "1.3.0", + "@stackwright/ui-shadcn": "0.1.2" + }, + "changesets": [ + "fix-back-merge-loop", + "fix-back-merge-pre-json-conflict", + "fix-js-yaml-override-conflict" + ] +} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 56d1e8ef..d9d9b0b9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -134,13 +134,19 @@ jobs: # # -X ours: when conflicts arise (e.g. version numbers in package.json), # prefer main's graduated stable versions over dev's stale alpha versions. - git rebase origin/main -X ours || { - # Expected modify/delete conflict on .changeset/pre.json: - # release deleted it via `changeset pre exit`, but dev's alpha-bump - # commit still referenced it. Accept main's deletion and continue. - git rm -f .changeset/pre.json 2>/dev/null || true - GIT_EDITOR=true git rebase --continue - } + git rebase origin/main -X ours || true + while [ -d ".git/rebase-merge" ]; do + if git status --porcelain | grep -q "pre.json"; then + # Expected: pre.json was deleted by `changeset pre exit` on main, + # but dev's alpha-bump commits still modified it. Accept the deletion. + git rm -f .changeset/pre.json 2>/dev/null || true + GIT_EDITOR=true git rebase --continue || true + else + echo "Unexpected rebase conflict — aborting" + git rebase --abort + exit 1 + fi + done # Re-enter prerelease mode so the next dev push produces alphas. if [ ! -f ".changeset/pre.json" ]; then pnpm changeset pre enter alpha diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index a99e0ffd..c0ac8bf1 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,11 +1,10 @@ # @stackwright/cli -## 0.8.5 +## 0.8.5-alpha.3 ### Patch Changes -- c9daf18: Fix back-merge into dev failing with a modify/delete conflict on `.changeset/pre.json` during rebase. The release workflow deletes this file via `changeset pre exit`, but dev's alpha-bump commits still reference it. The rebase now explicitly resolves the conflict by accepting main's deletion and continuing. -- c9daf18: Fix js-yaml version override conflict in pnpm overrides that caused `yaml.safeLoad is removed` errors when running `changeset pre exit` in CI. The global `js-yaml: >=4.1.1` override was stomping the scoped `read-yaml-file>js-yaml: ^3` override, forcing js-yaml v4 into read-yaml-file which doesn't support it. +- a12100d: Upgrade the back-merge rebase conflict handler from a one-shot block to a loop. Dev can accumulate multiple alpha-bump commits that all modified `.changeset/pre.json` — the previous one-shot `||{ }` only resolved the first conflict. The loop now runs until all pre.json conflicts are resolved or an unexpected conflict is encountered. ## 0.8.5-alpha.2 diff --git a/packages/cli/package.json b/packages/cli/package.json index 6435aefd..e07d33b5 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@stackwright/cli", - "version": "0.8.5", + "version": "0.8.5-alpha.3", "description": "CLI for Stackwright framework", "license": "MIT", "repository": { diff --git a/packages/collections/CHANGELOG.md b/packages/collections/CHANGELOG.md index 983a29fd..26bfb6e1 100644 --- a/packages/collections/CHANGELOG.md +++ b/packages/collections/CHANGELOG.md @@ -1,7 +1,5 @@ # @stackwright/collections -## 0.1.1 - ## 0.1.1-alpha.4 ### Patch Changes diff --git a/packages/collections/package.json b/packages/collections/package.json index fcfa3894..81c4e115 100644 --- a/packages/collections/package.json +++ b/packages/collections/package.json @@ -1,6 +1,6 @@ { "name": "@stackwright/collections", - "version": "0.1.1", + "version": "0.1.1-alpha.4", "description": "CollectionProvider interface and file-backed implementation for Stackwright", "license": "MIT", "repository": { diff --git a/packages/hooks-registry/CHANGELOG.md b/packages/hooks-registry/CHANGELOG.md index 549e5bb9..e12b765a 100644 --- a/packages/hooks-registry/CHANGELOG.md +++ b/packages/hooks-registry/CHANGELOG.md @@ -1,7 +1,5 @@ # @stackwright/hooks-registry -## 0.1.1 - ## 0.1.1-alpha.3 ### Patch Changes diff --git a/packages/hooks-registry/package.json b/packages/hooks-registry/package.json index 7ba19c89..8369934d 100644 --- a/packages/hooks-registry/package.json +++ b/packages/hooks-registry/package.json @@ -1,6 +1,6 @@ { "name": "@stackwright/hooks-registry", - "version": "0.1.1", + "version": "0.1.1-alpha.3", "description": "Singleton registry for scaffold hooks - survives module boundary crossings", "license": "MIT", "repository": { diff --git a/packages/launch-stackwright/CHANGELOG.md b/packages/launch-stackwright/CHANGELOG.md index fbd36a00..7e668630 100644 --- a/packages/launch-stackwright/CHANGELOG.md +++ b/packages/launch-stackwright/CHANGELOG.md @@ -1,13 +1,11 @@ # launch-stackwright -## 0.2.5 +## 0.2.5-alpha.5 ### Patch Changes -- Updated dependencies [c9daf18] -- Updated dependencies [c9daf18] - - @stackwright/cli@0.8.5 - - @stackwright/scaffold-core@0.3.1 +- Updated dependencies [a12100d] + - @stackwright/cli@0.8.5-alpha.3 ## 0.2.5-alpha.4 diff --git a/packages/launch-stackwright/package.json b/packages/launch-stackwright/package.json index 3ee4f425..78b80ce4 100644 --- a/packages/launch-stackwright/package.json +++ b/packages/launch-stackwright/package.json @@ -1,6 +1,6 @@ { "name": "launch-stackwright", - "version": "0.2.5", + "version": "0.2.5-alpha.5", "description": "Launch a new Stackwright project with the otter raft ready to build", "license": "MIT", "repository": { diff --git a/packages/mcp/CHANGELOG.md b/packages/mcp/CHANGELOG.md index 58b8f889..8c2772d2 100644 --- a/packages/mcp/CHANGELOG.md +++ b/packages/mcp/CHANGELOG.md @@ -1,12 +1,18 @@ # @stackwright/mcp -## 0.4.5 +## 0.4.5-alpha.6 ### Patch Changes -- Updated dependencies [c9daf18] -- Updated dependencies [c9daf18] - - @stackwright/cli@0.8.5 +- Updated dependencies [a12100d] + - @stackwright/cli@0.8.5-alpha.3 + +## 0.4.5-alpha.5 + +### Patch Changes + +- Updated dependencies [11bfe0f] + - @stackwright/cli@0.8.5-alpha.2 ## 0.4.5-alpha.5 diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 905cd0e6..f2b37f61 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@stackwright/mcp", - "version": "0.4.5", + "version": "0.4.5-alpha.6", "description": "MCP server for Stackwright — exposes content types, page management, and validation as agent tools", "license": "MIT", "repository": { diff --git a/packages/scaffold-core/CHANGELOG.md b/packages/scaffold-core/CHANGELOG.md index db4b1657..0e5e9f39 100644 --- a/packages/scaffold-core/CHANGELOG.md +++ b/packages/scaffold-core/CHANGELOG.md @@ -1,11 +1,5 @@ # Changelog -## 0.3.1 - -### Patch Changes - -- @stackwright/hooks-registry@0.1.1 - ## 0.3.1-alpha.3 ### Patch Changes diff --git a/packages/scaffold-core/package.json b/packages/scaffold-core/package.json index 0b150d54..dd0bff35 100644 --- a/packages/scaffold-core/package.json +++ b/packages/scaffold-core/package.json @@ -1,6 +1,6 @@ { "name": "@stackwright/scaffold-core", - "version": "0.3.1", + "version": "0.3.1-alpha.3", "description": "Scaffold hooks system for Stackwright - enables extensible post-scaffold processing", "license": "MIT", "repository": {