From 2493ce190e7f1061c148f28c7c1eca985a7e08c5 Mon Sep 17 00:00:00 2001 From: Stackwright Bot Date: Fri, 15 May 2026 13:46:10 -0400 Subject: [PATCH 1/2] fix(ci): resolve js-yaml override conflict breaking changeset pre exit --- .changeset/fix-js-yaml-override-conflict.md | 5 +++ package.json | 9 +++-- pnpm-lock.yaml | 40 +++++++++++++++------ 3 files changed, 39 insertions(+), 15 deletions(-) create mode 100644 .changeset/fix-js-yaml-override-conflict.md 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/package.json b/package.json index 3ebad323..bb948b75 100644 --- a/package.json +++ b/package.json @@ -93,11 +93,10 @@ "@hono/node-server": ">=1.19.13", "basic-ftp": ">=5.3.1", "express-rate-limit": ">=8.2.2", - "uuid": ">=14.0.0", - "fast-uri": ">=3.1.2", - "js-yaml": ">=4.1.1", - "read-yaml-file>js-yaml": "^3", - "postcss": ">=8.5.10" + "uuid": ">=14.0.0", + "fast-uri": ">=3.1.2", + "read-yaml-file>js-yaml": "^3", + "postcss": ">=8.5.10" }, "onlyBuiltDependencies": [ "@swc/core", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bc7ff55e..e42e55cb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,7 +33,6 @@ overrides: express-rate-limit: '>=8.2.2' uuid: '>=14.0.0' fast-uri: '>=3.1.2' - js-yaml: '>=4.1.1' read-yaml-file>js-yaml: ^3 postcss: '>=8.5.10' @@ -123,7 +122,7 @@ importers: specifier: ^7.1.0 version: 7.3.0 js-yaml: - specifier: '>=4.1.1' + specifier: ^4.1.1 version: 4.1.1 lucide-react: specifier: ^1.8.0 @@ -181,7 +180,7 @@ importers: specifier: workspace:* version: link:../types js-yaml: - specifier: '>=4.1.1' + specifier: ^4.1.0 version: 4.1.1 zod: specifier: ^4.3.6 @@ -215,7 +214,7 @@ importers: specifier: ^11.3 version: 11.3.4 js-yaml: - specifier: '>=4.1.1' + specifier: ^4.1.0 version: 4.1.1 playwright: specifier: ^1.52.0 @@ -283,7 +282,7 @@ importers: specifier: ^7.1.0 version: 7.3.0 js-yaml: - specifier: '>=4.1.1' + specifier: ^4.1.0 version: 4.1.1 prismjs: specifier: ^1.30.0 @@ -520,7 +519,7 @@ importers: specifier: workspace:* version: link:../types js-yaml: - specifier: '>=4.1.1' + specifier: ^4.1.0 version: 4.1.1 devDependencies: '@swc/core': @@ -565,7 +564,7 @@ importers: packages/sbom-generator: dependencies: js-yaml: - specifier: '>=4.1.1' + specifier: ^4.1.0 version: 4.1.1 zod: specifier: ^4.3.6 @@ -603,7 +602,7 @@ importers: packages/themes: dependencies: js-yaml: - specifier: '>=4.1.1' + specifier: ^4 version: 4.1.1 zod: specifier: ^4.3.6 @@ -646,7 +645,7 @@ importers: specifier: workspace:* version: link:../themes js-yaml: - specifier: '>=4.1.1' + specifier: ^4.1.0 version: 4.1.1 zod: specifier: ^4.3.6 @@ -3227,6 +3226,9 @@ packages: any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -4571,6 +4573,10 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + hasBin: true + js-yaml@4.1.1: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true @@ -5572,6 +5578,9 @@ packages: resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} engines: {node: '>=0.10.0'} + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + stable-hash@0.0.5: resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} @@ -8629,6 +8638,10 @@ snapshots: any-promise@1.3.0: {} + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + argparse@2.0.1: {} aria-query@5.3.0: @@ -10144,6 +10157,11 @@ snapshots: js-tokens@4.0.0: {} + js-yaml@3.14.2: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + js-yaml@4.1.1: dependencies: argparse: 2.0.1 @@ -10898,7 +10916,7 @@ snapshots: read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 - js-yaml: 4.1.1 + js-yaml: 3.14.2 pify: 4.0.1 strip-bom: 3.0.0 @@ -11287,6 +11305,8 @@ snapshots: dependencies: extend-shallow: 3.0.2 + sprintf-js@1.0.3: {} + stable-hash@0.0.5: {} stackback@0.0.2: {} From ffce9aa9786ff4d8f9c3ef208fb733caa6b9d894 Mon Sep 17 00:00:00 2001 From: github-actions Date: Fri, 15 May 2026 18:11:12 +0000 Subject: [PATCH 2/2] chore: bump prerelease versions --- .changeset/pre.json | 4 ++++ packages/cli/CHANGELOG.md | 16 ++++++++++++++++ packages/cli/package.json | 2 +- packages/collections/CHANGELOG.md | 14 ++++++++++++++ packages/collections/package.json | 2 +- packages/hooks-registry/CHANGELOG.md | 15 +++++++++++++++ packages/hooks-registry/package.json | 2 +- packages/launch-stackwright/CHANGELOG.md | 10 ++++++++++ packages/launch-stackwright/package.json | 2 +- packages/mcp/CHANGELOG.md | 8 ++++++++ packages/mcp/package.json | 2 +- packages/scaffold-core/CHANGELOG.md | 18 ++++++++++++++++++ packages/scaffold-core/package.json | 2 +- 13 files changed, 91 insertions(+), 6 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index 75aeae53..b528248e 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -23,10 +23,14 @@ }, "changesets": [ "collection-provider-interfaces-to-types", + "collections-types-cleanup", "fix-cli-bundle-workspace-deps", "fix-core-dts-zod-compat", + "fix-js-yaml-override-conflict", "fix-scaffold-template-versions", "fix-types-prebuild-plugin-zod-compat", + "generate-agent-docs-interfaces", + "hookhandler-reexport", "remove-workspace-prepublish-guard", "scaffold-hook-interfaces-to-types", "workspace-publish-guards", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 667defa1..b14eac57 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,21 @@ # @stackwright/cli +## 0.8.5-alpha.1 + +### Patch Changes + +- 182a4da: 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. +- e6b3459: feat(cli): generate-agent-docs now emits an interface contracts table + + A new auto-generated section in AGENTS.md documents the TypeScript interface + contracts defined in `@stackwright/types`: + - CollectionProvider, CollectionEntry, CollectionListOptions, CollectionListResult + - ScaffoldHookContext, ScaffoldHook, HookHandler, ScaffoldHookType + + The section is delimited by `` markers + and updated by `pnpm stackwright -- generate-agent-docs` alongside the existing + content-type-table. This completes Phase 1 step 8 of the types-hierarchy-refactor. + ## 0.8.5-alpha.0 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index b4dd1a44..4ec5c216 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@stackwright/cli", - "version": "0.8.5-alpha.0", + "version": "0.8.5-alpha.1", "description": "CLI for Stackwright framework", "license": "MIT", "repository": { diff --git a/packages/collections/CHANGELOG.md b/packages/collections/CHANGELOG.md index 896fc1d1..26bfb6e1 100644 --- a/packages/collections/CHANGELOG.md +++ b/packages/collections/CHANGELOG.md @@ -1,5 +1,19 @@ # @stackwright/collections +## 0.1.1-alpha.4 + +### Patch Changes + +- e6b3459: chore(collections): remove duplicate CollectionProvider definitions + + `file-collection-provider.ts` now imports `CollectionProvider`, `CollectionEntry`, + `CollectionListOptions`, and `CollectionListResult` directly from `@stackwright/types` + rather than from the local `./types` file. + + `types.ts` is converted to a re-export shim so any unexpected downstream imports + remain backward-compatible. This completes the Phase 1 cleanup from the + types-hierarchy-refactor. + ## 0.1.1-alpha.3 ### Patch Changes diff --git a/packages/collections/package.json b/packages/collections/package.json index 1977f096..81c4e115 100644 --- a/packages/collections/package.json +++ b/packages/collections/package.json @@ -1,6 +1,6 @@ { "name": "@stackwright/collections", - "version": "0.1.1-alpha.3", + "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 79ca1724..e12b765a 100644 --- a/packages/hooks-registry/CHANGELOG.md +++ b/packages/hooks-registry/CHANGELOG.md @@ -1,5 +1,20 @@ # @stackwright/hooks-registry +## 0.1.1-alpha.3 + +### Patch Changes + +- e6b3459: fix(scaffold-core): export HookHandler type from hooks-registry and scaffold-core + + `HookHandler` is the canonical type alias for scaffold hook handler functions, + defined in `@stackwright/types`. It was re-exported by `hooks-registry/src/hooks.ts` + but not forwarded through `index.ts`, making it unavailable via the public package + import paths. + + Both `@stackwright/hooks-registry` and `@stackwright/scaffold-core` now re-export + `HookHandler` alongside the other scaffold hook types. This completes Phase 1 step 4 + of the types-hierarchy-refactor. + ## 0.1.1-alpha.2 ### Patch Changes diff --git a/packages/hooks-registry/package.json b/packages/hooks-registry/package.json index 735c8550..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-alpha.2", + "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 26fb9b8a..1edb6e87 100644 --- a/packages/launch-stackwright/CHANGELOG.md +++ b/packages/launch-stackwright/CHANGELOG.md @@ -1,5 +1,15 @@ # launch-stackwright +## 0.2.5-alpha.3 + +### Patch Changes + +- Updated dependencies [182a4da] +- Updated dependencies [e6b3459] +- Updated dependencies [e6b3459] + - @stackwright/cli@0.8.5-alpha.1 + - @stackwright/scaffold-core@0.3.1-alpha.3 + ## 0.2.5-alpha.2 ### Patch Changes diff --git a/packages/launch-stackwright/package.json b/packages/launch-stackwright/package.json index 495fcfb9..e139f464 100644 --- a/packages/launch-stackwright/package.json +++ b/packages/launch-stackwright/package.json @@ -1,6 +1,6 @@ { "name": "launch-stackwright", - "version": "0.2.5-alpha.2", + "version": "0.2.5-alpha.3", "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 9ccca92d..c364f919 100644 --- a/packages/mcp/CHANGELOG.md +++ b/packages/mcp/CHANGELOG.md @@ -1,5 +1,13 @@ # @stackwright/mcp +## 0.4.5-alpha.4 + +### Patch Changes + +- Updated dependencies [182a4da] +- Updated dependencies [e6b3459] + - @stackwright/cli@0.8.5-alpha.1 + ## 0.4.5-alpha.3 ### Patch Changes diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 553a212d..68118a4d 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@stackwright/mcp", - "version": "0.4.5-alpha.3", + "version": "0.4.5-alpha.4", "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 45afb2d3..0e5e9f39 100644 --- a/packages/scaffold-core/CHANGELOG.md +++ b/packages/scaffold-core/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelog +## 0.3.1-alpha.3 + +### Patch Changes + +- e6b3459: fix(scaffold-core): export HookHandler type from hooks-registry and scaffold-core + + `HookHandler` is the canonical type alias for scaffold hook handler functions, + defined in `@stackwright/types`. It was re-exported by `hooks-registry/src/hooks.ts` + but not forwarded through `index.ts`, making it unavailable via the public package + import paths. + + Both `@stackwright/hooks-registry` and `@stackwright/scaffold-core` now re-export + `HookHandler` alongside the other scaffold hook types. This completes Phase 1 step 4 + of the types-hierarchy-refactor. + +- Updated dependencies [e6b3459] + - @stackwright/hooks-registry@0.1.1-alpha.3 + ## 0.3.1-alpha.2 ### Patch Changes diff --git a/packages/scaffold-core/package.json b/packages/scaffold-core/package.json index 0d0d6845..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-alpha.2", + "version": "0.3.1-alpha.3", "description": "Scaffold hooks system for Stackwright - enables extensible post-scaffold processing", "license": "MIT", "repository": {