@stackwright-pro/scaffold-hooks 0.2.0 → 0.3.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
 
2
- > @stackwright-pro/scaffold-hooks@0.2.0-alpha.0 build /home/charles/git/peraspera/stackwright-pro/packages/scaffold-hooks
2
+ > @stackwright-pro/scaffold-hooks@0.3.0-alpha.0 build /home/charles/git/peraspera/stackwright-pro/packages/scaffold-hooks
3
3
  > tsup
4
4
 
5
5
  CLI Building entry: src/index.ts
@@ -10,13 +10,13 @@ CLI Target: es2022
10
10
  CLI Cleaning output folder
11
11
  ESM Build start
12
12
  CJS Build start
13
- CJS dist/index.js 4.86 KB
14
- CJS dist/index.js.map 6.23 KB
15
- CJS ⚡️ Build success in 49ms
16
- ESM dist/index.mjs 3.20 KB
17
- ESM dist/index.mjs.map 6.15 KB
18
- ESM ⚡️ Build success in 49ms
13
+ ESM dist/index.mjs 3.26 KB
14
+ ESM dist/index.mjs.map 6.54 KB
15
+ ESM ⚡️ Build success in 18ms
16
+ CJS dist/index.js 5.05 KB
17
+ CJS dist/index.js.map 6.61 KB
18
+ CJS ⚡️ Build success in 18ms
19
19
  DTS Build start
20
- DTS ⚡️ Build success in 1421ms
21
- DTS dist/index.d.mts 656.00 B
22
- DTS dist/index.d.ts 656.00 B
20
+ DTS ⚡️ Build success in 547ms
21
+ DTS dist/index.d.mts 1.04 KB
22
+ DTS dist/index.d.ts 1.04 KB
@@ -1,12 +1,55 @@
1
1
 
2
- > @stackwright-pro/scaffold-hooks@0.2.0-alpha.0 test /home/charles/git/peraspera/stackwright-pro/packages/scaffold-hooks
2
+ > @stackwright-pro/scaffold-hooks@0.3.0-alpha.0 test /home/charles/git/peraspera/stackwright-pro/packages/scaffold-hooks
3
3
  > vitest run
4
4
 
5
5
 
6
6
   RUN  v4.1.2 /home/charles/git/peraspera/stackwright-pro/packages/scaffold-hooks
7
7
 
8
- No test files found, exiting with code 0
8
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > registerProScaffoldHooks > registers all three Pro hooks
9
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
9
10
 
