filedist 0.31.0 → 0.34.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 (129) hide show
  1. package/README.md +301 -254
  2. package/dist/cli/actions/check.d.ts +5 -2
  3. package/dist/cli/actions/check.d.ts.map +1 -1
  4. package/dist/cli/actions/check.js +9 -3
  5. package/dist/cli/actions/check.js.map +1 -1
  6. package/dist/cli/actions/init.d.ts.map +1 -1
  7. package/dist/cli/actions/init.js +10 -3
  8. package/dist/cli/actions/init.js.map +1 -1
  9. package/dist/cli/actions/install.d.ts +7 -0
  10. package/dist/cli/actions/install.d.ts.map +1 -0
  11. package/dist/cli/actions/{extract.js → install.js} +15 -13
  12. package/dist/cli/actions/install.js.map +1 -0
  13. package/dist/cli/actions/list.d.ts +1 -1
  14. package/dist/cli/actions/list.d.ts.map +1 -1
  15. package/dist/cli/actions/list.js +4 -2
  16. package/dist/cli/actions/list.js.map +1 -1
  17. package/dist/cli/actions/remove.d.ts +20 -0
  18. package/dist/cli/actions/remove.d.ts.map +1 -0
  19. package/dist/cli/actions/remove.js +133 -0
  20. package/dist/cli/actions/remove.js.map +1 -0
  21. package/dist/cli/actions/update.d.ts +8 -0
  22. package/dist/cli/actions/update.d.ts.map +1 -0
  23. package/dist/cli/actions/update.js +40 -0
  24. package/dist/cli/actions/update.js.map +1 -0
  25. package/dist/cli/argv.d.ts +8 -5
  26. package/dist/cli/argv.d.ts.map +1 -1
  27. package/dist/cli/argv.js +40 -15
  28. package/dist/cli/argv.js.map +1 -1
  29. package/dist/cli/binpkg.d.ts +1 -12
  30. package/dist/cli/binpkg.d.ts.map +1 -1
  31. package/dist/cli/binpkg.js +65 -12
  32. package/dist/cli/binpkg.js.map +1 -1
  33. package/dist/cli/cli.d.ts.map +1 -1
  34. package/dist/cli/cli.js +80 -41
  35. package/dist/cli/cli.js.map +1 -1
  36. package/dist/cli/usage.d.ts.map +1 -1
  37. package/dist/cli/usage.js +65 -33
  38. package/dist/cli/usage.js.map +1 -1
  39. package/dist/fileset/check.d.ts +0 -1
  40. package/dist/fileset/check.d.ts.map +1 -1
  41. package/dist/fileset/check.js +7 -8
  42. package/dist/fileset/check.js.map +1 -1
  43. package/dist/fileset/constants.d.ts.map +1 -1
  44. package/dist/fileset/constants.js +3 -2
  45. package/dist/fileset/constants.js.map +1 -1
  46. package/dist/fileset/execute.d.ts.map +1 -1
  47. package/dist/fileset/execute.js +2 -1
  48. package/dist/fileset/execute.js.map +1 -1
  49. package/dist/fileset/gitignore.js +3 -3
  50. package/dist/fileset/gitignore.js.map +1 -1
  51. package/dist/fileset/markers.d.ts +1 -2
  52. package/dist/fileset/markers.d.ts.map +1 -1
  53. package/dist/fileset/markers.js +6 -14
  54. package/dist/fileset/markers.js.map +1 -1
  55. package/dist/fileset/test-utils.d.ts.map +1 -1
  56. package/dist/fileset/test-utils.js +2 -1
  57. package/dist/fileset/test-utils.js.map +1 -1
  58. package/dist/index.d.ts +9 -5
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +15 -5
  61. package/dist/index.js.map +1 -1
  62. package/dist/package/action-check.d.ts +19 -9
  63. package/dist/package/action-check.d.ts.map +1 -1
  64. package/dist/package/action-check.js +76 -32
  65. package/dist/package/action-check.js.map +1 -1
  66. package/dist/package/action-init.d.ts +6 -2
  67. package/dist/package/action-init.d.ts.map +1 -1
  68. package/dist/package/action-init.js +26 -15
  69. package/dist/package/action-init.js.map +1 -1
  70. package/dist/package/action-install.d.ts +22 -0
  71. package/dist/package/action-install.d.ts.map +1 -0
  72. package/dist/package/{action-extract.js → action-install.js} +205 -32
  73. package/dist/package/action-install.js.map +1 -0
  74. package/dist/package/action-list.d.ts +5 -2
  75. package/dist/package/action-list.d.ts.map +1 -1
  76. package/dist/package/action-list.js +5 -4
  77. package/dist/package/action-list.js.map +1 -1
  78. package/dist/package/action-remove.d.ts +65 -0
  79. package/dist/package/action-remove.d.ts.map +1 -0
  80. package/dist/package/action-remove.js +171 -0
  81. package/dist/package/action-remove.js.map +1 -0
  82. package/dist/package/action-update.d.ts +28 -0
  83. package/dist/package/action-update.d.ts.map +1 -0
  84. package/dist/package/action-update.js +45 -0
  85. package/dist/package/action-update.js.map +1 -0
  86. package/dist/package/calculate-diff.d.ts +1 -1
  87. package/dist/package/calculate-diff.d.ts.map +1 -1
  88. package/dist/package/calculate-diff.js +11 -13
  89. package/dist/package/calculate-diff.js.map +1 -1
  90. package/dist/package/config.d.ts +40 -27
  91. package/dist/package/config.d.ts.map +1 -1
  92. package/dist/package/config.js +164 -113
  93. package/dist/package/config.js.map +1 -1
  94. package/dist/package/index.d.ts +6 -4
  95. package/dist/package/index.d.ts.map +1 -1
  96. package/dist/package/index.js +7 -5
  97. package/dist/package/index.js.map +1 -1
  98. package/dist/package/lockfile.d.ts +69 -0
  99. package/dist/package/lockfile.d.ts.map +1 -0
  100. package/dist/package/lockfile.js +192 -0
  101. package/dist/package/lockfile.js.map +1 -0
  102. package/dist/package/resolve-files.d.ts +14 -0
  103. package/dist/package/resolve-files.d.ts.map +1 -1
  104. package/dist/package/resolve-files.js +5 -1
  105. package/dist/package/resolve-files.js.map +1 -1
  106. package/dist/package/source.d.ts +13 -0
  107. package/dist/package/source.d.ts.map +1 -1
  108. package/dist/package/source.js +32 -11
  109. package/dist/package/source.js.map +1 -1
  110. package/dist/package/symlinks.d.ts.map +1 -1
  111. package/dist/package/symlinks.js +8 -3
  112. package/dist/package/symlinks.js.map +1 -1
  113. package/dist/types.d.ts +7 -6
  114. package/dist/types.d.ts.map +1 -1
  115. package/package.json +1 -2
  116. package/dist/cli/actions/extract.d.ts +0 -7
  117. package/dist/cli/actions/extract.d.ts.map +0 -1
  118. package/dist/cli/actions/extract.js.map +0 -1
  119. package/dist/cli/actions/purge.d.ts +0 -6
  120. package/dist/cli/actions/purge.d.ts.map +0 -1
  121. package/dist/cli/actions/purge.js +0 -42
  122. package/dist/cli/actions/purge.js.map +0 -1
  123. package/dist/package/action-extract.d.ts +0 -20
  124. package/dist/package/action-extract.d.ts.map +0 -1
  125. package/dist/package/action-extract.js.map +0 -1
  126. package/dist/package/action-purge.d.ts +0 -19
  127. package/dist/package/action-purge.d.ts.map +0 -1
  128. package/dist/package/action-purge.js +0 -135
  129. package/dist/package/action-purge.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "filedist",
