styleproof 4.4.17 → 4.4.18

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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,14 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [4.4.18] - 2026-07-13
11
+
12
+ ### Fixed
13
+
14
+ - **Generated cold-cache workflows now publish from a clean tracked tree.** Yarn,
15
+ pnpm, and Bun restore only the package metadata changed by the temporary exact
16
+ StyleProof install while retaining that release in `node_modules` for capture.
17
+
10
18
  ## [4.4.17] - 2026-07-13
11
19
 
12
20
  ### Fixed
@@ -222,6 +222,7 @@ const PACKAGE_MANAGERS = {
222
222
  exec: (command) => `npx ${command}`,
223
223
  install: 'npm ci',
224
224
  installExactStyleProof: 'npm install --no-save --package-lock=false "styleproof@$STYLEPROOF_VERSION"',
225
+ restorePackageMetadata: 'true # npm exact install leaves package metadata unchanged',
225
226
  setup: ` - uses: actions/setup-node@v4
226
227
  with:
227
228
  node-version: '20'
@@ -233,6 +234,7 @@ const PACKAGE_MANAGERS = {
233
234
  exec: (command) => `npx -y yarn@1.22.22 ${command}`,
234
235
  install: 'npx -y yarn@1.22.22 install --frozen-lockfile --non-interactive',
235
236
  installExactStyleProof: 'npx -y yarn@1.22.22 add --dev --exact "styleproof@$STYLEPROOF_VERSION"',
237
+ restorePackageMetadata: 'git checkout -- package.json yarn.lock',
236
238
  setup: ` - uses: actions/setup-node@v4
237
239
  with:
238
240
  node-version: '20'
@@ -245,6 +247,7 @@ const PACKAGE_MANAGERS = {
245
247
  exec: (command) => `pnpm exec ${command}`,
246
248
  install: 'pnpm install --frozen-lockfile',
247
249
  installExactStyleProof: 'pnpm add --save-dev --save-exact "styleproof@$STYLEPROOF_VERSION"',
250
+ restorePackageMetadata: 'git checkout -- package.json pnpm-lock.yaml',
248
251
  setup: ` - uses: actions/setup-node@v4
249
252
  with:
250
253
  node-version: '20'
@@ -258,6 +261,12 @@ const PACKAGE_MANAGERS = {
258
261
  exec: (command) => `bunx ${command}`,
259
262
  install: 'bun install --frozen-lockfile',
260
263
  installExactStyleProof: 'bun add --dev --exact "styleproof@$STYLEPROOF_VERSION"',
264
+ restorePackageMetadata: `git checkout -- package.json
265
+ for package_metadata_file in bun.lock bun.lockb; do
266
+ if git ls-files --error-unmatch "$package_metadata_file" >/dev/null 2>&1; then
267
+ git checkout -- "$package_metadata_file"
268
+ fi
269
+ done`,
261
270
  setup: ` - uses: actions/setup-node@v4
262
271
  with:
263
272
  node-version: '20'
@@ -439,6 +448,10 @@ ${PM.setup}
439
448
  # exact release, then invoke its binary directly so a later package
440
449
  # manager command cannot silently reconcile node_modules backwards.
441
450
  ${PM.installExactStyleProof}
451
+ # Package managers that record the temporary exact release dirty
452
+ # tracked metadata. Restore only those files: node_modules must
453
+ # retain the exact release for the clean-tree capture below.
454
+ ${PM.restorePackageMetadata}
442
455
  PATH="$PWD/node_modules/.bin:$PATH" playwright install --with-deps chromium
443
456
  if [ -f "${specPath}" ]; then
444
457
  PATH="$PWD/node_modules/.bin:$PATH" node node_modules/styleproof/bin/styleproof-map.mjs --spec ${specPath} --dir base --base-dir "$MAP_ROOT" --keep-har --sha "$BASE_SHA" --upload
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "styleproof",
3
- "version": "4.4.17",
3
+ "version": "4.4.18",
4
4
  "description": "Catch every CSS change before it ships — review PRs and certify refactors by the browser's computed styles, not pixels. Works with any styling system.",
5
5
  "keywords": [
6
6
  "playwright",