npmdata 0.1.6-beta.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/README.md +46 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +207 -0
- package/dist/cli.js.map +1 -0
- package/dist/consumer.d.ts +14 -0
- package/dist/consumer.d.ts.map +1 -0
- package/dist/consumer.js +478 -0
- package/dist/consumer.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +20 -0
- package/dist/main.js.map +1 -0
- package/dist/npmdata-0.0.1.tgz +0 -0
- package/dist/publisher.d.ts +17 -0
- package/dist/publisher.d.ts.map +1 -0
- package/dist/publisher.js +112 -0
- package/dist/publisher.js.map +1 -0
- package/dist/runner.d.ts +6 -0
- package/dist/runner.d.ts.map +1 -0
- package/dist/runner.js +65 -0
- package/dist/runner.js.map +1 -0
- package/dist/types.d.ts +130 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +15 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +51 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +196 -0
- package/dist/utils.js.map +1 -0
- package/package.json +54 -0
package/README.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# npmdata — Developer Notes
|
|
2
|
+
|
|
3
|
+
This document covers the internal architecture for contributors working on this library.
|
|
4
|
+
|
|
5
|
+
## Module overview
|
|
6
|
+
|
|
7
|
+
| Module | Purpose |
|
|
8
|
+
|---|---|
|
|
9
|
+
| `publisher.ts` | `initPublisher()` — scaffolds a publishable package (updates `package.json`, generates bin script) |
|
|
10
|
+
| `consumer.ts` | `extract()` and `check()` — installs a package from the registry, copies files, manages marker files |
|
|
11
|
+
| `runner.ts` | Entry point injected into the generated bin script; delegates to the CLI |
|
|
12
|
+
| `cli.ts` / `main.ts` | CLI parsing and top-level entry point |
|
|
13
|
+
| `utils.ts` | File I/O helpers: glob matching via `minimatch`, SHA-256 hashing, CSV marker read/write, package manager detection |
|
|
14
|
+
| `types.ts` | Shared TypeScript types and constants (e.g. `DEFAULT_FILENAME_PATTERNS`) |
|
|
15
|
+
|
|
16
|
+
## Publish side (`publisher.ts`)
|
|
17
|
+
|
|
18
|
+
`initPublisher()` modifies the target `package.json` to include `files`, `bin`, and `dependencies` fields, then writes a thin `bin/npmdata.js` that calls `runner.run(__dirname)`. The generated script is kept minimal on purpose — all logic lives in this library.
|
|
19
|
+
|
|
20
|
+
## Consumer side (`consumer.ts`)
|
|
21
|
+
|
|
22
|
+
`extract()` flow:
|
|
23
|
+
1. Detects the package manager (`pnpm` / `yarn` / `npm`) via lock-file presence.
|
|
24
|
+
2. Runs `<pm> add <package>@<version>` in a temp location to resolve the package.
|
|
25
|
+
3. Iterates matching files (glob + optional content regex) from the installed package.
|
|
26
|
+
4. Copies files into `outputDir`, tracking state in a `.publisher` CSV marker file per output directory.
|
|
27
|
+
5. Optionally writes a `.gitignore` section around the managed files.
|
|
28
|
+
|
|
29
|
+
`check()` performs the same resolution but compares SHA-256 hashes without writing any files.
|
|
30
|
+
|
|
31
|
+
## Marker file (`.publisher`)
|
|
32
|
+
|
|
33
|
+
Each output directory that contains managed files gets a `.publisher` CSV file. Columns: `path`, `packageName`, `packageVersion`, `sha256`. This is the source of truth for drift detection and clean removal.
|
|
34
|
+
|
|
35
|
+
## Key design decisions
|
|
36
|
+
|
|
37
|
+
- No runtime dependencies beyond `semver` and `minimatch` to keep the consumer install footprint small.
|
|
38
|
+
- File identity is tracked by path + hash, not by timestamp, to be deterministic across machines.
|
|
39
|
+
- The bin script generated by `initPublisher` contains no logic; all behaviour is versioned inside this library.
|
|
40
|
+
|
|
41
|
+
## Dev workflow
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
make build lint-fix test
|
|
45
|
+
```
|
|
46
|
+
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAcA;;GAEG;AAEH,wBAAsB,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA6KhE"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
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
|
+
const utils_1 = require("./utils");
|
|
17
|
+
/**
|
|
18
|
+
* CLI for npmdata
|
|
19
|
+
*/
|
|
20
|
+
// eslint-disable-next-line complexity
|
|
21
|
+
async function cli(processArgs) {
|
|
22
|
+
const args = processArgs.slice(2);
|
|
23
|
+
if (args.length === 0) {
|
|
24
|
+
printUsage();
|
|
25
|
+
return 1;
|
|
26
|
+
}
|
|
27
|
+
const command = args[0];
|
|
28
|
+
// Handle global help and version flags
|
|
29
|
+
if (command === '--help' || command === '-h') {
|
|
30
|
+
printUsage();
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
if (command === '--version' || command === '-v') {
|
|
34
|
+
const pkg = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(__dirname, '../package.json')).toString());
|
|
35
|
+
console.log(pkg.version);
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
38
|
+
// Handle init command
|
|
39
|
+
if (command === 'init') {
|
|
40
|
+
// eslint-disable-next-line functional/no-let
|
|
41
|
+
let sourceFoldersFlag;
|
|
42
|
+
// Parse args for --folders flag
|
|
43
|
+
// eslint-disable-next-line functional/no-let
|
|
44
|
+
for (let i = 1; i < args.length; i += 1) {
|
|
45
|
+
if (args[i] === '--folders') {
|
|
46
|
+
// eslint-disable-next-line no-plusplus
|
|
47
|
+
sourceFoldersFlag = args[++i];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// --folders is required
|
|
51
|
+
if (!sourceFoldersFlag) {
|
|
52
|
+
console.error('Error: --folders option is required for init command');
|
|
53
|
+
printUsage();
|
|
54
|
+
return 1;
|
|
55
|
+
}
|
|
56
|
+
const folders = sourceFoldersFlag.split(',').map((f) => f.trim());
|
|
57
|
+
const result = await (0, publisher_1.initPublisher)(folders);
|
|
58
|
+
if (!result.success) {
|
|
59
|
+
console.error(`\n✗ Error: ${result.message}`);
|
|
60
|
+
return 1;
|
|
61
|
+
}
|
|
62
|
+
console.log(`\n✓ ${result.message}`);
|
|
63
|
+
if (result.publishedFolders) {
|
|
64
|
+
console.log(`\nThe following folders will be published: ${result.publishedFolders.join(', ')}`);
|
|
65
|
+
}
|
|
66
|
+
return 0;
|
|
67
|
+
}
|
|
68
|
+
// Consumer commands (extract, check)
|
|
69
|
+
if (!['extract', 'check'].includes(command)) {
|
|
70
|
+
console.error(`Error: unknown command '${command}'. Use 'init', 'extract', or 'check'`);
|
|
71
|
+
printUsage();
|
|
72
|
+
return 1;
|
|
73
|
+
}
|
|
74
|
+
// Parse options
|
|
75
|
+
let packageName;
|
|
76
|
+
let version;
|
|
77
|
+
let force = false;
|
|
78
|
+
let gitignore = false;
|
|
79
|
+
let filenamePatterns;
|
|
80
|
+
let contentRegexes;
|
|
81
|
+
let outDir = process.cwd();
|
|
82
|
+
for (let i = 1; i < args.length; i++) {
|
|
83
|
+
if (args[i] === '--package' || args[i] === '-p') {
|
|
84
|
+
packageName = args[++i];
|
|
85
|
+
}
|
|
86
|
+
else if (args[i] === '--version') {
|
|
87
|
+
version = args[++i];
|
|
88
|
+
}
|
|
89
|
+
else if (args[i] === '--force') {
|
|
90
|
+
force = true;
|
|
91
|
+
}
|
|
92
|
+
else if (args[i] === '--gitignore') {
|
|
93
|
+
gitignore = true;
|
|
94
|
+
}
|
|
95
|
+
else if (args[i] === '--files') {
|
|
96
|
+
filenamePatterns = args[++i];
|
|
97
|
+
}
|
|
98
|
+
else if (args[i] === '--content-regex') {
|
|
99
|
+
contentRegexes = args[++i];
|
|
100
|
+
}
|
|
101
|
+
else if (args[i] === '--output' || args[i] === '-o') {
|
|
102
|
+
outDir = args[++i];
|
|
103
|
+
}
|
|
104
|
+
else if (!args[i].startsWith('-')) {
|
|
105
|
+
outDir = args[i];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (!packageName) {
|
|
109
|
+
console.error(`Error: --package option is required for '${command}' command`);
|
|
110
|
+
printUsage();
|
|
111
|
+
return 1;
|
|
112
|
+
}
|
|
113
|
+
const config = {
|
|
114
|
+
packageName,
|
|
115
|
+
version,
|
|
116
|
+
outputDir: node_path_1.default.resolve(outDir),
|
|
117
|
+
force,
|
|
118
|
+
gitignore,
|
|
119
|
+
filenamePatterns: filenamePatterns
|
|
120
|
+
? filenamePatterns.split(',')
|
|
121
|
+
: // eslint-disable-next-line no-undefined
|
|
122
|
+
undefined,
|
|
123
|
+
contentRegexes: contentRegexes
|
|
124
|
+
? contentRegexes.split(',').map((r) => new RegExp(r))
|
|
125
|
+
: // eslint-disable-next-line no-undefined
|
|
126
|
+
undefined,
|
|
127
|
+
};
|
|
128
|
+
if (command === 'extract') {
|
|
129
|
+
const installedVersion = (0, utils_1.getInstalledPackageVersion)(config.packageName, config.cwd);
|
|
130
|
+
const relDir = node_path_1.default.relative(process.cwd(), config.outputDir) || '.';
|
|
131
|
+
console.info(`Extracting files from ${config.packageName}${installedVersion ? `@${installedVersion}` : ''} to '${relDir}'...`);
|
|
132
|
+
const result = await (0, consumer_1.extract)(config);
|
|
133
|
+
const allChanged = [
|
|
134
|
+
...result.added.map((f) => `A\t${f}`),
|
|
135
|
+
...result.modified.map((f) => `M\t${f}`),
|
|
136
|
+
...result.deleted.map((f) => `D\t${f}`),
|
|
137
|
+
];
|
|
138
|
+
if (allChanged.length > 0) {
|
|
139
|
+
console.log('');
|
|
140
|
+
for (const line of allChanged)
|
|
141
|
+
console.log(line);
|
|
142
|
+
}
|
|
143
|
+
console.log(`\nExtraction complete: ${result.added.length} added, ${result.modified.length} modified, ${result.deleted.length} deleted, ${result.skipped.length} skipped`);
|
|
144
|
+
return 0;
|
|
145
|
+
}
|
|
146
|
+
if (command === 'check') {
|
|
147
|
+
const installedVersion = (0, utils_1.getInstalledPackageVersion)(config.packageName, config.cwd);
|
|
148
|
+
const relDir = node_path_1.default.relative(process.cwd(), config.outputDir) || '.';
|
|
149
|
+
console.log(`\nChecking data from ${config.packageName}${installedVersion ? `@${installedVersion}` : ''} against ${relDir}...`);
|
|
150
|
+
const result = await (0, consumer_1.check)(config);
|
|
151
|
+
if (result.ok) {
|
|
152
|
+
console.log('✓ All files are in sync');
|
|
153
|
+
return 0;
|
|
154
|
+
}
|
|
155
|
+
console.log('✗ Files are out of sync:');
|
|
156
|
+
if (result.differences.missing.length > 0) {
|
|
157
|
+
console.log('\nMissing files:');
|
|
158
|
+
for (const f of result.differences.missing)
|
|
159
|
+
console.log(` - ${f}`);
|
|
160
|
+
}
|
|
161
|
+
if (result.differences.modified.length > 0) {
|
|
162
|
+
console.log('\nModified files:');
|
|
163
|
+
for (const f of result.differences.modified)
|
|
164
|
+
console.log(` ~ ${f}`);
|
|
165
|
+
}
|
|
166
|
+
return 2;
|
|
167
|
+
}
|
|
168
|
+
// unreachable, but satisfies TypeScript
|
|
169
|
+
return 1;
|
|
170
|
+
}
|
|
171
|
+
function printUsage() {
|
|
172
|
+
console.log(`
|
|
173
|
+
npmdata
|
|
174
|
+
|
|
175
|
+
Usage:
|
|
176
|
+
npx npmdata [init|extract|check] [options]
|
|
177
|
+
|
|
178
|
+
Commands:
|
|
179
|
+
init Initialize publishing configuration
|
|
180
|
+
extract Extract files from a published package
|
|
181
|
+
check Verify if local files are in sync with a package
|
|
182
|
+
|
|
183
|
+
Global Options:
|
|
184
|
+
--help, -h Show this help message
|
|
185
|
+
--version, -v Show version
|
|
186
|
+
|
|
187
|
+
Init Options:
|
|
188
|
+
--folders <folders> Comma-separated list of source folders to publish (required)
|
|
189
|
+
|
|
190
|
+
Extract / Check Options:
|
|
191
|
+
--package, -p <name> Package name to extract from (required)
|
|
192
|
+
--version <version> Version constraint (e.g., "1.0.0", "^1.0.0")
|
|
193
|
+
--force Allow overwriting existing files
|
|
194
|
+
--gitignore Create/update .gitignore files to ignore managed files and .publisher
|
|
195
|
+
--files <pattern> Comma-separated shell glob patterns
|
|
196
|
+
--content-regex <regex> Regex pattern to match file contents
|
|
197
|
+
--output, -o <dir> Output directory (default: current directory)
|
|
198
|
+
|
|
199
|
+
Examples:
|
|
200
|
+
npx npmdata init --folders "data,docs,config"
|
|
201
|
+
npx npmdata extract --package mydataset --output ./data
|
|
202
|
+
npx npmdata extract --package mydataset --version "^2.0.0" --output ./data
|
|
203
|
+
npx npmdata extract --package mydataset --files "*.md,docs/**" --output ./docs
|
|
204
|
+
npx npmdata check --package mydataset --output ./data
|
|
205
|
+
`);
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ConsumerConfig, ConsumerResult, CheckResult } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Extract files from published package to output directory
|
|
4
|
+
*/
|
|
5
|
+
export declare function extract(config: ConsumerConfig): Promise<ConsumerResult>;
|
|
6
|
+
/**
|
|
7
|
+
* Check if managed files are in sync with the published package.
|
|
8
|
+
*
|
|
9
|
+
* Uses the .publisher marker as the source of truth: reads entries for the
|
|
10
|
+
* specific package, applies the --files filter, then compares each entry
|
|
11
|
+
* against the installed package contents and the output directory.
|
|
12
|
+
*/
|
|
13
|
+
export declare function check(config: ConsumerConfig): Promise<CheckResult>;
|
|
14
|
+
//# sourceMappingURL=consumer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,EAGZ,MAAM,SAAS,CAAC;AA8djB;;GAEG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CA4B7E;AAED;;;;;;GAMG;AACH,wBAAsB,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAsDxE"}
|