npmdata 0.16.0 → 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.
Files changed (44) hide show
  1. package/README.md +119 -146
  2. package/dist/cli/actions/check.d.ts.map +1 -1
  3. package/dist/cli/actions/check.js +3 -4
  4. package/dist/cli/actions/check.js.map +1 -1
  5. package/dist/cli/actions/extract.d.ts.map +1 -1
  6. package/dist/cli/actions/extract.js +2 -3
  7. package/dist/cli/actions/extract.js.map +1 -1
  8. package/dist/cli/actions/init.js +1 -1
  9. package/dist/cli/actions/init.js.map +1 -1
  10. package/dist/cli/argv.d.ts +12 -8
  11. package/dist/cli/argv.d.ts.map +1 -1
  12. package/dist/cli/argv.js +39 -33
  13. package/dist/cli/argv.js.map +1 -1
  14. package/dist/cli/usage.js +3 -3
  15. package/dist/fileset/check.d.ts.map +1 -1
  16. package/dist/fileset/check.js +8 -4
  17. package/dist/fileset/check.js.map +1 -1
  18. package/dist/fileset/diff.d.ts.map +1 -1
  19. package/dist/fileset/diff.js +4 -7
  20. package/dist/fileset/diff.js.map +1 -1
  21. package/dist/fileset/execute.d.ts.map +1 -1
  22. package/dist/fileset/execute.js +6 -5
  23. package/dist/fileset/execute.js.map +1 -1
  24. package/dist/fileset/markers.d.ts +3 -3
  25. package/dist/fileset/markers.js +5 -5
  26. package/dist/fileset/purge.d.ts +7 -1
  27. package/dist/fileset/purge.d.ts.map +1 -1
  28. package/dist/fileset/purge.js +17 -16
  29. package/dist/fileset/purge.js.map +1 -1
  30. package/dist/npmdata-0.0.1.tgz +0 -0
  31. package/dist/package/action-check.d.ts +2 -2
  32. package/dist/package/action-check.d.ts.map +1 -1
  33. package/dist/package/action-check.js +58 -4
  34. package/dist/package/action-check.js.map +1 -1
  35. package/dist/package/action-extract.d.ts +1 -2
  36. package/dist/package/action-extract.d.ts.map +1 -1
  37. package/dist/package/action-extract.js +15 -6
  38. package/dist/package/action-extract.js.map +1 -1
  39. package/dist/package/action-purge.d.ts +7 -0
  40. package/dist/package/action-purge.d.ts.map +1 -1
  41. package/dist/package/action-purge.js +116 -19
  42. package/dist/package/action-purge.js.map +1 -1
  43. package/dist/types.d.ts +1 -1
  44. 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 getFlag = (flag) => argv.includes(flag);
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,13 +37,14 @@ function parseArgv(argv) {
31
37
  .map((s) => s.trim())
32
38
  .filter(Boolean);
33
39
  };
34
- const force = getFlag('--force');
35
- const keepExisting = getFlag('--keep-existing');
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'),
@@ -47,12 +54,12 @@ function parseArgv(argv) {
47
54
  configFile: getValue('--config'),
48
55
  force,
49
56
  keepExisting,
50
- noGitignore: getFlag('--no-gitignore'),
51
- unmanaged: getFlag('--unmanaged'),
52
- dryRun: getFlag('--dry-run'),
53
- upgrade: getFlag('--upgrade'),
54
- silent: getFlag('--silent'),
55
- verbose: getFlag('--verbose') || getFlag('-v'),
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,
56
63
  };
57
64
  }
