@paraharness/git 0.2.0 → 0.2.1
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/dist/executors/internal/file-digest-and-globs.d.ts +2 -2
- package/dist/executors/internal/file-digest-and-globs.d.ts.map +1 -1
- package/dist/executors/internal/file-digest-and-globs.js +33 -18
- package/dist/executors/internal/file-digest-and-globs.js.map +1 -1
- package/dist/executors/internal/git-executor.constants.d.ts +8 -0
- package/dist/executors/internal/git-executor.constants.d.ts.map +1 -1
- package/dist/executors/internal/git-executor.constants.js +8 -0
- package/dist/executors/internal/git-executor.constants.js.map +1 -1
- package/package.json +2 -2
|
@@ -22,7 +22,7 @@ export declare function compileWorktreeExcludeMatcher(excludeGlobs: readonly str
|
|
|
22
22
|
/**
|
|
23
23
|
* Computes a structural SHA-256 digest of `<worktreePath>/node_modules`.
|
|
24
24
|
*
|
|
25
|
-
* Walks regular files and symlinks inside `node_modules` (excluding
|
|
25
|
+
* Walks regular files and symlinks inside `node_modules` (excluding transient `.cache`, `.vite*`, `.vitest*`, `.pnpm-task-run-state*` directories and `.pnpm-workspace-state*.json` files)
|
|
26
26
|
* so `diffEffects` and `restoreCheckpoint` can detect `node_modules` tampering without performing backup I/O.
|
|
27
27
|
*
|
|
28
28
|
* @param {string} worktreePath - Worktree root directory path.
|
|
@@ -33,7 +33,7 @@ export declare function computeNodeModulesDigest(worktreePath: string): Promise<
|
|
|
33
33
|
/**
|
|
34
34
|
* Mirrors `<worktreePath>/node_modules` into `<backupRootDir>/<digest>` via Copy-on-Write if not already backed up.
|
|
35
35
|
*
|
|
36
|
-
* Skips transient `.cache`, `.vite
|
|
36
|
+
* Skips transient `.cache`, `.vite*`, `.vitest*`, `.pnpm-task-run-state*` subdirectories and `.pnpm-workspace-state*.json` files, and short-circuits when `digest === 'ABSENT'`
|
|
37
37
|
* or `<backupRootDir>/<digest>` already exists on disk.
|
|
38
38
|
*
|
|
39
39
|
* @param {string} worktreePath - Worktree root directory path.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-digest-and-globs.d.ts","sourceRoot":"","sources":["../../../src/executors/internal/file-digest-and-globs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-digest-and-globs.d.ts","sourceRoot":"","sources":["../../../src/executors/internal/file-digest-and-globs.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAC1C,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAqB9B;AA8BD;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gCAAgC,CACpD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|
|
@@ -3,7 +3,7 @@ import { constants as fsConstants } from 'node:fs';
|
|
|
3
3
|
import { chmod, copyFile, lstat, mkdir, readdir, readFile, readlink, rm, symlink, } from 'node:fs/promises';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import picomatch from 'picomatch';
|
|
6
|
-
import { COMPILED_EXCLUDE_MATCHER_CACHE, IMPLICIT_REPO_EXCLUDE_GLOBS, } from './git-executor.constants.js';
|
|
6
|
+
import { COMPILED_EXCLUDE_MATCHER_CACHE, IMPLICIT_REPO_EXCLUDE_GLOBS, TRANSIENT_NODE_MODULES_DIR_SEGMENT_REGEX, TRANSIENT_NODE_MODULES_FILE_REGEX, } from './git-executor.constants.js';
|
|
7
7
|
/**
|
|
8
8
|
* Computes the `${mode}:${sha256}` digest for a worktree path using `lstat(2)` and `readlink(2)` / `readFile(2)`.
|
|
9
9
|
*
|
|
@@ -68,26 +68,37 @@ export function compileWorktreeExcludeMatcher(excludeGlobs) {
|
|
|
68
68
|
return compiled;
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
|
-
* Checks whether a relative directory path inside `node_modules` is a transient bundler
|
|
71
|
+
* Checks whether a relative directory path inside `node_modules` is a transient bundler, test-runner, or pnpm task-run state directory.
|
|
72
72
|
*
|
|
73
|
-
* Matches
|
|
73
|
+
* Matches top-level and nested `.cache`, `.vite*`, `.vitest*`, and `.pnpm-task-run-state*` directory segments.
|
|
74
74
|
*
|
|
75
75
|
* @param {string} relDir - Forward-slash relative directory path inside `node_modules`.
|
|
76
76
|
*
|
|
77
|
-
* @returns {boolean} `true` when `relDir`
|
|
77
|
+
* @returns {boolean} `true` when `relDir` contains a transient cache or state directory segment.
|
|
78
78
|
*/
|
|
79
79
|
function isTransientNodeModulesCacheDir(relDir) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
if (relDir.length === 0)
|
|
81
|
+
return false;
|
|
82
|
+
for (const segment of relDir.split('/')) {
|
|
83
|
+
if (TRANSIENT_NODE_MODULES_DIR_SEGMENT_REGEX.test(segment))
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Checks whether a file entry inside `node_modules` is a transient pnpm workspace state file.
|
|
90
|
+
*
|
|
91
|
+
* @param {string} entryName - Basename of the file entry inside `node_modules`.
|
|
92
|
+
*
|
|
93
|
+
* @returns {boolean} `true` when `entryName` matches `.pnpm-workspace-state*.json`.
|
|
94
|
+
*/
|
|
95
|
+
function isTransientNodeModulesStateFile(entryName) {
|
|
96
|
+
return TRANSIENT_NODE_MODULES_FILE_REGEX.test(entryName);
|
|
86
97
|
}
|
|
87
98
|
/**
|
|
88
99
|
* Computes a structural SHA-256 digest of `<worktreePath>/node_modules`.
|
|
89
100
|
*
|
|
90
|
-
* Walks regular files and symlinks inside `node_modules` (excluding
|
|
101
|
+
* Walks regular files and symlinks inside `node_modules` (excluding transient `.cache`, `.vite*`, `.vitest*`, `.pnpm-task-run-state*` directories and `.pnpm-workspace-state*.json` files)
|
|
91
102
|
* so `diffEffects` and `restoreCheckpoint` can detect `node_modules` tampering without performing backup I/O.
|
|
92
103
|
*
|
|
93
104
|
* @param {string} worktreePath - Worktree root directory path.
|
|
@@ -109,9 +120,11 @@ export async function computeNodeModulesDigest(worktreePath) {
|
|
|
109
120
|
entries.sort((a, b) => a.name.localeCompare(b.name));
|
|
110
121
|
for (const entry of entries) {
|
|
111
122
|
const childRel = relDir.length === 0 ? entry.name : `${relDir}/${entry.name}`;
|
|
112
|
-
if (entry.isDirectory())
|
|
113
|
-
|
|
114
|
-
|
|
123
|
+
if (entry.isDirectory()) {
|
|
124
|
+
if (!isTransientNodeModulesCacheDir(childRel))
|
|
125
|
+
stack.push(childRel);
|
|
126
|
+
}
|
|
127
|
+
else if (!isTransientNodeModulesStateFile(entry.name)) {
|
|
115
128
|
const digest = await computePathModeAndSha256(path.join(nmRoot, childRel));
|
|
116
129
|
hash.update(`${childRel}:${digest}\n`, 'utf8');
|
|
117
130
|
}
|
|
@@ -122,7 +135,7 @@ export async function computeNodeModulesDigest(worktreePath) {
|
|
|
122
135
|
/**
|
|
123
136
|
* Mirrors `<worktreePath>/node_modules` into `<backupRootDir>/<digest>` via Copy-on-Write if not already backed up.
|
|
124
137
|
*
|
|
125
|
-
* Skips transient `.cache`, `.vite
|
|
138
|
+
* Skips transient `.cache`, `.vite*`, `.vitest*`, `.pnpm-task-run-state*` subdirectories and `.pnpm-workspace-state*.json` files, and short-circuits when `digest === 'ABSENT'`
|
|
126
139
|
* or `<backupRootDir>/<digest>` already exists on disk.
|
|
127
140
|
*
|
|
128
141
|
* @param {string} worktreePath - Worktree root directory path.
|
|
@@ -147,9 +160,11 @@ export async function snapshotNodeModulesForCheckpoint(worktreePath, digest, bac
|
|
|
147
160
|
const entries = await readdir(path.join(nmRoot, relDir), { withFileTypes: true });
|
|
148
161
|
for (const entry of entries) {
|
|
149
162
|
const childRel = relDir.length === 0 ? entry.name : `${relDir}/${entry.name}`;
|
|
150
|
-
if (entry.isDirectory())
|
|
151
|
-
|
|
152
|
-
|
|
163
|
+
if (entry.isDirectory()) {
|
|
164
|
+
if (!isTransientNodeModulesCacheDir(childRel))
|
|
165
|
+
stack.push(childRel);
|
|
166
|
+
}
|
|
167
|
+
else if (!isTransientNodeModulesStateFile(entry.name)) {
|
|
153
168
|
await copyFileCowOrValue(path.join(nmRoot, childRel), path.join(digestBackupDir, childRel));
|
|
154
169
|
}
|
|
155
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-digest-and-globs.js","sourceRoot":"","sources":["../../../src/executors/internal/file-digest-and-globs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,OAAO,GACR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,
|
|
1
|
+
{"version":3,"file":"file-digest-and-globs.js","sourceRoot":"","sources":["../../../src/executors/internal/file-digest-and-globs.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,4 +26,12 @@ export declare const HARNESS_GIT_IDENTITY_ENV: Readonly<Record<string, string>>;
|
|
|
26
26
|
* Memoized cache of compiled `picomatch` exclusion predicates keyed by null-delimited glob patterns.
|
|
27
27
|
*/
|
|
28
28
|
export declare const COMPILED_EXCLUDE_MATCHER_CACHE: Map<string, (relPath: string) => boolean>;
|
|
29
|
+
/**
|
|
30
|
+
* Regular expression matching transient bundler, test-runner, and pnpm task state directory segments inside `node_modules`.
|
|
31
|
+
*/
|
|
32
|
+
export declare const TRANSIENT_NODE_MODULES_DIR_SEGMENT_REGEX: RegExp;
|
|
33
|
+
/**
|
|
34
|
+
* Regular expression matching transient pnpm workspace state JSON files inside `node_modules`.
|
|
35
|
+
*/
|
|
36
|
+
export declare const TRANSIENT_NODE_MODULES_FILE_REGEX: RegExp;
|
|
29
37
|
//# sourceMappingURL=git-executor.constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-executor.constants.d.ts","sourceRoot":"","sources":["../../../src/executors/internal/git-executor.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qCAAqC,UAAY,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAIvD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAW,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAiB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAW,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOpE,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAGlF,CAAC"}
|
|
1
|
+
{"version":3,"file":"git-executor.constants.d.ts","sourceRoot":"","sources":["../../../src/executors/internal/git-executor.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qCAAqC,UAAY,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAIvD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAW,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAiB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAW,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOpE,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAGlF,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,wCAAwC,QACI,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,iCAAiC,QAAsC,CAAC"}
|
|
@@ -37,4 +37,12 @@ export const HARNESS_GIT_IDENTITY_ENV = Object.freeze({
|
|
|
37
37
|
* Memoized cache of compiled `picomatch` exclusion predicates keyed by null-delimited glob patterns.
|
|
38
38
|
*/
|
|
39
39
|
export const COMPILED_EXCLUDE_MATCHER_CACHE = new Map();
|
|
40
|
+
/**
|
|
41
|
+
* Regular expression matching transient bundler, test-runner, and pnpm task state directory segments inside `node_modules`.
|
|
42
|
+
*/
|
|
43
|
+
export const TRANSIENT_NODE_MODULES_DIR_SEGMENT_REGEX = /^\.(cache|vite|vitest|pnpm-task-run-state)(?:$|[-_])/i;
|
|
44
|
+
/**
|
|
45
|
+
* Regular expression matching transient pnpm workspace state JSON files inside `node_modules`.
|
|
46
|
+
*/
|
|
47
|
+
export const TRANSIENT_NODE_MODULES_FILE_REGEX = /^\.pnpm-workspace-state.*\.json$/i;
|
|
40
48
|
//# sourceMappingURL=git-executor.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-executor.constants.js","sourceRoot":"","sources":["../../../src/executors/internal/git-executor.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,SAAS,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC1E,wBAAwB;IACxB,kBAAkB;IAClB,SAAS;CACV,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACtF,eAAe,EAAE,qBAAqB;IACtC,gBAAgB,EAAE,2BAA2B;IAC7C,kBAAkB,EAAE,qBAAqB;IACzC,mBAAmB,EAAE,2BAA2B;IAChD,eAAe,EAAE,kBAAkB;IACnC,kBAAkB,EAAE,kBAAkB;CACvC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAA8C,IAAI,GAAG,EAG7F,CAAC"}
|
|
1
|
+
{"version":3,"file":"git-executor.constants.js","sourceRoot":"","sources":["../../../src/executors/internal/git-executor.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,SAAS,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC1E,wBAAwB;IACxB,kBAAkB;IAClB,SAAS;CACV,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACtF,eAAe,EAAE,qBAAqB;IACtC,gBAAgB,EAAE,2BAA2B;IAC7C,kBAAkB,EAAE,qBAAqB;IACzC,mBAAmB,EAAE,2BAA2B;IAChD,eAAe,EAAE,kBAAkB;IACnC,kBAAkB,EAAE,kBAAkB;CACvC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAA8C,IAAI,GAAG,EAG7F,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,wCAAwC,GACnD,uDAAuD,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paraharness/git",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Copy-on-Write (CoW) hierarchical Git worktree isolation scope, git-index checkpointing, stateless 3-way merge-tree reconciliation, and candidate comparison tools for Paraharness.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"paraharness",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"picomatch": "^4.0.3",
|
|
50
50
|
"write-file-atomic": "^8.0.0",
|
|
51
51
|
"zod": "^4.6.7",
|
|
52
|
-
"@paraharness/core": "0.2.
|
|
52
|
+
"@paraharness/core": "0.2.1",
|
|
53
53
|
"@paraharness/lockfile": "0.2.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|