styleproof 4.4.10 → 4.4.12

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,24 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [4.4.12] - 2026-07-13
11
+
12
+ ### Fixed
13
+
14
+ - **Map-store publication now survives an isolated push losing Actions
15
+ authentication.** If the sparse temporary checkout is rejected, StyleProof
16
+ imports its generated commit into the original checkout and retries the push
17
+ through checkout-v7's authenticated Git context.
18
+
19
+ ## [4.4.11] - 2026-07-13
20
+
21
+ ### Fixed
22
+
23
+ - **Map-store pushes now receive workflow authentication directly.** The final
24
+ `git push` uses the same explicit reset-and-token arguments as the isolated
25
+ clone, so temporary sparse-checkout config cannot drop the Actions token after
26
+ a successful cold-cache capture.
27
+
10
28
  ## [4.4.10] - 2026-07-13
11
29
 
12
30
  ### Fixed
package/dist/map-store.js CHANGED
@@ -480,6 +480,16 @@ function checkoutMapStore(cwd, remote, branch, sparseSegment) {
480
480
  checkoutSparseSegment(tmp, branch, sparseSegment);
481
481
  return tmp;
482
482
  }
483
+ function pushMapStoreCommit(cwd, temporaryCheckout, remote, branch, authenticationArguments) {
484
+ const isolatedPush = runGit(temporaryCheckout, [...authenticationArguments, 'push', '-q', 'origin', `HEAD:${branch}`], 1 << 20);
485
+ if (isolatedPush.status === 0)
486
+ return isolatedPush;
487
+ const mapStoreCommit = gitOutput(temporaryCheckout, ['rev-parse', 'HEAD']);
488
+ const importCommit = runGit(cwd, ['fetch', '-q', '--no-write-fetch-head', temporaryCheckout, mapStoreCommit], 1 << 20);
489
+ if (importCommit.status !== 0)
490
+ return isolatedPush;
491
+ return runGit(cwd, ['push', '-q', remote, `${mapStoreCommit}:${branch}`], 1 << 20);
492
+ }
483
493
  export function publishMapBundle(options) {
484
494
  const cwd = options.cwd ?? process.cwd();
485
495
  const branch = options.branch ?? DEFAULT_MAP_STORE_BRANCH;
@@ -495,6 +505,10 @@ export function publishMapBundle(options) {
495
505
  const sha = safeSegment(manifest.sha, 'sha');
496
506
  const compatibilityKey = safeSegment(manifest.compatibilityKey, 'compatibility key');
497
507
  const target = `${sha}/${compatibilityKey}`;
508
+ const pushAuthenticationArguments = effectiveGitHttpExtraHeaders(cwd).flatMap(({ key, value }) => [
509
+ '-c',
510
+ `${key}=${value}`,
511
+ ]);
498
512
  let ok = false;
499
513
  let lastError = '';
500
514
  for (let attempt = 1; attempt <= 5; attempt++) {
@@ -510,7 +524,7 @@ export function publishMapBundle(options) {
510
524
  }
511
525
  runGit(tmp, ['add', '-A', '--sparse', '--', 'README.md', target]);
512
526
  runGit(tmp, ['commit', '-q', '-m', `StyleProof map ${sha.slice(0, 12)} ${compatibilityKey}`], 1 << 20);
513
- const push = runGit(tmp, ['push', '-q', 'origin', `HEAD:${branch}`], 1 << 20);
527
+ const push = pushMapStoreCommit(cwd, tmp, remote, branch, pushAuthenticationArguments);
514
528
  if (push.status === 0) {
515
529
  ok = true;
516
530
  break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "styleproof",
3
- "version": "4.4.10",
3
+ "version": "4.4.12",
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",