npmdata 0.10.3 → 0.12.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 (153) hide show
  1. package/README.md +133 -58
  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 +57 -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 +84 -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 +36 -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 +42 -0
  17. package/dist/cli/actions/list.js.map +1 -0
  18. package/dist/cli/actions/purge.d.ts +6 -0
  19. package/dist/cli/actions/purge.d.ts.map +1 -0
  20. package/dist/cli/actions/purge.js +47 -0
  21. package/dist/cli/actions/purge.js.map +1 -0
  22. package/dist/cli/argv.d.ts +35 -0
  23. package/dist/cli/argv.d.ts.map +1 -0
  24. package/dist/cli/argv.js +125 -0
  25. package/dist/cli/argv.js.map +1 -0
  26. package/dist/cli/cli.d.ts +9 -0
  27. package/dist/cli/cli.d.ts.map +1 -0
  28. package/dist/cli/cli.js +69 -0
  29. package/dist/cli/cli.js.map +1 -0
  30. package/dist/cli/runner.d.ts +9 -0
  31. package/dist/cli/runner.d.ts.map +1 -0
  32. package/dist/cli/runner.js +106 -0
  33. package/dist/cli/runner.js.map +1 -0
  34. package/dist/cli/usage.d.ts +6 -0
  35. package/dist/cli/usage.d.ts.map +1 -0
  36. package/dist/cli/usage.js +126 -0
  37. package/dist/cli/usage.js.map +1 -0
  38. package/dist/fileset/check.d.ts +15 -0
  39. package/dist/fileset/check.d.ts.map +1 -0
  40. package/dist/fileset/check.js +68 -0
  41. package/dist/fileset/check.js.map +1 -0
  42. package/dist/fileset/constants.d.ts +13 -0
  43. package/dist/fileset/constants.d.ts.map +1 -0
  44. package/dist/fileset/constants.js +22 -0
  45. package/dist/fileset/constants.js.map +1 -0
  46. package/dist/fileset/diff.d.ts +16 -0
  47. package/dist/fileset/diff.d.ts.map +1 -0
  48. package/dist/fileset/diff.js +116 -0
  49. package/dist/fileset/diff.js.map +1 -0
  50. package/dist/fileset/execute.d.ts +29 -0
  51. package/dist/fileset/execute.d.ts.map +1 -0
  52. package/dist/fileset/execute.js +136 -0
  53. package/dist/fileset/execute.js.map +1 -0
  54. package/dist/fileset/gitignore.d.ts +16 -0
  55. package/dist/fileset/gitignore.d.ts.map +1 -0
  56. package/dist/fileset/gitignore.js +82 -0
  57. package/dist/fileset/gitignore.js.map +1 -0
  58. package/dist/fileset/index.d.ts +5 -0
  59. package/dist/fileset/index.d.ts.map +1 -0
  60. package/dist/fileset/index.js +21 -0
  61. package/dist/fileset/index.js.map +1 -0
  62. package/dist/fileset/list.d.ts +6 -0
  63. package/dist/fileset/list.d.ts.map +1 -0
  64. package/dist/fileset/list.js +11 -0
  65. package/dist/fileset/list.js.map +1 -0
  66. package/dist/fileset/markers.d.ts +22 -0
  67. package/dist/fileset/markers.d.ts.map +1 -0
  68. package/dist/fileset/markers.js +68 -0
  69. package/dist/fileset/markers.js.map +1 -0
  70. package/dist/fileset/package-files.d.ts +14 -0
  71. package/dist/fileset/package-files.d.ts.map +1 -0
  72. package/dist/fileset/package-files.js +81 -0
  73. package/dist/fileset/package-files.js.map +1 -0
  74. package/dist/fileset/purge.d.ts +12 -0
  75. package/dist/fileset/purge.d.ts.map +1 -0
  76. package/dist/fileset/purge.js +95 -0
  77. package/dist/fileset/purge.js.map +1 -0
  78. package/dist/fileset/test-utils.d.ts +12 -0
  79. package/dist/fileset/test-utils.d.ts.map +1 -0
  80. package/dist/fileset/test-utils.js +65 -0
  81. package/dist/fileset/test-utils.js.map +1 -0
  82. package/dist/index.d.ts +10 -7
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +12 -17
  85. package/dist/index.js.map +1 -1
  86. package/dist/main.js +9 -16
  87. package/dist/main.js.map +1 -1
  88. package/dist/npmdata-0.0.1.tgz +0 -0
  89. package/dist/package/action-check.d.ts +20 -0
  90. package/dist/package/action-check.d.ts.map +1 -0
  91. package/dist/package/action-check.js +61 -0
  92. package/dist/package/action-check.js.map +1 -0
  93. package/dist/package/action-extract.d.ts +21 -0
  94. package/dist/package/action-extract.d.ts.map +1 -0
  95. package/dist/package/action-extract.js +186 -0
  96. package/dist/package/action-extract.js.map +1 -0
  97. package/dist/package/action-init.d.ts +13 -0
  98. package/dist/package/action-init.d.ts.map +1 -0
  99. package/dist/package/action-init.js +77 -0
  100. package/dist/package/action-init.js.map +1 -0
  101. package/dist/package/action-list.d.ts +14 -0
  102. package/dist/package/action-list.d.ts.map +1 -0
  103. package/dist/package/action-list.js +46 -0
  104. package/dist/package/action-list.js.map +1 -0
  105. package/dist/package/action-purge.d.ts +21 -0
  106. package/dist/package/action-purge.d.ts.map +1 -0
  107. package/dist/package/action-purge.js +60 -0
  108. package/dist/package/action-purge.js.map +1 -0
  109. package/dist/package/config-merge.d.ts +18 -0
  110. package/dist/package/config-merge.d.ts.map +1 -0
  111. package/dist/package/config-merge.js +48 -0
  112. package/dist/package/config-merge.js.map +1 -0
  113. package/dist/package/config.d.ts +13 -0
  114. package/dist/package/config.d.ts.map +1 -0
  115. package/dist/package/config.js +29 -0
  116. package/dist/package/config.js.map +1 -0
  117. package/dist/package/content-replacements.d.ts +21 -0
  118. package/dist/package/content-replacements.d.ts.map +1 -0
  119. package/dist/package/content-replacements.js +96 -0
  120. package/dist/package/content-replacements.js.map +1 -0
  121. package/dist/package/index.d.ts +10 -0
  122. package/dist/package/index.d.ts.map +1 -0
  123. package/dist/package/index.js +16 -0
  124. package/dist/package/index.js.map +1 -0
  125. package/dist/package/symlinks.d.ts +17 -0
  126. package/dist/package/symlinks.d.ts.map +1 -0
  127. package/dist/package/symlinks.js +125 -0
  128. package/dist/package/symlinks.js.map +1 -0
  129. package/dist/types.d.ts +184 -270
  130. package/dist/types.d.ts.map +1 -1
  131. package/dist/types.js +0 -12
  132. package/dist/types.js.map +1 -1
  133. package/dist/utils.d.ts +25 -55
  134. package/dist/utils.d.ts.map +1 -1
  135. package/dist/utils.js +82 -181
  136. package/dist/utils.js.map +1 -1
  137. package/package.json +5 -2
  138. package/dist/cli.d.ts +0 -6
  139. package/dist/cli.d.ts.map +0 -1
  140. package/dist/cli.js +0 -514
  141. package/dist/cli.js.map +0 -1
  142. package/dist/consumer.d.ts +0 -74
  143. package/dist/consumer.d.ts.map +0 -1
  144. package/dist/consumer.js +0 -820
  145. package/dist/consumer.js.map +0 -1
  146. package/dist/publisher.d.ts +0 -38
  147. package/dist/publisher.d.ts.map +0 -1
  148. package/dist/publisher.js +0 -164
  149. package/dist/publisher.js.map +0 -1
  150. package/dist/runner.d.ts +0 -102
  151. package/dist/runner.d.ts.map +0 -1
  152. package/dist/runner.js +0 -748
  153. package/dist/runner.js.map +0 -1
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runPurge = runPurge;
4
+ const argv_1 = require("../argv");
5
+ const usage_1 = require("../usage");
6
+ const action_purge_1 = require("../../package/action-purge");
7
+ /**
8
+ * `purge` CLI action handler.
9
+ */
10
+ async function runPurge(config, argv, cwd) {
11
+ if (argv.includes('--help')) {
12
+ (0, usage_1.printUsage)('purge');
13
+ return;
14
+ }
15
+ let parsed;
16
+ try {
17
+ parsed = (0, argv_1.parseArgv)(argv);
18
+ }
19
+ catch (error) {
20
+ console.error(`Error: ${error.message}`);
21
+ process.exitCode = 1;
22
+ return;
23
+ }
24
+ const entries = config?.sets ?? [];
25
+ try {
26
+ const summary = await (0, action_purge_1.actionPurge)({
27
+ entries,
28
+ config,
29
+ cwd,
30
+ presets: parsed.presets ?? [],
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(` - ${event.file}`);
38
+ },
39
+ });
40
+ console.log(`Purge complete: ${summary.deleted} deleted.`);
41
+ }
42
+ catch (error) {
43
+ console.error(`Error: ${error.message}`);
44
+ process.exitCode = 1;
45
+ }
46
+ }
47
+ //# sourceMappingURL=purge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"purge.js","sourceRoot":"","sources":["../../../src/cli/actions/purge.ts"],"names":[],"mappings":";;AASA,4BAwCC;AA/CD,kCAAoC;AACpC,oCAAsC;AACtC,6DAAyD;AAEzD;;GAEG;AACI,KAAK,UAAU,QAAQ,CAC5B,MAA4B,EAC5B,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,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;IAEnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAW,EAAC;YAChC,OAAO;YACP,MAAM;YACN,GAAG;YACH,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,CAAC,KAA0C,EAAE,EAAE;gBACzD,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO;gBAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;oBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,UAAW,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { PackageConfig, NpmdataExtractEntry } from '../types';
2
+ /**
3
+ * Parsed CLI flags for all commands.
4
+ */
5
+ export type ParsedArgv = {
6
+ packages?: PackageConfig[];
7
+ output?: string;
8
+ files?: string[];
9
+ contentRegexes?: string[];
10
+ presets?: string[];
11
+ force: boolean;
12
+ keepExisting: boolean;
13
+ noGitignore: boolean;
14
+ unmanaged: boolean;
15
+ dryRun: boolean;
16
+ upgrade: boolean;
17
+ silent: boolean;
18
+ verbose: boolean;
19
+ };
20
+ /**
21
+ * Parse all supported CLI flags from an argv array.
22
+ * Validates mutually exclusive combinations and throws on invalid input.
23
+ */
24
+ export declare function parseArgv(argv: string[]): ParsedArgv;
25
+ /**
26
+ * Build NpmdataExtractEntry objects from --packages + --output CLI flags.
27
+ * Returns null if --packages is not set.
28
+ */
29
+ export declare function buildEntriesFromArgv(parsed: ParsedArgv): NpmdataExtractEntry[] | null;
30
+ /**
31
+ * Apply CLI overrides from ParsedArgv to each NpmdataExtractEntry.
32
+ * CLI flags always take precedence over config file values.
33
+ */
34
+ export declare function applyArgvOverrides(entries: NpmdataExtractEntry[], parsed: ParsedArgv): NpmdataExtractEntry[];
35
+ //# sourceMappingURL=argv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAgC,MAAM,UAAU,CAAC;AAG5F;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAiDpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,mBAAmB,EAAE,GAAG,IAAI,CA4BrF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,MAAM,EAAE,UAAU,GACjB,mBAAmB,EAAE,CA+BvB"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseArgv = parseArgv;
4
+ exports.buildEntriesFromArgv = buildEntriesFromArgv;
5
+ exports.applyArgvOverrides = applyArgvOverrides;
6
+ const utils_1 = require("../utils");
7
+ /**
8
+ * Parse all supported CLI flags from an argv array.
9
+ * Validates mutually exclusive combinations and throws on invalid input.
10
+ */
11
+ function parseArgv(argv) {
12
+ const getFlag = (flag) => argv.includes(flag);
13
+ const getValue = (flag, shortFlag) => {
14
+ // eslint-disable-next-line no-undefined
15
+ const idx = argv.findIndex((a) => a === flag || (shortFlag !== undefined && a === shortFlag));
16
+ if (idx === -1 || idx + 1 >= argv.length) {
17
+ // eslint-disable-next-line no-undefined
18
+ return undefined;
19
+ }
20
+ return argv[idx + 1];
21
+ };
22
+ const getCommaSplit = (flag, shortFlag) => {
23
+ const val = getValue(flag, shortFlag);
24
+ // eslint-disable-next-line no-undefined
25
+ if (val === undefined) {
26
+ // eslint-disable-next-line no-undefined
27
+ return undefined;
28
+ }
29
+ return val
30
+ .split(',')
31
+ .map((s) => s.trim())
32
+ .filter(Boolean);
33
+ };
34
+ const force = getFlag('--force');
35
+ const keepExisting = getFlag('--keep-existing');
36
+ if (force && keepExisting) {
37
+ throw new Error('--force and --keep-existing are mutually exclusive');
38
+ }
39
+ const packagesRaw = getCommaSplit('--packages');
40
+ const packages = packagesRaw?.map((s) => (0, utils_1.parsePackageSpec)(s));
41
+ return {
42
+ packages,
43
+ output: getValue('--output', '-o'),
44
+ files: getCommaSplit('--files'),
45
+ contentRegexes: getCommaSplit('--content-regex'),
46
+ presets: getCommaSplit('--presets'),
47
+ force,
48
+ keepExisting,
49
+ noGitignore: getFlag('--no-gitignore'),
50
+ unmanaged: getFlag('--unmanaged'),
51
+ dryRun: getFlag('--dry-run'),
52
+ upgrade: getFlag('--upgrade'),
53
+ silent: getFlag('--silent'),
54
+ verbose: getFlag('--verbose') || getFlag('-v'),
55
+ };
56
+ }
57
+ /**
58
+ * Build NpmdataExtractEntry objects from --packages + --output CLI flags.
59
+ * Returns null if --packages is not set.
60
+ */
61
+ function buildEntriesFromArgv(parsed) {
62
+ if (!parsed.packages || parsed.packages.length === 0) {
63
+ // eslint-disable-next-line unicorn/no-null
64
+ return null;
65
+ }
66
+ const selector = {};
67
+ if (parsed.files)
68
+ selector.files = parsed.files;
69
+ if (parsed.contentRegexes)
70
+ selector.contentRegexes = parsed.contentRegexes;
71
+ if (parsed.presets)
72
+ selector.presets = parsed.presets;
73
+ if (parsed.upgrade)
74
+ selector.upgrade = true;
75
+ const output = {
76
+ path: parsed.output ?? '.',
77
+ force: parsed.force,
78
+ keepExisting: parsed.keepExisting,
79
+ gitignore: !parsed.noGitignore,
80
+ unmanaged: parsed.unmanaged,
81
+ dryRun: parsed.dryRun,
82
+ };
83
+ return parsed.packages.map((pkg) => ({
84
+ package: pkg.version ? `${pkg.name}@${pkg.version}` : pkg.name,
85
+ output,
86
+ selector,
87
+ silent: parsed.silent,
88
+ verbose: parsed.verbose,
89
+ }));
90
+ }
91
+ /**
92
+ * Apply CLI overrides from ParsedArgv to each NpmdataExtractEntry.
93
+ * CLI flags always take precedence over config file values.
94
+ */
95
+ function applyArgvOverrides(entries, parsed) {
96
+ return entries.map((entry) => {
97
+ const updatedOutput = {
98
+ ...entry.output,
99
+ // eslint-disable-next-line no-undefined
100
+ ...(parsed.output !== undefined
101
+ ? // eslint-disable-next-line no-undefined
102
+ { path: parsed.output }
103
+ : {}),
104
+ ...(parsed.force ? { force: true } : {}),
105
+ ...(parsed.keepExisting ? { keepExisting: true } : {}),
106
+ ...(parsed.noGitignore ? { gitignore: false } : {}),
107
+ ...(parsed.unmanaged ? { unmanaged: true } : {}),
108
+ ...(parsed.dryRun ? { dryRun: true } : {}),
109
+ };
110
+ const updatedSelector = {
111
+ ...entry.selector,
112
+ ...(parsed.files ? { files: parsed.files } : {}),
113
+ ...(parsed.contentRegexes ? { contentRegexes: parsed.contentRegexes } : {}),
114
+ ...(parsed.upgrade ? { upgrade: true } : {}),
115
+ };
116
+ return {
117
+ ...entry,
118
+ output: updatedOutput,
119
+ selector: updatedSelector,
120
+ ...(parsed.silent ? { silent: true } : {}),
121
+ ...(parsed.verbose ? { verbose: true } : {}),
122
+ };
123
+ });
124
+ }
125
+ //# sourceMappingURL=argv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Top-level CLI router.
3
+ * Detects command from argv, loads config, and dispatches to appropriate handler.
4
+ *
5
+ * @param argv - Process argument vector (argv[0] = node, argv[1] = script).
6
+ * @param cwd - Working directory override (defaults to process.cwd()).
7
+ */
8
+ export declare function cli(argv: string[], cwd?: string): Promise<void>;
9
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAYA;;;;;;GAMG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDrE"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cli = cli;
4
+ /* eslint-disable no-console */
5
+ const config_1 = require("../package/config");
6
+ const usage_1 = require("./usage");
7
+ const extract_1 = require("./actions/extract");
8
+ const check_1 = require("./actions/check");
9
+ const list_1 = require("./actions/list");
10
+ const purge_1 = require("./actions/purge");
11
+ const init_1 = require("./actions/init");
12
+ const KNOWN_COMMANDS = new Set(['extract', 'check', 'list', 'purge', 'init']);
13
+ /**
14
+ * Top-level CLI router.
15
+ * Detects command from argv, loads config, and dispatches to appropriate handler.
16
+ *
17
+ * @param argv - Process argument vector (argv[0] = node, argv[1] = script).
18
+ * @param cwd - Working directory override (defaults to process.cwd()).
19
+ */
20
+ async function cli(argv, cwd) {
21
+ const args = argv.slice(2); // strip node + script
22
+ // Handle global --help with no command
23
+ if (args.includes('--help') && args.length === 1) {
24
+ (0, usage_1.printUsage)();
25
+ return;
26
+ }
27
+ // Handle global --version
28
+ if (args.includes('--version')) {
29
+ (0, usage_1.printVersion)();
30
+ return;
31
+ }
32
+ // Detect action
33
+ let action;
34
+ let cmdArgs;
35
+ const firstArg = args[0];
36
+ if (firstArg && KNOWN_COMMANDS.has(firstArg)) {
37
+ action = firstArg;
38
+ cmdArgs = args.slice(1);
39
+ }
40
+ else {
41
+ // Default to extract
42
+ action = 'extract';
43
+ cmdArgs = args;
44
+ }
45
+ // Load config from cwd
46
+ const effectiveCwd = cwd ?? process.cwd();
47
+ const config = await (0, config_1.loadNpmdataConfig)(effectiveCwd);
48
+ switch (action) {
49
+ case 'extract':
50
+ await (0, extract_1.runExtract)(config, cmdArgs, effectiveCwd);
51
+ break;
52
+ case 'check':
53
+ await (0, check_1.runCheck)(config, cmdArgs, effectiveCwd);
54
+ break;
55
+ case 'list':
56
+ await (0, list_1.runList)(config, cmdArgs, effectiveCwd);
57
+ break;
58
+ case 'purge':
59
+ await (0, purge_1.runPurge)(config, cmdArgs, effectiveCwd);
60
+ break;
61
+ case 'init':
62
+ await (0, init_1.runInit)(config, cmdArgs, effectiveCwd);
63
+ break;
64
+ default:
65
+ console.error(`Unknown command: ${action}`);
66
+ process.exitCode = 1;
67
+ }
68
+ }
69
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":";;AAmBA,kBAqDC;AAxED,+BAA+B;AAC/B,8CAAsD;AAEtD,mCAAmD;AACnD,+CAA+C;AAC/C,2CAA2C;AAC3C,yCAAyC;AACzC,2CAA2C;AAC3C,yCAAyC;AAEzC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9E;;;;;;GAMG;AACI,KAAK,UAAU,GAAG,CAAC,IAAc,EAAE,GAAY;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;IAElD,uCAAuC;IACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,IAAA,kBAAU,GAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,IAAA,oBAAY,GAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,gBAAgB;IAChB,IAAI,MAAc,CAAC;IACnB,IAAI,OAAiB,CAAC;IAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,MAAM,GAAG,QAAQ,CAAC;QAClB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,qBAAqB;QACrB,MAAM,GAAG,SAAS,CAAC;QACnB,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,uBAAuB;IACvB,MAAM,YAAY,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAiB,EAAC,YAAY,CAAC,CAAC;IAErD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,MAAM,IAAA,oBAAU,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAChD,MAAM;QACR,KAAK,OAAO;YACV,MAAM,IAAA,gBAAQ,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM;QACR,KAAK,MAAM;YACT,MAAM,IAAA,cAAO,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,OAAO;YACV,MAAM,IAAA,gBAAQ,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC9C,MAAM;QACR,KAAK,MAAM;YACT,MAAM,IAAA,cAAO,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7C,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Entry point for self-installable packages generated by `init`.
3
+ * Called from bin/npmdata.js: require('npmdata').run(__dirname, process.argv.slice(2))
4
+ *
5
+ * @param binDir Absolute path to the bin/ directory of the hosting package.
6
+ * @param argv CLI arguments (process.argv.slice(2) from bin shim).
7
+ */
8
+ export declare function run(binDir: string, argv?: string[]): Promise<void>;
9
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"AAcA;;;;;;GAMG;AAEH,wBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsF5E"}
@@ -0,0 +1,106 @@
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.run = run;
7
+ /* eslint-disable functional/no-try-statements */
8
+ /* eslint-disable no-console */
9
+ const node_fs_1 = __importDefault(require("node:fs"));
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ const action_extract_1 = require("../package/action-extract");
12
+ const action_check_1 = require("../package/action-check");
13
+ const action_list_1 = require("../package/action-list");
14
+ const action_purge_1 = require("../package/action-purge");
15
+ const utils_1 = require("../utils");
16
+ const argv_1 = require("./argv");
17
+ /**
18
+ * Entry point for self-installable packages generated by `init`.
19
+ * Called from bin/npmdata.js: require('npmdata').run(__dirname, process.argv.slice(2))
20
+ *
21
+ * @param binDir Absolute path to the bin/ directory of the hosting package.
22
+ * @param argv CLI arguments (process.argv.slice(2) from bin shim).
23
+ */
24
+ // eslint-disable-next-line complexity
25
+ async function run(binDir, argv = []) {
26
+ const pkgDir = node_path_1.default.dirname(binDir);
27
+ const pkgJsonPath = node_path_1.default.join(pkgDir, 'package.json');
28
+ let pkgName = node_path_1.default.basename(pkgDir);
29
+ let sets;
30
+ try {
31
+ const pkgJson = JSON.parse(node_fs_1.default.readFileSync(pkgJsonPath).toString());
32
+ pkgName = pkgJson.name ?? pkgName;
33
+ sets = pkgJson.npmdata?.sets;
34
+ }
35
+ catch {
36
+ // No package.json or parse error
37
+ }
38
+ // Fallback: synthetic single-entry when no sets defined
39
+ const entries = sets ?? [{ package: pkgName, output: { path: '.' } }];
40
+ const config = { sets: entries };
41
+ const cwd = process.cwd();
42
+ // Parse command from argv (same as CLI)
43
+ const firstArg = argv[0];
44
+ const KNOWN_COMMANDS = new Set(['extract', 'check', 'list', 'purge']);
45
+ let command = 'extract';
46
+ let cmdArgs = argv;
47
+ if (firstArg && KNOWN_COMMANDS.has(firstArg)) {
48
+ command = firstArg;
49
+ cmdArgs = argv.slice(1);
50
+ }
51
+ let parsed;
52
+ try {
53
+ parsed = (0, argv_1.parseArgv)(cmdArgs);
54
+ }
55
+ catch (error) {
56
+ console.error(`Error: ${error.message}`);
57
+ process.exitCode = 1;
58
+ return;
59
+ }
60
+ // --packages overrides sets
61
+ const cliEntries = (0, argv_1.buildEntriesFromArgv)(parsed);
62
+ const activeEntries = cliEntries ?? entries;
63
+ const overridden = (0, argv_1.applyArgvOverrides)(activeEntries, parsed);
64
+ const presets = parsed.presets ?? [];
65
+ const filtered = (0, utils_1.filterEntriesByPresets)(overridden, presets);
66
+ try {
67
+ switch (command) {
68
+ case 'extract': {
69
+ await (0, action_extract_1.actionExtract)({ entries: filtered, config, cwd });
70
+ break;
71
+ }
72
+ case 'check': {
73
+ const summary = await (0, action_check_1.actionCheck)({ entries: filtered, config, cwd });
74
+ if (summary.missing.length > 0 || summary.modified.length > 0 || summary.extra.length > 0) {
75
+ for (const f of summary.missing)
76
+ console.log(`missing: ${f}`);
77
+ for (const f of summary.modified)
78
+ console.log(`modified: ${f}`);
79
+ for (const f of summary.extra)
80
+ console.log(`extra: ${f}`);
81
+ process.exitCode = 1;
82
+ }
83
+ break;
84
+ }
85
+ case 'list': {
86
+ const files = await (0, action_list_1.actionList)({ entries: filtered, config, cwd });
87
+ for (const f of files) {
88
+ console.log(`${f.path} ${f.packageName}@${f.packageVersion}`);
89
+ }
90
+ break;
91
+ }
92
+ case 'purge': {
93
+ await (0, action_purge_1.actionPurge)({ entries: filtered, config, cwd, presets, dryRun: parsed.dryRun });
94
+ break;
95
+ }
96
+ default:
97
+ console.error(`Unknown command: ${command}`);
98
+ process.exitCode = 1;
99
+ }
100
+ }
101
+ catch (error) {
102
+ console.error(`Error: ${error.message}`);
103
+ process.exitCode = 1;
104
+ }
105
+ }
106
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Print usage/help text for the given command to stdout.
3
+ */
4
+ export declare function printUsage(command?: string): void;
5
+ export declare function printVersion(): void;
6
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAqHjD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAGnC"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ /* eslint-disable no-console */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.printUsage = printUsage;
5
+ exports.printVersion = printVersion;
6
+ const VERSION = '2.0.0';
7
+ /**
8
+ * Print usage/help text for the given command to stdout.
9
+ */
10
+ function printUsage(command) {
11
+ const cmd = command ?? 'extract';
12
+ switch (cmd) {
13
+ case 'extract':
14
+ console.log(`
15
+ Usage: npmdata [extract] [options]
16
+
17
+ Extract files from one or more npm packages into a local output directory.
18
+
19
+ Options:
20
+ --packages <specs> Comma-separated package specs (e.g. my-pkg@^1.2.3). Overrides config sets.
21
+ --output, -o <dir> Output directory path. Required when --packages is used.
22
+ --files <globs> Comma-separated glob patterns for file selection.
23
+ --content-regex <re> Comma-separated regex strings for content filtering.
24
+ --force Overwrite existing unmanaged files.
25
+ --keep-existing Skip files that already exist; create missing ones.
26
+ --no-gitignore Disable .gitignore update alongside each marker.
27
+ --unmanaged Write without .npmdata marker; no gitignore; no read-only.
28
+ --dry-run Report changes without writing to disk.
29
+ --upgrade Force fresh package install even if satisfying version installed.
30
+ --presets <tags> Comma-separated preset tags; only matching entries are processed.
31
+ --silent Suppress per-file output; print only final summary line.
32
+ --verbose, -v Print detailed step information.
33
+ --help Print this help text.
34
+ --version Print version.
35
+
36
+ Exit codes: 0 success | 1 error
37
+ `);
38
+ break;
39
+ case 'check':
40
+ console.log(`
41
+ Usage: npmdata check [options]
42
+
43
+ Verify that locally extracted files match their package sources.
44
+
45
+ Options:
46
+ --packages <specs> Comma-separated package specs. Overrides config sets.
47
+ --output, -o <dir> Output directory path.
48
+ --files <globs> Glob patterns for file selection.
49
+ --content-regex <re> Regex strings for content filtering.
50
+ --unmanaged Silently skip unmanaged entries.
51
+ --presets <tags> Comma-separated preset tags; only matching entries are checked.
52
+ --verbose, -v Print detailed comparison information.
53
+ --help Print this help text.
54
+
55
+ Exit codes: 0 all in sync | 1 drift detected or error
56
+ `);
57
+ break;
58
+ case 'list':
59
+ console.log(`
60
+ Usage: npmdata list [options]
61
+
62
+ Print all files currently managed by npmdata in the output directory.
63
+
64
+ Options:
65
+ --output, -o <dir> Output directory to inspect.
66
+ --verbose, -v Print additional metadata per file.
67
+ --help Print this help text.
68
+
69
+ Output format: <relPath> <packageName>@<packageVersion>
70
+ Exit codes: 0 always
71
+ `);
72
+ break;
73
+ case 'purge':
74
+ console.log(`
75
+ Usage: npmdata purge [options]
76
+
77
+ Remove all managed files from the output directory.
78
+
79
+ Options:
80
+ --packages <specs> Comma-separated package specs. Limits purge to matching entries.
81
+ --output, -o <dir> Output directory to purge.
82
+ --presets <tags> Comma-separated preset tags; only matching entries are purged.
83
+ --dry-run Print what would be removed without deleting.
84
+ --silent Suppress per-file output.
85
+ --verbose, -v Print detailed deletion steps.
86
+ --help Print this help text.
87
+
88
+ Exit codes: 0 purge complete | 1 error during deletion
89
+ `);
90
+ break;
91
+ case 'init':
92
+ console.log(`
93
+ Usage: npmdata init [options]
94
+
95
+ Scaffold a new publishable npm data package.
96
+
97
+ Options:
98
+ --output, -o <dir> Directory to scaffold into (default: current dir).
99
+ --verbose, -v Print scaffolding steps.
100
+ --help Print this help text.
101
+
102
+ Created files: package.json, bin/npmdata.js
103
+ Exit codes: 0 success | 1 target dir has conflicting files
104
+ `);
105
+ break;
106
+ default:
107
+ console.log(`
108
+ Usage: npmdata [command] [options]
109
+
110
+ Commands:
111
+ extract (default) Extract files from npm packages
112
+ check Verify extracted files match package sources
113
+ list List all managed files
114
+ purge Remove managed files
115
+ init Scaffold a publishable data package
116
+
117
+ Run 'npmdata <command> --help' for command-specific help.
118
+ Version: ${VERSION}
119
+ `);
120
+ }
121
+ }
122
+ function printVersion() {
123
+ // Try to read version from package.json
124
+ console.log(`npmdata v${VERSION}`);
125
+ }
126
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":";AAAA,+BAA+B;;AAO/B,gCAqHC;AAED,oCAGC;AA/HD,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB;;GAEG;AACH,SAAgB,UAAU,CAAC,OAAgB;IACzC,MAAM,GAAG,GAAG,OAAO,IAAI,SAAS,CAAC;IAEjC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAuBjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;CAgBjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;CAYjB,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;;;;;;;;;;;;CAYjB,CAAC,CAAC;YACG,MAAM;QAER;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;WAWP,OAAO;CACjB,CAAC,CAAC;IACD,CAAC;AACH,CAAC;AAED,SAAgB,YAAY;IAC1B,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { SelectorConfig, OutputConfig, ManagedFileMetadata, CheckResult } from '../types';
2
+ /**
3
+ * Check whether locally extracted files are in sync with their package source.
4
+ * Reuses diff logic to classify files as missing, modified, or extra.
5
+ * Applies contentReplacements before hash comparison.
6
+ *
7
+ * @param pkgPath Absolute path to the installed package directory, or null if not installed.
8
+ * @param outputDir Absolute path to the output directory.
9
+ * @param selector SelectorConfig controlling which package files are in scope.
10
+ * @param outputConfig OutputConfig (used for contentReplacements).
11
+ * @param marker Managed file entries from the .npmdata marker.
12
+ * @returns CheckResult with missing, modified, and extra arrays.
13
+ */
14
+ export declare function checkFileset(pkgPath: string | null, outputDir: string, selector: SelectorConfig, outputConfig: OutputConfig, marker: ManagedFileMetadata[]): Promise<CheckResult>;
15
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/fileset/check.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EAEZ,MAAM,UAAU,CAAC;AAMlB;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,mBAAmB,EAAE,GAC5B,OAAO,CAAC,WAAW,CAAC,CAmDtB"}