3
- "version": "0.31.0",
3
+ "version": "0.34.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "bin": "dist/cli/bin.js",
@@ -42,7 +42,6 @@
42
42
  "typescript": "^5.5.4"
43
43
  },
44
44
  "dependencies": {
45
- "cosmiconfig": "^9.0.1",
46
45
  "ignore": "^7.0.5",
47
46
  "js-yaml": "^4.1.1",
48
47
  "minimatch": "^10.2.2",
@@ -1,7 +0,0 @@
1
- import { FiledistConfig } from '../../types';
2
- /**
3
- * `extract` CLI action handler.
4
- * Parses argv, merges with config, calls actionExtract, prints summary.
5
- */
6
- export declare function runExtract(config: FiledistConfig | null, argv: string[], cwd: string): Promise<void>;
7
- //# sourceMappingURL=extract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../src/cli/actions/extract.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAiB,MAAM,aAAa,CAAC;AA+B5D;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CA6Df"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../src/cli/actions/extract.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { FiledistConfig } from '../../types';
2
- /**
3
- * `purge` CLI action handler.
4
- */
5
- export declare function runPurge(config: FiledistConfig | null, argv: string[], cwd: string): Promise<void>;
6
- //# sourceMappingURL=purge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"purge.d.ts","sourceRoot":"","sources":["../../../src/cli/actions/purge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AAanE;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runPurge = runPurge;
4
- const utils_1 = require("../../utils");
5
- const argv_1 = require("../argv");
6
- const usage_1 = require("../usage");
7
- const progress_1 = require("../progress");
8
- const action_purge_1 = require("../../package/action-purge");
9
- /**
10
- * `purge` CLI action handler.
11
- */
12
- async function runPurge(config, argv, cwd) {
13
- if (argv.includes('--help')) {
14
- (0, usage_1.printUsage)('purge');
15
- return;
16
- }
17
- const parsed = (0, argv_1.parseArgv)(argv);
18
- const effectivePresets = (0, argv_1.resolveEffectivePresets)(parsed, config);
19
- let entries = [];
20
- const cliEntries = (0, argv_1.buildEntriesFromArgv)(parsed, effectivePresets);
21
- if (cliEntries) {
22
- entries = cliEntries;
23
- }
24
- else if (config && config.sets.length > 0) {
25
- entries = (0, argv_1.applyArgvOverrides)(config.sets, parsed);
26
- }
27
- entries = (0, utils_1.filterEntriesByPresets)(entries, effectivePresets);
28
- const summary = await (0, action_purge_1.actionPurge)({
29
- entries,
30
- cwd,
31
- dryRun: parsed.dryRun,
32
- verbose: parsed.verbose,
33
- onProgress: (event) => {
34
- if (parsed.silent)
35
- return;
36
- if (event.type === 'file-deleted')
37
- console.log(` - ${(0, progress_1.formatProgressFile)(event)}`);
38
- },
39
- });
40
- console.log(`Purge complete: ${summary.deleted} deleted.`);
41
- }
42
- //# sourceMappingURL=purge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"purge.js","sourceRoot":"","sources":["../../../src/cli/actions/purge.ts"],"names":[],"mappings":";;AAiBA,4BAmCC;AAlDD,uCAAqD;AACrD,kCAMiB;AACjB,oCAAsC;AACtC,0CAAiD;AACjD,6DAAyD;AAEzD;;GAEG;AACI,KAAK,UAAU,QAAQ,CAC5B,MAA6B,EAC7B,IAAc,EACd,GAAW;IAEX,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,gBAAgB,GAAG,IAAA,8BAAuB,EAAC,MAAM,EAAE,MAAkC,CAAC,CAAC;IAE7F,IAAI,OAAO,GAA2B,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,IAAA,2BAAoB,EAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAClE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,GAAG,UAAU,CAAC;IACvB,CAAC;SAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,GAAG,IAAA,yBAAkB,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,GAAG,IAAA,8BAAsB,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAW,EAAC;QAChC,OAAO;QACP,GAAG;QACH,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,CAAC,KAA0C,EAAE,EAAE;YACzD,IAAI,MAAM,CAAC,MAAM;gBAAE,OAAO;YAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAA,6BAAkB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;AAC7D,CAAC"}
@@ -1,20 +0,0 @@
1
- import { ProgressEvent, BasicPackageOptions } from '../types';
2
- export type ExtractOptions = BasicPackageOptions & {
3
- onProgress?: (event: ProgressEvent) => void;
4
- };
5
- export type ExtractResult = {
6
- added: number;
7
- modified: number;
8
- deleted: number;
9
- skipped: number;
10
- };
11
- /**
12
- * Extract managed files into the output directories.
13
- *
14
- * Two-phase approach:
15
- * 1. resolveFiles — installs packages and builds the complete desired file list.
16
- * 2. calculateDiff — compares desired files against each output directory.
17
- * 3. Apply disk changes: delete extra, add missing, resolve conflicts.
18
- */
19
- export declare function actionExtract(options: ExtractOptions): Promise<ExtractResult>;
20
- //# sourceMappingURL=action-extract.d.ts.map
@@ -1 +0,0 @@
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;AAwBlB,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,CA0OnF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-extract.js","sourceRoot":"","sources":["../../src/package/action-extract.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,135 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-purge.js","sourceRoot":"","sources":["../../src/package/action-purge.ts"],"names":[],"mappings":"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"}