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
@@ -1 +1 @@
1
- {"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,2 @@
1
- /**
2
- * Programmatic entry point for data-package bin shims generated by `filedist init`.
3
- *
4
- * Builds a synthetic single-set config from CLI args pointing to this data package.
5
- * Selectors (--files, --presets, etc.) are applied from the CLI args; omitting them
6
- * extracts all files. The data package's own filedist config in package.json is never
7
- * used as the CLI config here.
8
- *
9
- * @param binDir - The bin/ directory of the data package (__dirname from the shim).
10
- * @param args - CLI arguments (without node + script, i.e. process.argv.slice(2)).
11
- */
12
- export declare function binpkg(binDir: string, args: string[]): Promise<void>;
1
+ export declare function binpkg(binDir: string, args: string[], configFile?: string): Promise<void>;
13
2
  //# sourceMappingURL=binpkg.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binpkg.d.ts","sourceRoot":"","sources":["../../src/cli/binpkg.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;GAUG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC1E"}
1
+ {"version":3,"file":"binpkg.d.ts","sourceRoot":"","sources":["../../src/cli/binpkg.ts"],"names":[],"mappings":"AAoDA,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D/F"}
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.binpkg = binpkg;
7
7
  const node_fs_1 = __importDefault(require("node:fs"));
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
+ const js_yaml_1 = __importDefault(require("js-yaml"));
10
+ const config_1 = require("../package/config");
9
11
  const cli_1 = require("./cli");
10
12
  (0, cli_1.setupUncaughtExceptionHandler)();
11
13
  /**
@@ -13,32 +15,83 @@ const cli_1 = require("./cli");
13
15
  *
14
16
  * Builds a synthetic single-set config from CLI args pointing to this data package.
15
17
  * Selectors (--files, --presets, etc.) are applied from the CLI args; omitting them
16
- * extracts all files. The data package's own filedist config in package.json is never
17
- * used as the CLI config here.
18
+ * extracts all files. The data package's own .filedist-package.yml is NOT used as
19
+ * the CLI bootstrap config here.
18
20
  *
19
- * @param binDir - The bin/ directory of the data package (__dirname from the shim).
20
- * @param args - CLI arguments (without node + script, i.e. process.argv.slice(2)).
21
+ * @param binDir - The bin/ directory of the data package (__dirname from the shim).
22
+ * @param args - CLI arguments (without node + script, i.e. process.argv.slice(2)).
23
+ * @param configFile - Optional bootstrap config filename to inject as --config in the
24
+ * consumer's cwd. When omitted the consumer's default .filedist.yml is used.
21
25
  */
22
- async function binpkg(binDir, args) {
23
- if (args.includes('--packages')) {
26
+ const FLAGS_WITH_VALUE = new Set([
27
+ '--output',
28
+ '-o',
29
+ '--files',
30
+ '--exclude',
31
+ '--content-regex',
32
+ '--presets',
33
+ '--config',
34
+ ]);
35
+ const KNOWN_COMMANDS = new Set(['install', 'check', 'list', 'remove', 'init', 'presets', 'update']);
36
+ /** Returns the first positional (non-flag, non-command) argument, or undefined. */
37
+ function findUserPositional(args) {
38
+ for (let i = 0; i < args.length; i++) {
39
+ if (args[i].startsWith('-')) {
40
+ if (FLAGS_WITH_VALUE.has(args[i]))
41
+ i++; // skip the value
42
+ }
43
+ else if (i === 0 && KNOWN_COMMANDS.has(args[i])) {
44
+ // first element is a known command word, not a package
45
+ }
46
+ else {
47
+ return args[i];
48
+ }
49
+ }
50
+ // eslint-disable-next-line no-undefined
51
+ return undefined;
52
+ }
53
+ async function binpkg(binDir, args, configFile) {
54
+ // eslint-disable-next-line no-undefined
55
+ if (findUserPositional(args) !== undefined) {
24
56
  // eslint-disable-next-line no-console
25
- console.log('Cannot use --packages when invoked from a data package bin shim');
57
+ console.log('Cannot pass a package argument when invoked from a data package bin shim');
26
58
  // eslint-disable-next-line unicorn/no-process-exit
27
59
  process.exit(1);
28
60
  }
29
61
  const pkgRootDir = node_path_1.default.join(binDir, '..');
30
62
  const pkgJson = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(pkgRootDir, 'package.json')).toString());
31
63
  const pkgName = pkgJson.name;
32
- const defaultPresets = pkgJson.filedist?.defaultPresets ?? [];
33
- const effectiveArgs = [...args];
64
+ // Read defaultPresets from .filedist-package.yml (not package.json)
65
+ let defaultPresets = [];
66
+ const packageConfigPath = node_path_1.default.join(pkgRootDir, config_1.PACKAGE_CONFIG_FILENAME);
67
+ if (node_fs_1.default.existsSync(packageConfigPath)) {
68
+ const raw = node_fs_1.default.readFileSync(packageConfigPath, 'utf8');
69
+ const parsed = js_yaml_1.default.load(raw);
70
+ defaultPresets = parsed?.defaultPresets ?? [];
71
+ }
72
+ let effectiveArgs = [...args];
73
+ // Determine the config flag to inject (kept separate so it can be placed after the command)
74
+ let configFlagPair = [];
75
+ if (configFile && !effectiveArgs.includes('--config')) {
76
+ configFlagPair = ['--config', configFile];
77
+ }
34
78
  if (!effectiveArgs.includes('--presets') &&
35
79
  !effectiveArgs.includes('--all') &&
36
80
  defaultPresets.length > 0) {
37
81
  effectiveArgs.push('--presets', defaultPresets.join(','));
38
82
  }
39
- // Inject --packages <pkgName> so cli builds a synthetic single-set entry from args.
40
- // No configCwd is passed, so the data package's own filedist config is not loaded.
41
- const exitCode = await (0, cli_1.cli)(['node', 'filedist', ...effectiveArgs, '--packages', pkgName], process.cwd());
83
+ // Find the command word (first known command in the args, ignoring flags and their values)
84
+ let searchArgs = effectiveArgs;
85
+ if (searchArgs[0] === '--config') {
86
+ searchArgs = searchArgs.slice(2); // skip any user-supplied --config <value>
87
+ }
88
+ const commandArg = KNOWN_COMMANDS.has(searchArgs[0]) ? searchArgs[0] : 'install';
89
+ // Split into: flags before command | command | flags after command
90
+ // --config is always placed AFTER the command so cli.ts can detect the command word correctly
91
+ const commandIdx = effectiveArgs.indexOf(commandArg);
92
+ const beforeCmd = commandIdx > 0 ? effectiveArgs.slice(0, commandIdx) : [];
93
+ const afterCmd = commandIdx >= 0 ? effectiveArgs.slice(commandIdx + 1) : effectiveArgs;
94
+ const exitCode = await (0, cli_1.cli)(['node', 'filedist', ...beforeCmd, commandArg, pkgName, ...configFlagPair, ...afterCmd], process.cwd());
42
95
  // eslint-disable-next-line unicorn/no-process-exit
43
96
  process.exit(exitCode);
44
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"binpkg.js","sourceRoot":"","sources":["../../src/cli/binpkg.ts"],"names":[],"mappings":";;;;;AAkBA,wBAmCC;AArDD,sDAAyB;AACzB,0DAA6B;AAE7B,+BAA2D;AAE3D,IAAA,mCAA6B,GAAE,CAAC;AAEhC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,MAAM,CAAC,MAAc,EAAE,IAAc;IACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,mDAAmD;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAK3F,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7B,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC;IAE9D,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAChC,IACE,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC;QACpC,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;QAChC,cAAc,CAAC,MAAM,GAAG,CAAC,EACzB,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,oFAAoF;IACpF,mFAAmF;IACnF,MAAM,QAAQ,GAAG,MAAM,IAAA,SAAG,EACxB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC,EAC7D,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;IACF,mDAAmD;IACnD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"binpkg.js","sourceRoot":"","sources":["../../src/cli/binpkg.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAsBA;;;;;;;GAOG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmDjG;AAoFD,wBAAgB,6BAA6B,IAAI,IAAI,CAUpD"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAuBA;;;;;;;GAOG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmEjG;AAyHD,wBAAgB,6BAA6B,IAAI,IAAI,CAUpD"}
package/dist/cli/cli.js CHANGED
@@ -8,15 +8,17 @@ exports.setupUncaughtExceptionHandler = setupUncaughtExceptionHandler;
8
8
  /* eslint-disable no-console */
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
10
  const config_1 = require("../package/config");
11
+ const lockfile_1 = require("../package/lockfile");
11
12
  const usage_1 = require("./usage");
12
- const extract_1 = require("./actions/extract");
13
+ const install_1 = require("./actions/install");
13
14
  const check_1 = require("./actions/check");
14
15
  const list_1 = require("./actions/list");
15
- const purge_1 = require("./actions/purge");
16
+ const remove_1 = require("./actions/remove");
16
17
  const init_1 = require("./actions/init");
17
18
  const presets_1 = require("./actions/presets");
19
+ const update_1 = require("./actions/update");
18
20
  const argv_1 = require("./argv");
19
- const KNOWN_COMMANDS = new Set(['extract', 'check', 'list', 'purge', 'init', 'presets']);
21
+ const KNOWN_COMMANDS = new Set(['install', 'check', 'list', 'remove', 'init', 'presets', 'update']);
20
22
  /**
21
23
  * Top-level CLI router.
22
24
  * Detects command from argv, loads config, and dispatches to appropriate handler.
@@ -41,22 +43,30 @@ async function cli(argv, cwd, configSearchCwd) {
41
43
  let action;
42
44
  let cmdArgs;
43
45
  const firstArg = args[0];
44
- if (firstArg && KNOWN_COMMANDS.has(firstArg)) {
46
+ if (!firstArg || firstArg.startsWith('-')) {
47
+ // No command given, or first arg is a flag: default to install
48
+ action = 'install';
49
+ cmdArgs = args;
50
+ }
51
+ else if (KNOWN_COMMANDS.has(firstArg)) {
45
52
  action = firstArg;
46
53
  cmdArgs = args.slice(1);
47
54
  }
48
55
  else {
49
- // Default to extract
50
- action = 'extract';
51
- cmdArgs = args;
56
+ // Unknown bare word — will be caught below as unknown command
57
+ action = firstArg;
58
+ cmdArgs = args.slice(1);
52
59
  }
53
60
  const effectiveCwd = cwd ?? process.cwd();
54
61
  const effectiveConfigSearchCwd = configSearchCwd ?? effectiveCwd;
55
62
  const ignoreConfig = args.includes('--no-save') || args.includes('--no-save=true');
56
- const packagesSpecified = args.includes('--packages');
63
+ const packageSpecified = action === 'install' && !ignoreConfig && !!(0, argv_1.parseArgv)(cmdArgs).package;
57
64
  try {
58
- const config = await resolveConfig(args, cmdArgs, effectiveCwd, effectiveConfigSearchCwd, ignoreConfig, packagesSpecified);
59
- await dispatch(action, config, cmdArgs, effectiveCwd);
65
+ if (!KNOWN_COMMANDS.has(action)) {
66
+ throw new Error(`Unknown command: "${action}". Run 'filedist --help' for available commands.`);
67
+ }
68
+ const { config, configFilePath, lockfilePath, installArgv } = await resolveConfig(args, cmdArgs, effectiveCwd, effectiveConfigSearchCwd, ignoreConfig, packageSpecified);
69
+ await dispatch(action, config, installArgv ?? cmdArgs, effectiveCwd, configFilePath, lockfilePath);
60
70
  return 0;
61
71
  }
62
72
  catch (error) {
@@ -64,62 +74,91 @@ async function cli(argv, cwd, configSearchCwd) {
64
74
  return 1;
65
75
  }
66
76
  }
67
- async function resolveConfig(args, cmdArgs, effectiveCwd, effectiveConfigSearchCwd, ignoreConfig, packagesSpecified) {
77
+ async function resolveConfig(args, cmdArgs, effectiveCwd, effectiveConfigSearchCwd, ignoreConfig, packageSpecified) {
68
78
  const configFlagIdx = args.indexOf('--config');
69
- const configFilePath = configFlagIdx !== -1 && configFlagIdx + 1 < args.length
79
+ const configFileArg = configFlagIdx !== -1 && configFlagIdx + 1 < args.length
70
80
  ? args[configFlagIdx + 1]
71
81
  : // eslint-disable-next-line no-undefined
72
82
  undefined;
83
+ const configFilePath = configFileArg
84
+ ? node_path_1.default.resolve(effectiveCwd, configFileArg)
85
+ : node_path_1.default.join(effectiveConfigSearchCwd, '.filedist.yml');
86
+ const lockfilePath = (0, lockfile_1.getLockfilePath)(configFilePath);
73
87
  let config;
74
- if (configFilePath) {
75
- config = await (0, config_1.loadFiledistConfigFile)(node_path_1.default.resolve(effectiveCwd, configFilePath));
88
+ if (configFileArg) {
89
+ config = (0, config_1.loadFiledistConfigFile)(configFilePath);
76
90
  }
77
91
  else if (ignoreConfig) {
78
92
  // eslint-disable-next-line unicorn/no-null
79
93
  config = null;
80
94
  }
81
95
  else {
82
- // Try .filedistrc.local.yml first (only in the current directory, not parents).
83
- // This allows a package that publishes its own sets to also run filedist for
84
- // its own workspace needs without those entries leaking into the published config.
85
- const localConfig = await (0, config_1.loadFiledistLocalConfig)(effectiveConfigSearchCwd);
86
- config = localConfig ?? (await (0, config_1.searchAndLoadFiledistConfig)(effectiveConfigSearchCwd));
96
+ config = (0, config_1.loadDefaultConfig)(effectiveConfigSearchCwd);
87
97
  }
88
- // When --packages is specified, persist the entries to the config file (yml only)
89
- if (packagesSpecified && !ignoreConfig) {
98
+ // When a positional package arg is specified, persist the entry to the config file,
99
+ // then reload the full config and run install from the config file (ignoring the positional arg).
100
+ if (packageSpecified && !ignoreConfig) {
90
101
  const parsed = (0, argv_1.parseArgv)(cmdArgs);
91
102
  const entries = (0, argv_1.buildEntriesFromArgv)(parsed);
92
103
  if (entries && entries.length > 0) {
93
- // eslint-disable-next-line no-undefined
94
- const saveTarget = configFilePath ? node_path_1.default.resolve(effectiveCwd, configFilePath) : undefined;
95
- const targetPath = saveTarget ?? node_path_1.default.join(effectiveCwd, '.filedistrc.yml');
96
- const isYml = targetPath.endsWith('.yml') || targetPath.endsWith('.yaml');
97
- if (isYml) {
98
- if (parsed.verbose) {
99
- console.log(`[verbose] Auto-saving packages to config file: ${targetPath}`);
100
- }
101
- await (0, config_1.upsertFiledistConfigEntries)(effectiveCwd, entries, saveTarget);
102
- }
103
- else if (parsed.verbose) {
104
- console.log(`[verbose] Skipping auto-save: config file is not a YAML file (${targetPath})`);
104
+ if (parsed.verbose) {
105
+ console.log(`[verbose] Auto-saving packages to config file: ${configFilePath}`);
105
106
  }
107
+ await (0, config_1.upsertFiledistConfigEntries)(effectiveCwd, configFilePath, entries);
108
+ // Reload config from the now-updated file so install sees all sets (not just the new one).
109
+ const reloadedConfig = (0, config_1.loadFiledistConfigFile)(configFilePath);
110
+ // Strip package-specific flags — install will be driven entirely by the config file.
111
+ const installArgv = stripPackageFlags(cmdArgs);
112
+ return { config: reloadedConfig, configFilePath, lockfilePath, installArgv };
113
+ }
114
+ }
115
+ return { config, configFilePath, lockfilePath };
116
+ }
117
+ /**
118
+ * Remove the positional package arg and per-set flags from an argv array.
119
+ * After the entry is saved to the config file, install should run from
120
+ * the full config, so these per-invocation overrides must not be forwarded.
121
+ *
122
+ * Removed: positional package arg (first non-flag element), --output / -o, --files, --exclude, --content-regex
123
+ * (each flag together with its following value argument).
124
+ */
125
+ function stripPackageFlags(argv) {
126
+ const flagsWithValue = new Set(['--output', '-o', '--files', '--exclude', '--content-regex']);
127
+ const result = [];
128
+ let positionalStripped = false;
129
+ let i = 0;
130
+ while (i < argv.length) {
131
+ if (flagsWithValue.has(argv[i])) {
132
+ i += 2; // skip flag + value
133
+ }
134
+ else if (!positionalStripped && !argv[i].startsWith('-')) {
135
+ // Strip the first positional (package spec)
136
+ positionalStripped = true;
137
+ i++;
138
+ }
139
+ else {
140
+ result.push(argv[i]);
141
+ i++;
106
142
  }
107
143
  }
108
- return config;
144
+ return result;
109
145
  }
110
- async function dispatch(action, config, cmdArgs, cwd) {
146
+ async function dispatch(action, config, cmdArgs, cwd, configFilePath, lockfilePath) {
111
147
  switch (action) {
112
- case 'extract':
113
- await (0, extract_1.runExtract)(config, cmdArgs, cwd);
148
+ case 'install':
149
+ await (0, install_1.runInstall)(config, cmdArgs, cwd, lockfilePath);
114
150
  break;
115
151
  case 'check':
116
- await (0, check_1.runCheck)(config, cmdArgs, cwd);
152
+ await (0, check_1.runCheck)(cmdArgs, cwd, lockfilePath);
117
153
  break;
118
154
  case 'list':
119
- await (0, list_1.runList)(config, cmdArgs, cwd);
155
+ await (0, list_1.runList)(config, cmdArgs, cwd, lockfilePath);
156
+ break;
157
+ case 'remove':
158
+ await (0, remove_1.runRemove)(cmdArgs, cwd, lockfilePath, configFilePath);
120
159
  break;
121
- case 'purge':
122
- await (0, purge_1.runPurge)(config, cmdArgs, cwd);
160
+ case 'update':
161
+ await (0, update_1.runUpdate)(cmdArgs, cwd, lockfilePath);
123
162
  break;
124
163
  case 'init':
125
164
  await (0, init_1.runInit)(config, cmdArgs, cwd);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAmJjD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAGnC"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAoLjD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAGnC"}
package/dist/cli/usage.js CHANGED
@@ -11,25 +11,33 @@ const VERSION = '2.0.0';
11
11
  function printUsage(command) {
12
12
  const cmd = command;
13
13
  switch (cmd) {
14
- case 'extract':
14
+ case 'install':
15
15
  console.log(`
16
- Usage: filedist [extract] [options]
16
+ Usage: filedist [install] [<package>] [options]
17
17
 
18
- Extract files from one or more npm packages into a local output directory.
19
- In config-file mode, the root-level postExtractCmd runs after a successful non-dry-run extract.
18
+ Install files from one or more npm packages into a local output directory.
19
+ Reads (or creates) .filedist.lock to pin exact package versions for reproducible installs.
20
+ In config-file mode, the root-level postExtractCmd runs after a successful non-dry-run install.
21
+
22
+ When <package> is supplied it is saved as a single entry in .filedist.yml and install runs
23
+ for all configured entries. Omit <package> to run install using the existing config file.
24
+
25
+ Arguments:
26
+ <package> Package spec to add/update and install (e.g. my-pkg@^1.2.3,
27
+ git:github.com/org/repo.git@main). Saved to .filedist.yml.
20
28
 
21
29
  Options:
22
- --packages <specs> Comma-separated package specs (e.g. my-pkg@^1.2.3, git:github.com/org/repo.git@main). Overrides config sets.
23
- --output, -o <dir> Output directory path. Required when --packages is used.
30
+ --output, -o <dir> Output directory path. Required when <package> is used without a config.
24
31
  --files <globs> Comma-separated glob patterns for file selection.
25
32
  --content-regex <re> Comma-separated regex strings for content filtering.
26
33
  --force Overwrite existing unmanaged files.
27
34
  --mutable Skip files that already exist; mark extracted files as mutable (check ignores content changes).
28
- --nosync [bool] Keep stale managed files on disk during extract (default: false).
35
+ --nosync [bool] Keep stale managed files on disk during install (default: false).
29
36
  --gitignore [bool] Enable/disable .gitignore update (default: true). Use --gitignore=false to disable.
30
37
  --managed [bool] Enable/disable managed mode (default: true). Use --managed=false to write without .filedist marker.
31
38
  --dry-run Report changes without writing to disk.
32
39
  --upgrade Force fresh package install even if satisfying version installed.
40
+ --frozen-lockfile Use .filedist.lock exclusively; fail if lock file does not exist. Does not update the lock file.
33
41
  --presets <tags> Comma-separated preset tags; only matching entries are processed. Overrides config defaultPresets.
34
42
  --all Ignore config defaultPresets and process all configured entries.
35
43
  --config <file> Path to a config file (overrides auto-discovered .filedistrc / package.json).
@@ -45,20 +53,14 @@ Exit codes: 0 success | 1 error
45
53
  console.log(`
46
54
  Usage: filedist check [options]
47
55
 
48
- Verify that locally extracted files match their package sources.
56
+ Verify that locally installed files match the pinned state in .filedist.lock.
57
+ Reads set definitions and pinned package versions exclusively from .filedist.lock.
58
+ Fails if the lock file does not exist. The configuration file is not used.
49
59
 
50
60
  Options:
51
- --packages <specs> Comma-separated package specs. Overrides config sets.
52
- --output, -o <dir> Output directory path.
53
- --files <globs> Glob patterns for file selection.
54
- --content-regex <re> Regex strings for content filtering.
55
- --managed [bool] Silently skip unmanaged entries. Use --managed=false.
56
61
  --local-only Skip all package installs/git clones. Verify only against
57
62
  .filedist marker checksums (including marker self-integrity check).
58
63
  Extra-file detection is skipped. Useful for offline/CI environments.
59
- --presets <tags> Comma-separated preset tags; only matching entries are checked. Overrides config defaultPresets.
60
- --all Ignore config defaultPresets and check all configured entries.
61
- --config <file> Path to a config file (overrides auto-discovered .filedistrc / package.json).
62
64
  --verbose, -v Print detailed comparison information.
63
65
  --help Print this help text.
64
66
 
@@ -81,38 +83,67 @@ Output format: <relPath> <packageName>@<packageVersion>
81
83
  Exit codes: 0 always
82
84
  `);
83
85
  break;
84
- case 'purge':
86
+ case 'remove':
85
87
  console.log(`
86
- Usage: filedist purge [options]
88
+ Usage: filedist remove <package> [options]
87
89
 
88
- Remove all managed files from the output directory.
90
+ Remove a package from the filedist configuration and delete its managed files.
91
+ The version/ref part of <package> is ignored during matching, so both
92
+ "xdrs-core" and "xdrs-core@1.0.0" match any config entry for xdrs-core.
93
+ After updating the config, a full install is run with the remaining entries
94
+ so orphaned files are deleted from output directories and the lockfile is updated.
95
+
96
+ Arguments:
97
+ <package> Package name to remove (e.g. xdrs-core, @scope/pkg).
89
98
 
90
99
  Options:
91
- --packages <specs> Comma-separated package specs. Limits purge to matching entries.
92
- --output, -o <dir> Output directory to purge.
93
- --presets <tags> Comma-separated preset tags; only matching entries are purged. Overrides config defaultPresets.
94
- --all Ignore config defaultPresets and purge all configured entries.
95
- --dry-run Print what would be removed without deleting.
96
- --config <file> Path to a config file (overrides auto-discovered .filedistrc / package.json).
97
- --silent Suppress per-file output.
98
- --verbose, -v Print detailed deletion steps.
100
+ --output, -o <dir> Only remove entries whose output.path matches this value.
101
+ When omitted, all entries for the package are removed.
102
+ --dry-run Report what would change without modifying config or disk.
103
+ --config <file> Path to a config file (overrides auto-discovered .filedistrc).
104
+ --silent Suppress per-file output; print only the final summary line.
105
+ --verbose, -v Print detailed step information.
99
106
  --help Print this help text.
100
107
 
101
- Exit codes: 0 purge complete | 1 error during deletion
108
+ Exit codes: 0 success | 1 error
109
+ `);
110
+ break;
111
+ case 'update':
112
+ console.log(`
113
+ Usage: filedist update [options]
114
+
115
+ Update installed files to the latest available package versions.
116
+ Reads set definitions from .filedist.lock, resolves the newest matching versions,
117
+ runs a full install and writes an updated lockfile.
118
+ Fails if no lock file exists (run 'filedist install' first).
119
+
120
+ Options:
121
+ --dry-run Report what would change without writing to disk.
122
+ --silent Suppress per-file output; print only final summary.
123
+ --verbose, -v Print detailed step information.
124
+ --help Print this help text.
125
+
126
+ Exit codes: 0 success | 1 error
102
127
  `);
103
128
  break;
104
129
  case 'init':
105
130
  console.log(`
106
131
  Usage: filedist init [options]
107
132
 
108
- Scaffold a new publishable npm data package.
133
+ Scaffold a new publishable npm data package (local files only).
134
+ To include files from upstream npm or git packages, add them manually
135
+ to .filedist-package.yml after running this command.
109
136
 
110
137
  Options:
111
138
  --output, -o <dir> Directory to scaffold into (default: current dir).
139
+ --files <globs> Comma-separated glob patterns for the local files to include
140
+ (e.g. "docs/**,data/**"). Added to package.json#files and the
141
+ self entry in .filedist-package.yml.
142
+ --package-config <file> Config filename embedded in bin/filedist.js (default: .filedist.yml).
112
143
  --verbose, -v Print scaffolding steps.
113
144
  --help Print this help text.
114
145
 
115
- Created files: package.json, bin/filedist.js
146
+ Created files: package.json, bin/filedist.js, .filedist-package.yml
116
147
  Exit codes: 0 success | 1 target dir has conflicting files
117
148
  `);
118
149
  break;
@@ -137,10 +168,11 @@ Exit codes: 0 success | 1 no configuration found
137
168
  Usage: filedist [command] [options]
138
169
 
139
170
  Commands:
140
- extract (default) Extract files from npm packages
141
- check Verify extracted files match package sources
171
+ install (default) Install files from npm packages; writes .filedist.lock
172
+ update Bump packages to latest versions; re-installs and updates lock file
173
+ remove Remove a package from config and delete its managed files
174
+ check Verify installed files match the pinned state in .filedist.lock
142
175
  list List all managed files
143
- purge Remove managed files
144
176
  init Scaffold a publishable data package
145
177
  presets List all preset tags defined in configuration
146
178
 
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":";AAAA,+BAA+B;;AAQ/B,gCAmJC;AAED,oCAGC;AA9JD,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB;;;GAGG;AACH,SAAgB,UAAU,CAAC,OAAgB;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC;IAEpB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;CAqBjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;CAajB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;CAiBjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;CAYjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;CAajB,CAAC,CAAC;YACG,MAAM;QAER;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;WAYP,OAAO;CACjB,CAAC,CAAC;IACD,CAAC;AACH,CAAC;AAED,SAAgB,YAAY;IAC1B,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":";AAAA,+BAA+B;;AAQ/B,gCAoLC;AAED,oCAGC;AA/LD,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB;;;GAGG;AACH,SAAgB,UAAU,CAAC,OAAgB;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC;IAEpB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;CAejB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;CAajB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsBjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;CAejB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;CAkBjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;CAajB,CAAC,CAAC;YACG,MAAM;QAER;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;WAaP,OAAO;CACjB,CAAC,CAAC;IACD,CAAC;AACH,CAAC;AAED,SAAgB,YAAY;IAC1B,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;AACtC,CAAC"}
@@ -5,7 +5,6 @@ import { SelectorConfig, ManagedFileMetadata, CheckResult } from '../types';
5
5
  * Uses the checksum stored in each .filedist marker entry to verify file integrity
6
6
  * without requiring access to the original source package.
7
7
  * Mutable marker entries (extracted with mutable option) are excluded from the check.
8
- * Entries without a stored checksum are reported as modified (re-extract to repair).
9
8
  *
10
9
  * @param pkgPath Absolute path to the installed package directory, or null.
11
10
  * Used only for extra-file detection; not for content comparison.
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/fileset/check.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5E;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,QAAQ,GAAE,cAAmB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAyCtB"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/fileset/check.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5E;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,QAAQ,GAAE,cAAmB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAyCtB"}
@@ -14,7 +14,6 @@ const package_files_1 = require("./package-files");
14
14
  * Uses the checksum stored in each .filedist marker entry to verify file integrity
15
15
  * without requiring access to the original source package.
16
16
  * Mutable marker entries (extracted with mutable option) are excluded from the check.
17
- * Entries without a stored checksum are reported as modified (re-extract to repair).
18
17
  *
19
18
  * @param pkgPath Absolute path to the installed package directory, or null.
20
19
  * Used only for extra-file detection; not for content comparison.
@@ -36,15 +35,15 @@ async function checkFileset(pkgPath, outputDir, marker, selector = {}) {
36
35
  // Mutable files are allowed to change locally; skip content check
37
36
  if (m.mutable)
38
37
  continue;
39
- if (m.checksum) {
40
- // Compare local file against stored checksum (no source needed)
41
- const destHash = (0, utils_1.shortenChecksum)(await (0, utils_1.hashFile)(destPath));
42
- if (m.checksum !== destHash) {
43
- result.modified.push(m.path);
44
- }
38
+ // Compare local file against stored checksum (no source needed)
39
+ let destHash;
40
+ if (m.kind === 'symlink') {
41
+ destHash = (0, utils_1.shortenChecksum)((0, utils_1.hashBuffer)(node_fs_1.default.readlinkSync(destPath)));
45
42
  }
46
43
  else {
47
- // No stored checksum: marker is from an old extraction; re-extract to repair
44
+ destHash = (0, utils_1.shortenChecksum)(await (0, utils_1.hashFile)(destPath));
45
+ }
46
+ if (m.checksum !== destHash) {
48
47
  result.modified.push(m.path);
49
48
  }
50
49
  }