filedist 0.21.2

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 (154) hide show
  1. package/README.md +631 -0
  2. package/dist/cli/actions/check.d.ts +6 -0
  3. package/dist/cli/actions/check.d.ts.map +1 -0
  4. package/dist/cli/actions/check.js +36 -0
  5. package/dist/cli/actions/check.js.map +1 -0
  6. package/dist/cli/actions/extract.d.ts +7 -0
  7. package/dist/cli/actions/extract.d.ts.map +1 -0
  8. package/dist/cli/actions/extract.js +60 -0
  9. package/dist/cli/actions/extract.js.map +1 -0
  10. package/dist/cli/actions/init.d.ts +6 -0
  11. package/dist/cli/actions/init.d.ts.map +1 -0
  12. package/dist/cli/actions/init.js +30 -0
  13. package/dist/cli/actions/init.js.map +1 -0
  14. package/dist/cli/actions/list.d.ts +7 -0
  15. package/dist/cli/actions/list.d.ts.map +1 -0
  16. package/dist/cli/actions/list.js +30 -0
  17. package/dist/cli/actions/list.js.map +1 -0
  18. package/dist/cli/actions/presets.d.ts +7 -0
  19. package/dist/cli/actions/presets.d.ts.map +1 -0
  20. package/dist/cli/actions/presets.js +34 -0
  21. package/dist/cli/actions/presets.js.map +1 -0
  22. package/dist/cli/actions/purge.d.ts +6 -0
  23. package/dist/cli/actions/purge.d.ts.map +1 -0
  24. package/dist/cli/actions/purge.js +39 -0
  25. package/dist/cli/actions/purge.js.map +1 -0
  26. package/dist/cli/argv.d.ts +52 -0
  27. package/dist/cli/argv.d.ts.map +1 -0
  28. package/dist/cli/argv.js +172 -0
  29. package/dist/cli/argv.js.map +1 -0
  30. package/dist/cli/bin.d.ts +3 -0
  31. package/dist/cli/bin.d.ts.map +1 -0
  32. package/dist/cli/bin.js +10 -0
  33. package/dist/cli/bin.js.map +1 -0
  34. package/dist/cli/binpkg.d.ts +13 -0
  35. package/dist/cli/binpkg.d.ts.map +1 -0
  36. package/dist/cli/binpkg.js +38 -0
  37. package/dist/cli/binpkg.js.map +1 -0
  38. package/dist/cli/cli.d.ts +11 -0
  39. package/dist/cli/cli.d.ts.map +1 -0
  40. package/dist/cli/cli.js +118 -0
  41. package/dist/cli/cli.js.map +1 -0
  42. package/dist/cli/progress.d.ts +6 -0
  43. package/dist/cli/progress.d.ts.map +1 -0
  44. package/dist/cli/progress.js +12 -0
  45. package/dist/cli/progress.js.map +1 -0
  46. package/dist/cli/usage.d.ts +6 -0
  47. package/dist/cli/usage.d.ts.map +1 -0
  48. package/dist/cli/usage.js +151 -0
  49. package/dist/cli/usage.js.map +1 -0
  50. package/dist/fileset/check.d.ts +15 -0
  51. package/dist/fileset/check.d.ts.map +1 -0
  52. package/dist/fileset/check.js +70 -0
  53. package/dist/fileset/check.js.map +1 -0
  54. package/dist/fileset/constants.d.ts +18 -0
  55. package/dist/fileset/constants.d.ts.map +1 -0
  56. package/dist/fileset/constants.js +30 -0
  57. package/dist/fileset/constants.js.map +1 -0
  58. package/dist/fileset/diff.d.ts +16 -0
  59. package/dist/fileset/diff.d.ts.map +1 -0
  60. package/dist/fileset/diff.js +111 -0
  61. package/dist/fileset/diff.js.map +1 -0
  62. package/dist/fileset/execute.d.ts +29 -0
  63. package/dist/fileset/execute.d.ts.map +1 -0
  64. package/dist/fileset/execute.js +153 -0
  65. package/dist/fileset/execute.js.map +1 -0
  66. package/dist/fileset/gitignore.d.ts +20 -0
  67. package/dist/fileset/gitignore.d.ts.map +1 -0
  68. package/dist/fileset/gitignore.js +94 -0
  69. package/dist/fileset/gitignore.js.map +1 -0
  70. package/dist/fileset/index.d.ts +5 -0
  71. package/dist/fileset/index.d.ts.map +1 -0
  72. package/dist/fileset/index.js +22 -0
  73. package/dist/fileset/index.js.map +1 -0
  74. package/dist/fileset/markers.d.ts +22 -0
  75. package/dist/fileset/markers.d.ts.map +1 -0
  76. package/dist/fileset/markers.js +74 -0
  77. package/dist/fileset/markers.js.map +1 -0
  78. package/dist/fileset/package-files.d.ts +21 -0
  79. package/dist/fileset/package-files.d.ts.map +1 -0
  80. package/dist/fileset/package-files.js +102 -0
  81. package/dist/fileset/package-files.js.map +1 -0
  82. package/dist/fileset/purge.d.ts +18 -0
  83. package/dist/fileset/purge.d.ts.map +1 -0
  84. package/dist/fileset/purge.js +94 -0
  85. package/dist/fileset/purge.js.map +1 -0
  86. package/dist/fileset/test-utils.d.ts +21 -0
  87. package/dist/fileset/test-utils.d.ts.map +1 -0
  88. package/dist/fileset/test-utils.js +94 -0
  89. package/dist/fileset/test-utils.js.map +1 -0
  90. package/dist/index.d.ts +14 -0
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +19 -0
  93. package/dist/index.js.map +1 -0
  94. package/dist/package/action-check.d.ts +20 -0
  95. package/dist/package/action-check.d.ts.map +1 -0
  96. package/dist/package/action-check.js +65 -0
  97. package/dist/package/action-check.js.map +1 -0
  98. package/dist/package/action-extract.d.ts +20 -0
  99. package/dist/package/action-extract.d.ts.map +1 -0
  100. package/dist/package/action-extract.js +280 -0
  101. package/dist/package/action-extract.js.map +1 -0
  102. package/dist/package/action-init.d.ts +13 -0
  103. package/dist/package/action-init.d.ts.map +1 -0
  104. package/dist/package/action-init.js +83 -0
  105. package/dist/package/action-init.js.map +1 -0
  106. package/dist/package/action-list.d.ts +11 -0
  107. package/dist/package/action-list.d.ts.map +1 -0
  108. package/dist/package/action-list.js +12 -0
  109. package/dist/package/action-list.js.map +1 -0
  110. package/dist/package/action-purge.d.ts +19 -0
  111. package/dist/package/action-purge.d.ts.map +1 -0
  112. package/dist/package/action-purge.js +135 -0
  113. package/dist/package/action-purge.js.map +1 -0
  114. package/dist/package/calculate-diff.d.ts +12 -0
  115. package/dist/package/calculate-diff.d.ts.map +1 -0
  116. package/dist/package/calculate-diff.js +129 -0
  117. package/dist/package/calculate-diff.js.map +1 -0
  118. package/dist/package/config-merge.d.ts +19 -0
  119. package/dist/package/config-merge.d.ts.map +1 -0
  120. package/dist/package/config-merge.js +65 -0
  121. package/dist/package/config-merge.js.map +1 -0
  122. package/dist/package/config.d.ts +24 -0
  123. package/dist/package/config.d.ts.map +1 -0
  124. package/dist/package/config.js +86 -0
  125. package/dist/package/config.js.map +1 -0
  126. package/dist/package/content-replacements.d.ts +21 -0
  127. package/dist/package/content-replacements.d.ts.map +1 -0
  128. package/dist/package/content-replacements.js +94 -0
  129. package/dist/package/content-replacements.js.map +1 -0
  130. package/dist/package/index.d.ts +10 -0
  131. package/dist/package/index.d.ts.map +1 -0
  132. package/dist/package/index.js +16 -0
  133. package/dist/package/index.js.map +1 -0
  134. package/dist/package/resolve-files.d.ts +29 -0
  135. package/dist/package/resolve-files.d.ts.map +1 -0
  136. package/dist/package/resolve-files.js +225 -0
  137. package/dist/package/resolve-files.js.map +1 -0
  138. package/dist/package/source.d.ts +20 -0
  139. package/dist/package/source.d.ts.map +1 -0
  140. package/dist/package/source.js +193 -0
  141. package/dist/package/source.js.map +1 -0
  142. package/dist/package/symlinks.d.ts +25 -0
  143. package/dist/package/symlinks.d.ts.map +1 -0
  144. package/dist/package/symlinks.js +203 -0
  145. package/dist/package/symlinks.js.map +1 -0
  146. package/dist/types.d.ts +345 -0
  147. package/dist/types.d.ts.map +1 -0
  148. package/dist/types.js +3 -0
  149. package/dist/types.js.map +1 -0
  150. package/dist/utils.d.ts +60 -0
  151. package/dist/utils.d.ts.map +1 -0
  152. package/dist/utils.js +341 -0
  153. package/dist/utils.js.map +1 -0
  154. package/package.json +58 -0
