npmdata 0.15.6 → 0.18.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 +119 -146
- package/dist/cli/actions/check.d.ts.map +1 -1
- package/dist/cli/actions/check.js +3 -4
- package/dist/cli/actions/check.js.map +1 -1
- package/dist/cli/actions/extract.d.ts.map +1 -1
- package/dist/cli/actions/extract.js +2 -3
- package/dist/cli/actions/extract.js.map +1 -1
- package/dist/cli/actions/init.js +1 -1
- package/dist/cli/actions/init.js.map +1 -1
- package/dist/cli/argv.d.ts +13 -8
- package/dist/cli/argv.d.ts.map +1 -1
- package/dist/cli/argv.js +40 -33
- package/dist/cli/argv.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +20 -3
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/usage.d.ts.map +1 -1
- package/dist/cli/usage.js +8 -3
- package/dist/cli/usage.js.map +1 -1
- package/dist/fileset/check.d.ts.map +1 -1
- package/dist/fileset/check.js +8 -4
- package/dist/fileset/check.js.map +1 -1
- package/dist/fileset/diff.d.ts.map +1 -1
- package/dist/fileset/diff.js +12 -11
- package/dist/fileset/diff.js.map +1 -1
- package/dist/fileset/execute.d.ts.map +1 -1
- package/dist/fileset/execute.js +6 -5
- package/dist/fileset/execute.js.map +1 -1
- package/dist/fileset/markers.d.ts +3 -3
- package/dist/fileset/markers.js +5 -5
- package/dist/fileset/purge.d.ts +7 -1
- package/dist/fileset/purge.d.ts.map +1 -1
- package/dist/fileset/purge.js +17 -16
- package/dist/fileset/purge.js.map +1 -1
- package/dist/npmdata-0.0.1.tgz +0 -0
- package/dist/package/action-check.d.ts +2 -2
- package/dist/package/action-check.d.ts.map +1 -1
- package/dist/package/action-check.js +58 -4
- package/dist/package/action-check.js.map +1 -1
- package/dist/package/action-extract.d.ts +1 -2
- package/dist/package/action-extract.d.ts.map +1 -1
- package/dist/package/action-extract.js +15 -6
- package/dist/package/action-extract.js.map +1 -1
- package/dist/package/action-purge.d.ts +7 -0
- package/dist/package/action-purge.d.ts.map +1 -1
- package/dist/package/action-purge.js +116 -19
- package/dist/package/action-purge.js.map +1 -1
- package/dist/package/config.d.ts +7 -0
- package/dist/package/config.d.ts.map +1 -1
- package/dist/package/config.js +21 -0
- package/dist/package/config.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +2 -1
package/dist/cli/argv.js
CHANGED
|
@@ -9,21 +9,27 @@ const utils_1 = require("../utils");
|
|
|
9
9
|
* Validates mutually exclusive combinations and throws on invalid input.
|
|
10
10
|
*/
|
|
11
11
|
function parseArgv(argv) {
|
|
12
|
-
const
|
|
12
|
+
const getBoolFlag = (flag) => {
|
|
13
|
+
for (const arg of argv) {
|
|
14
|
+
if (arg === flag)
|
|
15
|
+
return true;
|
|
16
|
+
if (arg === `${flag}=true`)
|
|
17
|
+
return true;
|
|
18
|
+
if (arg === `${flag}=false`)
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
};
|
|
13
23
|
const getValue = (flag, shortFlag) => {
|
|
14
|
-
// eslint-disable-next-line no-undefined
|
|
15
24
|
const idx = argv.findIndex((a) => a === flag || (shortFlag !== undefined && a === shortFlag));
|
|
16
25
|
if (idx === -1 || idx + 1 >= argv.length) {
|
|
17
|
-
// eslint-disable-next-line no-undefined
|
|
18
26
|
return undefined;
|
|
19
27
|
}
|
|
20
28
|
return argv[idx + 1];
|
|
21
29
|
};
|
|
22
30
|
const getCommaSplit = (flag, shortFlag) => {
|
|
23
31
|
const val = getValue(flag, shortFlag);
|
|
24
|
-
// eslint-disable-next-line no-undefined
|
|
25
32
|
if (val === undefined) {
|
|
26
|
-
// eslint-disable-next-line no-undefined
|
|
27
33
|
return undefined;
|
|
28
34
|
}
|
|
29
35
|
return val
|
|
@@ -31,27 +37,29 @@ function parseArgv(argv) {
|
|
|
31
37
|
.map((s) => s.trim())
|
|
32
38
|
.filter(Boolean);
|
|
33
39
|
};
|
|
34
|
-
const force =
|
|
35
|
-
const keepExisting =
|
|
36
|
-
if (force && keepExisting) {
|
|
40
|
+
const force = getBoolFlag('--force');
|
|
41
|
+
const keepExisting = getBoolFlag('--keep-existing');
|
|
42
|
+
if (force === true && keepExisting === true) {
|
|
37
43
|
throw new Error('--force and --keep-existing are mutually exclusive');
|
|
38
44
|
}
|
|
39
45
|
const packagesRaw = getCommaSplit('--packages');
|
|
40
46
|
const packages = packagesRaw?.map((s) => (0, utils_1.parsePackageSpec)(s));
|
|
47
|
+
const verboseFlag = getBoolFlag('--verbose');
|
|
41
48
|
return {
|
|
42
49
|
packages,
|
|
43
50
|
output: getValue('--output', '-o'),
|
|
44
51
|
files: getCommaSplit('--files'),
|
|
45
52
|
contentRegexes: getCommaSplit('--content-regex'),
|
|
46
53
|
presets: getCommaSplit('--presets'),
|
|
54
|
+
configFile: getValue('--config'),
|
|
47
55
|
force,
|
|
48
56
|
keepExisting,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
dryRun:
|
|
52
|
-
upgrade:
|
|
53
|
-
silent:
|
|
54
|
-
verbose:
|
|
57
|
+
gitignore: getBoolFlag('--gitignore'),
|
|
58
|
+
managed: getBoolFlag('--managed'),
|
|
59
|
+
dryRun: getBoolFlag('--dry-run'),
|
|
60
|
+
upgrade: getBoolFlag('--upgrade'),
|
|
61
|
+
silent: getBoolFlag('--silent'),
|
|
62
|
+
verbose: argv.includes('-v') ? true : verboseFlag,
|
|
55
63
|
};
|
|
56
64
|
}
|
|
57
65
|
/**
|
|
@@ -74,22 +82,22 @@ function buildEntriesFromArgv(parsed) {
|
|
|
74
82
|
// selector.presets is also forwarded to the target package's nested set extraction.
|
|
75
83
|
if (parsed.presets)
|
|
76
84
|
selector.presets = parsed.presets;
|
|
77
|
-
if (parsed.upgrade)
|
|
78
|
-
selector.upgrade =
|
|
85
|
+
if (parsed.upgrade !== undefined)
|
|
86
|
+
selector.upgrade = parsed.upgrade;
|
|
79
87
|
const output = {
|
|
80
|
-
path: parsed.output
|
|
81
|
-
force: parsed.force,
|
|
82
|
-
keepExisting: parsed.keepExisting,
|
|
83
|
-
gitignore:
|
|
84
|
-
unmanaged: parsed.
|
|
85
|
-
dryRun: parsed.dryRun,
|
|
88
|
+
...(parsed.output !== undefined ? { path: parsed.output } : {}),
|
|
89
|
+
...(parsed.force !== undefined ? { force: parsed.force } : {}),
|
|
90
|
+
...(parsed.keepExisting !== undefined ? { keepExisting: parsed.keepExisting } : {}),
|
|
91
|
+
...(parsed.gitignore !== undefined ? { gitignore: parsed.gitignore } : {}),
|
|
92
|
+
...(parsed.managed !== undefined ? { unmanaged: parsed.managed === false } : {}),
|
|
93
|
+
...(parsed.dryRun !== undefined ? { dryRun: parsed.dryRun } : {}),
|
|
86
94
|
};
|
|
87
95
|
return parsed.packages.map((pkg) => ({
|
|
88
96
|
package: pkg.version ? `${pkg.name}@${pkg.version}` : pkg.name,
|
|
89
97
|
output,
|
|
90
98
|
selector,
|
|
91
|
-
silent: parsed.silent,
|
|
92
|
-
verbose: parsed.verbose,
|
|
99
|
+
...(parsed.silent !== undefined ? { silent: parsed.silent } : {}),
|
|
100
|
+
...(parsed.verbose !== undefined ? { verbose: parsed.verbose } : {}),
|
|
93
101
|
}));
|
|
94
102
|
}
|
|
95
103
|
/**
|
|
@@ -100,26 +108,25 @@ function applyArgvOverrides(entries, parsed) {
|
|
|
100
108
|
return entries.map((entry) => {
|
|
101
109
|
const updatedOutput = {
|
|
102
110
|
...entry.output,
|
|
103
|
-
// eslint-disable-next-line no-undefined
|
|
104
111
|
...(parsed.output !== undefined ? { path: parsed.output } : {}),
|
|
105
|
-
...(parsed.force ? { force:
|
|
106
|
-
...(parsed.keepExisting ? { keepExisting:
|
|
107
|
-
...(parsed.
|
|
108
|
-
...(parsed.
|
|
109
|
-
...(parsed.dryRun ? { dryRun:
|
|
112
|
+
...(parsed.force !== undefined ? { force: parsed.force } : {}),
|
|
113
|
+
...(parsed.keepExisting !== undefined ? { keepExisting: parsed.keepExisting } : {}),
|
|
114
|
+
...(parsed.gitignore !== undefined ? { gitignore: parsed.gitignore } : {}),
|
|
115
|
+
...(parsed.managed !== undefined ? { unmanaged: parsed.managed === false } : {}),
|
|
116
|
+
...(parsed.dryRun !== undefined ? { dryRun: parsed.dryRun } : {}),
|
|
110
117
|
};
|
|
111
118
|
const updatedSelector = {
|
|
112
119
|
...entry.selector,
|
|
113
120
|
...(parsed.files ? { files: parsed.files } : {}),
|
|
114
121
|
...(parsed.contentRegexes ? { contentRegexes: parsed.contentRegexes } : {}),
|
|
115
|
-
...(parsed.upgrade ? { upgrade:
|
|
122
|
+
...(parsed.upgrade !== undefined ? { upgrade: parsed.upgrade } : {}),
|
|
116
123
|
};
|
|
117
124
|
return {
|
|
118
125
|
...entry,
|
|
119
126
|
output: updatedOutput,
|
|
120
127
|
selector: updatedSelector,
|
|
121
|
-
...(parsed.silent ? { silent:
|
|
122
|
-
...(parsed.verbose ? { verbose:
|
|
128
|
+
...(parsed.silent !== undefined ? { silent: parsed.silent } : {}),
|
|
129
|
+
...(parsed.verbose !== undefined ? { verbose: parsed.verbose } : {}),
|
|
123
130
|
};
|
|
124
131
|
});
|
|
125
132
|
}
|
package/dist/cli/argv.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAeA;;;;;;;GAOG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyD3F;AAgCD,wBAAgB,6BAA6B,IAAI,IAAI,CAUpD"}
|
package/dist/cli/cli.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.cli = cli;
|
|
4
7
|
exports.setupUncaughtExceptionHandler = setupUncaughtExceptionHandler;
|
|
5
8
|
/* eslint-disable no-console */
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
6
10
|
const config_1 = require("../package/config");
|
|
7
11
|
const usage_1 = require("./usage");
|
|
8
12
|
const extract_1 = require("./actions/extract");
|
|
@@ -48,9 +52,22 @@ async function cli(argv, cwd, configCwd) {
|
|
|
48
52
|
// Load config from cwd, unless --packages is specified (CLI-only mode)
|
|
49
53
|
const effectiveCwd = cwd ?? process.cwd();
|
|
50
54
|
const effectiveConfigCwd = configCwd ?? effectiveCwd;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
// Detect --config from full args (works regardless of position relative to command)
|
|
56
|
+
const configFlagIdx = args.indexOf('--config');
|
|
57
|
+
const configFilePath = configFlagIdx !== -1 && configFlagIdx + 1 < args.length
|
|
58
|
+
? args[configFlagIdx + 1]
|
|
59
|
+
: // eslint-disable-next-line no-undefined
|
|
60
|
+
undefined;
|
|
61
|
+
let config;
|
|
62
|
+
if (configFilePath) {
|
|
63
|
+
config = await (0, config_1.loadNpmdataConfigFile)(node_path_1.default.resolve(effectiveCwd, configFilePath));
|
|
64
|
+
}
|
|
65
|
+
else if (action !== 'presets' && cmdArgs.includes('--packages')) {
|
|
66
|
+
config = null; // eslint-disable-line unicorn/no-null
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
config = await (0, config_1.loadNpmdataConfig)(effectiveConfigCwd);
|
|
70
|
+
}
|
|
54
71
|
try {
|
|
55
72
|
await dispatch(action, config, cmdArgs, effectiveCwd);
|
|
56
73
|
return 0;
|
package/dist/cli/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/usage.d.ts.map
CHANGED
|
@@ -1 +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,
|
|
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,CA2IjD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAGnC"}
|
package/dist/cli/usage.js
CHANGED
|
@@ -23,11 +23,12 @@ Options:
|
|
|
23
23
|
--content-regex <re> Comma-separated regex strings for content filtering.
|
|
24
24
|
--force Overwrite existing unmanaged files.
|
|
25
25
|
--keep-existing Skip files that already exist; create missing ones.
|
|
26
|
-
--
|
|
27
|
-
--
|
|
26
|
+
--gitignore [bool] Enable/disable .gitignore update (default: true). Use --gitignore=false to disable.
|
|
27
|
+
--managed [bool] Enable/disable managed mode (default: true). Use --managed=false to write without .npmdata marker.
|
|
28
28
|
--dry-run Report changes without writing to disk.
|
|
29
29
|
--upgrade Force fresh package install even if satisfying version installed.
|
|
30
30
|
--presets <tags> Comma-separated preset tags; only matching entries are processed.
|
|
31
|
+
--config <file> Path to a config file (overrides auto-discovered .npmdatarc / package.json).
|
|
31
32
|
--silent Suppress per-file output; print only final summary line.
|
|
32
33
|
--verbose, -v Print detailed step information.
|
|
33
34
|
--help Print this help text.
|
|
@@ -47,8 +48,9 @@ Options:
|
|
|
47
48
|
--output, -o <dir> Output directory path.
|
|
48
49
|
--files <globs> Glob patterns for file selection.
|
|
49
50
|
--content-regex <re> Regex strings for content filtering.
|
|
50
|
-
--
|
|
51
|
+
--managed [bool] Silently skip unmanaged entries. Use --managed=false.
|
|
51
52
|
--presets <tags> Comma-separated preset tags; only matching entries are checked.
|
|
53
|
+
--config <file> Path to a config file (overrides auto-discovered .npmdatarc / package.json).
|
|
52
54
|
--verbose, -v Print detailed comparison information.
|
|
53
55
|
--help Print this help text.
|
|
54
56
|
|
|
@@ -63,6 +65,7 @@ Print all files currently managed by npmdata in the output directory.
|
|
|
63
65
|
|
|
64
66
|
Options:
|
|
65
67
|
--output, -o <dir> Output directory to inspect.
|
|
68
|
+
--config <file> Path to a config file (overrides auto-discovered .npmdatarc / package.json).
|
|
66
69
|
--verbose, -v Print additional metadata per file.
|
|
67
70
|
--help Print this help text.
|
|
68
71
|
|
|
@@ -81,6 +84,7 @@ Options:
|
|
|
81
84
|
--output, -o <dir> Output directory to purge.
|
|
82
85
|
--presets <tags> Comma-separated preset tags; only matching entries are purged.
|
|
83
86
|
--dry-run Print what would be removed without deleting.
|
|
87
|
+
--config <file> Path to a config file (overrides auto-discovered .npmdatarc / package.json).
|
|
84
88
|
--silent Suppress per-file output.
|
|
85
89
|
--verbose, -v Print detailed deletion steps.
|
|
86
90
|
--help Print this help text.
|
|
@@ -112,6 +116,7 @@ Presets are declared in each entry's "presets" field and can be used
|
|
|
112
116
|
to selectively run extract, check, list, or purge via --presets <tag>.
|
|
113
117
|
|
|
114
118
|
Options:
|
|
119
|
+
--config <file> Path to a config file (overrides auto-discovered .npmdatarc / package.json).
|
|
115
120
|
--help Print this help text.
|
|
116
121
|
|
|
117
122
|
Output format: one preset per line, sorted alphabetically
|
package/dist/cli/usage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":";AAAA,+BAA+B;;AAO/B,
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":";AAAA,+BAA+B;;AAO/B,gCA2IC;AAED,oCAGC;AArJD,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;;;;;;;;;;;;;;;;;;;;;;;;CAwBjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;CAiBjB,CAAC,CAAC;YACG,MAAM;QAER,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;CAajB,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,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;CAajB,CAAC,CAAC;YACG,MAAM;QAER;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;WAYP,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/fileset/check.ts"],"names":[],"mappings":"AAGA,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,
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/fileset/check.ts"],"names":[],"mappings":"AAGA,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,CAuDtB"}
|
package/dist/fileset/check.js
CHANGED
|
@@ -55,10 +55,14 @@ async function checkFileset(pkgPath, outputDir, selector, outputConfig, marker)
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
// Find extra files: in filtered package source but never extracted (not in marker)
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
// Find extra files: in filtered package source but never extracted (not in marker).
|
|
59
|
+
// Only perform this check when the marker is non-empty; an empty marker means no
|
|
60
|
+
// extraction has taken place or everything was purged, so there is nothing to drift.
|
|
61
|
+
if (marker.length > 0) {
|
|
62
|
+
for (const relPath of pkgFiles) {
|
|
63
|
+
if (!managedByPath.has(relPath)) {
|
|
64
|
+
result.extra.push(relPath);
|
|
65
|
+
}
|
|
62
66
|
}
|
|
63
67
|
}
|
|
64
68
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/fileset/check.ts"],"names":[],"mappings":";;;;;AA2BA,
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/fileset/check.ts"],"names":[],"mappings":";;;;;AA2BA,oCA6DC;AAxFD,0DAA6B;AAC7B,sDAAyB;AASzB,oCAAgD;AAChD,0EAAmF;AAEnF,mDAAwD;AAExD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,YAAY,CAChC,OAAsB,EACtB,SAAiB,EACjB,QAAwB,EACxB,YAA0B,EAC1B,MAA6B;IAE7B,MAAM,mBAAmB,GAA+B,YAAY,CAAC,mBAAmB,IAAI,EAAE,CAAC;IAE/F,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,wBAAwB;QACxB,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClC,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAA8B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3F,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAAqB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,MAAM,GAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAErE,0BAA0B;IAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,iDAAiD;QACjD,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,iBAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACpD,MAAM,WAAW,GAAG,IAAA,uDAAgC,EAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;YACtF,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;YAExC,MAAM,QAAQ,GAAG,MAAM,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAC;YAE1C,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,iFAAiF;IACjF,qFAAqF;IACrF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/fileset/diff.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAMlB;;;;;;;;;;;;GAYG;AACH,wBAAsB,IAAI,CACxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,mBAAmB,EAAE,EACrC,mBAAmB,EAAE,wBAAwB,EAAE,GAC9C,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/fileset/diff.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAMlB;;;;;;;;;;;;GAYG;AACH,wBAAsB,IAAI,CACxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,mBAAmB,EAAE,EACrC,mBAAmB,EAAE,wBAAwB,EAAE,GAC9C,OAAO,CAAC,aAAa,CAAC,CAoFxB"}
|
package/dist/fileset/diff.js
CHANGED
|
@@ -75,9 +75,7 @@ async function diff(pkgPath, outputDir, selector, outputConfig, existingMarker,
|
|
|
75
75
|
continue;
|
|
76
76
|
}
|
|
77
77
|
// Managed file — compare hashes
|
|
78
|
-
const
|
|
79
|
-
const transformedContent = (0, content_replacements_1.applyContentReplacementsToBuffer)(srcContent.toString(), contentReplacements);
|
|
80
|
-
const srcHash = hashBuffer(transformedContent);
|
|
78
|
+
const srcHash = await hashSrcWithReplacements(srcPath, contentReplacements);
|
|
81
79
|
const destHash = await (0, utils_1.hashFile)(destPath);
|
|
82
80
|
if (srcHash === destHash) {
|
|
83
81
|
result.toSkip.push({ relPath, reason: 'keep-existing' });
|
|
@@ -86,16 +84,22 @@ async function diff(pkgPath, outputDir, selector, outputConfig, existingMarker,
|
|
|
86
84
|
result.toModify.push({ relPath, sourcePath: srcPath, destPath, hash: srcHash });
|
|
87
85
|
}
|
|
88
86
|
}
|
|
89
|
-
// Find managed files that are no longer in the filtered package source
|
|
90
|
-
for
|
|
91
|
-
|
|
92
|
-
|
|
87
|
+
// Find managed files that are no longer in the filtered package source.
|
|
88
|
+
// Skip for unmanaged sets: they must not delete files managed by other sets
|
|
89
|
+
// (unmanaged sets only add missing files and never take ownership of the marker).
|
|
90
|
+
if (!outputConfig.unmanaged) {
|
|
91
|
+
for (const managed of existingMarker) {
|
|
92
|
+
if (!pkgFileSet.has(managed.path)) {
|
|
93
|
+
result.toDelete.push(managed.path);
|
|
94
|
+
}
|
|
93
95
|
}
|
|
94
96
|
}
|
|
95
97
|
return result;
|
|
96
98
|
}
|
|
97
99
|
async function hashSrcWithReplacements(srcPath, contentReplacements) {
|
|
98
|
-
|
|
100
|
+
// For binary files and when no replacements are configured, hash raw bytes
|
|
101
|
+
// so the result is consistent with hashFile() used for the destination.
|
|
102
|
+
if (contentReplacements.length === 0 || (0, utils_1.isBinaryFile)(srcPath))
|
|
99
103
|
return (0, utils_1.hashFile)(srcPath);
|
|
100
104
|
const content = node_fs_1.default.readFileSync(srcPath, 'utf8');
|
|
101
105
|
const transformed = (0, content_replacements_1.applyContentReplacementsToBuffer)(content, contentReplacements);
|
|
@@ -104,7 +108,4 @@ async function hashSrcWithReplacements(srcPath, contentReplacements) {
|
|
|
104
108
|
function hashString(content) {
|
|
105
109
|
return node_crypto_1.default.createHash('sha256').update(content).digest('hex');
|
|
106
110
|
}
|
|
107
|
-
function hashBuffer(content) {
|
|
108
|
-
return hashString(content);
|
|
109
|
-
}
|
|
110
111
|
//# sourceMappingURL=diff.js.map
|
package/dist/fileset/diff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/fileset/diff.ts"],"names":[],"mappings":";;;;;AA6BA,
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/fileset/diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAOlB;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,mBAAmB,EAAE,EAErC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAOlB;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,mBAAmB,EAAE,EAErC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC,CA2GxB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvF;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE"}
|
package/dist/fileset/execute.js
CHANGED
|
@@ -45,7 +45,7 @@ async function execute(map, outputDir, outputConfig, pkg, pkgVersion, existingMa
|
|
|
45
45
|
// Write toAdd files
|
|
46
46
|
for (const op of map.toAdd) {
|
|
47
47
|
if (verbose) {
|
|
48
|
-
console.log(`[verbose] execute: adding file ${op.
|
|
48
|
+
console.log(`[verbose] execute: adding file ${op.destPath}`);
|
|
49
49
|
}
|
|
50
50
|
if (!dryRun) {
|
|
51
51
|
(0, utils_1.ensureDir)(node_path_1.default.dirname(op.destPath));
|
|
@@ -64,7 +64,7 @@ async function execute(map, outputDir, outputConfig, pkg, pkgVersion, existingMa
|
|
|
64
64
|
// Write toModify files
|
|
65
65
|
for (const op of map.toModify) {
|
|
66
66
|
if (verbose) {
|
|
67
|
-
console.log(`[verbose] execute: modifying file ${op.
|
|
67
|
+
console.log(`[verbose] execute: modifying file ${op.destPath}`);
|
|
68
68
|
}
|
|
69
69
|
if (!dryRun) {
|
|
70
70
|
(0, utils_1.ensureDir)(node_path_1.default.dirname(op.destPath));
|
|
@@ -78,9 +78,10 @@ async function execute(map, outputDir, outputConfig, pkg, pkgVersion, existingMa
|
|
|
78
78
|
}
|
|
79
79
|
result.modified += 1;
|
|
80
80
|
}
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
|
|
81
|
+
// Deletions are deferred: action-extract performs them after all filesets are
|
|
82
|
+
// processed and counts them independently via deferredDeletes.length.
|
|
83
|
+
// ExecuteResult.deleted is intentionally left at 0 here to avoid double-counting.
|
|
84
|
+
// result.deleted = 0; (already initialised to 0 above)
|
|
84
85
|
// Update marker and gitignore
|
|
85
86
|
if (!dryRun && !unmanaged) {
|
|
86
87
|
const marker = (0, markers_1.markerPath)(outputDir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":";;;;;AAmCA,
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":";;;;;AAmCA,0BAqHC;AAMD,kCAgBC;AAKD,4BAEC;AArLD,+BAA+B;AAC/B,sDAAyB;AACzB,0DAA6B;AAS7B,oCAAqC;AACrC,0EAA2E;AAE3E,uCAAoD;AACpD,2CAA6C;AAE7C;;;;;;;;;;;;;;;;GAgBG;AACH,sCAAsC;AAC/B,KAAK,UAAU,OAAO,CAC3B,GAAkB,EAClB,SAAiB,EACjB,YAA0B,EAC1B,GAAkB,EAClB,UAAkB,EAClB,cAAqC,EAErC,IAAa,EACb,OAAiB;IAEjB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,KAAK,CAAC;IAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,KAAK,CAAC;IAClD,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,KAAK,KAAK,CAAC;IAEzD,MAAM,MAAM,GAAkB;QAC5B,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;KAC3B,CAAC;IAEF,oBAAoB;IACpB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAA,iBAAS,EAAC,mBAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrC,uEAAuE;YACvE,IAAI,iBAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,iBAAE,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,iBAAE,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,iBAAE,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY;YAChD,CAAC;YACD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,uBAAuB;IACvB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAA,iBAAS,EAAC,mBAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrC,IAAI,iBAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,iBAAE,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,mCAAmC;YACvE,CAAC;YACD,iBAAE,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,iBAAE,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY;YAChD,CAAC;QACH,CAAC;QACD,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,8EAA8E;IAC9E,sEAAsE;IACtE,kFAAkF;IAClF,uDAAuD;IAEvD,8BAA8B;IAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAA,oBAAU,EAAC,SAAS,CAAC,CAAC;QACrC,sCAAsC;QACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;YACzB,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;YACpC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;SACxC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,cAAc,GAA0B,cAAc,CAAC,MAAM,CACjE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CACjE,CAAC;QAEF,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,cAAc,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,EAAE,CAAC,OAAO;gBAChB,WAAW,EAAE,GAAG,CAAC,IAAI;gBACrB,cAAc,EAAE,UAAU;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CACT,6CAA6C,MAAM,KAAK,cAAc,CAAC,MAAM,WAAW,CACzF,CAAC;QACJ,CAAC;QACD,MAAM,IAAA,qBAAW,EAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE1C,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CACT,6CAA6C,SAAS,KAAK,YAAY,CAAC,MAAM,SAAS,CACxF,CAAC;YACJ,CAAC;YACD,MAAM,IAAA,0BAAc,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,mBAAmB,IAAI,YAAY,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/F,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CACT,+BAA+B,YAAY,CAAC,mBAAmB,CAAC,MAAM,8BAA8B,SAAS,EAAE,CAChH,CAAC;QACJ,CAAC;QACD,MAAM,IAAA,+CAAwB,EAAC,SAAS,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,WAAW,CAAC,SAAmB,EAAE,OAAiB;IACtE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC;YACH,iBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9B,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oDAAoD;YACpD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,uCAAuC,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,QAAQ,CAAC,YAAsB;IACnD,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ManagedFileMetadata } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Read all managed file entries from a .npmdata marker file.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Format: path|packageName|packageVersion — one row per file, no header.
|
|
5
|
+
* Pipe is used as separator so file paths containing commas are handled safely.
|
|
6
6
|
*/
|
|
7
7
|
export declare function readMarker(markerFilePath: string): Promise<ManagedFileMetadata[]>;
|
|
8
8
|
/**
|
|
9
9
|
* Write managed file entries to a .npmdata marker file.
|
|
10
|
-
*
|
|
10
|
+
* Format: path|packageName|packageVersion — one row per file, no header.
|
|
11
11
|
* Makes the file read-only after writing.
|
|
12
12
|
*/
|
|
13
13
|
export declare function writeMarker(markerFilePath: string, entries: ManagedFileMetadata[]): Promise<void>;
|
package/dist/fileset/markers.js
CHANGED
|
@@ -13,8 +13,8 @@ const utils_1 = require("../utils");
|
|
|
13
13
|
const constants_1 = require("./constants");
|
|
14
14
|
/**
|
|
15
15
|
* Read all managed file entries from a .npmdata marker file.
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* Format: path|packageName|packageVersion — one row per file, no header.
|
|
17
|
+
* Pipe is used as separator so file paths containing commas are handled safely.
|
|
18
18
|
*/
|
|
19
19
|
async function readMarker(markerFilePath) {
|
|
20
20
|
if (!node_fs_1.default.existsSync(markerFilePath)) {
|
|
@@ -23,7 +23,7 @@ async function readMarker(markerFilePath) {
|
|
|
23
23
|
const content = node_fs_1.default.readFileSync(markerFilePath, 'utf8');
|
|
24
24
|
const lines = content.split('\n').filter((line) => line.trim() !== '');
|
|
25
25
|
return lines.map((line) => {
|
|
26
|
-
const fields = line.split('
|
|
26
|
+
const fields = line.split('|');
|
|
27
27
|
return {
|
|
28
28
|
path: fields[0] ?? '',
|
|
29
29
|
packageName: fields[1] ?? '',
|
|
@@ -33,7 +33,7 @@ async function readMarker(markerFilePath) {
|
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Write managed file entries to a .npmdata marker file.
|
|
36
|
-
*
|
|
36
|
+
* Format: path|packageName|packageVersion — one row per file, no header.
|
|
37
37
|
* Makes the file read-only after writing.
|
|
38
38
|
*/
|
|
39
39
|
async function writeMarker(markerFilePath, entries) {
|
|
@@ -49,7 +49,7 @@ async function writeMarker(markerFilePath, entries) {
|
|
|
49
49
|
}
|
|
50
50
|
return;
|
|
51
51
|
}
|
|
52
|
-
const rows = entries.map((e) => `${e.path}
|
|
52
|
+
const rows = entries.map((e) => `${e.path}|${e.packageName}|${e.packageVersion}`);
|
|
53
53
|
node_fs_1.default.writeFileSync(markerFilePath, `${rows.join('\n')}\n`, 'utf8');
|
|
54
54
|
node_fs_1.default.chmodSync(markerFilePath, 0o444);
|
|
55
55
|
}
|
package/dist/fileset/purge.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { ManagedFileMetadata, PurgeResult } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Purge all managed files in entries from the output directory.
|
|
4
|
-
* Also removes symlinks, empty directories, marker
|
|
4
|
+
* Also removes symlinks, empty directories, and cleans up marker / gitignore entries.
|
|
5
|
+
*
|
|
6
|
+
* Marker update: only the paths listed in `entries` are removed from the marker.
|
|
7
|
+
* Entries belonging to other packages that share the same output directory are
|
|
8
|
+
* preserved. The marker file is deleted only when it becomes empty.
|
|
9
|
+
*
|
|
10
|
+
* Gitignore update: only entries for the purged paths are removed.
|
|
5
11
|
*
|
|
6
12
|
* @param outputDir Absolute path to the output directory.
|
|
7
13
|
* @param entries List of managed file entries to remove.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"purge.d.ts","sourceRoot":"","sources":["../../src/fileset/purge.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAO5D
|
|
1
|
+
{"version":3,"file":"purge.d.ts","sourceRoot":"","sources":["../../src/fileset/purge.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAO5D;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,WAAW,CAAC,CAyCtB"}
|
package/dist/fileset/purge.js
CHANGED
|
@@ -12,7 +12,13 @@ const gitignore_1 = require("./gitignore");
|
|
|
12
12
|
const constants_1 = require("./constants");
|
|
13
13
|
/**
|
|
14
14
|
* Purge all managed files in entries from the output directory.
|
|
15
|
-
* Also removes symlinks, empty directories, marker
|
|
15
|
+
* Also removes symlinks, empty directories, and cleans up marker / gitignore entries.
|
|
16
|
+
*
|
|
17
|
+
* Marker update: only the paths listed in `entries` are removed from the marker.
|
|
18
|
+
* Entries belonging to other packages that share the same output directory are
|
|
19
|
+
* preserved. The marker file is deleted only when it becomes empty.
|
|
20
|
+
*
|
|
21
|
+
* Gitignore update: only entries for the purged paths are removed.
|
|
16
22
|
*
|
|
17
23
|
* @param outputDir Absolute path to the output directory.
|
|
18
24
|
* @param entries List of managed file entries to remove.
|
|
@@ -23,7 +29,7 @@ async function purgeFileset(outputDir, entries, dryRun) {
|
|
|
23
29
|
const result = { deleted: 0, symlinksRemoved: 0, dirsRemoved: 0 };
|
|
24
30
|
if (!node_fs_1.default.existsSync(outputDir))
|
|
25
31
|
return result;
|
|
26
|
-
// 1. Delete managed files
|
|
32
|
+
// 1. Delete managed files from disk
|
|
27
33
|
for (const entry of entries) {
|
|
28
34
|
const fullPath = node_path_1.default.join(outputDir, entry.path);
|
|
29
35
|
if (node_fs_1.default.existsSync(fullPath)) {
|
|
@@ -44,20 +50,15 @@ async function purgeFileset(outputDir, entries, dryRun) {
|
|
|
44
50
|
result.symlinksRemoved = await (0, symlinks_1.removeAllSymlinks)(outputDir);
|
|
45
51
|
// 3. Remove empty directories bottom-up
|
|
46
52
|
result.dirsRemoved = removeEmptyDirs(outputDir);
|
|
47
|
-
// 4.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
// 5. Remove gitignore entries
|
|
59
|
-
const removedPaths = entries.map((e) => e.path);
|
|
60
|
-
await (0, gitignore_1.removeFromGitignore)(outputDir, removedPaths);
|
|
53
|
+
// 4. Update marker: remove only the paths that were part of this purge operation.
|
|
54
|
+
// Entries from other packages sharing this output directory are preserved.
|
|
55
|
+
// The marker file is deleted automatically by writeMarker when it becomes empty.
|
|
56
|
+
const purgedPaths = new Set(entries.map((e) => e.path));
|
|
57
|
+
const currentMarkerEntries = await (0, markers_1.readMarker)((0, markers_1.markerPath)(outputDir));
|
|
58
|
+
const updatedMarkerEntries = currentMarkerEntries.filter((e) => !purgedPaths.has(e.path));
|
|
59
|
+
await (0, markers_1.writeMarker)((0, markers_1.markerPath)(outputDir), updatedMarkerEntries);
|
|
60
|
+
// 5. Remove gitignore entries only for the purged paths
|
|
61
|
+
await (0, gitignore_1.removeFromGitignore)(outputDir, [...purgedPaths]);
|
|
61
62
|
}
|
|
62
63
|
return result;
|
|
63
64
|
}
|