npmdata 0.18.15 → 0.20.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.
Files changed (50) hide show
  1. package/README.md +83 -46
  2. package/dist/cli/argv.d.ts +4 -1
  3. package/dist/cli/argv.d.ts.map +1 -1
  4. package/dist/cli/argv.js +13 -0
  5. package/dist/cli/argv.js.map +1 -1
  6. package/dist/cli/usage.d.ts.map +1 -1
  7. package/dist/cli/usage.js +4 -0
  8. package/dist/cli/usage.js.map +1 -1
  9. package/dist/fileset/constants.d.ts.map +1 -1
  10. package/dist/fileset/constants.js +3 -0
  11. package/dist/fileset/constants.js.map +1 -1
  12. package/dist/fileset/markers.d.ts.map +1 -1
  13. package/dist/fileset/markers.js +7 -1
  14. package/dist/fileset/markers.js.map +1 -1
  15. package/dist/fileset/test-utils.d.ts +9 -0
  16. package/dist/fileset/test-utils.d.ts.map +1 -1
  17. package/dist/fileset/test-utils.js +32 -1
  18. package/dist/fileset/test-utils.js.map +1 -1
  19. package/dist/package/action-check.d.ts.map +1 -1
  20. package/dist/package/action-check.js +8 -1
  21. package/dist/package/action-check.js.map +1 -1
  22. package/dist/package/action-extract.d.ts.map +1 -1
  23. package/dist/package/action-extract.js +56 -47
  24. package/dist/package/action-extract.js.map +1 -1
  25. package/dist/package/action-purge.d.ts.map +1 -1
  26. package/dist/package/action-purge.js +4 -0
  27. package/dist/package/action-purge.js.map +1 -1
  28. package/dist/package/config-merge.d.ts +1 -1
  29. package/dist/package/config-merge.d.ts.map +1 -1
  30. package/dist/package/config-merge.js +2 -1
  31. package/dist/package/config-merge.js.map +1 -1
  32. package/dist/package/config.d.ts +4 -0
  33. package/dist/package/config.d.ts.map +1 -1
  34. package/dist/package/config.js +36 -0
  35. package/dist/package/config.js.map +1 -1
  36. package/dist/package/resolve-files.d.ts +3 -0
  37. package/dist/package/resolve-files.d.ts.map +1 -1
  38. package/dist/package/resolve-files.js +35 -34
  39. package/dist/package/resolve-files.js.map +1 -1
  40. package/dist/package/source.d.ts +20 -0
  41. package/dist/package/source.d.ts.map +1 -0
  42. package/dist/package/source.js +193 -0
  43. package/dist/package/source.js.map +1 -0
  44. package/dist/package/symlinks.d.ts +12 -4
  45. package/dist/package/symlinks.d.ts.map +1 -1
  46. package/dist/package/symlinks.js +87 -17
  47. package/dist/package/symlinks.js.map +1 -1
  48. package/dist/types.d.ts +17 -2
  49. package/dist/types.d.ts.map +1 -1
  50. package/package.json +1 -1
@@ -6,16 +6,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.resolveFiles = resolveFiles;
7
7
  exports.resolveFilesDetailed = resolveFilesDetailed;
8
8
  /* eslint-disable no-console */
9
- const node_fs_1 = __importDefault(require("node:fs"));
10
9
  const node_path_1 = __importDefault(require("node:path"));
11
10
  const utils_1 = require("../utils");
12
11
  const package_files_1 = require("../fileset/package-files");
12
+ const config_1 = require("./config");
13
13
  const config_merge_1 = require("./config-merge");
14
+ const source_1 = require("./source");
14
15
  function addRelevantPackage(relevantPackagesByOutputDir, outputDir, packageName) {
15
16
  const relevantPackages = relevantPackagesByOutputDir.get(outputDir) ?? new Set();
16
17
  relevantPackages.add(packageName);
17
18
  relevantPackagesByOutputDir.set(outputDir, relevantPackages);
18
19
  }
20
+ function markNoSyncOutput(noSyncOutputDirs, outputDir, noSync) {
21
+ if (noSync) {
22
+ noSyncOutputDirs.add(outputDir);
23
+ }
24
+ }
19
25
  /** Unique key for an entry used for recursion-cycle detection. */