10
- include: **/*.{test,spec}.?(c|m)[jt]s?(x)
11
- exclude: **/node_modules/**, **/.git/**
11
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > registerProScaffoldHooks > hooks are sorted by priority (ascending)
12
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
13
+
14
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > registerProScaffoldHooks > hooks have correct types
15
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
16
+
17
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > registerProScaffoldHooks > hooks have correct critical flag
18
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
19
+
20
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > registerProScaffoldHooks > hooks have working handlers
21
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
22
+
23
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > registerProScaffoldHooks > hooks have working handlers
24
+ ✅ Pro MCP server configured
25
+
26
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > registerProScaffoldHooks > hooks have working handlers
27
+ 🦦🦦 Pro packages ready!
28
+
29
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > singleton behavior across simulated boundaries > hooks persist in globalThis registry
30
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
31
+
32
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > singleton behavior across simulated boundaries > resetForTesting clears all hooks including Pro hooks
33
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
34
+
35
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > backward compatibility alias > createProScaffoldHooks is an alias for registerProScaffoldHooks
36
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
37
+
38
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > idempotency > calling registerProScaffoldHooks twice does not duplicate hooks
39
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
40
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
41
+
42
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > pro-mcp-config handler assertions > correctly configures the MCP server in codePuppyConfig
43
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
44
+ ✅ Pro MCP server configured
45
+
46
+ stdout | test/registry-integration.test.ts > Pro Scaffold Hooks Integration > error handling > handler works with empty packageJson
47
+ 🦦🔗 @stackwright-pro/scaffold-hooks registered
48
+
49
+ ✓ test/registry-integration.test.ts (11 tests) 12ms
50
+
51
+  Test Files  1 passed (1)
52
+  Tests  11 passed (11)
53
+  Start at  08:49:30
54
+  Duration  202ms (transform 45ms, setup 0ms, import 65ms, tests 12ms, environment 0ms)
12
55
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @stackwright-pro/scaffold-hooks
2
2
 
3
+ ## 0.3.0-alpha.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 9c3c74f: feat: add scaffold hooks integration for Pro packages
8
+ - Add @stackwright-pro/scaffold-hooks package using @stackwright/scaffold-core
9
+ - Hooks auto-register Pro dependencies, MCP config, and dev scripts
10
+ - Simplify launch-stackwright-pro by removing manual post-processing
11
+ - Update pnpm-workspace.yaml to include OSS packages
12
+
13
+ ### Patch Changes
14
+
15
+ - 40585d9: Fix module boundary issue by importing from shared @stackwright/hooks-registry singleton. This ensures Pro scaffold hooks are visible to the CLI regardless of which copy of scaffold-core each package bundles.
16
+ - Rename `createProScaffoldHooks(options)` to `registerProScaffoldHooks()` for direct registration
17
+ - Keep `createProScaffoldHooks` as backward-compatible alias
18
+ - Use `@stackwright/hooks-registry` Symbol.for() singleton for cross-boundary hook sharing
19
+
3
20
  ## 0.2.0
4
21
 
5
22
  ## 0.2.0-alpha.0
@@ -1 +1,2 @@
1
- {}
1
+ {"/home/charles/git/peraspera/stackwright-pro/packages/scaffold-hooks/src/index.ts": {"path":"/home/charles/git/peraspera/stackwright-pro/packages/scaffold-hooks/src/index.ts","statementMap":{"0":{"start":{"line":12,"column":57},"end":{"line":20,"column":null}},"1":{"start":{"line":22,"column":49},"end":{"line":29,"column":null}},"2":{"start":{"line":31,"column":53},"end":{"line":32,"column":null}},"3":{"start":{"line":54,"column":2},"end":{"line":96,"column":null}},"4":{"start":{"line":60,"column":26},"end":{"line":60,"column":null}},"5":{"start":{"line":61,"column":28},"end":{"line":61,"column":85}},"6":{"start":{"line":62,"column":31},"end":{"line":62,"column":91}},"7":{"start":{"line":63,"column":23},"end":{"line":63,"column":75}},"8":{"start":{"line":66,"column":6},"end":{"line":71,"column":null}},"9":{"start":{"line":67,"column":8},"end":{"line":68,"column":null}},"10":{"start":{"line":68,"column":10},"end":{"line":68,"column":null}},"11":{"start":{"line":70,"column":8},"end":{"line":71,"column":null}},"12":{"start":{"line":71,"column":10},"end":{"line":71,"column":null}},"13":{"start":{"line":76,"column":6},"end":{"line":76,"column":null}},"14":{"start":{"line":77,"column":6},"end":{"line":77,"column":null}},"15":{"start":{"line":80,"column":6},"end":{"line":80,"column":null}},"16":{"start":{"line":81,"column":6},"end":{"line":81,"column":null}},"17":{"start":{"line":84,"column":6},"end":{"line":90,"column":null}},"18":{"start":{"line":92,"column":6},"end":{"line":92,"column":null}},"19":{"start":{"line":93,"column":6},"end":{"line":93,"column":null}},"20":{"start":{"line":94,"column":6},"end":{"line":94,"column":null}},"21":{"start":{"line":98,"column":2},"end":{"line":125,"column":null}},"22":{"start":{"line":104,"column":31},"end":{"line":104,"column":56}},"23":{"start":{"line":107,"column":6},"end":{"line":107,"column":null}},"24":{"start":{"line":110,"column":7},"end":{"line":114,"column":null}},"25":{"start":{"line":117,"column":6},"end":{"line":120,"column":null}},"26":{"start":{"line":122,"column":6},"end":{"line":122,"column":null}},"27":{"start":{"line":123,"column":6},"end":{"line":123,"column":null}},"28":{"start":{"line":127,"column":2},"end":{"line":135,"column":null}},"29":{"start":{"line":133,"column":6},"end":{"line":133,"column":null}},"30":{"start":{"line":137,"column":2},"end":{"line":137,"column":null}},"31":{"start":{"line":143,"column":38},"end":{"line":143,"column":null}}},"fnMap":{"0":{"name":"registerProScaffoldHooks","decl":{"start":{"line":53,"column":16},"end":{"line":53,"column":49}},"loc":{"start":{"line":53,"column":49},"end":{"line":137,"column":null}},"line":53},"1":{"name":"(anonymous_1)","decl":{"start":{"line":59,"column":13},"end":{"line":59,"column":20}},"loc":{"start":{"line":59,"column":49},"end":{"line":94,"column":null}},"line":59},"2":{"name":"(anonymous_2)","decl":{"start":{"line":103,"column":13},"end":{"line":103,"column":20}},"loc":{"start":{"line":103,"column":28},"end":{"line":123,"column":null}},"line":103},"3":{"name":"(anonymous_3)","decl":{"start":{"line":132,"column":13},"end":{"line":132,"column":25}},"loc":{"start":{"line":132,"column":25},"end":{"line":133,"column":null}},"line":132}},"branchMap":{"0":{"loc":{"start":{"line":61,"column":28},"end":{"line":61,"column":85}},"type":"binary-expr","locations":[{"start":{"line":61,"column":28},"end":{"line":61,"column":83}},{"start":{"line":61,"column":83},"end":{"line":61,"column":85}}],"line":61},"1":{"loc":{"start":{"line":62,"column":31},"end":{"line":62,"column":91}},"type":"binary-expr","locations":[{"start":{"line":62,"column":31},"end":{"line":62,"column":89}},{"start":{"line":62,"column":89},"end":{"line":62,"column":91}}],"line":62},"2":{"loc":{"start":{"line":63,"column":23},"end":{"line":63,"column":75}},"type":"binary-expr","locations":[{"start":{"line":63,"column":23},"end":{"line":63,"column":73}},{"start":{"line":63,"column":73},"end":{"line":63,"column":75}}],"line":63},"3":{"loc":{"start":{"line":67,"column":8},"end":{"line":68,"column":null}},"type":"if","locations":[{"start":{"line":67,"column":8},"end":{"line":68,"column":null}},{"start":{},"end":{}}],"line":67},"4":{"loc":{"start":{"line":70,"column":8},"end":{"line":71,"column":null}},"type":"if","locations":[{"start":{"line":70,"column":8},"end":{"line":71,"column":null}},{"start":{},"end":{}}],"line":70},"5":{"loc":{"start":{"line":104,"column":31},"end":{"line":104,"column":56}},"type":"binary-expr","locations":[{"start":{"line":104,"column":31},"end":{"line":104,"column":54}},{"start":{"line":104,"column":54},"end":{"line":104,"column":56}}],"line":104},"6":{"loc":{"start":{"line":107,"column":36},"end":{"line":107,"column":69}},"type":"binary-expr","locations":[{"start":{"line":107,"column":36},"end":{"line":107,"column":67}},{"start":{"line":107,"column":67},"end":{"line":107,"column":69}}],"line":107}},"s":{"0":1,"1":1,"2":1,"3":8,"4":1,"5":1,"6":1,"7":1,"8":1,"9":7,"10":0,"11":7,"12":0,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":8,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":8,"29":1,"30":8,"31":1},"f":{"0":8,"1":1,"2":1,"3":1},"b":{"0":[1,0],"1":[1,0],"2":[1,0],"3":[0,7],"4":[0,7],"5":[1,0],"6":[1,1]},"meta":{"lastBranch":7,"lastFunction":4,"lastStatement":32,"seen":{"s:12:57:20:Infinity":0,"s:22:49:29:Infinity":1,"s:31:53:32:Infinity":2,"f:53:16:53:49":0,"s:54:2:96:Infinity":3,"f:59:13:59:20":1,"s:60:26:60:Infinity":4,"s:61:28:61:85":5,"b:61:28:61:83:61:83:61:85":0,"s:62:31:62:91":6,"b:62:31:62:89:62:89:62:91":1,"s:63:23:63:75":7,"b:63:23:63:73:63:73:63:75":2,"s:66:6:71:Infinity":8,"b:67:8:68:Infinity:undefined:undefined:undefined:undefined":3,"s:67:8:68:Infinity":9,"s:68:10:68:Infinity":10,"b:70:8:71:Infinity:undefined:undefined:undefined:undefined":4,"s:70:8:71:Infinity":11,"s:71:10:71:Infinity":12,"s:76:6:76:Infinity":13,"s:77:6:77:Infinity":14,"s:80:6:80:Infinity":15,"s:81:6:81:Infinity":16,"s:84:6:90:Infinity":17,"s:92:6:92:Infinity":18,"s:93:6:93:Infinity":19,"s:94:6:94:Infinity":20,"s:98:2:125:Infinity":21,"f:103:13:103:20":2,"s:104:31:104:56":22,"b:104:31:104:54:104:54:104:56":5,"s:107:6:107:Infinity":23,"b:107:36:107:67:107:67:107:69":6,"s:110:7:114:Infinity":24,"s:117:6:120:Infinity":25,"s:122:6:122:Infinity":26,"s:123:6:123:Infinity":27,"s:127:2:135:Infinity":28,"f:132:13:132:25":3,"s:133:6:133:Infinity":29,"s:137:2:137:Infinity":30,"s:143:38:143:Infinity":31}}}
2
+ }
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">Unknown% </span>
26
+ <span class="strong">93.75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/0</span>
28
+ <span class='fraction'>30/32</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">Unknown% </span>
33
+ <span class="strong">57.14% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
35
+ <span class='fraction'>8/14</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">Unknown% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/0</span>
42
+ <span class='fraction'>4/4</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">Unknown% </span>
47
+ <span class="strong">93.75% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/0</span>
49
+ <span class='fraction'>30/32</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -78,7 +78,22 @@
78
78
  <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
79
  </tr>
80
80
  </thead>
81
- <tbody></tbody>
81
+ <tbody><tr>
82
+ <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
83
+ <td data-value="93.75" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 93%"></div><div class="cover-empty" style="width: 7%"></div></div>
85
+ </td>
86
+ <td data-value="93.75" class="pct high">93.75%</td>
87
+ <td data-value="32" class="abs high">30/32</td>
88
+ <td data-value="57.14" class="pct medium">57.14%</td>
89
+ <td data-value="14" class="abs medium">8/14</td>
90
+ <td data-value="100" class="pct high">100%</td>
91
+ <td data-value="4" class="abs high">4/4</td>
92
+ <td data-value="93.75" class="pct high">93.75%</td>
93
+ <td data-value="32" class="abs high">30/32</td>
94
+ </tr>
95
+
96
+ </tbody>
82
97
  </table>
83
98
  </div>
84
99
  <div class='push'></div><!-- for sticky footer -->
@@ -86,7 +101,7 @@
86
101
  <div class='footer quiet pad2 space-top1 center small'>
87
102
  Code coverage generated by
88
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
89
- at 2026-04-05T17:48:35.669Z
104
+ at 2026-04-12T21:04:48.167Z
90
105
  </div>
91
106
  <script src="prettify.js"></script>
92
107
  <script>