npmdata 0.18.15 → 0.19.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/dist/fileset/markers.d.ts.map +1 -1
- package/dist/fileset/markers.js +7 -1
- package/dist/fileset/markers.js.map +1 -1
- package/dist/package/action-check.d.ts.map +1 -1
- package/dist/package/action-check.js +4 -1
- package/dist/package/action-check.js.map +1 -1
- package/dist/package/action-extract.d.ts.map +1 -1
- package/dist/package/action-extract.js +35 -39
- package/dist/package/action-extract.js.map +1 -1
- package/dist/package/symlinks.d.ts +12 -4
- package/dist/package/symlinks.d.ts.map +1 -1
- package/dist/package/symlinks.js +87 -17
- package/dist/package/symlinks.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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;AAK/C;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAK/C;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAevF;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,mBAAmB,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAqBf;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
|
@@ -28,6 +28,7 @@ async function readMarker(markerFilePath) {
|
|
|
28
28
|
path: fields[0] ?? '',
|
|
29
29
|
packageName: fields[1] ?? '',
|
|
30
30
|
packageVersion: fields[2] ?? '',
|
|
31
|
+
kind: fields[3] === 'symlink' ? 'symlink' : 'file',
|
|
31
32
|
};
|
|
32
33
|
});
|
|
33
34
|
}
|
|
@@ -49,7 +50,12 @@ async function writeMarker(markerFilePath, entries) {
|
|
|
49
50
|
}
|
|
50
51
|
return;
|
|
51
52
|
}
|
|
52
|
-
const rows = entries.map((e) =>
|
|
53
|
+
const rows = entries.map((e) => {
|
|
54
|
+
if (e.kind === 'symlink') {
|
|
55
|
+
return `${e.path}|${e.packageName}|${e.packageVersion}|symlink`;
|
|
56
|
+
}
|
|
57
|
+
return `${e.path}|${e.packageName}|${e.packageVersion}`;
|
|
58
|
+
});
|
|
53
59
|
node_fs_1.default.writeFileSync(markerFilePath, `${rows.join('\n')}\n`, 'utf8');
|
|
54
60
|
node_fs_1.default.chmodSync(markerFilePath, 0o444);
|
|
55
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":";;;;;AAaA,
|
|
1
|
+
{"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/fileset/markers.ts"],"names":[],"mappings":";;;;;AAaA,gCAeC;AAOD,kCAwBC;AAKD,gCAEC;AAKD,kDAEC;AAzED,sDAAyB;AACzB,0DAA6B;AAG7B,oCAAqC;AAErC,2CAA0C;AAE1C;;;;GAIG;AACI,KAAK,UAAU,UAAU,CAAC,cAAsB;IACrD,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,iBAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YACrB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YAC5B,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;YAC/B,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACnD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAC/B,cAAsB,EACtB,OAA8B;IAE9B,IAAA,iBAAS,EAAC,mBAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACxC,qCAAqC;IACrC,IAAI,iBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,iBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,sBAAsB;QACtB,IAAI,iBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,iBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc,UAAU,CAAC;QAClE,CAAC;QACD,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,iBAAE,CAAC,aAAa,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjE,iBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,SAAiB;IAC1C,OAAO,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAW,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CAAC,SAAiB;IACzD,OAAO,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-check.d.ts","sourceRoot":"","sources":["../../src/package/action-check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"action-check.d.ts","sourceRoot":"","sources":["../../src/package/action-check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAO9D,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG;IAC/C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA2D9E"}
|
|
@@ -4,6 +4,7 @@ exports.actionCheck = actionCheck;
|
|
|
4
4
|
const utils_1 = require("../utils");
|
|
5
5
|
const resolve_files_1 = require("./resolve-files");
|
|
6
6
|
const calculate_diff_1 = require("./calculate-diff");
|
|
7
|
+
const symlinks_1 = require("./symlinks");
|
|
7
8
|
/**
|
|
8
9
|
* Check whether the output directories are in sync with the desired file state.
|
|
9
10
|
*
|
|
@@ -39,7 +40,9 @@ async function actionCheck(options) {
|
|
|
39
40
|
const managedResolvedFiles = resolvedFiles.filter((f) => f.managed);
|
|
40
41
|
const diff = await (0, calculate_diff_1.calculateDiff)(managedResolvedFiles, verbose, cwd, resolved.relevantPackagesByOutputDir);
|
|
41
42
|
summary.missing.push(...diff.missing.map((e) => e.relPath));
|
|
42
|
-
summary.extra.push(...diff.extra
|
|
43
|
+
summary.extra.push(...diff.extra
|
|
44
|
+
.filter((e) => !e.existing || !(0, symlinks_1.isManagedSymlinkEntry)(e.existing))
|
|
45
|
+
.map((e) => e.relPath));
|
|
43
46
|
// Only report conflicts where content or managed-state differ; gitignore-only
|
|
44
47
|
// mismatches are not a data integrity issue.
|
|
45
48
|
summary.conflict.push(...diff.conflict
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-check.js","sourceRoot":"","sources":["../../src/package/action-check.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"action-check.js","sourceRoot":"","sources":["../../src/package/action-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-extract.d.ts","sourceRoot":"","sources":["../../src/package/action-extract.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"action-extract.d.ts","sourceRoot":"","sources":["../../src/package/action-extract.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,aAAa,EACb,mBAAmB,EAEpB,MAAM,UAAU,CAAC;AAiBlB,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG;IACjD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;GAOG;AAEH,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAmNnF"}
|
|
@@ -57,7 +57,7 @@ async function actionExtract(options) {
|
|
|
57
57
|
}
|
|
58
58
|
// ── Count expected changes ─────────────────────────────────────────────
|
|
59
59
|
result.added = diff.missing.length;
|
|
60
|
-
result.deleted = diff.extra.length;
|
|
60
|
+
result.deleted = diff.extra.filter((entry) => (0, symlinks_1.isManagedFileEntry)(entry.existing)).length;
|
|
61
61
|
for (const entry of diff.conflict) {
|
|
62
62
|
const desired = entry.desired;
|
|
63
63
|
if (desired.ignoreIfExisting || !desired.managed) {
|
|
@@ -73,22 +73,11 @@ async function actionExtract(options) {
|
|
|
73
73
|
// ── Phase 3: Apply disk changes ──────────────────────────────────────────
|
|
74
74
|
// Collect unique output directories
|
|
75
75
|
const outputDirs = new Set(resolvedFiles.map((f) => f.outputDir));
|
|
76
|
-
// Remove stale symlinks before writing new files
|
|
77
|
-
if (verbose) {
|
|
78
|
-
console.log(`[verbose] actionExtract: removing stale symlinks...`);
|
|
79
|
-
}
|
|
80
|
-
for (const outputDir of outputDirs) {
|
|
81
|
-
const dirFiles = resolvedFiles.filter((f) => f.outputDir === outputDir);
|
|
82
|
-
const symlinks = dirFiles.flatMap((f) => f.symlinks);
|
|
83
|
-
if (symlinks.length > 0) {
|
|
84
|
-
await (0, symlinks_1.removeStaleSymlinks)(outputDir, symlinks);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
76
|
// Delete extra managed files
|
|
88
77
|
if (verbose) {
|
|
89
78
|
console.log(`[verbose] actionExtract: removing extra managed files...`);
|
|
90
79
|
}
|
|
91
|
-
for (const entry of diff.extra) {
|
|
80
|
+
for (const entry of diff.extra.filter((diffEntry) => (0, symlinks_1.isManagedFileEntry)(diffEntry.existing))) {
|
|
92
81
|
const fullPath = node_path_1.default.join(entry.outputDir, entry.relPath);
|
|
93
82
|
const gitignorePaths = (0, gitignore_1.readManagedGitignoreEntries)(entry.outputDir);
|
|
94
83
|
if (node_fs_1.default.existsSync(fullPath)) {
|
|
@@ -155,20 +144,31 @@ async function actionExtract(options) {
|
|
|
155
144
|
gitignore: desired.gitignore,
|
|
156
145
|
});
|
|
157
146
|
}
|
|
158
|
-
// Update marker and gitignore per output directory
|
|
159
|
-
if (verbose) {
|
|
160
|
-
console.log(`[verbose] actionExtract: updating marker and gitignore...`);
|
|
161
|
-
}
|
|
162
|
-
for (const outputDir of outputDirs) {
|
|
163
|
-
await updateOutputDirMetadata(outputDir, diff, resolvedFiles, cwd, verbose);
|
|
164
|
-
}
|
|
165
147
|
// Apply symlinks and content replacements per output directory
|
|
166
148
|
if (verbose) {
|
|
167
149
|
console.log(`[verbose] actionExtract: applying symlinks and content replacements...`);
|
|
168
150
|
}
|
|
169
151
|
for (const outputDir of outputDirs) {
|
|
170
152
|
const dirFiles = resolvedFiles.filter((f) => f.outputDir === outputDir);
|
|
171
|
-
const
|
|
153
|
+
const relevantPackages = resolved.relevantPackagesByOutputDir.get(outputDir);
|
|
154
|
+
const existingMarker = await (0, markers_1.readOutputDirMarker)(outputDir);
|
|
155
|
+
const desiredSymlinkEntries = (0, symlinks_1.collectManagedSymlinkEntries)(outputDir, dirFiles);
|
|
156
|
+
const desiredSymlinkPaths = new Set(desiredSymlinkEntries.map((entry) => entry.path));
|
|
157
|
+
const managedSymlinks = (0, symlinks_1.findManagedSymlinkEntries)(existingMarker, relevantPackages);
|
|
158
|
+
if (managedSymlinks.length > 0) {
|
|
159
|
+
const removedSymlinkPaths = await (0, symlinks_1.removeStaleSymlinks)(outputDir, managedSymlinks, desiredSymlinkPaths);
|
|
160
|
+
result.deleted += removedSymlinkPaths.length;
|
|
161
|
+
for (const relPath of removedSymlinkPaths) {
|
|
162
|
+
onProgress?.({
|
|
163
|
+
type: 'file-deleted',
|
|
164
|
+
packageName: managedSymlinks.find((entry) => entry.path === relPath)?.packageName ?? '',
|
|
165
|
+
file: relPath,
|
|
166
|
+
managed: true,
|
|
167
|
+
gitignore: false,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
const symlinkConfigs = (0, symlinks_1.uniqueSymlinkConfigs)(dirFiles);
|
|
172
172
|
if (symlinkConfigs.length > 0) {
|
|
173
173
|
await (0, symlinks_1.createSymlinks)(outputDir, symlinkConfigs);
|
|
174
174
|
}
|
|
@@ -176,6 +176,7 @@ async function actionExtract(options) {
|
|
|
176
176
|
if (contentReplacements.length > 0) {
|
|
177
177
|
await (0, content_replacements_1.applyContentReplacements)(outputDir, contentReplacements);
|
|
178
178
|
}
|
|
179
|
+
await updateOutputDirMetadata(outputDir, diff, dirFiles, desiredSymlinkEntries, relevantPackages, cwd, verbose);
|
|
179
180
|
}
|
|
180
181
|
if (verbose) {
|
|
181
182
|
console.log(`[verbose] actionExtract: complete — added=${result.added} modified=${result.modified}` +
|
|
@@ -200,10 +201,12 @@ function writeFileToOutput(srcPath, destPath, managed) {
|
|
|
200
201
|
* Update the .npmdata marker and .gitignore for one output directory after
|
|
201
202
|
* disk changes have been applied.
|
|
202
203
|
*/
|
|
203
|
-
async function updateOutputDirMetadata(outputDir, diff, resolvedFiles, cwd, verbose) {
|
|
204
|
+
async function updateOutputDirMetadata(outputDir, diff, resolvedFiles, desiredSymlinkEntries, relevantPackages, cwd, verbose) {
|
|
204
205
|
const existingMarker = await (0, markers_1.readOutputDirMarker)(outputDir);
|
|
205
206
|
// Paths removed by this run (extra files that were deleted)
|
|
206
|
-
const deletedPaths = new Set(diff.extra
|
|
207
|
+
const deletedPaths = new Set(diff.extra
|
|
208
|
+
.filter((e) => e.outputDir === outputDir && (0, symlinks_1.isManagedFileEntry)(e.existing))
|
|
209
|
+
.map((e) => e.relPath));
|
|
207
210
|
// New or updated managed entries produced by this run
|
|
208
211
|
const addedEntries = [
|
|
209
212
|
...diff.missing
|
|
@@ -212,6 +215,7 @@ async function updateOutputDirMetadata(outputDir, diff, resolvedFiles, cwd, verb
|
|
|
212
215
|
path: e.relPath,
|
|
213
216
|
packageName: e.desired.packageName,
|
|
214
217
|
packageVersion: e.desired.packageVersion,
|
|
218
|
+
kind: 'file',
|
|
215
219
|
})),
|
|
216
220
|
...diff.conflict
|
|
217
221
|
.filter((e) => e.outputDir === outputDir && e.desired?.managed && !e.desired.ignoreIfExisting)
|
|
@@ -219,14 +223,20 @@ async function updateOutputDirMetadata(outputDir, diff, resolvedFiles, cwd, verb
|
|
|
219
223
|
path: e.relPath,
|
|
220
224
|
packageName: e.desired.packageName,
|
|
221
225
|
packageVersion: e.desired.packageVersion,
|
|
226
|
+
kind: 'file',
|
|
222
227
|
})),
|
|
223
228
|
];
|
|
229
|
+
const currentRelevantPackages = relevantPackages ?? new Set(resolvedFiles.map((file) => file.packageName));
|
|
224
230
|
// Merge: keep existing (minus deleted + newly updated), then add new entries
|
|
225
231
|
const updatedByPath = new Map(existingMarker
|
|
226
|
-
.filter((m) => !deletedPaths.has(m.path) &&
|
|
232
|
+
.filter((m) => !deletedPaths.has(m.path) &&
|
|
233
|
+
!addedEntries.some((e) => e.path === m.path) &&
|
|
234
|
+
!((m.kind ?? 'file') === 'symlink' && currentRelevantPackages.has(m.packageName)))
|
|
227
235
|
.map((m) => [m.path, m]));
|
|
228
236
|
for (const e of addedEntries)
|
|
229
237
|
updatedByPath.set(e.path, e);
|
|
238
|
+
for (const entry of desiredSymlinkEntries)
|
|
239
|
+
updatedByPath.set(entry.path, entry);
|
|
230
240
|
const updatedEntries = [...updatedByPath.values()];
|
|
231
241
|
await (0, markers_1.writeMarker)((0, markers_1.markerPath)(outputDir), updatedEntries);
|
|
232
242
|
if (verbose) {
|
|
@@ -235,6 +245,7 @@ async function updateOutputDirMetadata(outputDir, diff, resolvedFiles, cwd, verb
|
|
|
235
245
|
// Update gitignore: include all remaining managed entries whose gitignore=true
|
|
236
246
|
const resolvedByPath = new Map(resolvedFiles.filter((f) => f.outputDir === outputDir).map((f) => [f.relPath, f]));
|
|
237
247
|
const gitignorePaths = updatedEntries
|
|
248
|
+
.filter((e) => (e.kind ?? 'file') !== 'symlink')
|
|
238
249
|
.filter((e) => {
|
|
239
250
|
const resolved = resolvedByPath.get(e.path);
|
|
240
251
|
// For files resolved in this run, honour their gitignore setting.
|
|
@@ -244,19 +255,4 @@ async function updateOutputDirMetadata(outputDir, diff, resolvedFiles, cwd, verb
|
|
|
244
255
|
.map((e) => e.path);
|
|
245
256
|
await (0, gitignore_1.addToGitignore)(outputDir, gitignorePaths);
|
|
246
257
|
}
|
|
247
|
-
/** Deduplicate SymlinkConfig objects by JSON representation. */
|
|
248
|
-
function uniqueSymlinkConfigs(files) {
|
|
249
|
-
const seen = new Set();
|
|
250
|
-
const result = [];
|
|
251
|
-
for (const f of files) {
|
|
252
|
-
for (const s of f.symlinks) {
|
|
253
|
-
const key = JSON.stringify(s);
|
|
254
|
-
if (!seen.has(key)) {
|
|
255
|
-
seen.add(key);
|
|
256
|
-
result.push(s);
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
return result;
|
|
261
|
-
}
|
|
262
258
|
//# sourceMappingURL=action-extract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-extract.js","sourceRoot":"","sources":["../../src/package/action-extract.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"action-extract.js","sourceRoot":"","sources":["../../src/package/action-extract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SymlinkConfig } from '../types';
|
|
1
|
+
import { ManagedFileMetadata, ResolvedFile, SymlinkConfig } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Create symlinks for all files/dirs in outputDir matching source globs.
|
|
4
4
|
* Each matching source is symlinked into the target directory.
|
|
@@ -6,10 +6,18 @@ import { SymlinkConfig } from '../types';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare function createSymlinks(outputDir: string, configs: SymlinkConfig[]): Promise<void>;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Collect marker entries for managed symlinks created in an output directory.
|
|
10
|
+
*
|
|
11
|
+
* Symlink ownership is attributed to the package/config combination that declared
|
|
12
|
+
* the symlink operation. Duplicate output paths keep the first discovered owner.
|
|
11
13
|
*/
|
|
12
|
-
export declare function
|
|
14
|
+
export declare function collectManagedSymlinkEntries(outputDir: string, files: ResolvedFile[]): ManagedFileMetadata[];
|
|
15
|
+
/** Remove only marker-managed symlinks that are no longer desired for this run. */
|
|
16
|
+
export declare function removeStaleSymlinks(outputDir: string, managedEntries: ManagedFileMetadata[], desiredPaths: Set<string>): Promise<string[]>;
|
|
17
|
+
export declare function isManagedSymlinkEntry(entry: ManagedFileMetadata): boolean;
|
|
18
|
+
export declare function isManagedFileEntry(entry: ManagedFileMetadata): boolean;
|
|
19
|
+
export declare function findManagedSymlinkEntries(entries: ManagedFileMetadata[], relevantPackages?: Set<string>): ManagedFileMetadata[];
|
|
20
|
+
export declare function uniqueSymlinkConfigs(files: ResolvedFile[]): SymlinkConfig[];
|
|
13
21
|
/**
|
|
14
22
|
* Remove ALL symlinks pointing into outputDir (used during purge).
|
|
15
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symlinks.d.ts","sourceRoot":"","sources":["../../src/package/symlinks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
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;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB/F;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,EAAE,GACpB,mBAAmB,EAAE,CAuCvB;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
|
@@ -4,7 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createSymlinks = createSymlinks;
|
|
7
|
+
exports.collectManagedSymlinkEntries = collectManagedSymlinkEntries;
|
|
7
8
|
exports.removeStaleSymlinks = removeStaleSymlinks;
|
|
9
|
+
exports.isManagedSymlinkEntry = isManagedSymlinkEntry;
|
|
10
|
+
exports.isManagedFileEntry = isManagedFileEntry;
|
|
11
|
+
exports.findManagedSymlinkEntries = findManagedSymlinkEntries;
|
|
12
|
+
exports.uniqueSymlinkConfigs = uniqueSymlinkConfigs;
|
|
8
13
|
exports.removeAllSymlinks = removeAllSymlinks;
|
|
9
14
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
10
15
|
const node_path_1 = __importDefault(require("node:path"));
|
|
@@ -35,29 +40,94 @@ async function createSymlinks(outputDir, configs) {
|
|
|
35
40
|
}
|
|
36
41
|
}
|
|
37
42
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
43
|
+
* Collect marker entries for managed symlinks created in an output directory.
|
|
44
|
+
*
|
|
45
|
+
* Symlink ownership is attributed to the package/config combination that declared
|
|
46
|
+
* the symlink operation. Duplicate output paths keep the first discovered owner.
|
|
40
47
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
48
|
+
function collectManagedSymlinkEntries(outputDir, files) {
|
|
49
|
+
const uniqueConfigs = new Map();
|
|
50
|
+
for (const file of files) {
|
|
51
|
+
if (!file.managed)
|
|
52
|
+
continue;
|
|
53
|
+
for (const config of file.symlinks) {
|
|
54
|
+
const key = `${file.packageName}|${file.packageVersion}|${JSON.stringify(config)}`;
|
|
55
|
+
if (!uniqueConfigs.has(key)) {
|
|
56
|
+
uniqueConfigs.set(key, {
|
|
57
|
+
packageName: file.packageName,
|
|
58
|
+
packageVersion: file.packageVersion,
|
|
59
|
+
config,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const byPath = new Map();
|
|
65
|
+
for (const { packageName, packageVersion, config } of uniqueConfigs.values()) {
|
|
43
66
|
const targetDir = node_path_1.default.resolve(outputDir, config.target);
|
|
44
|
-
|
|
67
|
+
const matches = findMatchingPaths(outputDir, config.source);
|
|
68
|
+
for (const relPath of matches) {
|
|
69
|
+
const linkPath = node_path_1.default.join(targetDir, node_path_1.default.basename(relPath));
|
|
70
|
+
const linkRelPath = node_path_1.default.relative(outputDir, linkPath);
|
|
71
|
+
if (!byPath.has(linkRelPath)) {
|
|
72
|
+
byPath.set(linkRelPath, {
|
|
73
|
+
path: linkRelPath,
|
|
74
|
+
packageName,
|
|
75
|
+
packageVersion,
|
|
76
|
+
kind: 'symlink',
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return [...byPath.values()];
|
|
82
|
+
}
|
|
83
|
+
/** Remove only marker-managed symlinks that are no longer desired for this run. */
|
|
84
|
+
async function removeStaleSymlinks(outputDir, managedEntries, desiredPaths) {
|
|
85
|
+
const removed = [];
|
|
86
|
+
const seen = new Set();
|
|
87
|
+
for (const entry of managedEntries) {
|
|
88
|
+
if ((entry.kind ?? 'file') !== 'symlink' || seen.has(entry.path))
|
|
45
89
|
continue;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
90
|
+
seen.add(entry.path);
|
|
91
|
+
if (desiredPaths.has(entry.path))
|
|
92
|
+
continue;
|
|
93
|
+
const linkPath = node_path_1.default.join(outputDir, entry.path);
|
|
94
|
+
if (!isSymlink(linkPath))
|
|
95
|
+
continue;
|
|
96
|
+
try {
|
|
97
|
+
node_fs_1.default.unlinkSync(linkPath);
|
|
98
|
+
removed.push(entry.path);
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
// eslint-disable-next-line no-console
|
|
102
|
+
console.log(`Failed to remove stale symlink at ${linkPath}`);
|
|
103
|
+
// ignore
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return removed;
|
|
107
|
+
}
|
|
108
|
+
function isManagedSymlinkEntry(entry) {
|
|
109
|
+
return (entry.kind ?? 'file') === 'symlink';
|
|
110
|
+
}
|
|
111
|
+
function isManagedFileEntry(entry) {
|
|
112
|
+
return (entry.kind ?? 'file') !== 'symlink';
|
|
113
|
+
}
|
|
114
|
+
function findManagedSymlinkEntries(entries, relevantPackages) {
|
|
115
|
+
return entries.filter((entry) => isManagedSymlinkEntry(entry) &&
|
|
116
|
+
(!relevantPackages || relevantPackages.has(entry.packageName)));
|
|
117
|
+
}
|
|
118
|
+
function uniqueSymlinkConfigs(files) {
|
|
119
|
+
const seen = new Set();
|
|
120
|
+
const result = [];
|
|
121
|
+
for (const f of files) {
|
|
122
|
+
for (const s of f.symlinks) {
|
|
123
|
+
const key = JSON.stringify(s);
|
|
124
|
+
if (!seen.has(key)) {
|
|
125
|
+
seen.add(key);
|
|
126
|
+
result.push(s);
|
|
58
127
|
}
|
|
59
128
|
}
|
|
60
129
|
}
|
|
130
|
+
return result;
|
|
61
131
|
}
|
|
62
132
|
/**
|
|
63
133
|
* Remove ALL symlinks pointing into outputDir (used during purge).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symlinks.js","sourceRoot":"","sources":["../../src/package/symlinks.ts"],"names":[],"mappings":";;;;;AAaA,wCAqBC;
|
|
1
|
+
{"version":3,"file":"symlinks.js","sourceRoot":"","sources":["../../src/package/symlinks.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -207,6 +207,8 @@ export type ManagedFileMetadata = {
|
|
|
207
207
|
packageName: string;
|
|
208
208
|
/** Installed version at extraction time. */
|
|
209
209
|
packageVersion: string;
|
|
210
|
+
/** Managed path type. Omitted in marker files for regular files. */
|
|
211
|
+
kind?: 'file' | 'symlink';
|
|
210
212
|
};
|
|
211
213
|
/**
|
|
212
214
|
* Event emitted by extract/check/purge for UI progress reporting.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B;;OAEG;IACH,mBAAmB,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,8BAA8B;IAC9B,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,eAAe,GAAG,aAAa,CAAC;CACtD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,iEAAiE;IACjE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,qEAAqE;IACrE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,oFAAoF;IACpF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iCAAiC;IACjC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,uEAAuE;IACvE,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|