filedist 0.30.0 → 0.33.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.
- package/README.md +318 -253
- package/dist/cli/actions/check.d.ts +5 -2
- package/dist/cli/actions/check.d.ts.map +1 -1
- package/dist/cli/actions/check.js +10 -3
- package/dist/cli/actions/check.js.map +1 -1
- package/dist/cli/actions/init.d.ts.map +1 -1
- package/dist/cli/actions/init.js +10 -3
- package/dist/cli/actions/init.js.map +1 -1
- package/dist/cli/actions/install.d.ts +7 -0
- package/dist/cli/actions/install.d.ts.map +1 -0
- package/dist/cli/actions/{extract.js → install.js} +15 -13
- package/dist/cli/actions/install.js.map +1 -0
- package/dist/cli/actions/list.d.ts +1 -1
- package/dist/cli/actions/list.d.ts.map +1 -1
- package/dist/cli/actions/list.js +4 -2
- package/dist/cli/actions/list.js.map +1 -1
- package/dist/cli/actions/remove.d.ts +20 -0
- package/dist/cli/actions/remove.d.ts.map +1 -0
- package/dist/cli/actions/remove.js +133 -0
- package/dist/cli/actions/remove.js.map +1 -0
- package/dist/cli/actions/update.d.ts +8 -0
- package/dist/cli/actions/update.d.ts.map +1 -0
- package/dist/cli/actions/update.js +40 -0
- package/dist/cli/actions/update.js.map +1 -0
- package/dist/cli/argv.d.ts +10 -5
- package/dist/cli/argv.d.ts.map +1 -1
- package/dist/cli/argv.js +41 -15
- package/dist/cli/argv.js.map +1 -1
- package/dist/cli/binpkg.d.ts +1 -12
- package/dist/cli/binpkg.d.ts.map +1 -1
- package/dist/cli/binpkg.js +64 -12
- package/dist/cli/binpkg.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +80 -41
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/usage.d.ts.map +1 -1
- package/dist/cli/usage.js +68 -33
- package/dist/cli/usage.js.map +1 -1
- package/dist/fileset/check.d.ts +0 -1
- package/dist/fileset/check.d.ts.map +1 -1
- package/dist/fileset/check.js +7 -8
- package/dist/fileset/check.js.map +1 -1
- package/dist/fileset/constants.d.ts.map +1 -1
- package/dist/fileset/constants.js +3 -2
- package/dist/fileset/constants.js.map +1 -1
- package/dist/fileset/execute.d.ts.map +1 -1
- package/dist/fileset/execute.js +3 -2
- package/dist/fileset/execute.js.map +1 -1
- package/dist/fileset/gitignore.js +3 -3
- package/dist/fileset/gitignore.js.map +1 -1
- package/dist/fileset/markers.d.ts +9 -4
- package/dist/fileset/markers.d.ts.map +1 -1
- package/dist/fileset/markers.js +31 -22
- package/dist/fileset/markers.js.map +1 -1
- package/dist/fileset/test-utils.d.ts.map +1 -1
- package/dist/fileset/test-utils.js +2 -1
- package/dist/fileset/test-utils.js.map +1 -1
- package/dist/index.d.ts +9 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -5
- package/dist/index.js.map +1 -1
- package/dist/package/action-check.d.ts +25 -9
- package/dist/package/action-check.d.ts.map +1 -1
- package/dist/package/action-check.js +88 -12
- package/dist/package/action-check.js.map +1 -1
- package/dist/package/action-init.d.ts +6 -2
- package/dist/package/action-init.d.ts.map +1 -1
- package/dist/package/action-init.js +26 -15
- package/dist/package/action-init.js.map +1 -1
- package/dist/package/action-install.d.ts +22 -0
- package/dist/package/action-install.d.ts.map +1 -0
- package/dist/package/{action-extract.js → action-install.js} +211 -34
- package/dist/package/action-install.js.map +1 -0
- package/dist/package/action-list.d.ts +5 -2
- package/dist/package/action-list.d.ts.map +1 -1
- package/dist/package/action-list.js +5 -4
- package/dist/package/action-list.js.map +1 -1
- package/dist/package/action-remove.d.ts +65 -0
- package/dist/package/action-remove.d.ts.map +1 -0
- package/dist/package/action-remove.js +171 -0
- package/dist/package/action-remove.js.map +1 -0
- package/dist/package/action-update.d.ts +28 -0
- package/dist/package/action-update.d.ts.map +1 -0
- package/dist/package/action-update.js +45 -0
- package/dist/package/action-update.js.map +1 -0
- package/dist/package/calculate-diff.d.ts +1 -1
- package/dist/package/calculate-diff.d.ts.map +1 -1
- package/dist/package/calculate-diff.js +12 -14
- package/dist/package/calculate-diff.js.map +1 -1
- package/dist/package/config.d.ts +40 -27
- package/dist/package/config.d.ts.map +1 -1
- package/dist/package/config.js +164 -113
- package/dist/package/config.js.map +1 -1
- package/dist/package/index.d.ts +6 -4
- package/dist/package/index.d.ts.map +1 -1
- package/dist/package/index.js +7 -5
- package/dist/package/index.js.map +1 -1
- package/dist/package/lockfile.d.ts +69 -0
- package/dist/package/lockfile.d.ts.map +1 -0
- package/dist/package/lockfile.js +191 -0
- package/dist/package/lockfile.js.map +1 -0
- package/dist/package/resolve-files.d.ts +14 -0
- package/dist/package/resolve-files.d.ts.map +1 -1
- package/dist/package/resolve-files.js +5 -1
- package/dist/package/resolve-files.js.map +1 -1
- package/dist/package/source.d.ts +13 -0
- package/dist/package/source.d.ts.map +1 -1
- package/dist/package/source.js +33 -12
- package/dist/package/source.js.map +1 -1
- package/dist/package/symlinks.d.ts.map +1 -1
- package/dist/package/symlinks.js +8 -3
- package/dist/package/symlinks.js.map +1 -1
- package/dist/types.d.ts +7 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +6 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +9 -0
- package/dist/utils.js.map +1 -1
- package/package.json +1 -2
- package/dist/cli/actions/extract.d.ts +0 -7
- package/dist/cli/actions/extract.d.ts.map +0 -1
- package/dist/cli/actions/extract.js.map +0 -1
- package/dist/cli/actions/purge.d.ts +0 -6
- package/dist/cli/actions/purge.d.ts.map +0 -1
- package/dist/cli/actions/purge.js +0 -42
- package/dist/cli/actions/purge.js.map +0 -1
- package/dist/package/action-extract.d.ts +0 -20
- package/dist/package/action-extract.d.ts.map +0 -1
- package/dist/package/action-extract.js.map +0 -1
- package/dist/package/action-purge.d.ts +0 -19
- package/dist/package/action-purge.d.ts.map +0 -1
- package/dist/package/action-purge.js +0 -135
- package/dist/package/action-purge.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/fileset/check.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/fileset/check.ts"],"names":[],"mappings":";;;;;AAsBA,oCA8CC;AApED,0DAA6B;AAC7B,sDAAyB;AAGzB,oCAAiE;AAEjE,mDAAwD;AAExD;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,YAAY,CAChC,OAAsB,EACtB,SAAiB,EACjB,MAA6B,EAC7B,WAA2B,EAAE;IAE7B,MAAM,aAAa,GAAG,IAAI,GAAG,CAA8B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3F,MAAM,MAAM,GAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAErE,0BAA0B;IAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,kEAAkE;QAClE,IAAI,CAAC,CAAC,OAAO;YAAE,SAAS;QAExB,gEAAgE;QAChE,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,GAAG,IAAA,uBAAe,EAAC,IAAA,kBAAU,EAAC,iBAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAA,uBAAe,EAAC,MAAM,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,iFAAiF;IACjF,gFAAgF;IAChF,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAAqB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,cAAc,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAAS,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,cAAc,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAAS,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAUpC,CAAC;AAEF,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAClD,eAAO,MAAM,aAAa,mBAAmB,CAAC"}
|
|
@@ -16,8 +16,9 @@ exports.DEFAULT_FILE_PATTERNS = ['**'];
|
|
|
16
16
|
*/
|
|
17
17
|
exports.DEFAULT_EXCLUDE_PATTERNS = [
|
|
18
18
|
'package.json',
|
|
19
|
-
'.
|
|
20
|
-
'.
|
|
19
|
+
'.filedist.yml',
|
|
20
|
+
'.filedist-package.yml',
|
|
21
|
+
'.filedist.lock',
|
|
21
22
|
'.git/**',
|
|
22
23
|
'bin/**',
|
|
23
24
|
'README.md',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,WAAW,GAAG,WAAW,CAAC;AAEvC;;GAEG;AACU,QAAA,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAC;AAE5C;;;;GAIG;AACU,QAAA,wBAAwB,GAAG;IACtC,cAAc;IACd,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/fileset/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,WAAW,GAAG,WAAW,CAAC;AAEvC;;GAEG;AACU,QAAA,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAC;AAE5C;;;;GAIG;AACU,QAAA,wBAAwB,GAAG;IACtC,cAAc;IACd,eAAe;IACf,uBAAuB;IACvB,gBAAgB;IAChB,SAAS;IACT,QAAQ;IACR,WAAW;IACX,iBAAiB;IACjB,UAAU;CACX,CAAC;AAEW,QAAA,cAAc,GAAG,YAAY,CAAC;AAC9B,QAAA,eAAe,GAAG,kBAAkB,CAAC;AACrC,QAAA,aAAa,GAAG,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAOlB;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,mBAAmB,EAAE,EAErC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAOlB;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,mBAAmB,EAAE,EAErC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC,CAsHxB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBvF;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE"}
|
package/dist/fileset/execute.js
CHANGED
|
@@ -103,13 +103,14 @@ async function execute(map, outputDir, outputConfig, pkg, pkgVersion, existingMa
|
|
|
103
103
|
const updatedEntries = existingMarker.filter((m) => !map.toDelete.includes(m.path) && !addedPaths.has(m.path));
|
|
104
104
|
for (const op of [...map.toAdd, ...map.toModify]) {
|
|
105
105
|
// Hash the final file content (after any content replacements applied above)
|
|
106
|
-
const checksum = (0, utils_1.hashFileSync)(op.destPath);
|
|
106
|
+
const checksum = (0, utils_1.shortenChecksum)((0, utils_1.hashFileSync)(op.destPath));
|
|
107
107
|
updatedEntries.push({
|
|
108
108
|
path: op.relPath,
|
|
109
109
|
packageName: pkg.name,
|
|
110
110
|
packageVersion: pkgVersion,
|
|
111
|
+
kind: 'file',
|
|
111
112
|
checksum,
|
|
112
|
-
|
|
113
|
+
mutable: outputConfig.mutable === true,
|
|
113
114
|
});
|
|
114
115
|
}
|
|
115
116
|
if (verbose) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":";;;;;AAmCA,
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@ async function removeFromGitignore(markerDir, paths) {
|
|
|
41
41
|
const { beforeSection, managedEntries, afterSection } = parseSections(existingContent);
|
|
42
42
|
// Remove specified paths from the managed section
|
|
43
43
|
const pathSet = new Set(paths);
|
|
44
|
-
const remaining = managedEntries.filter((e) => !pathSet.has(e)
|
|
44
|
+
const remaining = managedEntries.filter((e) => !pathSet.has(e));
|
|
45
45
|
writeGitignore(gitignorePath, beforeSection, remaining, afterSection);
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
@@ -70,7 +70,7 @@ function parseSections(content) {
|
|
|
70
70
|
const managedEntries = sectionContent
|
|
71
71
|
.split('\n')
|
|
72
72
|
.map((l) => l.trim())
|
|
73
|
-
.filter((l) => l.length > 0
|
|
73
|
+
.filter((l) => l.length > 0);
|
|
74
74
|
const afterSection = content.slice(endIdx + constants_1.GITIGNORE_END.length).trimStart();
|
|
75
75
|
return { beforeSection, managedEntries, afterSection, hasSection: true };
|
|
76
76
|
}
|
|
@@ -86,7 +86,7 @@ function writeGitignore(gitignorePath, beforeSection, managedPaths, afterSection
|
|
|
86
86
|
}
|
|
87
87
|
return;
|
|
88
88
|
}
|
|
89
|
-
const section = [constants_1.GITIGNORE_START,
|
|
89
|
+
const section = [constants_1.GITIGNORE_START, ...managedPaths.sort(), constants_1.GITIGNORE_END].join('\n');
|
|
90
90
|
const parts = [beforeSection, section, afterSection].filter(Boolean);
|
|
91
91
|
const updatedContent = `${parts.join('\n')}\n`;
|
|
92
92
|
node_fs_1.default.writeFileSync(gitignorePath, updatedContent, 'utf8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/fileset/gitignore.ts"],"names":[],"mappings":";;;;;AAUA,wCAEC;AAKD,kEAOC;AAMD,kDAYC;AAKD,wDAiBC;AAhED,sDAAyB;AACzB,0DAA6B;AAE7B,
|
|
1
|
+
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/fileset/gitignore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { ManagedFileMetadata } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Read all managed file entries from a .filedist marker file.
|
|
4
|
-
* Format: path|packageName|packageVersion
|
|
4
|
+
* Format: path|packageName|packageVersion|kind|checksum|mutable
|
|
5
5
|
* Pipe is used as separator so file paths containing commas are handled safely.
|
|
6
|
-
*
|
|
6
|
+
* mutable column: '1' = mutable, '0' or absent = not mutable.
|
|
7
|
+
*
|
|
8
|
+
* A trailing self-checksum row `.|<sha256hex>` covers all entry rows.
|
|
9
|
+
* When present, integrity is verified and an error is thrown on mismatch.
|
|
7
10
|
*/
|
|
8
11
|
export declare function readMarker(markerFilePath: string): Promise<ManagedFileMetadata[]>;
|
|
9
12
|
/**
|
|
10
13
|
* Write managed file entries to a .filedist marker file.
|
|
11
|
-
* Format: path|packageName|packageVersion
|
|
12
|
-
*
|
|
14
|
+
* Format: path|packageName|packageVersion|kind|checksum|mutable
|
|
15
|
+
* mutable column: '1' = mutable, '0' = not mutable.
|
|
16
|
+
* Trailing columns up to (but not including) the last meaningful one are always written.
|
|
17
|
+
* A self-checksum row `.|<sha256hex>` is appended after all entry rows.
|
|
13
18
|
* Makes the file read-only after writing.
|
|
14
19
|
*/
|
|
15
20
|
export declare function writeMarker(markerFilePath: string, entries: ManagedFileMetadata[]): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQ/C;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAgCvF;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,mBAAmB,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAE3F"}
|
package/dist/fileset/markers.js
CHANGED
|
@@ -11,11 +11,16 @@ const node_fs_1 = __importDefault(require("node:fs"));
|
|
|
11
11
|
const node_path_1 = __importDefault(require("node:path"));
|
|
12
12
|
const utils_1 = require("../utils");
|
|
13
13
|
const constants_1 = require("./constants");
|
|
14
|
+
/** Special path used for the self-checksum row at the end of a marker file. */
|
|
15
|
+
const SELF_CHECKSUM_PATH = '.';
|
|
14
16
|
/**
|
|
15
17
|
* Read all managed file entries from a .filedist marker file.
|
|
16
|
-
* Format: path|packageName|packageVersion
|
|
18
|
+
* Format: path|packageName|packageVersion|kind|checksum|mutable
|
|
17
19
|
* Pipe is used as separator so file paths containing commas are handled safely.
|
|
18
|
-
*
|
|
20
|
+
* mutable column: '1' = mutable, '0' or absent = not mutable.
|
|
21
|
+
*
|
|
22
|
+
* A trailing self-checksum row `.|<sha256hex>` covers all entry rows.
|
|
23
|
+
* When present, integrity is verified and an error is thrown on mismatch.
|
|
19
24
|
*/
|
|
20
25
|
async function readMarker(markerFilePath) {
|
|
21
26
|
if (!node_fs_1.default.existsSync(markerFilePath)) {
|
|
@@ -23,22 +28,34 @@ async function readMarker(markerFilePath) {
|
|
|
23
28
|
}
|
|
24
29
|
const content = node_fs_1.default.readFileSync(markerFilePath, 'utf8');
|
|
25
30
|
const lines = content.split('\n').filter((line) => line.trim() !== '');
|
|
26
|
-
|
|
31
|
+
// Separate the self-checksum row (path === '.') from entry lines
|
|
32
|
+
const checksumRow = lines.find((line) => line.split('|')[0] === SELF_CHECKSUM_PATH);
|
|
33
|
+
const entryLines = lines.filter((line) => line.split('|')[0] !== SELF_CHECKSUM_PATH);
|
|
34
|
+
if (checksumRow) {
|
|
35
|
+
const storedHash = checksumRow.split('|')[1] ?? '';
|
|
36
|
+
const expectedHash = (0, utils_1.shortenChecksum)((0, utils_1.hashBuffer)(entryLines.join('\n') + '\n'));
|
|
37
|
+
if (storedHash !== expectedHash) {
|
|
38
|
+
throw new Error(`Marker integrity check failed: ${markerFilePath} may have been tampered with`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return entryLines.map((line) => {
|
|
27
42
|
const fields = line.split('|');
|
|
28
43
|
return {
|
|
29
44
|
path: fields[0] ?? '',
|
|
30
45
|
packageName: fields[1] ?? '',
|
|
31
46
|
packageVersion: fields[2] ?? '',
|
|
32
47
|
kind: fields[3] === 'symlink' ? 'symlink' : 'file',
|
|
33
|
-
|
|
34
|
-
|
|
48
|
+
checksum: fields[4] ?? '',
|
|
49
|
+
mutable: fields[5] === '1',
|
|
35
50
|
};
|
|
36
51
|
});
|
|
37
52
|
}
|
|
38
53
|
/**
|
|
39
54
|
* Write managed file entries to a .filedist marker file.
|
|
40
|
-
* Format: path|packageName|packageVersion
|
|
41
|
-
*
|
|
55
|
+
* Format: path|packageName|packageVersion|kind|checksum|mutable
|
|
56
|
+
* mutable column: '1' = mutable, '0' = not mutable.
|
|
57
|
+
* Trailing columns up to (but not including) the last meaningful one are always written.
|
|
58
|
+
* A self-checksum row `.|<sha256hex>` is appended after all entry rows.
|
|
42
59
|
* Makes the file read-only after writing.
|
|
43
60
|
*/
|
|
44
61
|
async function writeMarker(markerFilePath, entries) {
|
|
@@ -55,22 +72,14 @@ async function writeMarker(markerFilePath, entries) {
|
|
|
55
72
|
return;
|
|
56
73
|
}
|
|
57
74
|
const rows = entries.map((e) => {
|
|
58
|
-
const kindField = e.kind === 'symlink' ? 'symlink' : '';
|
|
59
|
-
const checksumField = e.checksum
|
|
60
|
-
const mutableField = e.mutable ? '
|
|
61
|
-
|
|
62
|
-
if (mutableField) {
|
|
63
|
-
return `${e.path}|${e.packageName}|${e.packageVersion}|${kindField}|${checksumField}|${mutableField}`;
|
|
64
|
-
}
|
|
65
|
-
if (checksumField) {
|
|
66
|
-
return `${e.path}|${e.packageName}|${e.packageVersion}|${kindField}|${checksumField}`;
|
|
67
|
-
}
|
|
68
|
-
if (kindField) {
|
|
69
|
-
return `${e.path}|${e.packageName}|${e.packageVersion}|${kindField}`;
|
|
70
|
-
}
|
|
71
|
-
return `${e.path}|${e.packageName}|${e.packageVersion}`;
|
|
75
|
+
const kindField = e.kind === 'symlink' ? 'symlink' : 'file';
|
|
76
|
+
const checksumField = e.checksum;
|
|
77
|
+
const mutableField = e.mutable ? '1' : '0';
|
|
78
|
+
return `${e.path}|${e.packageName}|${e.packageVersion}|${kindField}|${checksumField}|${mutableField}`;
|
|
72
79
|
});
|
|
73
|
-
|
|
80
|
+
const entryContent = `${rows.join('\n')}\n`;
|
|
81
|
+
const selfChecksum = (0, utils_1.shortenChecksum)((0, utils_1.hashBuffer)(entryContent));
|
|
82
|
+
node_fs_1.default.writeFileSync(markerFilePath, `${entryContent}${SELF_CHECKSUM_PATH}|${selfChecksum}\n`, 'utf8');
|
|
74
83
|
node_fs_1.default.chmodSync(markerFilePath, 0o444);
|
|
75
84
|
}
|
|
76
85
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,CA6ChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,EACZ,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,QAAQ,MAAM,EACd,UAAU;IACR,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,KACA,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAqC1E,CAAC"}
|
|
@@ -8,6 +8,7 @@ const node_fs_1 = __importDefault(require("node:fs"));
|
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
9
|
const node_child_process_1 = require("node:child_process");
|
|
10
10
|
const archiver_1 = __importDefault(require("archiver"));
|
|
11
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
11
12
|
function runCommand(command, args, cwd) {
|
|
12
13
|
const result = (0, node_child_process_1.spawnSync)(command, args, {
|
|
13
14
|
cwd,
|
|
@@ -82,7 +83,7 @@ const createMockGitRepo = async (name, files, tmpDir, options) => {
|
|
|
82
83
|
node_fs_1.default.writeFileSync(fullPath, content);
|
|
83
84
|
}
|
|
84
85
|
if (options?.filedistConfig) {
|
|
85
|
-
node_fs_1.default.writeFileSync(node_path_1.default.join(repoDir, '.
|
|
86
|
+
node_fs_1.default.writeFileSync(node_path_1.default.join(repoDir, '.filedist-package.yml'), js_yaml_1.default.dump(options.filedistConfig));
|
|
86
87
|
}
|
|
87
88
|
runCommand('git', ['init'], repoDir);
|
|
88
89
|
runCommand('git', ['config', 'user.email', 'filedist-tests@example.com'], repoDir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAC7B,2DAA+C;AAE/C,wDAAgC;
|
|
1
|
+
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/fileset/test-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export type {
|
|
1
|
+
export { actionInstall } from './package/action-install';
|
|
2
|
+
export type { InstallOptions, InstallResult } from './package/action-install';
|
|
3
|
+
export { readLockfile, writeLockfile, buildLockfileData, computeLockfileChecksum, readManagedFilesForDir, writeManagedFilesForDir, outputDirKey, } from './package/lockfile';
|
|
4
|
+
export type { LockfileData } from './package/lockfile';
|
|
3
5
|
export { actionCheck } from './package/action-check';
|
|
4
6
|
export type { CheckOptions, CheckSummary } from './package/action-check';
|
|
5
7
|
export { actionList } from './package/action-list';
|
|
6
8
|
export type { ListOptions } from './package/action-list';
|
|
7
|
-
export {
|
|
8
|
-
export type {
|
|
9
|
+
export { actionRemove } from './package/action-remove';
|
|
10
|
+
export type { RemoveOptions, RemoveSummary } from './package/action-remove';
|
|
11
|
+
export { actionUpdate } from './package/action-update';
|
|
12
|
+
export type { UpdateOptions } from './package/action-update';
|
|
9
13
|
export { resolveFiles } from './package/resolve-files';
|
|
10
14
|
export type { ResolveOptions } from './package/resolve-files';
|
|
11
15
|
export { calculateDiff } from './package/calculate-diff';
|
|
12
16
|
export { binpkg } from './cli/binpkg';
|
|
13
|
-
export type { FiledistConfig, FiledistExtractEntry, PackageConfig, SelectorConfig, OutputConfig, SymlinkConfig, ContentReplacementConfig, ManagedFileMetadata, ProgressEvent, ExtractionMap, CheckResult,
|
|
17
|
+
export type { FiledistConfig, FiledistExtractEntry, PackageConfig, SelectorConfig, OutputConfig, SymlinkConfig, ContentReplacementConfig, ManagedFileMetadata, ProgressEvent, ExtractionMap, CheckResult, ExecuteResult, ResolvedFile, DiffStatus, DiffEntry, DiffResult, } from './types';
|
|
14
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Public library exports for filedist v2
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.binpkg = exports.calculateDiff = exports.resolveFiles = exports.
|
|
5
|
-
var
|
|
6
|
-
Object.defineProperty(exports, "
|
|
4
|
+
exports.binpkg = exports.calculateDiff = exports.resolveFiles = exports.actionUpdate = exports.actionRemove = exports.actionList = exports.actionCheck = exports.outputDirKey = exports.writeManagedFilesForDir = exports.readManagedFilesForDir = exports.computeLockfileChecksum = exports.buildLockfileData = exports.writeLockfile = exports.readLockfile = exports.actionInstall = void 0;
|
|
5
|
+
var action_install_1 = require("./package/action-install");
|
|
6
|
+
Object.defineProperty(exports, "actionInstall", { enumerable: true, get: function () { return action_install_1.actionInstall; } });
|
|
7
|
+
var lockfile_1 = require("./package/lockfile");
|
|
8
|
+
Object.defineProperty(exports, "readLockfile", { enumerable: true, get: function () { return lockfile_1.readLockfile; } });
|
|
9
|
+
Object.defineProperty(exports, "writeLockfile", { enumerable: true, get: function () { return lockfile_1.writeLockfile; } });
|
|
10
|
+
Object.defineProperty(exports, "buildLockfileData", { enumerable: true, get: function () { return lockfile_1.buildLockfileData; } });
|
|
11
|
+
Object.defineProperty(exports, "computeLockfileChecksum", { enumerable: true, get: function () { return lockfile_1.computeLockfileChecksum; } });
|
|
12
|
+
Object.defineProperty(exports, "readManagedFilesForDir", { enumerable: true, get: function () { return lockfile_1.readManagedFilesForDir; } });
|
|
13
|
+
Object.defineProperty(exports, "writeManagedFilesForDir", { enumerable: true, get: function () { return lockfile_1.writeManagedFilesForDir; } });
|
|
14
|
+
Object.defineProperty(exports, "outputDirKey", { enumerable: true, get: function () { return lockfile_1.outputDirKey; } });
|
|
7
15
|
var action_check_1 = require("./package/action-check");
|
|
8
16
|
Object.defineProperty(exports, "actionCheck", { enumerable: true, get: function () { return action_check_1.actionCheck; } });
|
|
9
17
|
var action_list_1 = require("./package/action-list");
|
|
10
18
|
Object.defineProperty(exports, "actionList", { enumerable: true, get: function () { return action_list_1.actionList; } });
|
|
11
|
-
var
|
|
12
|
-
Object.defineProperty(exports, "
|
|
19
|
+
var action_remove_1 = require("./package/action-remove");
|
|
20
|
+
Object.defineProperty(exports, "actionRemove", { enumerable: true, get: function () { return action_remove_1.actionRemove; } });
|
|
21
|
+
var action_update_1 = require("./package/action-update");
|
|
22
|
+
Object.defineProperty(exports, "actionUpdate", { enumerable: true, get: function () { return action_update_1.actionUpdate; } });
|
|
13
23
|
var resolve_files_1 = require("./package/resolve-files");
|
|
14
24
|
Object.defineProperty(exports, "resolveFiles", { enumerable: true, get: function () { return resolve_files_1.resolveFiles; } });
|
|
15
25
|
var calculate_diff_1 = require("./package/calculate-diff");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAEzC,2DAAyD;AAAhD,+GAAA,aAAa,OAAA;AAGtB,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAGpB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AAGnB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAEzC,2DAAyD;AAAhD,+GAAA,aAAa,OAAA;AAGtB,+CAQ4B;AAP1B,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AACb,6GAAA,iBAAiB,OAAA;AACjB,mHAAA,uBAAuB,OAAA;AACvB,kHAAA,sBAAsB,OAAA;AACtB,mHAAA,uBAAuB,OAAA;AACvB,wGAAA,YAAY,OAAA;AAId,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAGpB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AAGnB,yDAAuD;AAA9C,6GAAA,YAAY,OAAA;AAGrB,yDAAuD;AAA9C,6GAAA,YAAY,OAAA;AAGrB,yDAAuD;AAA9C,6GAAA,YAAY,OAAA;AAGrB,2DAAyD;AAAhD,+GAAA,aAAa,OAAA;AAEtB,uCAAsC;AAA7B,gGAAA,MAAM,OAAA"}
|
|
@@ -1,20 +1,36 @@
|
|
|
1
|
-
import { ProgressEvent, BasicPackageOptions } from '../types';
|
|
1
|
+
import { FiledistExtractEntry, ProgressEvent, BasicPackageOptions } from '../types';
|
|
2
2
|
export type CheckOptions = BasicPackageOptions & {
|
|
3
3
|
onProgress?: (event: ProgressEvent) => void;
|
|
4
|
+
/**
|
|
5
|
+
* Absolute path to the lock file. Derived from the config file path via getLockfilePath().
|
|
6
|
+
*/
|
|
7
|
+
lockfilePath: string;
|
|
8
|
+
/**
|
|
9
|
+
* When true, skip all package installs and git clones.
|
|
10
|
+
* Integrity is verified solely against the checksums stored in .filedist markers.
|
|
11
|
+
* Extra-file detection (files in source not yet extracted) is also skipped.
|
|
12
|
+
*/
|
|
13
|
+
localOnly?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* When true (default for CLI), read set definitions and package versions exclusively
|
|
16
|
+
* from .filedist.lock. Fails if no lock file is found.
|
|
17
|
+
* When false, use the entries and versions passed via options (library/direct callers).
|
|
18
|
+
*/
|
|
19
|
+
frozenLockfile?: boolean;
|
|
4
20
|
};
|
|
5
21
|
export type CheckSummary = {
|
|
22
|
+
ok: number;
|
|
6
23
|
missing: string[];
|
|
7
24
|
conflict: string[];
|
|
8
25
|
extra: string[];
|
|
9
26
|
};
|
|
27
|
+
export declare function actionCheck(options: CheckOptions): Promise<CheckSummary>;
|
|
10
28
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* Uses resolveFiles() to build the desired file list (installing packages as needed),
|
|
14
|
-
* then calculateDiff() to find files that are missing, conflicting, or extra.
|
|
15
|
-
* Conflict detection reports content/managed mismatches only — gitignore-only
|
|
16
|
-
* conflicts are excluded since gitignore state is managed by extract, not a data
|
|
17
|
-
* integrity issue.
|
|
29
|
+
* Shared helper: read entries and locked package versions from a lock file.
|
|
30
|
+
* Throws when the lock file is absent.
|
|
18
31
|
*/
|
|
19
|
-
export declare function
|
|
32
|
+
export declare function resolveFrozenLockfileContext(lockfilePath: string, fallbackEntries: FiledistExtractEntry[], verbose: boolean, caller?: string): {
|
|
33
|
+
entries: FiledistExtractEntry[];
|
|
34
|
+
lockedVersions: Map<string, string>;
|
|
35
|
+
};
|
|
20
36
|
//# sourceMappingURL=action-check.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-check.d.ts","sourceRoot":"","sources":["../../src/package/action-check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"action-check.d.ts","sourceRoot":"","sources":["../../src/package/action-check.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAUpF,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG;IAC/C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAoDF,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAkG9E;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,oBAAoB,EAAE,EACvC,OAAO,EAAE,OAAO,EAChB,MAAM,SAAW,GAChB;IAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAkB1E"}
|
|
@@ -1,36 +1,88 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.actionCheck = actionCheck;
|
|
7
|
+
exports.resolveFrozenLockfileContext = resolveFrozenLockfileContext;
|
|
8
|
+
/* eslint-disable no-console */
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
4
10
|
const utils_1 = require("../utils");
|
|
11
|
+
const check_1 = require("../fileset/check");
|
|
5
12
|
const resolve_files_1 = require("./resolve-files");
|
|
6
13
|
const calculate_diff_1 = require("./calculate-diff");
|
|
7
14
|
const symlinks_1 = require("./symlinks");
|
|
8
15
|
const source_1 = require("./source");
|
|
16
|
+
const lockfile_1 = require("./lockfile");
|
|
9
17
|
/**
|
|
10
18
|
* Check whether the output directories are in sync with the desired file state.
|
|
11
19
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
20
|
+
* When frozenLockfile=true (the CLI default): reads set definitions and pinned
|
|
21
|
+
* package versions exclusively from .filedist.lock. Fails if no lock file found.
|
|
22
|
+
*
|
|
23
|
+
* When frozenLockfile=false (direct library callers): uses resolveFiles() with
|
|
24
|
+
* the entries supplied in options.
|
|
25
|
+
*
|
|
14
26
|
* Conflict detection reports content/managed mismatches only — gitignore-only
|
|
15
27
|
* conflicts are excluded since gitignore state is managed by extract, not a data
|
|
16
28
|
* integrity issue.
|
|
17
29
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const summary = { missing: [], conflict: [], extra: [] };
|
|
21
|
-
const sourceRuntime = (0, source_1.createSourceRuntime)(cwd, verbose);
|
|
30
|
+
/** Run a local-only integrity check for a set of managed entries. */
|
|
31
|
+
async function checkLocalOnly(managedEntries, cwd, lockfilePath, verbose) {
|
|
32
|
+
const summary = { ok: 0, missing: [], conflict: [], extra: [] };
|
|
22
33
|
if (verbose) {
|
|
23
|
-
console.log(`[verbose] actionCheck:
|
|
34
|
+
console.log(`[verbose] actionCheck: local-only mode (cwd: ${(0, utils_1.formatDisplayPath)(cwd, cwd)})`);
|
|
35
|
+
}
|
|
36
|
+
const checkedDirs = new Set();
|
|
37
|
+
for (const entry of managedEntries) {
|
|
38
|
+
const outputDir = node_path_1.default.resolve(cwd, entry.output?.path ?? '.');
|
|
39
|
+
if (checkedDirs.has(outputDir))
|
|
40
|
+
continue;
|
|
41
|
+
checkedDirs.add(outputDir);
|
|
42
|
+
// readManagedFilesForDir verifies managed files from .filedist.lock.
|
|
43
|
+
const marker = (0, lockfile_1.readManagedFilesForDir)(lockfilePath, cwd, outputDir);
|
|
44
|
+
// eslint-disable-next-line unicorn/no-null
|
|
45
|
+
const checkResult = await (0, check_1.checkFileset)(null, outputDir, marker);
|
|
46
|
+
summary.missing.push(...checkResult.missing);
|
|
47
|
+
summary.conflict.push(...checkResult.modified);
|
|
48
|
+
// extra is skipped in local-only mode (no package source to enumerate)
|
|
49
|
+
summary.ok += marker.length - checkResult.missing.length - checkResult.modified.length;
|
|
50
|
+
if (verbose) {
|
|
51
|
+
console.log(`[verbose] actionCheck local-only: ${(0, utils_1.formatDisplayPath)(outputDir, cwd)}: ` +
|
|
52
|
+
`missing=${checkResult.missing.length} modified=${checkResult.modified.length}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return summary;
|
|
56
|
+
}
|
|
57
|
+
async function actionCheck(options) {
|
|
58
|
+
const { cwd, verbose = false, onProgress, localOnly = false, frozenLockfile = false, entries: initialEntries, } = options;
|
|
59
|
+
const { lockfilePath } = options;
|
|
60
|
+
let entries = initialEntries;
|
|
61
|
+
let lockedVersions;
|
|
62
|
+
// ── Frozen mode: read entries and locked versions from lockfile ──────────
|
|
63
|
+
if (frozenLockfile) {
|
|
64
|
+
const resolved = resolveFrozenLockfileContext(lockfilePath, initialEntries, verbose, 'actionCheck');
|
|
65
|
+
({ entries, lockedVersions } = resolved);
|
|
24
66
|
}
|
|
67
|
+
const summary = { ok: 0, missing: [], conflict: [], extra: [] };
|
|
25
68
|
// Skip entries with managed=false — they write no marker so there is nothing to check.
|
|
26
69
|
const managedEntries = entries.filter((e) => e.output?.managed !== false);
|
|
27
70
|
if (managedEntries.length === 0)
|
|
28
71
|
return summary;
|
|
72
|
+
// --local-only: verify only against .filedist markers without touching any package source.
|
|
73
|
+
if (localOnly) {
|
|
74
|
+
return checkLocalOnly(managedEntries, cwd, lockfilePath, verbose);
|
|
75
|
+
}
|
|
76
|
+
const sourceRuntime = (0, source_1.createSourceRuntime)(cwd, verbose);
|
|
77
|
+
if (verbose) {
|
|
78
|
+
console.log(`[verbose] actionCheck: resolving files (cwd: ${(0, utils_1.formatDisplayPath)(cwd, cwd)})`);
|
|
79
|
+
}
|
|
29
80
|
try {
|
|
30
81
|
const resolved = await (0, resolve_files_1.resolveFilesDetailed)(managedEntries, {
|
|
31
82
|
cwd,
|
|
32
83
|
verbose,
|
|
33
84
|
sourceRuntime,
|
|
85
|
+
lockedVersions,
|
|
34
86
|
onProgress: (e) => {
|
|
35
87
|
if (e.type === 'package-start' || e.type === 'package-end')
|
|
36
88
|
onProgress?.(e);
|
|
@@ -41,18 +93,24 @@ async function actionCheck(options) {
|
|
|
41
93
|
console.log(`[verbose] actionCheck: resolved ${resolvedFiles.length} desired file(s)`);
|
|
42
94
|
}
|
|
43
95
|
const managedResolvedFiles = resolvedFiles.filter((f) => f.managed);
|
|
44
|
-
const diff = await (0, calculate_diff_1.calculateDiff)(managedResolvedFiles, verbose, cwd, resolved.relevantPackagesByOutputDir
|
|
96
|
+
const diff = await (0, calculate_diff_1.calculateDiff)(managedResolvedFiles, verbose, cwd, resolved.relevantPackagesByOutputDir,
|
|
97
|
+
// eslint-disable-next-line no-undefined
|
|
98
|
+
undefined, lockfilePath);
|
|
99
|
+
summary.ok += diff.ok.length;
|
|
45
100
|
summary.missing.push(...diff.missing.map((e) => e.relPath));
|
|
46
101
|
summary.extra.push(...diff.extra
|
|
47
102
|
.filter((e) => !e.existing || !(0, symlinks_1.isManagedSymlinkEntry)(e.existing))
|
|
48
103
|
.map((e) => e.relPath));
|
|
49
104
|
// Only report conflicts where content or managed-state differ; gitignore-only
|
|
50
105
|
// mismatches are not a data integrity issue.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
106
|
+
const reportedConflicts = diff.conflict.filter((e) => (e.conflictReasons ?? []).some((r) => r !== 'gitignore'));
|
|
107
|
+
summary.conflict.push(...reportedConflicts.map((e) => e.relPath));
|
|
108
|
+
// Files with only a gitignore conflict are not reported as conflicts,
|
|
109
|
+
// so count them as ok (consistent: ok + missing + conflict + extra = total).
|
|
110
|
+
const gitignoreOnlyCount = diff.conflict.length - reportedConflicts.length;
|
|
111
|
+
summary.ok += gitignoreOnlyCount;
|
|
54
112
|
if (verbose) {
|
|
55
|
-
console.log(`[verbose] actionCheck: missing=${summary.missing.length}` +
|
|
113
|
+
console.log(`[verbose] actionCheck: ok=${summary.ok} missing=${summary.missing.length}` +
|
|
56
114
|
` conflict=${summary.conflict.length} extra=${summary.extra.length}`);
|
|
57
115
|
}
|
|
58
116
|
return summary;
|
|
@@ -62,4 +120,22 @@ async function actionCheck(options) {
|
|
|
62
120
|
(0, utils_1.cleanupTempPackageJson)(cwd, verbose);
|
|
63
121
|
}
|
|
64
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Shared helper: read entries and locked package versions from a lock file.
|
|
125
|
+
* Throws when the lock file is absent.
|
|
126
|
+
*/
|
|
127
|
+
function resolveFrozenLockfileContext(lockfilePath, fallbackEntries, verbose, caller = 'action') {
|
|
128
|
+
const lockfileData = (0, lockfile_1.readLockfile)(lockfilePath);
|
|
129
|
+
if (!lockfileData) {
|
|
130
|
+
const lockName = node_path_1.default.basename(lockfilePath);
|
|
131
|
+
throw new Error(`Lock file ${lockName} not found. Run 'filedist install' first.`);
|
|
132
|
+
}
|
|
133
|
+
const entries = lockfileData.sets && lockfileData.sets.length > 0 ? lockfileData.sets : fallbackEntries;
|
|
134
|
+
const lockedVersions = new Map(Object.entries(lockfileData.packages).map(([spec, ref]) => [spec, ref]));
|
|
135
|
+
if (verbose) {
|
|
136
|
+
console.log(`[verbose] ${caller}: frozen mode — ${entries.length} set(s), ` +
|
|
137
|
+
`${lockedVersions.size} locked package(s)`);
|
|
138
|
+
}
|
|
139
|
+
return { entries, lockedVersions };
|
|
140
|
+
}
|
|
65
141
|
//# sourceMappingURL=action-check.js.map
|