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.
- package/README.md +133 -58
- package/dist/cli/actions/check.d.ts +6 -0
- package/dist/cli/actions/check.d.ts.map +1 -0
- package/dist/cli/actions/check.js +57 -0
- package/dist/cli/actions/check.js.map +1 -0
- package/dist/cli/actions/extract.d.ts +7 -0
- package/dist/cli/actions/extract.d.ts.map +1 -0
- package/dist/cli/actions/extract.js +84 -0
- package/dist/cli/actions/extract.js.map +1 -0
- package/dist/cli/actions/init.d.ts +6 -0
- package/dist/cli/actions/init.d.ts.map +1 -0
- package/dist/cli/actions/init.js +36 -0
- package/dist/cli/actions/init.js.map +1 -0
- package/dist/cli/actions/list.d.ts +7 -0
- package/dist/cli/actions/list.d.ts.map +1 -0
- package/dist/cli/actions/list.js +42 -0
- package/dist/cli/actions/list.js.map +1 -0
- package/dist/cli/actions/purge.d.ts +6 -0
- package/dist/cli/actions/purge.d.ts.map +1 -0
- package/dist/cli/actions/purge.js +47 -0
- package/dist/cli/actions/purge.js.map +1 -0
- package/dist/cli/argv.d.ts +35 -0
- package/dist/cli/argv.d.ts.map +1 -0
- package/dist/cli/argv.js +125 -0
- package/dist/cli/argv.js.map +1 -0
- package/dist/cli/cli.d.ts +9 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.js +69 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/runner.d.ts +9 -0
- package/dist/cli/runner.d.ts.map +1 -0
- package/dist/cli/runner.js +106 -0
- package/dist/cli/runner.js.map +1 -0
- package/dist/cli/usage.d.ts +6 -0
- package/dist/cli/usage.d.ts.map +1 -0
- package/dist/cli/usage.js +126 -0
- package/dist/cli/usage.js.map +1 -0
- package/dist/fileset/check.d.ts +15 -0
- package/dist/fileset/check.d.ts.map +1 -0
- package/dist/fileset/check.js +68 -0
- package/dist/fileset/check.js.map +1 -0
- package/dist/fileset/constants.d.ts +13 -0
- package/dist/fileset/constants.d.ts.map +1 -0
- package/dist/fileset/constants.js +22 -0
- package/dist/fileset/constants.js.map +1 -0
- package/dist/fileset/diff.d.ts +16 -0
- package/dist/fileset/diff.d.ts.map +1 -0
- package/dist/fileset/diff.js +116 -0
- package/dist/fileset/diff.js.map +1 -0
- package/dist/fileset/execute.d.ts +29 -0
- package/dist/fileset/execute.d.ts.map +1 -0
- package/dist/fileset/execute.js +136 -0
- package/dist/fileset/execute.js.map +1 -0
- package/dist/fileset/gitignore.d.ts +16 -0
- package/dist/fileset/gitignore.d.ts.map +1 -0
- package/dist/fileset/gitignore.js +82 -0
- package/dist/fileset/gitignore.js.map +1 -0
- package/dist/fileset/index.d.ts +5 -0
- package/dist/fileset/index.d.ts.map +1 -0
- package/dist/fileset/index.js +21 -0
- package/dist/fileset/index.js.map +1 -0
- package/dist/fileset/list.d.ts +6 -0
- package/dist/fileset/list.d.ts.map +1 -0
- package/dist/fileset/list.js +11 -0
- package/dist/fileset/list.js.map +1 -0
- package/dist/fileset/markers.d.ts +22 -0
- package/dist/fileset/markers.d.ts.map +1 -0
- package/dist/fileset/markers.js +68 -0
- package/dist/fileset/markers.js.map +1 -0
- package/dist/fileset/package-files.d.ts +14 -0
- package/dist/fileset/package-files.d.ts.map +1 -0
- package/dist/fileset/package-files.js +81 -0
- package/dist/fileset/package-files.js.map +1 -0
- package/dist/fileset/purge.d.ts +12 -0
- package/dist/fileset/purge.d.ts.map +1 -0
- package/dist/fileset/purge.js +95 -0
- package/dist/fileset/purge.js.map +1 -0
- package/dist/fileset/test-utils.d.ts +12 -0
- package/dist/fileset/test-utils.d.ts.map +1 -0
- package/dist/fileset/test-utils.js +65 -0
- package/dist/fileset/test-utils.js.map +1 -0
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -17
- package/dist/index.js.map +1 -1
- package/dist/main.js +9 -16
- package/dist/main.js.map +1 -1
- package/dist/npmdata-0.0.1.tgz +0 -0
- package/dist/package/action-check.d.ts +20 -0
- package/dist/package/action-check.d.ts.map +1 -0
- package/dist/package/action-check.js +61 -0
- package/dist/package/action-check.js.map +1 -0
- package/dist/package/action-extract.d.ts +21 -0
- package/dist/package/action-extract.d.ts.map +1 -0
- package/dist/package/action-extract.js +186 -0
- package/dist/package/action-extract.js.map +1 -0
- package/dist/package/action-init.d.ts +13 -0
- package/dist/package/action-init.d.ts.map +1 -0
- package/dist/package/action-init.js +77 -0
- package/dist/package/action-init.js.map +1 -0
- package/dist/package/action-list.d.ts +14 -0
- package/dist/package/action-list.d.ts.map +1 -0
- package/dist/package/action-list.js +46 -0
- package/dist/package/action-list.js.map +1 -0
- package/dist/package/action-purge.d.ts +21 -0
- package/dist/package/action-purge.d.ts.map +1 -0
- package/dist/package/action-purge.js +60 -0
- package/dist/package/action-purge.js.map +1 -0
- package/dist/package/config-merge.d.ts +18 -0
- package/dist/package/config-merge.d.ts.map +1 -0
- package/dist/package/config-merge.js +48 -0
- package/dist/package/config-merge.js.map +1 -0
- package/dist/package/config.d.ts +13 -0
- package/dist/package/config.d.ts.map +1 -0
- package/dist/package/config.js +29 -0
- package/dist/package/config.js.map +1 -0
- package/dist/package/content-replacements.d.ts +21 -0
- package/dist/package/content-replacements.d.ts.map +1 -0
- package/dist/package/content-replacements.js +96 -0
- package/dist/package/content-replacements.js.map +1 -0
- package/dist/package/index.d.ts +10 -0
- package/dist/package/index.d.ts.map +1 -0
- package/dist/package/index.js +16 -0
- package/dist/package/index.js.map +1 -0
- package/dist/package/symlinks.d.ts +17 -0
- package/dist/package/symlinks.d.ts.map +1 -0
- package/dist/package/symlinks.js +125 -0
- package/dist/package/symlinks.js.map +1 -0
- package/dist/types.d.ts +184 -270
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -12
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +25 -55
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +82 -181
- package/dist/utils.js.map +1 -1
- package/package.json +5 -2
- package/dist/cli.d.ts +0 -6
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -514
- package/dist/cli.js.map +0 -1
- package/dist/consumer.d.ts +0 -74
- package/dist/consumer.d.ts.map +0 -1
- package/dist/consumer.js +0 -820
- package/dist/consumer.js.map +0 -1
- package/dist/publisher.d.ts +0 -38
- package/dist/publisher.d.ts.map +0 -1
- package/dist/publisher.js +0 -164
- package/dist/publisher.js.map +0 -1
- package/dist/runner.d.ts +0 -102
- package/dist/runner.d.ts.map +0 -1
- package/dist/runner.js +0 -748
- 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"}
|
package/dist/cli/argv.js
ADDED
|
@@ -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"}
|
package/dist/cli/cli.js
ADDED
|
@@ -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 @@
|
|
|
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"}
|