58
65
  /**
@@ -75,22 +82,22 @@ function buildEntriesFromArgv(parsed) {
75
82
  // selector.presets is also forwarded to the target package's nested set extraction.
76
83
  if (parsed.presets)
77
84
  selector.presets = parsed.presets;
78
- if (parsed.upgrade)
79
- selector.upgrade = true;
85
+ if (parsed.upgrade !== undefined)
86
+ selector.upgrade = parsed.upgrade;
80
87
  const output = {
81
- path: parsed.output ?? '.',
82
- force: parsed.force,
83
- keepExisting: parsed.keepExisting,
84
- gitignore: !parsed.noGitignore,
85
- unmanaged: parsed.unmanaged,
86
- 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 } : {}),
87
94
  };
88
95
  return parsed.packages.map((pkg) => ({
89
96
  package: pkg.version ? `${pkg.name}@${pkg.version}` : pkg.name,
90
97
  output,
91
98
  selector,
92
- silent: parsed.silent,
93
- verbose: parsed.verbose,
99
+ ...(parsed.silent !== undefined ? { silent: parsed.silent } : {}),
100
+ ...(parsed.verbose !== undefined ? { verbose: parsed.verbose } : {}),
94
101
  }));
95
102
  }
96
103
  /**
@@ -101,26 +108,25 @@ function applyArgvOverrides(entries, parsed) {
101
108
  return entries.map((entry) => {
102
109
  const updatedOutput = {
103
110
  ...entry.output,
104
- // eslint-disable-next-line no-undefined
105
111
  ...(parsed.output !== undefined ? { path: parsed.output } : {}),
106
- ...(parsed.force ? { force: true } : {}),
107
- ...(parsed.keepExisting ? { keepExisting: true } : {}),
108
- ...(parsed.noGitignore ? { gitignore: false } : {}),
109
- ...(parsed.unmanaged ? { unmanaged: true } : {}),
110
- ...(parsed.dryRun ? { dryRun: true } : {}),
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 } : {}),
111
117
  };
112
118
  const updatedSelector = {
113
119
  ...entry.selector,
114
120
  ...(parsed.files ? { files: parsed.files } : {}),
115
121
  ...(parsed.contentRegexes ? { contentRegexes: parsed.contentRegexes } : {}),
116
- ...(parsed.upgrade ? { upgrade: true } : {}),
122
+ ...(parsed.upgrade !== undefined ? { upgrade: parsed.upgrade } : {}),
117
123
  };
118
124
  return {
119
125
  ...entry,
120
126
  output: updatedOutput,
121
127
  selector: updatedSelector,
122
- ...(parsed.silent ? { silent: true } : {}),
123
- ...(parsed.verbose ? { verbose: true } : {}),
128
+ ...(parsed.silent !== undefined ? { silent: parsed.silent } : {}),
129
+ ...(parsed.verbose !== undefined ? { verbose: parsed.verbose } : {}),
124
130
  };
125
131
  });
126
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"argv.js","sourceRoot":"","sources":["../../src/cli/argv.ts"],"names":[],"mappings":"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"}
package/dist/cli/usage.js CHANGED
@@ -23,8 +23,8 @@ 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
- --no-gitignore Disable .gitignore update alongside each marker.
27
- --unmanaged Write without .npmdata marker; no gitignore; no read-only.
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.
@@ -48,7 +48,7 @@ Options:
48
48
  --output, -o <dir> Output directory path.
49
49
  --files <globs> Glob patterns for file selection.
50
50
  --content-regex <re> Regex strings for content filtering.
51
- --unmanaged Silently skip unmanaged entries.
51
+ --managed [bool] Silently skip unmanaged entries. Use --managed=false.
52
52
  --presets <tags> Comma-separated preset tags; only matching entries are checked.
53
53
  --config <file> Path to a config file (overrides auto-discovered .npmdatarc / package.json).
54
54
  --verbose, -v Print detailed comparison information.
@@ -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,CAmDtB"}
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"}
@@ -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
- for (const relPath of pkgFiles) {
60
- if (!managedByPath.has(relPath)) {
61
- result.extra.push(relPath);
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,oCAyDC;AApFD,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,mFAAmF;IACnF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
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,CA0FxB"}
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"}
@@ -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 srcContent = node_fs_1.default.readFileSync(srcPath);
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' });
@@ -99,7 +97,9 @@ async function diff(pkgPath, outputDir, selector, outputConfig, existingMarker,
99
97
  return result;
100
98
  }
101
99
  async function hashSrcWithReplacements(srcPath, contentReplacements) {
102
- if (contentReplacements.length === 0)
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))
103
103
  return (0, utils_1.hashFile)(srcPath);
104
104
  const content = node_fs_1.default.readFileSync(srcPath, 'utf8');
105
105
  const transformed = (0, content_replacements_1.applyContentReplacementsToBuffer)(content, contentReplacements);
@@ -108,7 +108,4 @@ async function hashSrcWithReplacements(srcPath, contentReplacements) {
108
108
  function hashString(content) {
109
109
  return node_crypto_1.default.createHash('sha256').update(content).digest('hex');
110
110
  }
111
- function hashBuffer(content) {
112
- return hashString(content);
113
- }
114
111
  //# sourceMappingURL=diff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/fileset/diff.ts"],"names":[],"mappings":"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"}
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,CA0GxB;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"}
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"}
@@ -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.relPath} -> ${op.destPath}`);
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.relPath} -> ${op.destPath}`);
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
- // Delete toDelete files (deferred — called by action-extract after all filesets)
82
- // Here we just count them; actual deletion is done by the orchestrator
83
- result.deleted = map.toDelete.length;
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":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/fileset/execute.ts"],"names":[],"mappings":"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"}
@@ -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
- * CSV format: path,packageName,packageVersion — one row per file, no header.
5
- * Compatible with v1 marker files.
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
- * CSV format: path,packageName,packageVersion — one row per file, no header.
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>;
@@ -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
- * CSV format: path,packageName,packageVersion — one row per file, no header.
17
- * Compatible with v1 marker files.
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
- * CSV format: path,packageName,packageVersion — one row per file, no header.
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},${e.packageName},${e.packageVersion}`);
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
  }
@@ -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 file, and gitignore entries.
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;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,WAAW,CAAC,CA6CtB"}
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"}
@@ -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 file, and gitignore entries.
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. Remove or update .npmdata marker
48
- const marker = (0, markers_1.markerPath)(outputDir);
49
- if (node_fs_1.default.existsSync(marker)) {
50
- try {
51
- node_fs_1.default.chmodSync(marker, 0o644);
52
- node_fs_1.default.unlinkSync(marker);
53
- }
54
- catch {
55
- // ignore
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"purge.js","sourceRoot":"","sources":["../../src/fileset/purge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"purge.js","sourceRoot":"","sources":["../../src/fileset/purge.ts"],"names":[],"mappings":"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"}
Binary file
@@ -1,12 +1,12 @@
1
- import { NpmdataConfig, NpmdataExtractEntry, ProgressEvent } from '../types';
1
+ import { NpmdataExtractEntry, ProgressEvent } from '../types';
2
2
  export type CheckOptions = {
3
3
  entries: NpmdataExtractEntry[];
4
- config: NpmdataConfig | null;
5
4
  cwd: string;
6
5
  presets?: string[];
7
6
  verbose?: boolean;
8
7
  onProgress?: (event: ProgressEvent) => void;
9
8
  skipUnmanaged?: boolean;
9
+ visitedPackages?: Set<string>;
10
10
  };
11
11
  export type CheckSummary = {
12
12
  missing: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"action-check.d.ts","sourceRoot":"","sources":["../../src/package/action-check.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK7E,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF;;;GAGG;AAEH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAkE9E"}
1
+ {"version":3,"file":"action-check.d.ts","sourceRoot":"","sources":["../../src/package/action-check.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAU9D,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF;;;GAGG;AAEH,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA8I9E"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.actionCheck = actionCheck;
8
+ const node_fs_1 = __importDefault(require("node:fs"));
8
9
  const node_path_1 = __importDefault(require("node:path"));
9
10
  const utils_1 = require("../utils");
10
11
  const markers_1 = require("../fileset/markers");
@@ -15,7 +16,7 @@ const check_1 = require("../fileset/check");
15
16
  */
