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
package/dist/cli.js DELETED
@@ -1,514 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- /* eslint-disable no-restricted-syntax */
4
- /* eslint-disable no-plusplus */
5
- /* eslint-disable functional/no-let */
6
- /* eslint-disable no-console */
7
- var __importDefault = (this && this.__importDefault) || function (mod) {
8
- return (mod && mod.__esModule) ? mod : { "default": mod };
9
- };
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.cli = cli;
12
- const node_fs_1 = __importDefault(require("node:fs"));
13
- const node_path_1 = __importDefault(require("node:path"));
14
- const consumer_1 = require("./consumer");
15
- const publisher_1 = require("./publisher");
16
- /**
17
- * CLI for npmdata
18
- */
19
- // eslint-disable-next-line complexity
20
- async function cli(processArgs) {
21
- const args = processArgs.slice(2);
22
- if (args.length === 0) {
23
- printUsage();
24
- return 1;
25
- }
26
- const command = args[0];
27
- // Handle global help and version flags
28
- if (command === '--help' || command === '-h') {
29
- printUsage();
30
- return 0;
31
- }
32
- if (command === '--version') {
33
- const pkg = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(__dirname, '../package.json')).toString());
34
- console.log(pkg.version);
35
- return 0;
36
- }
37
- // Handle init command
38
- if (command === 'init') {
39
- // eslint-disable-next-line functional/no-let
40
- let sourceFilesFlag;
41
- // eslint-disable-next-line functional/no-let
42
- let additionalPackagesFlag;
43
- // eslint-disable-next-line functional/no-let
44
- let initGitignore = true;
45
- // eslint-disable-next-line functional/no-let
46
- let initUnmanaged = false;
47
- // eslint-disable-next-line functional/no-let
48
- let initVerbose = false;
49
- // Parse args for --files and --packages flags
50
- // eslint-disable-next-line functional/no-let
51
- for (let i = 1; i < args.length; i += 1) {
52
- if (args[i] === '--files') {
53
- // eslint-disable-next-line no-plusplus
54
- sourceFilesFlag = args[++i];
55
- }
56
- else if (args[i] === '--packages') {
57
- // eslint-disable-next-line no-plusplus
58
- additionalPackagesFlag = args[++i];
59
- }
60
- else if (args[i] === '--no-gitignore') {
61
- initGitignore = false;
62
- }
63
- else if (args[i] === '--unmanaged') {
64
- initUnmanaged = true;
65
- }
66
- else if (args[i] === '--verbose' || args[i] === '-v') {
67
- initVerbose = true;
68
- }
69
- }
70
- // --files is required
71
- if (!sourceFilesFlag) {
72
- console.error('Error: --files option is required for init command');
73
- printUsage();
74
- return 1;
75
- }
76
- const fileGlobs = sourceFilesFlag.split(',').map((f) => f.trim());
77
- const additionalPackages = additionalPackagesFlag
78
- ? additionalPackagesFlag.split(',').map((p) => p.trim())
79
- : [];
80
- if (initVerbose) {
81
- console.log(`[verbose] init: file patterns: ${fileGlobs.join(', ')}`);
82
- if (additionalPackages.length > 0)
83
- console.log(`[verbose] init: additional packages: ${additionalPackages.join(', ')}`);
84
- console.log(`[verbose] init: gitignore=${initGitignore} unmanaged=${initUnmanaged}`);
85
- console.log(`[verbose] init: writing publisher configuration...`);
86
- }
87
- const result = await (0, publisher_1.initPublisher)(fileGlobs, {
88
- additionalPackages,
89
- gitignore: initGitignore,
90
- ...(initUnmanaged ? { unmanaged: true } : {}),
91
- });
92
- if (!result.success) {
93
- console.error(`\nError: ${result.message}`);
94
- return 1;
95
- }
96
- if (initVerbose) {
97
- console.log(`[verbose] init: configuration written successfully`);
98
- }
99
- console.log(`\n${result.message}`);
100
- if (result.publishedFiles) {
101
- console.log(`\nThe following file patterns will be published: ${result.publishedFiles.join(', ')}`);
102
- }
103
- if (result.additionalPackages && result.additionalPackages.length > 0) {
104
- console.log(`\nAdditional data source packages: ${result.additionalPackages.join(', ')}`);
105
- }
106
- return 0;
107
- }
108
- // Handle list command
109
- if (command === 'list') {
110
- let outDir = process.cwd();
111
- let outputFlagProvided = false;
112
- let listVerbose = false;
113
- for (let i = 1; i < args.length; i++) {
114
- if (args[i] === '--output' || args[i] === '-o') {
115
- outDir = args[++i];
116
- outputFlagProvided = true;
117
- }
118
- else if (args[i] === '--verbose' || args[i] === '-v') {
119
- listVerbose = true;
120
- }
121
- else if (!args[i].startsWith('-')) {
122
- outDir = args[i];
123
- outputFlagProvided = true;
124
- }
125
- }
126
- if (!outputFlagProvided) {
127
- console.info(`Listing managed files in current directory: ${outDir}`);
128
- }
129
- if (listVerbose) {
130
- console.log(`[verbose] list: resolved output directory: ${node_path_1.default.resolve(outDir)}`);
131
- console.log(`[verbose] list: scanning for .npmdata marker files...`);
132
- }
133
- const entries = (0, consumer_1.list)(node_path_1.default.resolve(outDir));
134
- if (listVerbose) {
135
- console.log(`[verbose] list: found ${entries.length} managed package entr${entries.length === 1 ? 'y' : 'ies'}`);
136
- }
137
- if (entries.length === 0) {
138
- console.log('No managed files found.');
139
- return 0;
140
- }
141
- for (const entry of entries) {
142
- if (listVerbose) {
143
- console.log(`[verbose] list: package ${entry.packageName}@${entry.packageVersion} has ${entry.files.length} managed file${entry.files.length === 1 ? '' : 's'}`);
144
- }
145
- console.log(`\n${entry.packageName}@${entry.packageVersion} (${entry.files.length} files)`);
146
- for (const f of entry.files) {
147
- console.log(` ${f}`);
148
- }
149
- }
150
- return 0;
151
- }
152
- // Handle purge command
153
- if (command === 'purge') {
154
- let purgePackageSpecs;
155
- let purgeOutDir = process.cwd();
156
- let purgeOutputFlagProvided = false;
157
- let purgeDryRun = false;
158
- let purgeSilent = false;
159
- let purgeVerbose = false;
160
- for (let i = 1; i < args.length; i++) {
161
- if (args[i] === '--packages') {
162
- purgePackageSpecs = args[++i];
163
- }
164
- else if (args[i] === '--output' || args[i] === '-o') {
165
- purgeOutDir = args[++i];
166
- purgeOutputFlagProvided = true;
167
- }
168
- else if (args[i] === '--dry-run') {
169
- purgeDryRun = true;
170
- }
171
- else if (args[i] === '--silent') {
172
- purgeSilent = true;
173
- }
174
- else if (args[i] === '--verbose' || args[i] === '-v') {
175
- purgeVerbose = true;
176
- }
177
- else if (!args[i].startsWith('-')) {
178
- purgeOutDir = args[i];
179
- purgeOutputFlagProvided = true;
180
- }
181
- }
182
- if (!purgePackageSpecs) {
183
- console.error(`Error: --packages option is required for 'purge' command`);
184
- printUsage();
185
- return 1;
186
- }
187
- if (!purgeOutputFlagProvided && !purgeSilent) {
188
- console.info(`No --output specified. Using current directory: ${purgeOutDir}`);
189
- }
190
- const purgePackages = purgePackageSpecs.split(',').map((s) => s.trim());
191
- if (purgeVerbose) {
192
- console.log(`[verbose] purge: packages to remove: ${purgePackages.join(', ')}`);
193
- console.log(`[verbose] purge: output directory: ${node_path_1.default.resolve(purgeOutDir)}`);
194
- console.log(`[verbose] purge: dryRun=${purgeDryRun}`);
195
- }
196
- const purgeOnProgress = purgeSilent
197
- ? // eslint-disable-next-line no-undefined
198
- undefined
199
- : (event) => {
200
- switch (event.type) {
201
- case 'package-start':
202
- console.log(`>> Package ${event.packageName}`);
203
- if (purgeVerbose) {
204
- console.log(`[verbose] purge: starting removal of managed files for ${event.packageName}`);
205
- }
206
- break;
207
- case 'file-deleted':
208
- console.log(`D\t${event.file}`);
209
- if (purgeVerbose) {
210
- console.log(`[verbose] purge: deleted file: ${event.file}`);
211
- }
212
- break;
213
- default:
214
- break;
215
- }
216
- };
217
- if (!purgeSilent) {
218
- if (purgeDryRun)
219
- console.info('Dry run: simulating purge (no files will be removed)...');
220
- else
221
- console.info('Purging managed files...');
222
- }
223
- const purgeResult = await (0, consumer_1.purge)({
224
- packages: purgePackages,
225
- outputDir: node_path_1.default.resolve(purgeOutDir),
226
- dryRun: purgeDryRun,
227
- onProgress: purgeOnProgress,
228
- });
229
- console.log(`Purge complete: ${purgeResult.deleted.length} deleted${purgeDryRun ? ' (dry run)' : ''}`);
230
- return 0;
231
- }
232
- // Consumer commands (extract, check)
233
- if (!['extract', 'check'].includes(command)) {
234
- console.error(`Error: unknown command '${command}'. Use 'init', 'extract', 'check', 'purge', or 'list'`);
235
- printUsage();
236
- return 1;
237
- }
238
- // Parse options common to extract and check
239
- let packageSpecs;
240
- let force = false;
241
- let keepExisting = false;
242
- let gitignore = true;
243
- let dryRun = false;
244
- let upgrade = false;
245
- let silent = false;
246
- let verbose = false;
247
- let unmanaged = false;
248
- let filenamePatterns;
249
- let contentRegexes;
250
- let outDir = process.cwd();
251
- let outputFlagProvided = false;
252
- for (let i = 1; i < args.length; i++) {
253
- if (args[i] === '--packages') {
254
- packageSpecs = args[++i];
255
- }
256
- else if (args[i] === '--force') {
257
- force = true;
258
- }
259
- else if (args[i] === '--keep-existing') {
260
- keepExisting = true;
261
- }
262
- else if (args[i] === '--silent') {
263
- silent = true;
264
- }
265
- else if (args[i] === '--verbose' || args[i] === '-v') {
266
- verbose = true;
267
- }
268
- else if (args[i] === '--no-gitignore') {
269
- gitignore = false;
270
- }
271
- else if (args[i] === '--dry-run') {
272
- dryRun = true;
273
- }
274
- else if (args[i] === '--upgrade') {
275
- upgrade = true;
276
- }
277
- else if (args[i] === '--unmanaged') {
278
- unmanaged = true;
279
- }
280
- else if (args[i] === '--files') {
281
- filenamePatterns = args[++i];
282
- }
283
- else if (args[i] === '--content-regex') {
284
- contentRegexes = args[++i];
285
- }
286
- else if (args[i] === '--output' || args[i] === '-o') {
287
- outDir = args[++i];
288
- outputFlagProvided = true;
289
- }
290
- else if (!args[i].startsWith('-')) {
291
- outDir = args[i];
292
- outputFlagProvided = true;
293
- }
294
- }
295
- if (!packageSpecs) {
296
- console.error(`Error: --packages option is required for '${command}' command`);
297
- printUsage();
298
- return 1;
299
- }
300
- if (!outputFlagProvided && !silent) {
301
- console.info(`No --output specified. Using current directory: ${outDir}`);
302
- }
303
- if (verbose && !silent) {
304
- console.log(`[verbose] ${command}: packages=${packageSpecs} output=${node_path_1.default.resolve(outDir)}`);
305
- if (command === 'extract') {
306
- console.log(`[verbose] extract: force=${force} keepExisting=${keepExisting} dryRun=${dryRun} upgrade=${upgrade} unmanaged=${unmanaged} gitignore=${gitignore}`);
307
- if (filenamePatterns)
308
- console.log(`[verbose] extract: file filter patterns: ${filenamePatterns}`);
309
- if (contentRegexes)
310
- console.log(`[verbose] extract: content regex filters: ${contentRegexes}`);
311
- }
312
- }
313
- if (force && keepExisting) {
314
- console.error('Error: --force and --keep-existing cannot be used together');
315
- return 1;
316
- }
317
- const packages = packageSpecs.split(',').map((s) => s.trim());
318
- // Build onProgress handler that prints file-level events grouped by package
319
- const onProgress = silent
320
- ? // eslint-disable-next-line no-undefined
321
- undefined
322
- : (event) => {
323
- switch (event.type) {
324
- case 'package-start':
325
- console.log(`>> Package ${event.packageName}@${event.packageVersion}`);
326
- if (verbose) {
327
- console.log(`[verbose] ${command}: starting processing of package ${event.packageName}@${event.packageVersion}`);
328
- }
329
- break;
330
- case 'file-added':
331
- console.log(`A\t${event.file}`);
332
- if (verbose) {
333
- console.log(`[verbose] ${command}: added file: ${event.file}`);
334
- }
335
- break;
336
- case 'file-modified':
337
- console.log(`M\t${event.file}`);
338
- if (verbose) {
339
- console.log(`[verbose] ${command}: modified file: ${event.file}`);
340
- }
341
- break;
342
- case 'file-deleted':
343
- console.log(`D\t${event.file}`);
344
- if (verbose) {
345
- console.log(`[verbose] ${command}: deleted file: ${event.file}`);
346
- }
347
- break;
348
- case 'file-skipped':
349
- if (verbose) {
350
- console.log(`[verbose] ${command}: skipped file: ${event.file}`);
351
- }
352
- break;
353
- case 'package-end':
354
- if (verbose) {
355
- console.log(`[verbose] ${command}: finished processing package ${event.packageName}@${event.packageVersion}`);
356
- }
357
- break;
358
- default:
359
- break;
360
- }
361
- };
362
- const config = {
363
- packages,
364
- outputDir: node_path_1.default.resolve(outDir),
365
- force,
366
- keepExisting,
367
- gitignore,
368
- dryRun,
369
- upgrade,
370
- unmanaged,
371
- onProgress,
372
- filenamePatterns: filenamePatterns
373
- ? filenamePatterns.split(',')
374
- : // eslint-disable-next-line no-undefined
375
- undefined,
376
- contentRegexes: contentRegexes
377
- ? contentRegexes.split(',').map((r) => new RegExp(r))
378
- : // eslint-disable-next-line no-undefined
379
- undefined,
380
- };
381
- if (command === 'extract') {
382
- if (!silent) {
383
- if (dryRun)
384
- console.info('Dry run: simulating extraction (no files will be written)...');
385
- else
386
- console.info('Extracting package files...');
387
- }
388
- if (verbose) {
389
- console.log(`[verbose] extract: installing/resolving packages: ${packages.join(', ')}`);
390
- }
391
- const result = await (0, consumer_1.extract)(config);
392
- if (verbose) {
393
- console.log(`[verbose] extract: processing complete - added=${result.added.length} modified=${result.modified.length} deleted=${result.deleted.length} skipped=${result.skipped.length}`);
394
- }
395
- console.log(`Extraction complete: ${result.added.length} added, ${result.modified.length} modified, ${result.deleted.length} deleted, ${result.skipped.length} skipped${dryRun ? ' (dry run)' : ''}`);
396
- return 0;
397
- }
398
- if (command === 'check') {
399
- const relDir = node_path_1.default.relative(process.cwd(), config.outputDir) || '.';
400
- console.log(`Checking data from ${config.packages.join(', ')} against ${relDir}...`);
401
- if (verbose) {
402
- console.log(`[verbose] check: resolved output directory: ${config.outputDir}`);
403
- console.log(`[verbose] check: installing/resolving packages: ${config.packages.join(', ')}`);
404
- }
405
- const result = await (0, consumer_1.check)(config);
406
- if (verbose) {
407
- console.log(`[verbose] check: comparison complete, ${result.sourcePackages.length} package${result.sourcePackages.length === 1 ? '' : 's'} checked`);
408
- }
409
- for (const pkg of result.sourcePackages) {
410
- const pkgLabel = `${pkg.name}@${pkg.version}`;
411
- if (pkg.ok) {
412
- console.log(` ${pkgLabel}: in sync`);
413
- if (verbose) {
414
- console.log(`[verbose] check: package ${pkgLabel} - all files match`);
415
- }
416
- }
417
- else {
418
- console.log(` ${pkgLabel}: out of sync`);
419
- if (verbose) {
420
- console.log(`[verbose] check: package ${pkgLabel} - missing=${pkg.differences.missing.length} modified=${pkg.differences.modified.length} extra=${pkg.differences.extra.length}`);
421
- }
422
- for (const f of pkg.differences.missing)
423
- console.log(` - missing: ${f}`);
424
- for (const f of pkg.differences.modified)
425
- console.log(` ~ modified: ${f}`);
426
- for (const f of pkg.differences.extra)
427
- console.log(` + extra: ${f}`);
428
- }
429
- }
430
- if (result.ok) {
431
- console.log('All files are in sync');
432
- return 0;
433
- }
434
- console.log('Files are out of sync');
435
- return 2;
436
- }
437
- // unreachable, but satisfies TypeScript
438
- return 1;
439
- }
440
- function printUsage() {
441
- console.log(`
442
- npmdata
443
-
444
- Usage:
445
- npx npmdata [init|extract|check|purge|list] [options]
446
-
447
- Commands:
448
- init Initialize publishing configuration
449
- extract Extract files from one or more published packages
450
- check Verify if local files are in sync with packages
451
- purge Remove all managed files written by given packages
452
- list List all managed files in the output directory
453
-
454
- Global Options:
455
- --help, -h Show this help message
456
- --version Show version
457
- --verbose, -v Print detailed progress information for each step
458
-
459
- Init Options:
460
- --files <patterns> Comma-separated glob patterns of files to publish (required)
461
- e.g. "docs/**,data/**,configs/*.json"
462
- --packages <specs> Comma-separated additional package specs to use as data sources.
463
- Each spec is "name" or "name@version"
464
- e.g. "shared-data@^1.0.0,other-pkg@2.x"
465
- --unmanaged Mark all npmdata entries as unmanaged (see Extract options)
466
- --verbose, -v Print detailed progress information for each step
467
-
468
- Extract / Check Options:
469
- --packages <specs> Comma-separated package specs to extract from (required).
470
- Each spec is "name" or "name@version"
471
- e.g. "my-pkg@^1.2.3,other-pkg@2.x"
472
- --output, -o <dir> Output directory (default: current directory, with a warning)
473
- --force Allow overwriting existing unmanaged files
474
- --keep-existing Skip files that already exist in the output directory;
475
- create them when absent. Cannot be combined with --force
476
- --no-gitignore Skip creating/updating .gitignore (gitignore is enabled by default)
477
- --unmanaged Write files without a .npmdata marker, .gitignore update, or
478
- read-only flag. Existing files are skipped. Files can be freely
479
- edited afterwards and are not tracked by npmdata.
480
- --dry-run Simulate extraction without writing any files
481
- --upgrade Re-install packages even when a satisfying version is installed
482
- --silent Print only the final result line, suppressing package and file listing
483
- --verbose, -v Print detailed progress information for each step
484
- --files <pattern> Comma-separated shell glob patterns to filter files
485
- --content-regex <regex> Regex pattern to match file contents
486
-
487
- Purge Options:
488
- --packages <specs> Comma-separated package names whose managed files should be removed
489
- --output, -o <dir> Output directory to purge from (default: current directory)
490
- --dry-run Simulate purge without removing any files
491
- --silent Suppress per-file output
492
- --verbose, -v Print detailed progress information for each step
493
-
494
- List Options:
495
- --output, -o <dir> Directory to inspect (default: current directory)
496
- --verbose, -v Print detailed progress information for each step
497
-
498
- Examples:
499
- npx npmdata init --files "data/**,docs/**,configs/*.json"
500
- npx npmdata extract --packages mydataset --output ./data
501
- npx npmdata extract --packages mydataset@^2.0.0 --output ./data
502
- npx npmdata extract --packages "mydataset@^2.0.0,otherpkg@1.x" --output ./data
503
- npx npmdata extract --packages mydataset --dry-run --output ./data
504
- npx npmdata extract --packages mydataset --silent --output ./data
505
- npx npmdata extract --packages mydataset --upgrade --output ./data
506
- npx npmdata extract --packages mydataset --files "*.md,docs/**" --output ./docs
507
- npx npmdata check --packages mydataset --output ./data
508
- npx npmdata check --packages "mydataset,otherpkg" --output ./data
509
- npx npmdata list --output ./data
510
- npx npmdata purge --packages mydataset --output ./data
511
- npx npmdata purge --packages "mydataset,otherpkg" --output ./data
512
- `);
513
- }
514
- //# sourceMappingURL=cli.js.map
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- import { ConsumerConfig, ConsumerResult, CheckResult, ProgressEvent } from './types';
2
- /**
3
- * Optimise the list of managed file paths for use in .gitignore.
4
- * When every file inside a directory (recursively, excluding MARKER_FILE, GITIGNORE_FILE, and
5
- * symlinks) is present in managedPaths, the whole directory is represented as "dir/" rather than
6
- * listing each file individually. Root-level files (no slash) are always emitted as-is.
7
- *
8
- * @param managedPaths - Paths relative to outputDir (e.g. ["docs/guide.md", "README.md"])
9
- * @param outputDir - Absolute path to the root used to inspect actual disk contents
10
- */
11
- export declare function compressGitignoreEntries(managedPaths: string[], outputDir: string): string[];
12
- /**
13
- * Find the nearest .npmdata marker file by walking up from fromDir to outputDir (inclusive).
14
- * Returns the path to the marker file, or null if none found within the outputDir boundary.
15
- */
16
- export declare function findNearestMarkerPath(fromDir: string, outputDir: string): string | null;
17
- /**
18
- * Extract files from published packages to output directory.
19
- *
20
- * Phase 1 validates and installs every package before touching disk.
21
- * Phase 2 runs file extraction for all packages in parallel.
22
- * When dryRun is true no files are written; the result reflects what would change.
23
- */
24
- export declare function extract(config: ConsumerConfig): Promise<ConsumerResult>;
25
- /**
26
- * Check if managed files are in sync with published packages.
27
- *
28
- * Performs a bidirectional comparison:
29
- * - Files in the .npmdata marker that are missing from or modified in the output directory.
30
- * - Files present in the package (matching filters) that have not been extracted yet ("extra").
31
- *
32
- * If a version constraint is specified (e.g. "my-pkg@^1.0.0"), the installed version is
33
- * validated against it so stale installs are caught.
34
- */
35
- export declare function check(config: ConsumerConfig): Promise<CheckResult>;
36
- /**
37
- * Configuration for a purge operation.
38
- */
39
- export type PurgeConfig = {
40
- /**
41
- * Package names whose managed files should be removed.
42
- * Each entry is a bare package name ("my-pkg") or a name with a semver constraint
43
- * ("my-pkg@^1.2.3") – the version part is ignored; only the name is used for lookup.
44
- */
45
- packages: string[];
46
- /**
47
- * Output directory from which managed files will be removed.
48
- */
49
- outputDir: string;
50
- /**
51
- * When true, simulate the purge without writing anything to disk.
52
- */
53
- dryRun?: boolean;
54
- /**
55
- * Optional callback called for each file event during purge.
56
- */
57
- onProgress?: (event: ProgressEvent) => void;
58
- };
59
- /**
60
- * Remove all managed files previously extracted by the given packages from outputDir.
61
- * Reads .npmdata marker files to discover which files are owned by each package,
62
- * deletes them from disk, updates the marker files, and cleans up empty directories.
63
- * No package installation is required – only the local marker state is used.
64
- */
65
- export declare function purge(config: PurgeConfig): Promise<ConsumerResult>;
66
- /**
67
- * List all managed files currently extracted in outputDir, grouped by package.
68
- */
69
- export declare function list(outputDir: string): Array<{
70
- packageName: string;
71
- packageVersion: string;
72
- files: string[];
73
- }>;
74
- //# sourceMappingURL=consumer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,EAEX,aAAa,EAGd,MAAM,SAAS,CAAC;AAkGjB;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA4D5F;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBvF;AAqbD;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CA8D7E;AA2CD;;;;;;;;;GASG;AACH,wBAAsB,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAqGxE;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAsExE;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC,CAwBD"}