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
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getLockfilePath = getLockfilePath;
|
|
7
|
+
exports.computeLockfileChecksum = computeLockfileChecksum;
|
|
8
|
+
exports.readLockfile = readLockfile;
|
|
9
|
+
exports.writeLockfile = writeLockfile;
|
|
10
|
+
exports.readSetsFromLockfile = readSetsFromLockfile;
|
|
11
|
+
exports.buildLockfileData = buildLockfileData;
|
|
12
|
+
exports.outputDirKey = outputDirKey;
|
|
13
|
+
exports.readManagedFilesForDir = readManagedFilesForDir;
|
|
14
|
+
exports.writeManagedFilesForDir = writeManagedFilesForDir;
|
|
15
|
+
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
16
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
17
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
18
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
19
|
+
const utils_1 = require("../utils");
|
|
20
|
+
const LOCKFILE_VERSION = 1;
|
|
21
|
+
/**
|
|
22
|
+
* Derive the lock file path from the config file path.
|
|
23
|
+
* Strips the `.yml` suffix from the config file basename and appends `.lock`.
|
|
24
|
+
*
|
|
25
|
+
* Examples:
|
|
26
|
+
* `/project/.filedist.yml` → `/project/.filedist.lock`
|
|
27
|
+
* `/project/myconfig.yml` → `/project/myconfig.lock`
|
|
28
|
+
*/
|
|
29
|
+
function getLockfilePath(configFilePath) {
|
|
30
|
+
const dir = node_path_1.default.dirname(configFilePath);
|
|
31
|
+
const base = node_path_1.default.basename(configFilePath);
|
|
32
|
+
const lockBase = base.endsWith('.yml') ? `${base.slice(0, -4)}.lock` : `${base}.lock`;
|
|
33
|
+
return node_path_1.default.join(dir, lockBase);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Compute a SHA-256 checksum over the packages, files, and sets sections of a
|
|
37
|
+
* lockfile. The input is deterministic (keys sorted) so the result is stable
|
|
38
|
+
* across writes.
|
|
39
|
+
*/
|
|
40
|
+
function computeLockfileChecksum(data) {
|
|
41
|
+
const sortedPackages = Object.fromEntries(Object.entries(data.packages ?? {}).sort(([a], [b]) => a.localeCompare(b)));
|
|
42
|
+
const sortedFiles = {};
|
|
43
|
+
for (const [k, v] of Object.entries(data.files ?? {}).sort(([a], [b]) => a.localeCompare(b))) {
|
|
44
|
+
sortedFiles[k] = [...v].sort();
|
|
45
|
+
}
|
|
46
|
+
const payload = JSON.stringify({
|
|
47
|
+
packages: sortedPackages,
|
|
48
|
+
files: sortedFiles,
|
|
49
|
+
sets: data.sets ?? [],
|
|
50
|
+
});
|
|
51
|
+
return (0, utils_1.shortenChecksum)(node_crypto_1.default.createHash('sha256').update(payload).digest('hex'));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Read a lock file from the given absolute path.
|
|
55
|
+
* Returns undefined when the file does not exist.
|
|
56
|
+
* Throws when the file exists but cannot be parsed or has a bad checksum.
|
|
57
|
+
*/
|
|
58
|
+
function readLockfile(lockfilePath) {
|
|
59
|
+
const lockPath = lockfilePath;
|
|
60
|
+
if (!node_fs_1.default.existsSync(lockPath)) {
|
|
61
|
+
// eslint-disable-next-line no-undefined
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
let raw;
|
|
65
|
+
try {
|
|
66
|
+
raw = node_fs_1.default.readFileSync(lockPath, 'utf8');
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
throw new Error(`Failed to read lock file at ${lockPath}: ${error.message}`);
|
|
70
|
+
}
|
|
71
|
+
let parsed;
|
|
72
|
+
try {
|
|
73
|
+
parsed = js_yaml_1.default.load(raw);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
throw new Error(`Lock file at ${lockPath} contains invalid YAML.`);
|
|
77
|
+
}
|
|
78
|
+
if (typeof parsed !== 'object' ||
|
|
79
|
+
parsed === null ||
|
|
80
|
+
typeof parsed.version !== 'number' ||
|
|
81
|
+
typeof parsed.packages !== 'object') {
|
|
82
|
+
throw new Error(`Lock file at ${lockPath} has an unexpected format.`);
|
|
83
|
+
}
|
|
84
|
+
const data = parsed;
|
|
85
|
+
// Validate checksum when present.
|
|
86
|
+
// eslint-disable-next-line no-undefined
|
|
87
|
+
if (data.checksum !== undefined) {
|
|
88
|
+
const expected = computeLockfileChecksum(data);
|
|
89
|
+
if (data.checksum !== expected) {
|
|
90
|
+
throw new Error(`Lock file at ${lockPath} is corrupted (checksum mismatch). ` +
|
|
91
|
+
`Use --force to recreate it.`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return data;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Write a lock file to the given absolute path.
|
|
98
|
+
*/
|
|
99
|
+
function writeLockfile(lockfilePath, data) {
|
|
100
|
+
const lockPath = lockfilePath;
|
|
101
|
+
const payload = { ...data, version: LOCKFILE_VERSION };
|
|
102
|
+
if (!payload.sets || payload.sets.length === 0) {
|
|
103
|
+
delete payload.sets;
|
|
104
|
+
}
|
|
105
|
+
if (!payload.files || Object.keys(payload.files).length === 0) {
|
|
106
|
+
delete payload.files;
|
|
107
|
+
}
|
|
108
|
+
// Compute and attach checksum (exclude any stale checksum before computing).
|
|
109
|
+
delete payload.checksum;
|
|
110
|
+
payload.checksum = computeLockfileChecksum(payload);
|
|
111
|
+
const content = js_yaml_1.default.dump(payload, { lineWidth: -1, quotingType: "'" }) + '\n';
|
|
112
|
+
node_fs_1.default.writeFileSync(lockPath, content, 'utf8');
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Read the set definitions stored in a lock file.
|
|
116
|
+
* Returns undefined when the file does not exist or has no sets.
|
|
117
|
+
*/
|
|
118
|
+
function readSetsFromLockfile(lockfilePath) {
|
|
119
|
+
const lockData = readLockfile(lockfilePath);
|
|
120
|
+
if (!lockData?.sets || lockData.sets.length === 0) {
|
|
121
|
+
// eslint-disable-next-line no-undefined
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
return lockData.sets;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Build a LockfileData object from a map of spec → resolved version and source.
|
|
128
|
+
*/
|
|
129
|
+
function buildLockfileData(resolvedPackages) {
|
|
130
|
+
const packages = {};
|
|
131
|
+
for (const [spec, info] of resolvedPackages) {
|
|
132
|
+
packages[spec] = info.resolvedVersion;
|
|
133
|
+
}
|
|
134
|
+
return { version: LOCKFILE_VERSION, packages };
|
|
135
|
+
}
|
|
136
|
+
// ── Managed-files helpers ────────────────────────────────────────────────────
|
|
137
|
+
/**
|
|
138
|
+
* Returns the key used in managed_files for a given output directory.
|
|
139
|
+
* The key is relative to cwd, normalised to forward slashes.
|
|
140
|
+
*/
|
|
141
|
+
function outputDirKey(cwd, outputDir) {
|
|
142
|
+
const rel = node_path_1.default.relative(cwd, outputDir);
|
|
143
|
+
return rel.split(node_path_1.default.sep).join('/');
|
|
144
|
+
}
|
|
145
|
+
function parseManagedFileLine(line) {
|
|
146
|
+
const fields = line.split('|');
|
|
147
|
+
return {
|
|
148
|
+
path: fields[0] ?? '',
|
|
149
|
+
packageName: fields[1] ?? '',
|
|
150
|
+
packageVersion: fields[2] ?? '',
|
|
151
|
+
kind: fields[3] === 'symlink' ? 'symlink' : 'file',
|
|
152
|
+
checksum: fields[4] ?? '',
|
|
153
|
+
mutable: fields[5] === '1',
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
function serializeManagedFileLine(e) {
|
|
157
|
+
const kindField = e.kind === 'symlink' ? 'symlink' : 'file';
|
|
158
|
+
const checksumField = e.checksum;
|
|
159
|
+
const mutableField = e.mutable ? '1' : '0';
|
|
160
|
+
return `${e.path}|${e.packageName}|${e.packageVersion}|${kindField}|${checksumField}|${mutableField}`;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Read managed file entries for a specific output directory from a lock file.
|
|
164
|
+
* Returns an empty array when the lock file or directory entry does not exist.
|
|
165
|
+
*/
|
|
166
|
+
function readManagedFilesForDir(lockfilePath, cwd, outputDir) {
|
|
167
|
+
const lockData = readLockfile(lockfilePath);
|
|
168
|
+
if (!lockData?.files)
|
|
169
|
+
return [];
|
|
170
|
+
const key = outputDirKey(cwd, outputDir);
|
|
171
|
+
const lines = lockData.files[key] ?? [];
|
|
172
|
+
return lines.map((line) => parseManagedFileLine(line));
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Write managed file entries for a specific output directory into a lock file.
|
|
176
|
+
* Reads the current lock file, updates the entry for outputDir, and writes it back.
|
|
177
|
+
* When entries is empty the key is removed.
|
|
178
|
+
*/
|
|
179
|
+
function writeManagedFilesForDir(lockfilePath, cwd, outputDir, entries) {
|
|
180
|
+
const lockData = readLockfile(lockfilePath) ?? { version: LOCKFILE_VERSION, packages: {} };
|
|
181
|
+
const key = outputDirKey(cwd, outputDir);
|
|
182
|
+
const managedFiles = lockData.files ?? {};
|
|
183
|
+
if (entries.length === 0) {
|
|
184
|
+
delete managedFiles[key];
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
managedFiles[key] = entries.map((e) => serializeManagedFileLine(e));
|
|
188
|
+
}
|
|
189
|
+
writeLockfile(lockfilePath, { ...lockData, files: managedFiles });
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=lockfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../src/package/lockfile.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,25 @@ export type ResolveOptions = {
|
|
|
5
5
|
verbose?: boolean;
|
|
6
6
|
onProgress?: (event: ProgressEvent) => void;
|
|
7
7
|
sourceRuntime?: SourceRuntime;
|
|
8
|
+
/**
|
|
9
|
+
* When provided, pins each matching package spec to an exact version instead
|
|
10
|
+
* of resolving from npm/git registries.
|
|
11
|
+
* Key: original spec string (e.g. "eslint@^8"). Value: exact pinned version.
|
|
12
|
+
*/
|
|
13
|
+
lockedVersions?: Map<string, string>;
|
|
8
14
|
};
|
|
9
15
|
export type ResolveFilesDetailedResult = {
|
|
10
16
|
files: ResolvedFile[];
|
|
11
17
|
relevantPackagesByOutputDir: Map<string, Set<string>>;
|
|
12
18
|
noSyncOutputDirs: Set<string>;
|
|
19
|
+
/**
|
|
20
|
+
* All packages resolved during traversal.
|
|
21
|
+
* Key: original spec string. Value: source kind and exact resolved version.
|
|
22
|
+
*/
|
|
23
|
+
resolvedPackages: Map<string, {
|
|
24
|
+
source: 'npm' | 'git';
|
|
25
|
+
resolvedVersion: string;
|
|
26
|
+
}>;
|
|
13
27
|
};
|
|
14
28
|
/**
|
|
15
29
|
* Recursively resolve all entries into a flat list of desired files.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-files.d.ts","sourceRoot":"","sources":["../../src/package/resolve-files.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EAGpB,YAAY,EACZ,aAAa,EACd,MAAM,UAAU,CAAC;AAMlB,OAAO,EAA2C,aAAa,EAAE,MAAM,UAAU,CAAC;AAElF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-files.d.ts","sourceRoot":"","sources":["../../src/package/resolve-files.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EAGpB,YAAY,EACZ,aAAa,EACd,MAAM,UAAU,CAAC;AAMlB,OAAO,EAA2C,aAAa,EAAE,MAAM,UAAU,CAAC;AAElF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B;;;OAGG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnF,CAAC;AA6BF;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,oBAAoB,EAAE,EAC/B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,YAAY,EAAE,CAAC,CAGzB;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,EAAE,EAC/B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,0BAA0B,CAAC,CA6BrC"}
|
|
@@ -49,6 +49,9 @@ async function resolveFilesDetailed(entries, options) {
|
|
|
49
49
|
const relevantPackagesByOutputDir = new Map();
|
|
50
50
|
const noSyncOutputDirs = new Set();
|
|
51
51
|
const sourceRuntime = options.sourceRuntime ?? (0, source_1.createSourceRuntime)(options.cwd, options.verbose);
|
|
52
|
+
if (options.lockedVersions) {
|
|
53
|
+
sourceRuntime.setLockedVersions(options.lockedVersions);
|
|
54
|
+
}
|
|
52
55
|
const raw = await resolveFilesInternal(entries, { path: '.' }, {},
|
|
53
56
|
// eslint-disable-next-line no-undefined
|
|
54
57
|
undefined,
|
|
@@ -60,6 +63,7 @@ async function resolveFilesDetailed(entries, options) {
|
|
|
60
63
|
files: deduplicateAndCheckConflicts(raw),
|
|
61
64
|
relevantPackagesByOutputDir,
|
|
62
65
|
noSyncOutputDirs,
|
|
66
|
+
resolvedPackages: sourceRuntime.getResolvedPackages(),
|
|
63
67
|
};
|
|
64
68
|
}
|
|
65
69
|
// eslint-disable-next-line complexity
|
|
@@ -118,7 +122,7 @@ async function resolveFilesInternal(entries, inheritedOutput, inheritedSelector,
|
|
|
118
122
|
console.log(`[verbose] resolveFiles: resolved "${resolvedPackage.packageName}@${installedVersion}" at ${(0, utils_1.formatDisplayPath)(pkgPath, cwd)}`);
|
|
119
123
|
}
|
|
120
124
|
// Check whether this package declares its own filedist.sets
|
|
121
|
-
const depConfig =
|
|
125
|
+
const depConfig = (0, config_1.loadPackageConfig)(pkgPath);
|
|
122
126
|
const pkgFiledistSets = depConfig?.sets;
|
|
123
127
|
// Phase 2 sparse expansion (git only, no explicit caller patterns):
|
|
124
128
|
// Phase 1 only fetched config files. Now that we've read the config, we know
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-files.js","sourceRoot":"","sources":["../../src/package/resolve-files.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"resolve-files.js","sourceRoot":"","sources":["../../src/package/resolve-files.ts"],"names":[],"mappings":"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"}
|
package/dist/package/source.d.ts
CHANGED
|
@@ -20,6 +20,19 @@ export type SourceRuntime = {
|
|
|
20
20
|
*/
|
|
21
21
|
expandGitSparseCheckout: (packagePath: string, patterns: string[]) => void;
|
|
22
22
|
cleanup: () => void;
|
|
23
|
+
/**
|
|
24
|
+
* Returns all packages resolved during this runtime's lifetime.
|
|
25
|
+
* Key is the original spec string (e.g. "eslint@^8"). Value contains source and resolved version.
|
|
26
|
+
*/
|
|
27
|
+
getResolvedPackages: () => Map<string, {
|
|
28
|
+
source: 'npm' | 'git';
|
|
29
|
+
resolvedVersion: string;
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Pin exact versions for known specs. When set, resolvePackage substitutes
|
|
33
|
+
* the pinned version instead of resolving from npm/git registries.
|
|
34
|
+
*/
|
|
35
|
+
setLockedVersions: (locked: Map<string, string>) => void;
|
|
23
36
|
};
|
|
24
37
|
export declare function parsePackageTarget(spec: string): PackageTarget;
|
|
25
38
|
export declare function createSourceRuntime(cwd: string, verbose?: boolean): SourceRuntime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/package/source.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClG;;;;OAIG;IACH,uBAAuB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3E,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/package/source.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhD,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClG;;;;OAIG;IACH,uBAAuB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3E,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,mBAAmB,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3F;;;OAGG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CAC1D,CAAC;AAQF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CA8B9D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,aAAa,CAkH/E"}
|
package/dist/package/source.js
CHANGED
|
@@ -45,6 +45,10 @@ function createSourceRuntime(cwd, verbose = false) {
|
|
|
45
45
|
const packageCache = new Map();
|
|
46
46
|
const cloneDirs = new Set();
|
|
47
47
|
let tempRoot = '';
|
|
48
|
+
// Map from original spec string → resolved version info (populated during resolvePackage calls)
|
|
49
|
+
const resolvedSpecMap = new Map();
|
|
50
|
+
// Optional frozen version map: spec → exact pinned version
|
|
51
|
+
let lockedVersions;
|
|
48
52
|
const ensureTempRoot = () => {
|
|
49
53
|
if (!tempRoot) {
|
|
50
54
|
tempRoot = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), 'filedist-git-'));
|
|
@@ -59,20 +63,39 @@ function createSourceRuntime(cwd, verbose = false) {
|
|
|
59
63
|
if (!entry.package) {
|
|
60
64
|
throw new Error('resolvePackage requires an entry with a package spec');
|
|
61
65
|
}
|
|
62
|
-
const
|
|
66
|
+
const originalSpec = entry.package;
|
|
67
|
+
const target = parsePackageTarget(originalSpec);
|
|
68
|
+
// When locked versions are set, pin the requested version (branch/tag/commit for git, semver for npm)
|
|
69
|
+
// eslint-disable-next-line no-undefined
|
|
70
|
+
if (lockedVersions !== undefined) {
|
|
71
|
+
const pinnedVersion = lockedVersions.get(originalSpec);
|
|
72
|
+
// eslint-disable-next-line no-undefined
|
|
73
|
+
if (pinnedVersion !== undefined) {
|
|
74
|
+
target.requestedVersion = pinnedVersion;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
63
77
|
const sparsePatterns = entry.selector?.files ?? [];
|
|
64
78
|
const patternsKey = [...sparsePatterns].sort().join('\0');
|
|
65
79
|
const cacheKey = `${target.source}|${target.packageName}|${target.requestedVersion ?? ''}|${patternsKey}`;
|
|
66
80
|
if (!upgrade) {
|
|
67
81
|
const cached = packageCache.get(cacheKey);
|
|
68
|
-
if (cached)
|
|
82
|
+
if (cached) {
|
|
83
|
+
resolvedSpecMap.set(originalSpec, {
|
|
84
|
+
source: cached.source,
|
|
85
|
+
resolvedVersion: cached.packageVersion,
|
|
86
|
+
});
|
|
69
87
|
return cached;
|
|
88
|
+
}
|
|
70
89
|
}
|
|
71
90
|
const resolved = target.source === 'git'
|
|
72
91
|
? resolveGitPackage(target, cwd, ensureTempRoot, verbose, sparsePatterns)
|
|
73
92
|
: resolveNpmPackage(target, upgrade, cwd, verbose);
|
|
74
93
|
const packageSource = await resolved;
|
|
75
94
|
packageCache.set(cacheKey, packageSource);
|
|
95
|
+
resolvedSpecMap.set(originalSpec, {
|
|
96
|
+
source: packageSource.source,
|
|
97
|
+
resolvedVersion: packageSource.packageVersion,
|
|
98
|
+
});
|
|
76
99
|
if (packageSource.source === 'git') {
|
|
77
100
|
cloneDirs.add(packageSource.packagePath);
|
|
78
101
|
}
|
|
@@ -90,6 +113,12 @@ function createSourceRuntime(cwd, verbose = false) {
|
|
|
90
113
|
(0, utils_1.spawnWithLog)('git', ['-C', packagePath, 'sparse-checkout', 'set', '--no-cone', ...patterns], cwd, verbose, true);
|
|
91
114
|
(0, utils_1.spawnWithLog)('git', ['-C', packagePath, 'checkout'], cwd, verbose, true);
|
|
92
115
|
},
|
|
116
|
+
getResolvedPackages() {
|
|
117
|
+
return new Map(resolvedSpecMap);
|
|
118
|
+
},
|
|
119
|
+
setLockedVersions(locked) {
|
|
120
|
+
lockedVersions = locked;
|
|
121
|
+
},
|
|
93
122
|
cleanup() {
|
|
94
123
|
for (const cloneDir of cloneDirs) {
|
|
95
124
|
if (node_fs_1.default.existsSync(cloneDir)) {
|
|
@@ -189,15 +218,7 @@ async function resolveGitPackage(target, cwd, ensureTempRoot, verbose, sparsePat
|
|
|
189
218
|
// This lets us read nested filedist config before deciding which content files to fetch.
|
|
190
219
|
// .git is intentionally kept alive so phase 2 (expandGitSparseCheckout) can run later.
|
|
191
220
|
(0, utils_1.spawnWithLog)('git', ['clone', '--filter=blob:none', '--no-checkout', '--sparse', target.repository, cloneDir], cwd, verbose, true);
|
|
192
|
-
const configFilePatterns = [
|
|
193
|
-
'package.json',
|
|
194
|
-
'.filedistrc',
|
|
195
|
-
'.filedistrc.json',
|
|
196
|
-
'.filedistrc.yaml',
|
|
197
|
-
'.filedistrc.yml',
|
|
198
|
-
'filedist.config.js',
|
|
199
|
-
'filedist.config.cjs',
|
|
200
|
-
];
|
|
221
|
+
const configFilePatterns = ['.filedist-package.yml'];
|
|
201
222
|
const phase1Patterns = [...new Set([...configFilePatterns, ...sparsePatterns])];
|
|
202
223
|
(0, utils_1.spawnWithLog)('git', ['-C', cloneDir, 'sparse-checkout', 'set', '--no-cone', ...phase1Patterns], cwd, verbose, true);
|
|
203
224
|
const checkoutRef = target.requestedVersion
|
|
@@ -210,7 +231,7 @@ async function resolveGitPackage(target, cwd, ensureTempRoot, verbose, sparsePat
|
|
|
210
231
|
return {
|
|
211
232
|
source: 'git',
|
|
212
233
|
packageName: target.packageName,
|
|
213
|
-
packageVersion: revision
|
|
234
|
+
packageVersion: revision ? revision.slice(0, 12) : target.requestedVersion || 'HEAD',
|
|
214
235
|
packagePath: cloneDir,
|
|
215
236
|
};
|
|
216
237
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/package/source.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/package/source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symlinks.d.ts","sourceRoot":"","sources":["../../src/package/symlinks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG5E,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC/F;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,EAAE,GACpB,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"symlinks.d.ts","sourceRoot":"","sources":["../../src/package/symlinks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG5E,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC/F;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,EAAE,GACpB,mBAAmB,EAAE,CASvB;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,EAAE,GACpB,oBAAoB,EAAE,CA4CxB;AAED,mFAAmF;AACnF,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,mBAAmB,EAAE,EACrC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBnB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAEzE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAEtE;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC7B,mBAAmB,EAAE,CAMvB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAc3E;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwB1E"}
|
package/dist/package/symlinks.js
CHANGED
|
@@ -68,6 +68,8 @@ function collectManagedSymlinkEntries(outputDir, files) {
|
|
|
68
68
|
packageName: entry.packageName,
|
|
69
69
|
packageVersion: entry.packageVersion,
|
|
70
70
|
kind: entry.kind,
|
|
71
|
+
checksum: entry.checksum,
|
|
72
|
+
mutable: entry.mutable,
|
|
71
73
|
}));
|
|
72
74
|
}
|
|
73
75
|
function collectManagedSymlinkTargets(outputDir, files) {
|
|
@@ -95,11 +97,14 @@ function collectManagedSymlinkTargets(outputDir, files) {
|
|
|
95
97
|
const linkPath = node_path_1.default.join(targetDir, node_path_1.default.basename(relPath));
|
|
96
98
|
const linkRelPath = node_path_1.default.relative(outputDir, linkPath);
|
|
97
99
|
if (!byPath.has(linkRelPath)) {
|
|
100
|
+
const linkTarget = getLinkTarget(targetDir, sourcePath);
|
|
98
101
|
byPath.set(linkRelPath, {
|
|
99
102
|
path: linkRelPath,
|
|
100
103
|
packageName,
|
|
101
104
|
packageVersion,
|
|
102
105
|
kind: 'symlink',
|
|
106
|
+
checksum: (0, utils_1.shortenChecksum)((0, utils_1.hashBuffer)(linkTarget)),
|
|
107
|
+
mutable: false,
|
|
103
108
|
targetPath: sourcePath,
|
|
104
109
|
});
|
|
105
110
|
}
|
|
@@ -112,7 +117,7 @@ async function removeStaleSymlinks(outputDir, managedEntries, desiredPaths) {
|
|
|
112
117
|
const removed = [];
|
|
113
118
|
const seen = new Set();
|
|
114
119
|
for (const entry of managedEntries) {
|
|
115
|
-
if (
|
|
120
|
+
if (entry.kind !== 'symlink' || seen.has(entry.path))
|
|
116
121
|
continue;
|
|
117
122
|
seen.add(entry.path);
|
|
118
123
|
if (desiredPaths.has(entry.path))
|
|
@@ -133,10 +138,10 @@ async function removeStaleSymlinks(outputDir, managedEntries, desiredPaths) {
|
|
|
133
138
|
return removed;
|
|
134
139
|
}
|
|
135
140
|
function isManagedSymlinkEntry(entry) {
|
|
136
|
-
return
|
|
141
|
+
return entry.kind === 'symlink';
|
|
137
142
|
}
|
|
138
143
|
function isManagedFileEntry(entry) {
|
|
139
|
-
return
|
|
144
|
+
return entry.kind !== 'symlink';
|
|
140
145
|
}
|
|
141
146
|
function findManagedSymlinkEntries(entries, relevantPackages) {
|
|
142
147
|
return entries.filter((entry) => isManagedSymlinkEntry(entry) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symlinks.js","sourceRoot":"","sources":["../../src/package/symlinks.ts"],"names":[],"mappings":";;;;;AAiBA,wCAuCC;AAQD,
|
|
1
|
+
{"version":3,"file":"symlinks.js","sourceRoot":"","sources":["../../src/package/symlinks.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -208,7 +208,7 @@ export type ExtractionMap = {
|
|
|
208
208
|
};
|
|
209
209
|
/**
|
|
210
210
|
* One row in a .filedist CSV marker file.
|
|
211
|
-
* Format: path|packageName|packageVersion
|
|
211
|
+
* Format: path|packageName|packageVersion|kind|checksum|mutable
|
|
212
212
|
* Pipe is used as separator so file paths containing commas are handled safely.
|
|
213
213
|
*/
|
|
214
214
|
export type ManagedFileMetadata = {
|
|
@@ -218,18 +218,19 @@ export type ManagedFileMetadata = {
|
|
|
218
218
|
packageName: string;
|
|
219
219
|
/** Installed version at extraction time. */
|
|
220
220
|
packageVersion: string;
|
|
221
|
-
/** Managed path type.
|
|
222
|
-
kind
|
|
221
|
+
/** Managed path type. */
|
|
222
|
+
kind: 'file' | 'symlink';
|
|
223
223
|
/**
|
|
224
224
|
* SHA-256 hash of the file content at extraction time (after content replacements).
|
|
225
|
+
* For symlinks, the hash is computed from the link target path string.
|
|
225
226
|
* Used by check to detect local tampering without re-downloading the source package.
|
|
226
227
|
*/
|
|
227
|
-
checksum
|
|
228
|
+
checksum: string;
|
|
228
229
|
/**
|
|
229
230
|
* When true the file is allowed to change locally (e.g. extracted with mutable=true).
|
|
230
231
|
* The check command skips content verification for mutable files.
|
|
231
232
|
*/
|
|
232
|
-
mutable
|
|
233
|
+
mutable: boolean;
|
|
233
234
|
};
|
|
234
235
|
/**
|
|
235
236
|
* Event emitted by extract/check/purge for UI progress reporting.
|
|
@@ -337,7 +338,7 @@ export type DiffEntry = {
|
|
|
337
338
|
/** Existing marker entry (absent for 'missing' entries and unmanaged conflicts). */
|
|
338
339
|
existing?: ManagedFileMetadata;
|
|
339
340
|
/** Reasons for conflict (only set for 'conflict' status). */
|
|
340
|
-
conflictReasons?: Array<'content' | 'managed' | 'gitignore'
|
|
341
|
+
conflictReasons?: Array<'content' | 'managed' | 'gitignore'>;
|
|
341
342
|
};
|
|
342
343
|
/**
|
|
343
344
|
* Aggregate result of calculateDiff().
|