@@ -0,0 +1,280 @@
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.actionExtract = actionExtract;
7
+ /* eslint-disable no-console */
8
+ const node_fs_1 = __importDefault(require("node:fs"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const utils_1 = require("../utils");
11
+ const markers_1 = require("../fileset/markers");
12
+ const gitignore_1 = require("../fileset/gitignore");
13
+ const symlinks_1 = require("./symlinks");
14
+ const content_replacements_1 = require("./content-replacements");
15
+ const resolve_files_1 = require("./resolve-files");
16
+ const calculate_diff_1 = require("./calculate-diff");
17
+ const source_1 = require("./source");
18
+ /**
19
+ * Extract managed files into the output directories.
20
+ *
21
+ * Two-phase approach:
22
+ * 1. resolveFiles — installs packages and builds the complete desired file list.
23
+ * 2. calculateDiff — compares desired files against each output directory.
24
+ * 3. Apply disk changes: delete extra, add missing, resolve conflicts.
25
+ */
26
+ // eslint-disable-next-line complexity
27
+ async function actionExtract(options) {
28
+ const { entries, cwd, verbose = false, onProgress, dryRun } = options;
29
+ const isDryRun = dryRun ?? entries.some((e) => e.output?.dryRun === true);
30
+ const sourceRuntime = (0, source_1.createSourceRuntime)(cwd, verbose);
31
+ const result = { added: 0, modified: 0, deleted: 0, skipped: 0 };
32
+ try {
33
+ // ── Phase 1: Resolve desired files ──────────────────────────────────────
34
+ const resolved = await (0, resolve_files_1.resolveFilesDetailed)(entries, {
35
+ cwd,
36
+ verbose,
37
+ onProgress,
38
+ sourceRuntime,
39
+ });
40
+ const resolvedFiles = resolved.files;
41
+ const { noSyncOutputDirs, relevantPackagesByOutputDir } = resolved;
42
+ if (verbose) {
43
+ console.log(`[verbose] actionExtract: resolved ${resolvedFiles.length} desired file(s)`);
44
+ }
45
+ // ── Phase 2: Calculate diff ──────────────────────────────────────────────
46
+ const diff = await (0, calculate_diff_1.calculateDiff)(resolvedFiles, verbose, cwd, relevantPackagesByOutputDir);
47
+ if (verbose) {
48
+ console.log(`[verbose] actionExtract: diff ok=${diff.ok.length} missing=${diff.missing.length}` +
49
+ ` conflict=${diff.conflict.length} extra=${diff.extra.length}`);
50
+ }
51
+ // ── Pre-flight conflict check ──────────────────────────────────────────
52
+ // Detect unmanaged-file conflicts before any disk writes.
53
+ if (!isDryRun) {
54
+ if (verbose) {
55
+ console.log(`[verbose] actionExtract: checking for possible file conflicts...`);
56
+ }
57
+ for (const entry of diff.conflict) {
58
+ const desired = entry.desired;
59
+ const isUnmanagedConflict = !entry.existing && desired.managed;
60
+ if (!desired.ignoreIfExisting && !desired.force && isUnmanagedConflict) {
61
+ throw new Error(`Conflict: file "${entry.relPath}" in "${entry.outputDir}" exists and is not managed` +
62
+ ` by filedist.\nUse --force to overwrite or --managed=false to skip.`);
63
+ }
64
+ }
65
+ }
66
+ // ── Count expected changes ─────────────────────────────────────────────
67
+ result.added = diff.missing.length;
68
+ result.deleted = diff.extra.filter((entry) => (0, symlinks_1.isManagedFileEntry)(entry.existing) && !noSyncOutputDirs.has(entry.outputDir)).length;
69
+ for (const entry of diff.conflict) {
70
+ const desired = entry.desired;
71
+ if (desired.ignoreIfExisting || !desired.managed) {
72
+ result.skipped++;
73
+ }
74
+ else {
75
+ result.modified++;
76
+ }
77
+ }
78
+ result.skipped += diff.ok.length;
79
+ if (isDryRun)
80
+ return result;
81
+ // ── Phase 3: Apply disk changes ──────────────────────────────────────────
82
+ // Collect unique output directories
83
+ const outputDirs = new Set([
84
+ ...resolvedFiles.map((f) => f.outputDir),
85
+ ...relevantPackagesByOutputDir.keys(),
86
+ ]);
87
+ // Delete extra managed files
88
+ if (verbose) {
89
+ console.log(`[verbose] actionExtract: removing extra managed files...`);
90
+ }
91
+ for (const entry of diff.extra.filter((diffEntry) => (0, symlinks_1.isManagedFileEntry)(diffEntry.existing) && !noSyncOutputDirs.has(diffEntry.outputDir))) {
92
+ const { outputDir, relPath, existing } = entry;
93
+ const fullPath = node_path_1.default.join(outputDir, relPath);
94
+ const gitignorePaths = (0, gitignore_1.readManagedGitignoreEntries)(outputDir);
95
+ if (node_fs_1.default.existsSync(fullPath)) {
96
+ node_fs_1.default.chmodSync(fullPath, 0o644);
97
+ node_fs_1.default.unlinkSync(fullPath);
98
+ }
99
+ onProgress?.({
100
+ type: 'file-deleted',
101
+ packageName: existing?.packageName ?? '',
102
+ file: relPath,
103
+ managed: true,
104
+ gitignore: gitignorePaths.has(relPath),
105
+ });
106
+ }
107
+ // Add missing files
108
+ if (verbose) {
109
+ console.log(`[verbose] actionExtract: adding missing files...`);
110
+ }
111
+ for (const entry of diff.missing) {
112
+ const desired = entry.desired;
113
+ writeFileToOutput(desired.sourcePath, node_path_1.default.join(entry.outputDir, desired.relPath), desired.managed);
114
+ onProgress?.({
115
+ type: 'file-added',
116
+ packageName: desired.packageName,
117
+ file: desired.relPath,
118
+ managed: desired.managed,
119
+ gitignore: desired.gitignore,
120
+ });
121
+ }
122
+ // Emit file-skipped for unchanged files (diff.ok)
123
+ for (const entry of diff.ok) {
124
+ const desired = entry.desired;
125
+ onProgress?.({
126
+ type: 'file-skipped',
127
+ packageName: desired.packageName,
128
+ file: desired.relPath,
129
+ managed: desired.managed,
130
+ gitignore: desired.gitignore,
131
+ });
132
+ }
133
+ // Resolve conflicts
134
+ if (verbose) {
135
+ console.log(`[verbose] actionExtract: resolving file conflicts...`);
136
+ }
137
+ for (const entry of diff.conflict) {
138
+ const desired = entry.desired;
139
+ // managed=false: existing file is user-owned, leave it untouched
140
+ if (desired.ignoreIfExisting || !desired.managed) {
141
+ onProgress?.({
142
+ type: 'file-skipped',
143
+ packageName: desired.packageName,
144
+ file: desired.relPath,
145
+ managed: desired.managed,
146
+ gitignore: desired.gitignore,
147
+ });
148
+ continue;
149
+ }
150
+ writeFileToOutput(desired.sourcePath, node_path_1.default.join(entry.outputDir, desired.relPath), desired.managed);
151
+ onProgress?.({
152
+ type: 'file-modified',
153
+ packageName: desired.packageName,
154
+ file: desired.relPath,
155
+ managed: desired.managed,
156
+ gitignore: desired.gitignore,
157
+ });
158
+ }
159
+ // Apply symlinks and content replacements per output directory
160
+ if (verbose) {
161
+ console.log(`[verbose] actionExtract: applying symlinks and content replacements...`);
162
+ }
163
+ for (const outputDir of outputDirs) {
164
+ const dirFiles = resolvedFiles.filter((f) => f.outputDir === outputDir);
165
+ const relevantPackages = relevantPackagesByOutputDir.get(outputDir);
166
+ const existingMarker = await (0, markers_1.readOutputDirMarker)(outputDir);
167
+ const desiredSymlinkEntries = (0, symlinks_1.collectManagedSymlinkEntries)(outputDir, dirFiles);
168
+ const desiredSymlinkPaths = new Set(desiredSymlinkEntries.map((entry) => entry.path));
169
+ const managedSymlinks = (0, symlinks_1.findManagedSymlinkEntries)(existingMarker, relevantPackages);
170
+ if (managedSymlinks.length > 0) {
171
+ const removedSymlinkPaths = await (0, symlinks_1.removeStaleSymlinks)(outputDir, managedSymlinks, desiredSymlinkPaths);
172
+ result.deleted += removedSymlinkPaths.length;
173
+ for (const relPath of removedSymlinkPaths) {
174
+ onProgress?.({
175
+ type: 'file-deleted',
176
+ packageName: managedSymlinks.find((entry) => entry.path === relPath)?.packageName ?? '',
177
+ file: relPath,
178
+ managed: true,
179
+ gitignore: false,
180
+ });
181
+ }
182
+ }
183
+ const symlinkConfigs = (0, symlinks_1.uniqueSymlinkConfigs)(dirFiles);
184
+ if (symlinkConfigs.length > 0) {
185
+ await (0, symlinks_1.createSymlinks)(outputDir, symlinkConfigs);
186
+ }
187
+ const contentReplacements = dirFiles.flatMap((f) => f.contentReplacements);
188
+ if (contentReplacements.length > 0) {
189
+ await (0, content_replacements_1.applyContentReplacements)(outputDir, contentReplacements);
190
+ }
191
+ await updateOutputDirMetadata(outputDir, diff, dirFiles, desiredSymlinkEntries, relevantPackages, noSyncOutputDirs.has(outputDir), cwd, verbose);
192
+ }
193
+ if (verbose) {
194
+ console.log(`[verbose] actionExtract: complete — added=${result.added} modified=${result.modified}` +
195
+ ` deleted=${result.deleted} skipped=${result.skipped}`);
196
+ }
197
+ return result;
198
+ }
199
+ finally {
200
+ sourceRuntime.cleanup();
201
+ (0, utils_1.cleanupTempPackageJson)(cwd, verbose);
202
+ }
203
+ }
204
+ /** Copy a source file to dest, creating parent dirs if needed, and set permissions. */
205
+ function writeFileToOutput(srcPath, destPath, managed) {
206
+ (0, utils_1.ensureDir)(node_path_1.default.dirname(destPath));
207
+ if (node_fs_1.default.existsSync(destPath))
208
+ node_fs_1.default.chmodSync(destPath, 0o644);
209
+ node_fs_1.default.copyFileSync(srcPath, destPath);
210
+ if (managed)
211
+ node_fs_1.default.chmodSync(destPath, 0o444);
212
+ }
213
+ /**
214
+ * Update the .filedist marker and .gitignore for one output directory after
215
+ * disk changes have been applied.
216
+ */
217
+ async function updateOutputDirMetadata(outputDir, diff, resolvedFiles, desiredSymlinkEntries, relevantPackages, noSync, cwd, verbose) {
218
+ const existingMarker = await (0, markers_1.readOutputDirMarker)(outputDir);
219
+ // Paths removed by this run (extra files that were deleted)
220
+ const deletedPaths = new Set(diff.extra
221
+ .filter((e) => e.outputDir === outputDir && (0, symlinks_1.isManagedFileEntry)(e.existing) && !noSync)
222
+ .map((e) => e.relPath));
223
+ // New or updated managed entries produced by this run
224
+ const addedEntries = [
225
+ ...diff.missing
226
+ .filter((e) => e.outputDir === outputDir && e.desired?.managed)
227
+ .map((e) => ({
228
+ path: e.relPath,
229
+ packageName: e.desired.packageName,
230
+ packageVersion: e.desired.packageVersion,
231
+ kind: 'file',
232
+ })),
233
+ ...diff.conflict
234
+ .filter((e) => e.outputDir === outputDir && e.desired?.managed && !e.desired.ignoreIfExisting)
235
+ .map((e) => ({
236
+ path: e.relPath,
237
+ packageName: e.desired.packageName,
238
+ packageVersion: e.desired.packageVersion,
239
+ kind: 'file',
240
+ })),
241
+ ];
242
+ const currentRelevantPackages = relevantPackages ?? new Set(resolvedFiles.map((file) => file.packageName));
243
+ // Merge: keep existing (minus deleted + newly updated), then add new entries
244
+ const updatedByPath = new Map(existingMarker
245
+ .filter((m) => !deletedPaths.has(m.path) &&
246
+ !addedEntries.some((e) => e.path === m.path) &&
247
+ !((m.kind ?? 'file') === 'symlink' &&
248
+ currentRelevantPackages.has(m.packageName) &&
249
+ !desiredSymlinkEntries.some((entry) => entry.path === m.path)))
250
+ .map((m) => [m.path, m]));
251
+ for (const e of addedEntries)
252
+ updatedByPath.set(e.path, e);
253
+ for (const entry of desiredSymlinkEntries) {
254
+ const existingEntry = updatedByPath.get(entry.path);
255
+ if (existingEntry &&
256
+ (existingEntry.kind ?? 'file') === 'symlink' &&
257
+ existingEntry.packageName === entry.packageName) {
258
+ continue;
259
+ }
260
+ updatedByPath.set(entry.path, entry);
261
+ }
262
+ const updatedEntries = [...updatedByPath.values()];
263
+ await (0, markers_1.writeMarker)((0, markers_1.markerPath)(outputDir), updatedEntries);
264
+ if (verbose) {
265
+ console.log(`[verbose] updateOutputDirMetadata: ${(0, utils_1.formatDisplayPath)(outputDir, cwd)}: marker updated (${updatedEntries.length} entries)`);
266
+ }
267
+ // Update gitignore: include all remaining managed entries whose gitignore=true
268
+ const resolvedByPath = new Map(resolvedFiles.filter((f) => f.outputDir === outputDir).map((f) => [f.relPath, f]));
269
+ const gitignorePaths = updatedEntries
270
+ .filter((e) => (e.kind ?? 'file') !== 'symlink')
271
+ .filter((e) => {
272
+ const resolved = resolvedByPath.get(e.path);
273
+ // For files resolved in this run, honour their gitignore setting.
274
+ // For files from other packages sharing the dir, default to true.
275
+ return resolved ? resolved.gitignore : true;
276
+ })
277
+ .map((e) => e.path);
278
+ await (0, gitignore_1.addToGitignore)(outputDir, gitignorePaths);
279
+ }
280
+ //# sourceMappingURL=action-extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-extract.js","sourceRoot":"","sources":["../../src/package/action-extract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export type InitConfig = {
2
+ /** File glob patterns to include in the package and use as selector for filesets. */
3
+ files?: string[];
4
+ /** External package specs (e.g. "eslint@8") to add as filedist sets and dependencies. */
5
+ packages?: string[];
6
+ };
7
+ /**
8
+ * Scaffold or update a publishable npm data package.
9
+ * If package.json already exists, updates it in place.
10
+ * Creates bin/filedist.js if it does not already exist.
11
+ */
12
+ export declare function actionInit(outputDir: string, verbose: boolean, config?: InitConfig): Promise<void>;
13
+ //# sourceMappingURL=action-init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-init.d.ts","sourceRoot":"","sources":["../../src/package/action-init.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,UAAU,GAAG;IACvB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CA0Ef"}
@@ -0,0 +1,83 @@
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.actionInit = actionInit;
7
+ /* eslint-disable no-console */
8
+ const node_fs_1 = __importDefault(require("node:fs"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const node_child_process_1 = require("node:child_process");
11
+ const detect_1 = require("package-manager-detector/detect");
12
+ const commands_1 = require("package-manager-detector/commands");
13
+ /**
14
+ * Scaffold or update a publishable npm data package.
15
+ * If package.json already exists, updates it in place.
16
+ * Creates bin/filedist.js if it does not already exist.
17
+ */
18
+ async function actionInit(outputDir, verbose, config) {
19
+ const pkgJsonPath = node_path_1.default.join(outputDir, 'package.json');
20
+ const binDir = node_path_1.default.join(outputDir, 'bin');
21
+ const binPath = node_path_1.default.join(binDir, 'filedist.js');
22
+ const binShim = `#!/usr/bin/env node\n'use strict';\nrequire('filedist').binpkg(__dirname, process.argv.slice(2));\n`;
23
+ node_fs_1.default.mkdirSync(outputDir, { recursive: true });
24
+ // Read existing package.json or create a new skeleton
25
+ let pkgJson;
26
+ if (node_fs_1.default.existsSync(pkgJsonPath)) {
27
+ pkgJson = JSON.parse(node_fs_1.default.readFileSync(pkgJsonPath).toString());
28
+ }
29
+ else {
30
+ const dirName = node_path_1.default.basename(outputDir);
31
+ pkgJson = {
32
+ name: dirName,
33
+ version: '1.0.0',
34
+ description: '',
35
+ dependencies: {},
36
+ };
37
+ }
38
+ const filePatterns = config?.files ?? [];
39
+ const externalPackages = config?.packages ?? [];
40
+ // Set bin entry
41
+ pkgJson.bin = 'bin/filedist.js';
42
+ // Update npm files list to include data patterns and the bin shim
43
+ const npmFiles = new Set([...filePatterns, 'package.json', 'bin/filedist.js']);
44
+ pkgJson.files = Array.from(npmFiles);
45
+ // Build filedist sets: self entry first (no package field), then external packages
46
+ const selfEntry = {
47
+ output: { path: '.' },
48
+ ...(filePatterns.length > 0 ? { selector: { files: filePatterns } } : {}),
49
+ };
50
+ const externalEntries = externalPackages.map((pkg) => ({
51
+ package: pkg,
52
+ output: { path: '.' },
53
+ ...(filePatterns.length > 0 ? { selector: { files: filePatterns } } : {}),
54
+ }));
55
+ pkgJson.filedist = { sets: [selfEntry, ...externalEntries] };
56
+ // Write updated package.json (dependencies are managed by the `add` command below)
57
+ // eslint-disable-next-line unicorn/no-null
58
+ node_fs_1.default.writeFileSync(pkgJsonPath, `${JSON.stringify(pkgJson, null, 2)}\n`, 'utf8');
59
+ // Create bin/filedist.js only if it does not already exist
60
+ if (!node_fs_1.default.existsSync(binPath)) {
61
+ node_fs_1.default.mkdirSync(binDir, { recursive: true });
62
+ node_fs_1.default.writeFileSync(binPath, binShim, 'utf8');
63
+ node_fs_1.default.chmodSync(binPath, 0o755);
64
+ }
65
+ // Add filedist + any external packages via the package manager so the lockfile
66
+ // and package.json dependencies are updated with the correct resolved versions.
67
+ const detected = await (0, detect_1.detect)({ cwd: outputDir });
68
+ const agent = detected?.agent ?? 'npm';
69
+ const packagesToAdd = ['filedist', ...externalPackages];
70
+ const addResolved = (0, commands_1.resolveCommand)(agent, 'add', packagesToAdd);
71
+ if (addResolved) {
72
+ const cmd = `${addResolved.command} ${addResolved.args.join(' ')}`;
73
+ if (verbose) {
74
+ console.log(`Running: ${cmd}`);
75
+ }
76
+ (0, node_child_process_1.execSync)(cmd, { cwd: outputDir, stdio: 'pipe' });
77
+ }
78
+ if (verbose) {
79
+ console.log(`Updated: ${pkgJsonPath}`);
80
+ console.log(`Created: ${binPath}`);
81
+ }
82
+ }
83
+ //# sourceMappingURL=action-init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-init.js","sourceRoot":"","sources":["../../src/package/action-init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ManagedFileMetadata } from '../types';
2
+ export type ListOptions = {
3
+ outputDir: string;
4
+ verbose?: boolean;
5
+ };
6
+ /**
7
+ * Aggregate all managed files across unique output directories.
8
+ * Note: list always ignores --presets; reports all managed files.
9
+ */
10
+ export declare function actionList(options: ListOptions): Promise<ManagedFileMetadata[]>;
11
+ //# sourceMappingURL=action-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-list.d.ts","sourceRoot":"","sources":["../../src/package/action-list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAErF"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.actionList = actionList;
4
+ const fileset_1 = require("../fileset");
5
+ /**
6
+ * Aggregate all managed files across unique output directories.
7
+ * Note: list always ignores --presets; reports all managed files.
8
+ */
9
+ async function actionList(options) {
10
+ return (0, fileset_1.readOutputDirMarker)(options.outputDir);
11
+ }
12
+ //# sourceMappingURL=action-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-list.js","sourceRoot":"","sources":["../../src/package/action-list.ts"],"names":[],"mappings":";;AAYA,gCAEC;AAdD,wCAAiD;AAQjD;;;GAGG;AACI,KAAK,UAAU,UAAU,CAAC,OAAoB;IACnD,OAAO,IAAA,6BAAmB,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { ProgressEvent, BasicPackageOptions } from '../types';
2
+ export type PurgeOptions = BasicPackageOptions & {
3
+ onProgress?: (event: ProgressEvent) => void;
4
+ };
5
+ export type PurgeSummary = {
6
+ deleted: number;
7
+ symlinksRemoved: number;
8
+ dirsRemoved: number;
9
+ };
10
+ /**
11
+ * Purge all managed files for the given entries.
12
+ *
13
+ * Uses resolveFiles() to build the desired file list (installing packages as needed),
14
+ * then calculateDiff() to find the managed files on disk. Deletes ok, conflict,
15
+ * and extra files (i.e. everything currently managed by filedist for these packages).
16
+ * Updates .filedist markers and .gitignore entries for affected output directories.
17
+ */
18
+ export declare function actionPurge(options: PurgeOptions): Promise<PurgeSummary>;
19
+ //# sourceMappingURL=action-purge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-purge.d.ts","sourceRoot":"","sources":["../../src/package/action-purge.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAa,MAAM,UAAU,CAAC;AAUzE,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,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA2D9E"}
@@ -0,0 +1,135 @@
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.actionPurge = actionPurge;
7
+ /* eslint-disable no-console */
8
+ const node_fs_1 = __importDefault(require("node:fs"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const utils_1 = require("../utils");
11
+ const markers_1 = require("../fileset/markers");
12
+ const gitignore_1 = require("../fileset/gitignore");
13
+ const symlinks_1 = require("./symlinks");
14
+ const resolve_files_1 = require("./resolve-files");
15
+ const calculate_diff_1 = require("./calculate-diff");
16
+ const source_1 = require("./source");
17
+ /**
18
+ * Purge all managed files for the given entries.
19
+ *
20
+ * Uses resolveFiles() to build the desired file list (installing packages as needed),
21
+ * then calculateDiff() to find the managed files on disk. Deletes ok, conflict,
22
+ * and extra files (i.e. everything currently managed by filedist for these packages).
23
+ * Updates .filedist markers and .gitignore entries for affected output directories.
24
+ */
25
+ async function actionPurge(options) {
26
+ const { entries, cwd, dryRun = false, verbose = false, onProgress } = options;
27
+ const summary = { deleted: 0, symlinksRemoved: 0, dirsRemoved: 0 };
28
+ const sourceRuntime = (0, source_1.createSourceRuntime)(cwd, verbose);
29
+ if (verbose) {
30
+ console.log(`[verbose] actionPurge: resolving files (cwd: ${(0, utils_1.formatDisplayPath)(cwd, cwd)})`);
31
+ }
32
+ try {
33
+ const resolved = await (0, resolve_files_1.resolveFilesDetailed)(entries, {
34
+ cwd,
35
+ verbose,
36
+ sourceRuntime,
37
+ onProgress: (e) => {
38
+ if (e.type === 'package-start' || e.type === 'package-end')
39
+ onProgress?.(e);
40
+ },
41
+ });
42
+ const resolvedFiles = resolved.files;
43
+ if (verbose) {
44
+ console.log(`[verbose] actionPurge: resolved ${resolvedFiles.length} desired file(s)`);
45
+ }
46
+ const managedResolvedFiles = resolvedFiles.filter((f) => f.managed);
47
+ const diff = await (0, calculate_diff_1.calculateDiff)(managedResolvedFiles, verbose, cwd, resolved.relevantPackagesByOutputDir);
48
+ // Purge: ok (present+matching), conflict (present+mismatched), extra (stale managed)
49
+ const filesToDelete = [...diff.ok, ...diff.conflict, ...diff.extra];
50
+ if (verbose) {
51
+ console.log(`[verbose] actionPurge: ${filesToDelete.length} file(s) to delete` +
52
+ ` (ok=${diff.ok.length} conflict=${diff.conflict.length} extra=${diff.extra.length})`);
53
+ }
54
+ // Group by outputDir
55
+ const byOutputDir = new Map();
56
+ for (const entry of filesToDelete) {
57
+ const arr = byOutputDir.get(entry.outputDir) ?? [];
58
+ arr.push(entry);
59
+ byOutputDir.set(entry.outputDir, arr);
60
+ }
61
+ for (const [outputDir, dirEntries] of byOutputDir) {
62
+ await purgeOutputDir(outputDir, dirEntries, dryRun, summary, cwd, onProgress, verbose);
63
+ }
64
+ return summary;
65
+ }
66
+ finally {
67
+ sourceRuntime.cleanup();
68
+ (0, utils_1.cleanupTempPackageJson)(cwd, verbose);
69
+ }
70
+ }
71
+ async function purgeOutputDir(outputDir, entries, dryRun, summary, cwd, onProgress, verbose) {
72
+ const relPaths = entries.map((e) => e.relPath);
73
+ const gitignorePaths = (0, gitignore_1.readManagedGitignoreEntries)(outputDir);
74
+ for (const entry of entries) {
75
+ const fullPath = node_path_1.default.join(outputDir, entry.relPath);
76
+ if (node_fs_1.default.existsSync(fullPath)) {
77
+ if (!dryRun) {
78
+ try {
79
+ node_fs_1.default.chmodSync(fullPath, 0o644);
80
+ node_fs_1.default.unlinkSync(fullPath);
81
+ }
82
+ catch {
83
+ // ignore deletion errors
84
+ }
85
+ }
86
+ summary.deleted++;
87
+ const pkgName = entry.desired?.packageName ?? entry.existing?.packageName ?? '';
88
+ onProgress?.({
89
+ type: 'file-deleted',
90
+ packageName: pkgName,
91
+ file: entry.relPath,
92
+ managed: true,
93
+ gitignore: gitignorePaths.has(entry.relPath),
94
+ });
95
+ }
96
+ }
97
+ if (!dryRun && relPaths.length > 0) {
98
+ summary.symlinksRemoved += await (0, symlinks_1.removeAllSymlinks)(outputDir);
99
+ summary.dirsRemoved += removeEmptyDirs(outputDir);
100
+ await updateMarkerAfterPurge(outputDir, new Set(relPaths));
101
+ await (0, gitignore_1.removeFromGitignore)(outputDir, relPaths);
102
+ }
103
+ if (verbose) {
104
+ console.log(`[verbose] actionPurge: ${(0, utils_1.formatDisplayPath)(outputDir, cwd)} — deleted ${relPaths.length} file(s)`);
105
+ }
106
+ }
107
+ async function updateMarkerAfterPurge(outputDir, purgedPaths) {
108
+ const current = await (0, markers_1.readOutputDirMarker)(outputDir);
109
+ const updated = current.filter((m) => !purgedPaths.has(m.path));
110
+ await (0, markers_1.writeMarker)((0, markers_1.markerPath)(outputDir), updated);
111
+ }
112
+ function removeEmptyDirs(dir) {
113
+ let count = 0;
114
+ if (!node_fs_1.default.existsSync(dir))
115
+ return count;
116
+ const recurse = (d) => {
117
+ for (const e of node_fs_1.default.readdirSync(d)) {
118
+ const full = node_path_1.default.join(d, e);
119
+ if (node_fs_1.default.statSync(full).isDirectory())
120
+ recurse(full);
121
+ }
122
+ try {
123
+ if (d !== dir && node_fs_1.default.readdirSync(d).length === 0) {
124
+ node_fs_1.default.rmdirSync(d);
125
+ count++;
126
+ }
127
+ }
128
+ catch {
129
+ // ignore
130
+ }
131
+ };
132
+ recurse(dir);
133
+ return count;
134
+ }
135
+ //# sourceMappingURL=action-purge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-purge.js","sourceRoot":"","sources":["../../src/package/action-purge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ResolvedFile, DiffResult } from '../types';
2
+ /**
3
+ * Calculate the diff between the desired file list (from resolveFiles) and the
4
+ * actual state of each output directory.
5
+ *
6
+ * Only managed files (tracked in .filedist markers) are included in the 'extra'
7
+ * analysis, scoped to the packages represented in `resolvedFiles`.
8
+ *
9
+ * @returns DiffResult classifying each file as ok, missing, extra, or conflict.
10
+ */
11
+ export declare function calculateDiff(resolvedFiles: ResolvedFile[], verbose?: boolean, cwd?: string, relevantPackagesByOutputDir?: Map<string, Set<string>>): Promise<DiffResult>;
12
+ //# sourceMappingURL=calculate-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-diff.d.ts","sourceRoot":"","sources":["../../src/package/calculate-diff.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAuB,MAAM,UAAU,CAAC;AAOzE;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,aAAa,EAAE,YAAY,EAAE,EAC7B,OAAO,CAAC,EAAE,OAAO,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,2BAA2B,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GACrD,OAAO,CAAC,UAAU,CAAC,CAyCrB"}