npmdata 0.2.2 → 0.4.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.
package/dist/runner.js CHANGED
@@ -3,95 +3,152 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildPurgeCommand = buildPurgeCommand;
7
+ exports.collectAllTags = collectAllTags;
8
+ exports.printHelp = printHelp;
9
+ exports.parseTagsFromArgv = parseTagsFromArgv;
10
+ exports.filterEntriesByTags = filterEntriesByTags;
6
11
  exports.run = run;
7
- /* eslint-disable functional/no-let */
12
+ /* eslint-disable no-restricted-syntax */
8
13
  const node_child_process_1 = require("node:child_process");
9
14
  const node_fs_1 = __importDefault(require("node:fs"));
10
15
  const node_path_1 = __importDefault(require("node:path"));
16
+ const utils_1 = require("./utils");
11
17
  /**
12
- * Returns the owning package name plus any additional packages listed in
13
- * `npmdata.additionalPackages` of the package.json at the given path.
18
+ * Extract just the package name (without version specifier) from a package spec string.
19
+ * Delegates to the shared parsePackageSpec utility.
14
20
  */
15
- function collectPackages(pkgJsonPath) {
16
- const pkg = JSON.parse(node_fs_1.default.readFileSync(pkgJsonPath).toString());
17
- const additional = pkg.npmdata?.additionalPackages ?? [];
18
- return [pkg.name, ...additional];
21
+ function parseEntryPackageName(spec) {
22
+ const { name } = (0, utils_1.parsePackageSpec)(spec);
23
+ return { name };
19
24
  }
20
- function parseArgs(extraArgs) {
21
- let outputDir;
22
- let force = false;
23
- let gitignore = false;
24
- let silent = false;
25
- let dryRun = false;
26
- let upgrade = false;
27
- let files;
28
- let contentRegex;
29
- for (let i = 0; i < extraArgs.length; i += 1) {
30
- if (extraArgs[i] === '--output' || extraArgs[i] === '-o') {
31
- outputDir = extraArgs[i + 1];
32
- i += 1;
33
- }
34
- else if (extraArgs[i] === '--force') {
35
- force = true;
36
- }
37
- else if (extraArgs[i] === '--gitignore') {
38
- gitignore = true;
39
- }
40
- else if (extraArgs[i] === '--silent') {
41
- silent = true;
42
- }
43
- else if (extraArgs[i] === '--dry-run') {
44
- dryRun = true;
45
- }
46
- else if (extraArgs[i] === '--upgrade') {
47
- upgrade = true;
48
- }
49
- else if (extraArgs[i] === '--files') {
50
- files = extraArgs[i + 1];
51
- i += 1;
52
- }
53
- else if (extraArgs[i] === '--content-regex') {
54
- contentRegex = extraArgs[i + 1];
55
- i += 1;
25
+ function buildExtractCommand(cliPath, entry) {
26
+ const outputFlag = ` --output "${entry.outputDir}"`;
27
+ const forceFlag = entry.force ? ' --force' : '';
28
+ const gitignoreFlag = entry.gitignore === false ? ' --no-gitignore' : '';
29
+ const unmanagedFlag = entry.unmanaged ? ' --unmanaged' : '';
30
+ const silentFlag = entry.silent ? ' --silent' : '';
31
+ const dryRunFlag = entry.dryRun ? ' --dry-run' : '';
32
+ const upgradeFlag = entry.upgrade ? ' --upgrade' : '';
33
+ const filesFlag = entry.files && entry.files.length > 0 ? ` --files "${entry.files.join(',')}"` : '';
34
+ const contentRegexFlag = entry.contentRegexes && entry.contentRegexes.length > 0
35
+ ? ` --content-regex "${entry.contentRegexes.join(',')}"`
36
+ : '';
37
+ return `node "${cliPath}" extract --packages "${entry.package}"${outputFlag}${forceFlag}${gitignoreFlag}${unmanagedFlag}${silentFlag}${dryRunFlag}${upgradeFlag}${filesFlag}${contentRegexFlag}`;
38
+ }
39
+ /**
40
+ * Build a CLI command string that purges (removes) all managed files for the entry's package
41
+ * from its output directory. No package installation is required.
42
+ */
43
+ function buildPurgeCommand(cliPath, entry) {
44
+ const { name } = parseEntryPackageName(entry.package);
45
+ const outputFlag = ` --output "${entry.outputDir}"`;
46
+ // Propagate silent/dry-run settings from the entry if present.
47
+ const silentFlag = entry.silent ? ' --silent' : '';
48
+ const dryRunFlag = entry.dryRun ? ' --dry-run' : '';
49
+ return `node "${cliPath}" purge --packages "${name}"${outputFlag}${silentFlag}${dryRunFlag}`;
50
+ }
51
+ /**
52
+ * Collects all unique tags that appear across the given npmdata entries, sorted alphabetically.
53
+ */
54
+ function collectAllTags(entries) {
55
+ const tagSet = new Set();
56
+ for (const entry of entries) {
57
+ if (entry.tags) {
58
+ for (const tag of entry.tags) {
59
+ tagSet.add(tag);
60
+ }
56
61
  }
57
62
  }
58
- return { outputDir, force, gitignore, silent, dryRun, upgrade, files, contentRegex };
63
+ return Array.from(tagSet).sort();
59
64
  }
60
65
  /**
61
- * Runs the npmdata CLI (extract or check) on behalf of a publishable package.
66
+ * Prints a help message to stdout, listing the extract action, all options, and available tags.
67
+ */
68
+ function printHelp(packageName, availableTags) {
69
+ const tagsLine = availableTags.length > 0 ? availableTags.join(', ') : '(none defined in package.json)';
70
+ const exampleTag = availableTags.length > 0 ? availableTags[0] : 'my-tag';
71
+ process.stdout.write([
72
+ `Usage: ${packageName} <action> [options]`,
73
+ '',
74
+ 'Actions:',
75
+ ' extract Extract files from the source package(s) defined in package.json',
76
+ '',
77
+ 'Options:',
78
+ ' --help Show this help message',
79
+ ' --tags <tag1,tag2> Limit extraction to entries whose tags overlap (comma-separated)',
80
+ '',
81
+ `Available tags: ${tagsLine}`,
82
+ '',
83
+ 'Examples:',
84
+ ` ${packageName} extract`,
85
+ ' Extract files for all entries defined in package.json',
86
+ '',
87
+ ` ${packageName} extract --tags ${exampleTag}`,
88
+ ` Extract files only for entries tagged "${exampleTag}"`,
89
+ '',
90
+ ].join('\n'));
91
+ }
92
+ /**
93
+ * Parses --tags from an argv array and returns the list of requested tags (split by comma).
94
+ * Returns an empty array when --tags is not present.
95
+ */
96
+ function parseTagsFromArgv(argv) {
97
+ const idx = argv.indexOf('--tags');
98
+ if (idx === -1 || idx + 1 >= argv.length) {
99
+ return [];
100
+ }
101
+ return argv[idx + 1]
102
+ .split(',')
103
+ .map((t) => t.trim())
104
+ .filter(Boolean);
105
+ }
106
+ /**
107
+ * Filter entries by requested tags. When no tags are requested all entries pass through.
108
+ * When tags are requested only entries that share at least one tag with the requested list
109
+ * are included.
110
+ */
111
+ function filterEntriesByTags(entries, requestedTags) {
112
+ if (requestedTags.length === 0) {
113
+ return entries;
114
+ }
115
+ return entries.filter((entry) => entry.tags && entry.tags.some((t) => requestedTags.includes(t)));
116
+ }
117
+ /**
118
+ * Runs extraction for each entry defined in the publishable package's package.json "npmdata" array.
119
+ * Invokes the npmdata CLI once per entry so that all CLI output and error handling is preserved.
62
120
  * Called from the minimal generated bin script with its own __dirname as binDir.
121
+ *
122
+ * Pass --tags <tag1,tag2> to limit extraction to entries whose tags overlap with the given list.
63
123
  */
64
- function run(binDir) {
124
+ function run(binDir, argv = process.argv) {
65
125
  const pkgJsonPath = node_path_1.default.join(binDir, '../package.json');
66
- const allPackages = collectPackages(pkgJsonPath);
67
- const fpCliPath = require.resolve('npmdata/dist/main.js', {
68
- paths: [binDir],
69
- });
70
- const action = process.argv[2] ?? 'extract';
71
- if (action !== 'extract' && action !== 'check' && action !== 'list') {
72
- process.stderr.write(`Invalid action: "${action}". Must be "extract", "check", or "list".\n`);
73
- // eslint-disable-next-line unicorn/no-process-exit
74
- process.exit(1);
126
+ const pkg = JSON.parse(node_fs_1.default.readFileSync(pkgJsonPath).toString());
127
+ const allEntries = pkg.npmdata && pkg.npmdata.length > 0 ? pkg.npmdata : [{ package: pkg.name, outputDir: '.' }];
128
+ const userArgs = argv.slice(2);
129
+ if (userArgs.length === 0 || userArgs.includes('--help')) {
130
+ printHelp(pkg.name, collectAllTags(allEntries));
131
+ return;
132
+ }
133
+ const action = userArgs[0];
134
+ if (action !== 'extract') {
135
+ process.stderr.write(`Error: unknown action '${action}'. Use 'extract'.\n\n`);
136
+ printHelp(pkg.name, collectAllTags(allEntries));
137
+ return;
75
138
  }
76
- const { outputDir, force, gitignore, silent, dryRun, upgrade, files, contentRegex } = parseArgs(process.argv.slice(3));
77
- const outputFlag = outputDir ? ` --output "${outputDir}"` : '';
78
- let command;
79
- if (action === 'list') {
80
- command = `node "${fpCliPath}" list${outputFlag}`;
139
+ const requestedTags = parseTagsFromArgv(argv);
140
+ const entries = filterEntriesByTags(allEntries, requestedTags);
141
+ const excludedEntries = requestedTags.length > 0 ? allEntries.filter((e) => !entries.includes(e)) : [];
142
+ const cliPath = require.resolve('npmdata/dist/main.js', { paths: [binDir] });
143
+ for (const entry of entries) {
144
+ const command = buildExtractCommand(cliPath, entry);
145
+ (0, node_child_process_1.execSync)(command, { stdio: 'inherit' });
81
146
  }
82
- else {
83
- const forceFlag = force ? ' --force' : '';
84
- const gitignoreFlag = gitignore ? ' --gitignore' : '';
85
- const silentFlag = silent ? ' --silent' : '';
86
- const dryRunFlag = dryRun ? ' --dry-run' : '';
87
- const upgradeFlag = upgrade ? ' --upgrade' : '';
88
- const filesFlag = files ? ` --files "${files}"` : '';
89
- const contentRegexFlag = contentRegex ? ` --content-regex "${contentRegex}"` : '';
90
- command = `node "${fpCliPath}" ${action} --packages "${allPackages.join(',')}"${outputFlag}${forceFlag}${gitignoreFlag}${silentFlag}${dryRunFlag}${upgradeFlag}${filesFlag}${contentRegexFlag}`;
147
+ // When a tag filter is active, purge managed files from excluded entries so that
148
+ // the output directory contains only files from the currently active tag group.
149
+ for (const entry of excludedEntries) {
150
+ const command = buildPurgeCommand(cliPath, entry);
151
+ (0, node_child_process_1.execSync)(command, { stdio: 'inherit' });
91
152
  }
92
- process.on('uncaughtException', () => {
93
- process.exit(3);
94
- });
95
- (0, node_child_process_1.execSync)(command, { stdio: 'inherit' });
96
153
  }
97
154
  //# sourceMappingURL=runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -72,10 +72,19 @@ export type ConsumerConfig = FileFilterConfig & {
72
72
  */
73
73
  cwd?: string;
74
74
  /**
75
- * Automatically create/update a .gitignore file alongside each .publisher marker file,
76
- * adding the managed files and the .publisher file itself to be ignored by git.
75
+ * Automatically create/update a .gitignore file alongside each .npmdata marker file,
76
+ * adding the managed files and the .npmdata file itself to be ignored by git.
77
+ * Defaults to true. Set to false to disable.
77
78
  */
78
79
  gitignore?: boolean;
80
+ /**
81
+ * When true, write files to disk without creating a .npmdata marker, without
82
+ * updating .gitignore, and without making files read-only. Files written with
83
+ * this flag are not tracked by npmdata and can be freely edited by the user.
84
+ * When a destination file already exists it is left untouched and reported as
85
+ * skipped. Takes precedence over force.
86
+ */
87
+ unmanaged?: boolean;
79
88
  /**
80
89
  * When true, simulate extraction without writing anything to disk.
81
90
  * The returned ConsumerResult reflects what would have changed.
@@ -145,7 +154,7 @@ export type CheckResult = {
145
154
  */
146
155
  differences: {
147
156
  /**
148
- * Files that are in the .publisher marker but missing from the output directory
157
+ * Files that are in the .npmdata marker but missing from the output directory
149
158
  */
150
159
  missing: string[];
151
160
  /**
@@ -172,15 +181,62 @@ export type CheckResult = {
172
181
  }>;
173
182
  };
174
183
  /**
175
- * npmdata-specific configuration stored inside the publishable package.json
184
+ * A single extraction entry defined in the publishable package.json "npmdata" array.
185
+ * The runner iterates over these entries and calls extract() for each one.
176
186
  */
177
- export type NpmdataConfig = {
187
+ export type NpmdataExtractEntry = {
188
+ /**
189
+ * Package spec to install and extract from. Either a bare name ("my-pkg") or a
190
+ * name with a semver constraint ("my-pkg@^1.2.3").
191
+ */
192
+ package: string;
193
+ /**
194
+ * Output directory where files will be extracted, relative to where the consumer
195
+ * runs the command (e.g. "./data" or "src/generated").
196
+ */
197
+ outputDir: string;
198
+ /**
199
+ * Glob patterns to filter which files are extracted (e.g. ["data/**", "*.json"]).
200
+ * Defaults to all files when not set.
201
+ */
202
+ files?: string[];
203
+ /**
204
+ * Allow overwriting existing unmanaged files (default: false).
205
+ */
206
+ force?: boolean;
207
+ /**
208
+ * Create/update a .gitignore file alongside each .npmdata marker file (default: false).
209
+ */
210
+ gitignore?: boolean;
211
+ /**
212
+ * Write files without creating a .npmdata marker, updating .gitignore, or making
213
+ * files read-only. Existing files are skipped rather than overwritten (default: false).
214
+ */
215
+ unmanaged?: boolean;
216
+ /**
217
+ * Simulate extraction without writing anything to disk (default: false).
218
+ */
219
+ dryRun?: boolean;
220
+ /**
221
+ * Force a fresh install of the package even when a satisfying version is already
222
+ * installed (default: false).
223
+ */
224
+ upgrade?: boolean;
225
+ /**
226
+ * Suppress per-file output, printing only the final result line (default: false).
227
+ */
228
+ silent?: boolean;
229
+ /**
230
+ * Regex patterns (as strings) to filter files by content. Only files whose content
231
+ * matches at least one pattern are extracted.
232
+ */
233
+ contentRegexes?: string[];
178
234
  /**
179
- * Additional package specs to include as data sources when the CLI script runs.
180
- * Each entry is a bare package name ("my-pkg") or a name with a semver constraint
181
- * ("my-pkg@^1.2.3"). These are merged with the package's own name when extracting.
235
+ * Tags used to group and selectively run entries. When the data package is invoked with
236
+ * --tags, only entries whose tags list includes at least one of the requested tags are
237
+ * processed. Entries with no tags are always skipped when a tag filter is active.
182
238
  */
183
- additionalPackages?: string[];
239
+ tags?: string[];
184
240
  };
185
241
  /**
186
242
  * Package.json for a publishable project
@@ -193,7 +249,7 @@ export type PublishablePackageJson = {
193
249
  bin?: string;
194
250
  files?: string[];
195
251
  dependencies?: Record<string, string>;
196
- npmdata?: NpmdataConfig;
252
+ npmdata?: NpmdataExtractEntry[];
197
253
  [key: string]: unknown;
198
254
  };
199
255
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -56,13 +56,13 @@ export declare function readJsonFile<T>(filePath: string): T;
56
56
  */
57
57
  export declare function writeJsonFile(filePath: string, data: unknown): void;
58
58
  /**
59
- * Read the .publisher marker file.
59
+ * Read the .npmdata marker file.
60
60
  * Supports both the current pipe-delimited format and the legacy comma-delimited format
61
61
  * (detected automatically for backward compatibility).
62
62
  */
63
63
  export declare function readCsvMarker(filePath: string): ManagedFileMetadata[];
64
64
  /**
65
- * Write the .publisher marker file using the pipe-delimited format.
65
+ * Write the .npmdata marker file using the pipe-delimited format.
66
66
  */
67
67
  export declare function writeCsvMarker(filePath: string, data: ManagedFileMetadata[]): void;
68
68
  //# sourceMappingURL=utils.d.ts.map
package/dist/utils.js CHANGED
@@ -206,7 +206,7 @@ function writeJsonFile(filePath, data) {
206
206
  }
207
207
  const MARKER_DELIMITER = '|';
208
208
  /**
209
- * Read the .publisher marker file.
209
+ * Read the .npmdata marker file.
210
210
  * Supports both the current pipe-delimited format and the legacy comma-delimited format
211
211
  * (detected automatically for backward compatibility).
212
212
  */
@@ -226,7 +226,7 @@ function readCsvMarker(filePath) {
226
226
  });
227
227
  }
228
228
  /**
229
- * Write the .publisher marker file using the pipe-delimited format.
229
+ * Write the .npmdata marker file using the pipe-delimited format.
230
230
  */
231
231
  function writeCsvMarker(filePath, data) {
232
232
  ensureDir(node_path_1.default.dirname(filePath));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npmdata",
3
- "version": "0.2.2",
3
+ "version": "0.4.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "bin": "dist/main.js",
@@ -8,7 +8,8 @@
8
8
  "files": [
9
9
  "dist/**",
10
10
  "package.json",
11
- "README.md"
11
+ "README.md",
12
+ "bin/npmdata.js"
12
13
  ],
13
14
  "packageManager": "pnpm@8.9.0+sha512.ef8859938e1f0537b9fcf0309044311392f3b38b344176e6cd4fdee21b225524b0ac2a1b08ae2ae2ddd5b3ff4b8ca496d6778e950f3e7c9f555b81325982441c",
14
15
  "scripts": {},