16
17
  // eslint-disable-next-line complexity
17
18
  async function actionCheck(options) {
18
- const { entries, cwd, presets = [], verbose = false, onProgress } = options;
19
+ const { entries, cwd, presets = [], verbose = false, onProgress, visitedPackages = new Set(), } = options;
19
20
  const summary = { missing: [], modified: [], extra: [] };
20
21
  // Filter by presets (same behaviour as purge)
21
22
  const filtered = (0, utils_1.filterEntriesByPresets)(entries, presets);
@@ -39,14 +40,18 @@ async function actionCheck(options) {
39
40
  });
40
41
  // Check if package is installed
41
42
  const pkgPath = (0, utils_1.getInstalledPackagePath)(pkg.name, cwd);
42
- // Read existing marker
43
+ // Read existing marker and filter to entries owned by this package only.
44
+ // Multiple packages may share the same outputDir; passing the full marker to
45
+ // checkFileset would cause files owned by other packages to be checked against
46
+ // the current package's source, producing false positives.
43
47
  const existingMarker = await (0, markers_1.readOutputDirMarker)(outputDir);
48
+ const pkgMarker = existingMarker.filter((m) => m.packageName === pkg.name);
44
49
  if (!pkgPath) {
45
50
  console.error(`Package ${pkg.name} is not installed. Run 'extract' first.`);
46
- summary.missing.push(...existingMarker.map((m) => m.path));
51
+ summary.missing.push(...pkgMarker.map((m) => m.path));
47
52
  continue;
48
53
  }