20
26
  function entryKey(entry, output, selector, currentPkgPath) {
21
27
  const packageScope = entry.package ?? `__self__:${currentPkgPath ?? ''}`;
@@ -41,21 +47,24 @@ async function resolveFiles(entries, options) {
41
47
  async function resolveFilesDetailed(entries, options) {
42
48
  const visited = new Set();
43
49
  const relevantPackagesByOutputDir = new Map();
50
+ const noSyncOutputDirs = new Set();
51
+ const sourceRuntime = options.sourceRuntime ?? (0, source_1.createSourceRuntime)(options.cwd, options.verbose);
44
52
  const raw = await resolveFilesInternal(entries, { path: '.' }, {},
45
53
  // eslint-disable-next-line no-undefined
46
54
  undefined,
47
55
  // eslint-disable-next-line no-undefined
48
56
  undefined,
49
57
  // eslint-disable-next-line no-undefined
50
- undefined, options, relevantPackagesByOutputDir, visited);
58
+ undefined, { ...options, sourceRuntime }, relevantPackagesByOutputDir, noSyncOutputDirs, visited);
51
59
  return {
52
60
  files: deduplicateAndCheckConflicts(raw),
53
61
  relevantPackagesByOutputDir,
62
+ noSyncOutputDirs,
54
63
  };
55
64
  }
56
65
  // eslint-disable-next-line complexity
57
- async function resolveFilesInternal(entries, inheritedOutput, inheritedSelector, currentPkgPath, currentPkgName, currentPkgVersion, options, relevantPackagesByOutputDir, visited) {
58
- const { cwd, verbose, onProgress } = options;
66
+ async function resolveFilesInternal(entries, inheritedOutput, inheritedSelector, currentPkgPath, currentPkgName, currentPkgVersion, options, relevantPackagesByOutputDir, noSyncOutputDirs, visited) {
67
+ const { cwd, verbose, onProgress, sourceRuntime } = options;
59
68
  const resolvedEntries = entries.map((entry) => {
60
69
  const mergedOutput = (0, config_merge_1.mergeOutputConfig)(inheritedOutput, entry.output ?? {});
61
70
  const entrySelector = entry.selector ?? {};
@@ -84,6 +93,7 @@ async function resolveFilesInternal(entries, inheritedOutput, inheritedSelector,
84
93
  }
85
94
  const outputDir = node_path_1.default.resolve(cwd, mergedOutput.path ?? '.');
86
95
  addRelevantPackage(relevantPackagesByOutputDir, outputDir, currentPkgName);
96
+ markNoSyncOutput(noSyncOutputDirs, outputDir, mergedOutput.noSync === true);
87
97
  const files = await (0, package_files_1.enumeratePackageFiles)(currentPkgPath, mergedSelector);
88
98
  if (verbose) {
89
99
  console.log(`[verbose] resolveFiles: self-package "${currentPkgName}" → ${files.length} file(s) to ${(0, utils_1.formatDisplayPath)(outputDir, cwd)}`);
@@ -94,55 +104,45 @@ async function resolveFilesInternal(entries, inheritedOutput, inheritedSelector,
94
104
  }
95
105
  else {
96
106
  // ── External-package entry ────────────────────────────────────────────
97
- const pkg = (0, utils_1.parsePackageSpec)(entry.package);
107
+ const pkg = (0, source_1.parsePackageTarget)(entry.package, entry.source);
98
108
  const upgrade = mergedSelector.upgrade ?? false;
99
109
  onProgress?.({
100
110
  type: 'package-start',
101
- packageName: pkg.name,
102
- packageVersion: pkg.version ?? 'latest',
111
+ packageName: pkg.packageName,
112
+ packageVersion: pkg.requestedVersion ?? 'latest',
103
113
  });
104
- const pkgPath = await (0, utils_1.installOrUpgradePackage)(pkg.name, pkg.version, upgrade, cwd, verbose);
105
- let installedVersion = '0.0.0';
106
- try {
107
- const pkgJsonContent = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(pkgPath, 'package.json')).toString());
108
- installedVersion = pkgJsonContent.version;
109
- }
110
- catch {
111
- // fallback
112
- }
114
+ const resolvedPackage = await sourceRuntime.resolvePackage(entry, upgrade);
115
+ const pkgPath = resolvedPackage.packagePath;
116
+ const installedVersion = resolvedPackage.packageVersion;
113
117
  if (verbose) {
114
- console.log(`[verbose] resolveFiles: resolved "${pkg.name}@${installedVersion}" at ${(0, utils_1.formatDisplayPath)(pkgPath, cwd)}`);
118
+ console.log(`[verbose] resolveFiles: resolved "${resolvedPackage.packageName}@${installedVersion}" at ${(0, utils_1.formatDisplayPath)(pkgPath, cwd)}`);
115
119
  }
116
120
  // Check whether this package declares its own npmdata.sets
117
- let pkgNpmdataSets;
118
- try {
119
- const depPkgJson = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(pkgPath, 'package.json')).toString());
120
- pkgNpmdataSets = depPkgJson.npmdata?.sets;
121
- }
122
- catch {
123
- // no sets
124
- }
121
+ const depConfig = await (0, config_1.loadNpmdataConfigFromDirectory)(pkgPath);
122
+ const pkgNpmdataSets = depConfig?.sets;
125
123
  const outputDir = node_path_1.default.resolve(cwd, mergedOutput.path ?? '.');
126
- addRelevantPackage(relevantPackagesByOutputDir, outputDir, pkg.name);
124
+ addRelevantPackage(relevantPackagesByOutputDir, outputDir, resolvedPackage.packageName);
125
+ markNoSyncOutput(noSyncOutputDirs, outputDir, mergedOutput.noSync === true);
127
126
  const hasSelfSet = (pkgNpmdataSets ?? []).some((setEntry) => !setEntry.package);
128
127
  // When a package declares self sets, those sets define how its own files are split
129
128
  // across outputs and managed flags. In that case, skip the blanket own-file pass.
130
129
  const ownFiles = hasSelfSet ? [] : await (0, package_files_1.enumeratePackageFiles)(pkgPath, mergedSelector);
131
130
  if (verbose) {
132
- console.log(`[verbose] resolveFiles: "${pkg.name}" own files → ${ownFiles.length} file(s) to ${(0, utils_1.formatDisplayPath)(outputDir, cwd)}`);
131
+ console.log(`[verbose] resolveFiles: "${resolvedPackage.packageName}" own files → ${ownFiles.length} file(s) to ${(0, utils_1.formatDisplayPath)(outputDir, cwd)}`);
133
132
  }
134
133
  for (const relPath of ownFiles) {
135
- results.push(buildResolvedFile(relPath, pkgPath, pkg.name, installedVersion, outputDir, mergedOutput));
134
+ results.push(buildResolvedFile(relPath, pkgPath, resolvedPackage.packageName, installedVersion, outputDir, mergedOutput));
136
135
  }
137
136
  if (pkgNpmdataSets && pkgNpmdataSets.length > 0) {
138
137
  for (const pkgSet of pkgNpmdataSets) {
139
138
  const setOutput = (0, config_merge_1.mergeOutputConfig)(mergedOutput, pkgSet.output ?? {});
140
139
  const setOutputDir = node_path_1.default.resolve(cwd, setOutput.path ?? '.');
140
+ markNoSyncOutput(noSyncOutputDirs, setOutputDir, setOutput.noSync === true);
141
141
  if (pkgSet.package) {
142
- addRelevantPackage(relevantPackagesByOutputDir, setOutputDir, (0, utils_1.parsePackageSpec)(pkgSet.package).name);
142
+ addRelevantPackage(relevantPackagesByOutputDir, setOutputDir, (0, source_1.parsePackageTarget)(pkgSet.package, pkgSet.source).packageName);
143
143
  }
144
144
  else {
145
- addRelevantPackage(relevantPackagesByOutputDir, setOutputDir, pkg.name);
145
+ addRelevantPackage(relevantPackagesByOutputDir, setOutputDir, resolvedPackage.packageName);
146
146
  }
147
147
  }
148
148
  // Apply preset filter
@@ -151,7 +151,7 @@ async function resolveFilesInternal(entries, inheritedOutput, inheritedSelector,
151
151
  mergedSelector.presets.length > 0 &&
152
152
  pkgNpmdataSets.length > 0 &&
153
153
  presetFilteredSets.length === 0) {
154
- throw new Error(`Presets (${mergedSelector.presets.join(', ')}) not found in any set of package "${pkg.name}"`);
154
+ throw new Error(`Presets (${mergedSelector.presets.join(', ')}) not found in any set of package "${resolvedPackage.packageName}"`);
155
155
  }
156
156
  // Preemptively mark preset-excluded sets as visited
157
157
  for (const e of pkgNpmdataSets) {
@@ -167,17 +167,17 @@ async function resolveFilesInternal(entries, inheritedOutput, inheritedSelector,
167
167
  // the preset selection above.
168
168
  const setsToFollow = presetFilteredSets.filter((e) => typeof e.package === 'string' || hasSelfSet);
169
169
  if (verbose && setsToFollow.length > 0) {
170
- console.log(`[verbose] resolveFiles: "${pkg.name}" has ${pkgNpmdataSets.length} set(s)` +
170
+ console.log(`[verbose] resolveFiles: "${resolvedPackage.packageName}" has ${pkgNpmdataSets.length} set(s)` +
171
171
  `, ${setsToFollow.length} to follow after preset/self-ref filter`);
172
172
  }
173
173
  if (setsToFollow.length > 0) {
174
- const subResults = await resolveFilesInternal(setsToFollow, mergedOutput, mergedSelector, pkgPath, pkg.name, installedVersion, options, relevantPackagesByOutputDir, visited);
174
+ const subResults = await resolveFilesInternal(setsToFollow, mergedOutput, mergedSelector, pkgPath, resolvedPackage.packageName, installedVersion, options, relevantPackagesByOutputDir, noSyncOutputDirs, visited);
175
175
  results.push(...subResults);
176
176
  }
177
177
  }
178
178
  onProgress?.({
179
179
  type: 'package-end',
180
- packageName: pkg.name,
180
+ packageName: resolvedPackage.packageName,
181
181
  packageVersion: installedVersion,
182
182
  });
183
183
  }
@@ -195,6 +195,7 @@ function buildResolvedFile(relPath, pkgPath, packageName, packageVersion, output
195
195
  gitignore: output.gitignore !== false,
196
196
  force: output.force ?? false,
197
197
  ignoreIfExisting: output.keepExisting ?? false,
198
+ noSync: output.noSync === true,
198
199
  contentReplacements: output.contentReplacements ?? [],
199
200
  symlinks: output.symlinks ?? [],
200
201
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-files.js","sourceRoot":"","sources":["../../src/package/resolve-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-files.js","sourceRoot":"","sources":["../../src/package/resolve-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { NpmdataExtractEntry, SourceKind } from '../types';
2
+ export type PackageTarget = {
3
+ source: 'npm' | 'git';
4
+ packageName: string;
5
+ requestedVersion?: string;
6
+ repository?: string;
7
+ };
8
+ export type ResolvedPackageSource = {
9
+ source: 'npm' | 'git';
10
+ packageName: string;
11
+ packageVersion: string;
12
+ packagePath: string;
13
+ };
14
+ export type SourceRuntime = {
15
+ resolvePackage: (entry: NpmdataExtractEntry, upgrade: boolean) => Promise<ResolvedPackageSource>;
16
+ cleanup: () => void;
17
+ };
18
+ export declare function parsePackageTarget(spec: string, requestedSource?: SourceKind): PackageTarget;
19
+ export declare function createSourceRuntime(cwd: string, verbose?: boolean): SourceRuntime;
20
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/package/source.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3D,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,mBAAmB,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjG,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAIF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,UAAmB,GACnC,aAAa,CAsBf;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,aAAa,CAiE/E"}
@@ -0,0 +1,193 @@
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.parsePackageTarget = parsePackageTarget;
7
+ exports.createSourceRuntime = createSourceRuntime;
8
+ /* eslint-disable no-console */
9
+ const node_crypto_1 = __importDefault(require("node:crypto"));
10
+ const node_fs_1 = __importDefault(require("node:fs"));
11
+ const node_path_1 = __importDefault(require("node:path"));
12
+ const utils_1 = require("../utils");
13
+ const GIT_SOURCE_REGEX = /^(?:https?|ssh|git|file):\/\/|^git@/i;
14
+ function parsePackageTarget(spec, requestedSource = 'auto') {
15
+ const source = resolveSourceKind(spec, requestedSource);
16
+ if (source === 'npm') {
17
+ const atIdx = spec.lastIndexOf('@');
18
+ if (atIdx > 0) {
19
+ const requestedVersion = spec.slice(atIdx + 1);
20
+ return {
21
+ source,
22
+ packageName: spec.slice(0, atIdx),
23
+ ...(requestedVersion ? { requestedVersion } : {}),
24
+ };
25
+ }
26
+ return { source, packageName: spec };
27
+ }
28
+ const { repository, ref } = splitGitSpec(spec);
29
+ return {
30
+ source,
31
+ packageName: normalizeGitRepository(repository),
32
+ ...(ref ? { requestedVersion: ref } : {}),
33
+ repository,
34
+ };
35
+ }
36
+ function createSourceRuntime(cwd, verbose = false) {
37
+ const packageCache = new Map();
38
+ const cloneDirs = new Set();
39
+ const tempRoot = node_path_1.default.join(cwd, '.npmdata-tmp');
40
+ const ensureTempRoot = () => {
41
+ if (!node_fs_1.default.existsSync(tempRoot)) {
42
+ node_fs_1.default.mkdirSync(tempRoot, { recursive: true });
43
+ if (verbose) {
44
+ console.log(`[verbose] source: created temp git directory ${(0, utils_1.formatDisplayPath)(tempRoot, cwd)}`);
45
+ }
46
+ }
47
+ ensureGitignoreContains(cwd, '.npmdata-tmp');
48
+ };
49
+ return {
50
+ async resolvePackage(entry, upgrade) {
51
+ if (!entry.package) {
52
+ throw new Error('resolvePackage requires an entry with a package spec');
53
+ }
54
+ const target = parsePackageTarget(entry.package, entry.source);
55
+ const cacheKey = `${target.source}|${target.packageName}|${target.requestedVersion ?? ''}`;
56
+ if (!upgrade) {
57
+ const cached = packageCache.get(cacheKey);
58
+ if (cached)
59
+ return cached;
60
+ }
61
+ const resolved = target.source === 'git'
62
+ ? resolveGitPackage(target, cwd, tempRoot, ensureTempRoot, verbose)
63
+ : resolveNpmPackage(target, upgrade, cwd, verbose);
64
+ const packageSource = await resolved;
65
+ packageCache.set(cacheKey, packageSource);
66
+ if (packageSource.source === 'git') {
67
+ cloneDirs.add(packageSource.packagePath);
68
+ }
69
+ return packageSource;
70
+ },
71
+ cleanup() {
72
+ for (const cloneDir of cloneDirs) {
73
+ if (node_fs_1.default.existsSync(cloneDir)) {
74
+ node_fs_1.default.rmSync(cloneDir, { recursive: true, force: true });
75
+ }
76
+ }
77
+ cloneDirs.clear();
78
+ if (node_fs_1.default.existsSync(tempRoot)) {
79
+ try {
80
+ if (node_fs_1.default.readdirSync(tempRoot).length === 0) {
81
+ node_fs_1.default.rmdirSync(tempRoot);
82
+ }
83
+ }
84
+ catch {
85
+ // ignore cleanup failures
86
+ }
87
+ }
88
+ },
89
+ };
90
+ }
91
+ function resolveSourceKind(spec, requestedSource) {
92
+ if (requestedSource === 'npm' || requestedSource === 'git')
93
+ return requestedSource;
94
+ return GIT_SOURCE_REGEX.test(spec) ? 'git' : 'npm';
95
+ }
96
+ function splitGitSpec(spec) {
97
+ if (spec.startsWith('git@')) {
98
+ const firstAt = spec.indexOf('@');
99
+ const lastAt = spec.lastIndexOf('@');
100
+ if (lastAt > firstAt) {
101
+ const ref = spec.slice(lastAt + 1);
102
+ return { repository: spec.slice(0, lastAt), ...(ref ? { ref } : {}) };
103
+ }
104
+ return { repository: spec };
105
+ }
106
+ const schemeEnd = spec.indexOf('://');
107
+ if (schemeEnd !== -1) {
108
+ const authStart = schemeEnd + 3;
109
+ const pathStart = spec.indexOf('/', authStart);
110
+ const authEnd = pathStart === -1 ? spec.length : pathStart;
111
+ const lastAt = spec.lastIndexOf('@');
112
+ if (lastAt >= authEnd) {
113
+ const ref = spec.slice(lastAt + 1);
114
+ return { repository: spec.slice(0, lastAt), ...(ref ? { ref } : {}) };
115
+ }
116
+ return { repository: spec };
117
+ }
118
+ throw new Error(`Git source requires a URL-like package spec. Received "${spec}". ` +
119
+ 'Use source="git" with a full repository URL such as https://host/org/repo@ref.');
120
+ }
121
+ function normalizeGitRepository(repository) {
122
+ return repository.replace(/\/+$/, '');
123
+ }
124
+ async function resolveNpmPackage(target, upgrade, cwd, verbose) {
125
+ const packagePath = await (0, utils_1.installOrUpgradePackage)(target.packageName, target.requestedVersion, upgrade, cwd, verbose);
126
+ let installedVersion = '0.0.0';
127
+ try {
128
+ const pkgJsonContent = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(packagePath, 'package.json')).toString());
129
+ installedVersion = pkgJsonContent.version;
130
+ }
131
+ catch {
132
+ // fallback
133
+ }
134
+ return {
135
+ source: 'npm',
136
+ packageName: target.packageName,
137
+ packageVersion: installedVersion,
138
+ packagePath,
139
+ };
140
+ }
141
+ async function resolveGitPackage(target, cwd, tempRoot, ensureTempRoot, verbose) {
142
+ ensureTempRoot();
143
+ const cloneDir = node_path_1.default.join(tempRoot, buildCloneDirName(target));
144
+ if (node_fs_1.default.existsSync(cloneDir)) {
145
+ node_fs_1.default.rmSync(cloneDir, { recursive: true, force: true });
146
+ }
147
+ if (verbose) {
148
+ console.log(`[verbose] source: cloning ${target.repository} into ${(0, utils_1.formatDisplayPath)(cloneDir, cwd)}`);
149
+ }
150
+ (0, utils_1.spawnWithLog)('git', ['clone', target.repository, cloneDir], cwd, verbose, true);
151
+ if (target.requestedVersion) {
152
+ (0, utils_1.spawnWithLog)('git', ['-C', cloneDir, 'checkout', target.requestedVersion], cwd, verbose, true);
153
+ }
154
+ const revision = (0, utils_1.spawnWithLog)('git', ['-C', cloneDir, 'rev-parse', 'HEAD'], cwd, verbose, true)
155
+ .stdout.toString()
156
+ .trim();
157
+ const gitDir = node_path_1.default.join(cloneDir, '.git');
158
+ if (node_fs_1.default.existsSync(gitDir)) {
159
+ node_fs_1.default.rmSync(gitDir, { recursive: true, force: true });
160
+ }
161
+ return {
162
+ source: 'git',
163
+ packageName: target.packageName,
164
+ packageVersion: revision || target.requestedVersion || 'HEAD',
165
+ packagePath: cloneDir,
166
+ };
167
+ }
168
+ function buildCloneDirName(target) {
169
+ const pathSegments = target.packageName.split(/[/:]/).filter(Boolean);
170
+ const lastPathSegment = pathSegments.at(-1);
171
+ const baseName = lastPathSegment?.replace(/\.git$/, '')?.replace(/[^\w.-]+/g, '-') ?? 'repo';
172
+ const digest = node_crypto_1.default
173
+ .createHash('sha1')
174
+ .update(`${target.packageName}@${target.requestedVersion ?? ''}`)
175
+ .digest('hex')
176
+ .slice(0, 12);
177
+ return `${baseName}-${digest}`;
178
+ }
179
+ function ensureGitignoreContains(cwd, entry) {
180
+ const gitignorePath = node_path_1.default.join(cwd, '.gitignore');
181
+ if (!node_fs_1.default.existsSync(gitignorePath)) {
182
+ node_fs_1.default.writeFileSync(gitignorePath, `${entry}\n`);
183
+ return;
184
+ }
185
+ const lines = node_fs_1.default
186
+ .readFileSync(gitignorePath, 'utf8')
187
+ .split(/\r?\n/)
188
+ .map((line) => line.trim());
189
+ if (!lines.includes(entry)) {
190
+ node_fs_1.default.appendFileSync(gitignorePath, `\n${entry}\n`);
191
+ }
192
+ }
193
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/package/source.ts"],"names":[],"mappings":";;;;;AA6BA,gDAyBC;AAED,kDAiEC;AAzHD,+BAA+B;AAC/B,8DAAiC;AACjC,sDAAyB;AACzB,0DAA6B;AAG7B,oCAAoF;AAqBpF,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AAEhE,SAAgB,kBAAkB,CAChC,IAAY,EACZ,kBAA8B,MAAM;IAEpC,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,OAAO;gBACL,MAAM;gBACN,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;gBACjC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM;QACN,WAAW,EAAE,sBAAsB,CAAC,UAAU,CAAC;QAC/C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAW,EAAE,OAAO,GAAG,KAAK;IAC9D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEhD,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,iBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CACT,gDAAgD,IAAA,yBAAiB,EAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,uBAAuB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,cAAc,CAClB,KAA0B,EAC1B,OAAgB;YAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;YAE3F,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;YAC5B,CAAC;YAED,MAAM,QAAQ,GACZ,MAAM,CAAC,MAAM,KAAK,KAAK;gBACrB,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC;gBACnE,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAEvD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC;YACrC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC1C,IAAI,aAAa,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACnC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,OAAO;YACL,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,iBAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YACD,SAAS,CAAC,KAAK,EAAE,CAAC;YAElB,IAAI,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,IAAI,iBAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1C,iBAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,0BAA0B;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,eAA2B;IAClE,IAAI,eAAe,KAAK,KAAK,IAAI,eAAe,KAAK,KAAK;QAAE,OAAO,eAAe,CAAC;IACnF,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACxE,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACxE,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,KAAK,CACb,0DAA0D,IAAI,KAAK;QACjE,gFAAgF,CACnF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB;IAChD,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAqB,EACrB,OAAgB,EAChB,GAAW,EACX,OAAgB;IAEhB,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAuB,EAC/C,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,gBAAgB,EACvB,OAAO,EACP,GAAG,EACH,OAAO,CACR,CAAC;IAEF,IAAI,gBAAgB,GAAG,OAAO,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAC/B,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAC5C,CAAC;QACzB,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,WAAW;IACb,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,gBAAgB;QAChC,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAqB,EACrB,GAAW,EACX,QAAgB,EAChB,cAA0B,EAC1B,OAAgB;IAEhB,cAAc,EAAE,CAAC;IAEjB,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,IAAI,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,iBAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACT,6BAA6B,MAAM,CAAC,UAAU,SAAS,IAAA,yBAAiB,EAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAC1F,CAAC;IACJ,CAAC;IACD,IAAA,oBAAY,EAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,UAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjF,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,IAAA,oBAAY,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,oBAAY,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC;SAC5F,MAAM,CAAC,QAAQ,EAAE;SACjB,IAAI,EAAE,CAAC;IACV,MAAM,MAAM,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAI,iBAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,iBAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,QAAQ,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM;QAC7D,WAAW,EAAE,QAAQ;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAqB;IAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,eAAe,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC;IAC7F,MAAM,MAAM,GAAG,qBAAM;SAClB,UAAU,CAAC,MAAM,CAAC;SAClB,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;SAChE,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,OAAO,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAW,EAAE,KAAa;IACzD,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,iBAAE,CAAC,aAAa,CAAC,aAAa,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,iBAAE;SACb,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;SACnC,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,iBAAE,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
@@ -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
- * Remove stale symlinks in outputDir that no longer match their source globs.
10
- * (Called at the start of each extract run before diffing.)
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 removeStaleSymlinks(outputDir: string, configs: SymlinkConfig[]): Promise<void>;
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;AAGzC;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB/F;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,EAAE,GACvB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwB1E"}
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"}
@@ -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
- * Remove stale symlinks in outputDir that no longer match their source globs.
39
- * (Called at the start of each extract run before diffing.)
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
- async function removeStaleSymlinks(outputDir, configs) {
42
- for (const config of configs) {
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
- if (!node_fs_1.default.existsSync(targetDir))
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
- const currentMatches = new Set(findMatchingPaths(outputDir, config.source).map((p) => node_path_1.default.basename(p)));
47
- for (const entry of node_fs_1.default.readdirSync(targetDir)) {
48
- const linkPath = node_path_1.default.join(targetDir, entry);
49
- if (!isSymlink(linkPath))
50
- continue;
51
- if (!currentMatches.has(entry)) {
52
- try {
53
- node_fs_1.default.unlinkSync(linkPath);
54
- }
55
- catch {
56
- // ignore
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":"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"}
1
+ {"version":3,"file":"symlinks.js","sourceRoot":"","sources":["../../src/package/symlinks.ts"],"names":[],"mappings":"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"}