49
- const result = await (0, check_1.checkFileset)(pkgPath, outputDir, entry.selector ?? {}, entry.output ?? {}, existingMarker);
54
+ const result = await (0, check_1.checkFileset)(pkgPath, outputDir, entry.selector ?? {}, entry.output ?? {}, pkgMarker);
50
55
  summary.missing.push(...result.missing);
51
56
  summary.modified.push(...result.modified);
52
57
  summary.extra.push(...result.extra);
@@ -55,6 +60,55 @@ async function actionCheck(options) {
55
60
  packageName: pkg.name,
56
61
  packageVersion: pkg.version ?? 'latest',
57
62
  });
63
+ // Hierarchical check: if the installed package declares npmdata.sets, recurse into them
64
+ const installedPkgPath = (0, utils_1.getInstalledIfSatisfies)(pkg.name, pkg.version, cwd);
65
+ if (installedPkgPath) {
66
+ let pkgNpmdataSets;
67
+ try {
68
+ const depPkgJson = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(installedPkgPath, 'package.json')).toString());
69
+ pkgNpmdataSets = depPkgJson.npmdata?.sets;
70
+ }
71
+ catch (error) {
72
+ if (verbose) {
73
+ console.warn(`[verbose] check: could not read npmdata.sets from ${pkg.name}/package.json: ${error}`);
74
+ }
75
+ }
76
+ if (pkgNpmdataSets && pkgNpmdataSets.length > 0) {
77
+ const siblingNames = new Set(entries.map((e) => (0, utils_1.parsePackageSpec)(e.package).name));
78
+ const presetFilteredSets = (0, utils_1.filterEntriesByPresets)(pkgNpmdataSets, entry.selector?.presets ?? []);
79
+ const filteredSets = presetFilteredSets.filter((e) => !siblingNames.has((0, utils_1.parsePackageSpec)(e.package).name) &&
80
+ !visitedPackages.has((0, utils_1.parsePackageSpec)(e.package).name));
81
+ if (filteredSets.length > 0) {
82
+ const visitedSet = new Set(visitedPackages);
83
+ visitedSet.add(pkg.name);
84
+ const outputConfig = entry.output ?? {};
85
+ const inheritedEntries = filteredSets.map((depEntry) => {
86
+ const { path: depPath, ...restOutput } = depEntry.output ?? {};
87
+ return {
88
+ ...depEntry,
89
+ output: {
90
+ ...restOutput,
91
+ path: node_path_1.default.join(outputConfig.path ?? '.', depPath ?? '.'),
92
+ },
93
+ };
94
+ });
95
+ if (verbose) {
96
+ console.log(`[verbose] check: recursing into ${filteredSets.length} transitive set(s) from ${pkg.name}`);
97
+ }
98
+ const subResult = await actionCheck({
99
+ entries: inheritedEntries,
100
+ cwd,
101
+ presets,
102
+ verbose,
103
+ onProgress,
104
+ visitedPackages: visitedSet,
105
+ });
106
+ summary.missing.push(...subResult.missing);
107
+ summary.modified.push(...subResult.modified);
108
+ summary.extra.push(...subResult.extra);
109
+ }
110
+ }
111
+ }
58
112
  }
59
113
  return summary;
60
114
  }