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.
Files changed (153) hide show
  1. package/README.md +133 -58
  2. package/dist/cli/actions/check.d.ts +6 -0
  3. package/dist/cli/actions/check.d.ts.map +1 -0
  4. package/dist/cli/actions/check.js +57 -0
  5. package/dist/cli/actions/check.js.map +1 -0
  6. package/dist/cli/actions/extract.d.ts +7 -0
  7. package/dist/cli/actions/extract.d.ts.map +1 -0
  8. package/dist/cli/actions/extract.js +84 -0
  9. package/dist/cli/actions/extract.js.map +1 -0
  10. package/dist/cli/actions/init.d.ts +6 -0
  11. package/dist/cli/actions/init.d.ts.map +1 -0
  12. package/dist/cli/actions/init.js +36 -0
  13. package/dist/cli/actions/init.js.map +1 -0
  14. package/dist/cli/actions/list.d.ts +7 -0
  15. package/dist/cli/actions/list.d.ts.map +1 -0
  16. package/dist/cli/actions/list.js +42 -0
  17. package/dist/cli/actions/list.js.map +1 -0
  18. package/dist/cli/actions/purge.d.ts +6 -0
  19. package/dist/cli/actions/purge.d.ts.map +1 -0
  20. package/dist/cli/actions/purge.js +47 -0
  21. package/dist/cli/actions/purge.js.map +1 -0
  22. package/dist/cli/argv.d.ts +35 -0
  23. package/dist/cli/argv.d.ts.map +1 -0
  24. package/dist/cli/argv.js +125 -0
  25. package/dist/cli/argv.js.map +1 -0
  26. package/dist/cli/cli.d.ts +9 -0
  27. package/dist/cli/cli.d.ts.map +1 -0
  28. package/dist/cli/cli.js +69 -0
  29. package/dist/cli/cli.js.map +1 -0
  30. package/dist/cli/runner.d.ts +9 -0
  31. package/dist/cli/runner.d.ts.map +1 -0
  32. package/dist/cli/runner.js +106 -0
  33. package/dist/cli/runner.js.map +1 -0
  34. package/dist/cli/usage.d.ts +6 -0
  35. package/dist/cli/usage.d.ts.map +1 -0
  36. package/dist/cli/usage.js +126 -0
  37. package/dist/cli/usage.js.map +1 -0
  38. package/dist/fileset/check.d.ts +15 -0
  39. package/dist/fileset/check.d.ts.map +1 -0
  40. package/dist/fileset/check.js +68 -0
  41. package/dist/fileset/check.js.map +1 -0
  42. package/dist/fileset/constants.d.ts +13 -0
  43. package/dist/fileset/constants.d.ts.map +1 -0
  44. package/dist/fileset/constants.js +22 -0
  45. package/dist/fileset/constants.js.map +1 -0
  46. package/dist/fileset/diff.d.ts +16 -0
  47. package/dist/fileset/diff.d.ts.map +1 -0
  48. package/dist/fileset/diff.js +116 -0
  49. package/dist/fileset/diff.js.map +1 -0
  50. package/dist/fileset/execute.d.ts +29 -0
  51. package/dist/fileset/execute.d.ts.map +1 -0
  52. package/dist/fileset/execute.js +136 -0
  53. package/dist/fileset/execute.js.map +1 -0
  54. package/dist/fileset/gitignore.d.ts +16 -0
  55. package/dist/fileset/gitignore.d.ts.map +1 -0
  56. package/dist/fileset/gitignore.js +82 -0
  57. package/dist/fileset/gitignore.js.map +1 -0
  58. package/dist/fileset/index.d.ts +5 -0
  59. package/dist/fileset/index.d.ts.map +1 -0
  60. package/dist/fileset/index.js +21 -0
  61. package/dist/fileset/index.js.map +1 -0
  62. package/dist/fileset/list.d.ts +6 -0
  63. package/dist/fileset/list.d.ts.map +1 -0
  64. package/dist/fileset/list.js +11 -0
  65. package/dist/fileset/list.js.map +1 -0
  66. package/dist/fileset/markers.d.ts +22 -0
  67. package/dist/fileset/markers.d.ts.map +1 -0
  68. package/dist/fileset/markers.js +68 -0
  69. package/dist/fileset/markers.js.map +1 -0
  70. package/dist/fileset/package-files.d.ts +14 -0
  71. package/dist/fileset/package-files.d.ts.map +1 -0
  72. package/dist/fileset/package-files.js +81 -0
  73. package/dist/fileset/package-files.js.map +1 -0
  74. package/dist/fileset/purge.d.ts +12 -0
  75. package/dist/fileset/purge.d.ts.map +1 -0
  76. package/dist/fileset/purge.js +95 -0
  77. package/dist/fileset/purge.js.map +1 -0
  78. package/dist/fileset/test-utils.d.ts +12 -0
  79. package/dist/fileset/test-utils.d.ts.map +1 -0
  80. package/dist/fileset/test-utils.js +65 -0
  81. package/dist/fileset/test-utils.js.map +1 -0
  82. package/dist/index.d.ts +10 -7
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +12 -17
  85. package/dist/index.js.map +1 -1
  86. package/dist/main.js +9 -16
  87. package/dist/main.js.map +1 -1
  88. package/dist/npmdata-0.0.1.tgz +0 -0
  89. package/dist/package/action-check.d.ts +20 -0
  90. package/dist/package/action-check.d.ts.map +1 -0
  91. package/dist/package/action-check.js +61 -0
  92. package/dist/package/action-check.js.map +1 -0
  93. package/dist/package/action-extract.d.ts +21 -0
  94. package/dist/package/action-extract.d.ts.map +1 -0
  95. package/dist/package/action-extract.js +186 -0
  96. package/dist/package/action-extract.js.map +1 -0
  97. package/dist/package/action-init.d.ts +13 -0
  98. package/dist/package/action-init.d.ts.map +1 -0
  99. package/dist/package/action-init.js +77 -0
  100. package/dist/package/action-init.js.map +1 -0
  101. package/dist/package/action-list.d.ts +14 -0
  102. package/dist/package/action-list.d.ts.map +1 -0
  103. package/dist/package/action-list.js +46 -0
  104. package/dist/package/action-list.js.map +1 -0
  105. package/dist/package/action-purge.d.ts +21 -0
  106. package/dist/package/action-purge.d.ts.map +1 -0
  107. package/dist/package/action-purge.js +60 -0
  108. package/dist/package/action-purge.js.map +1 -0
  109. package/dist/package/config-merge.d.ts +18 -0
  110. package/dist/package/config-merge.d.ts.map +1 -0
  111. package/dist/package/config-merge.js +48 -0
  112. package/dist/package/config-merge.js.map +1 -0
  113. package/dist/package/config.d.ts +13 -0
  114. package/dist/package/config.d.ts.map +1 -0
  115. package/dist/package/config.js +29 -0
  116. package/dist/package/config.js.map +1 -0
  117. package/dist/package/content-replacements.d.ts +21 -0
  118. package/dist/package/content-replacements.d.ts.map +1 -0
  119. package/dist/package/content-replacements.js +96 -0
  120. package/dist/package/content-replacements.js.map +1 -0
  121. package/dist/package/index.d.ts +10 -0
  122. package/dist/package/index.d.ts.map +1 -0
  123. package/dist/package/index.js +16 -0
  124. package/dist/package/index.js.map +1 -0
  125. package/dist/package/symlinks.d.ts +17 -0
  126. package/dist/package/symlinks.d.ts.map +1 -0
  127. package/dist/package/symlinks.js +125 -0
  128. package/dist/package/symlinks.js.map +1 -0
  129. package/dist/types.d.ts +184 -270
  130. package/dist/types.d.ts.map +1 -1
  131. package/dist/types.js +0 -12
  132. package/dist/types.js.map +1 -1
  133. package/dist/utils.d.ts +25 -55
  134. package/dist/utils.d.ts.map +1 -1
  135. package/dist/utils.js +82 -181
  136. package/dist/utils.js.map +1 -1
  137. package/package.json +5 -2
  138. package/dist/cli.d.ts +0 -6
  139. package/dist/cli.d.ts.map +0 -1
  140. package/dist/cli.js +0 -514
  141. package/dist/cli.js.map +0 -1
  142. package/dist/consumer.d.ts +0 -74
  143. package/dist/consumer.d.ts.map +0 -1
  144. package/dist/consumer.js +0 -820
  145. package/dist/consumer.js.map +0 -1
  146. package/dist/publisher.d.ts +0 -38
  147. package/dist/publisher.d.ts.map +0 -1
  148. package/dist/publisher.js +0 -164
  149. package/dist/publisher.js.map +0 -1
  150. package/dist/runner.d.ts +0 -102
  151. package/dist/runner.d.ts.map +0 -1
  152. package/dist/runner.js +0 -748
  153. package/dist/runner.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAQ5F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAGvF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAKlF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,MAAM,EAAE,CA8BV;AAED,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,EAAE,WAAW,MAAM,EAAE,KAAG,OAa9E,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI3C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAOxD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAmB1E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe3F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAGnD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAQnE;AAID;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAcrE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAUlF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAQ5D;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQhE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAUtD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAgBjE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAuBR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQjF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI3C;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,EAAE,MAAM,EAAE,GAChB,mBAAmB,EAAE,CAOvB"}
package/dist/utils.js CHANGED
@@ -3,30 +3,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.matchesFilenamePattern = void 0;
7
6
  exports.parsePackageSpec = parsePackageSpec;
8
- exports.hasManagedFilesUnder = hasManagedFilesUnder;
7
+ exports.hashFile = hashFile;
8
+ exports.hashBuffer = hashBuffer;
9
+ exports.hashFileSync = hashFileSync;
9
10
  exports.isBinaryFile = isBinaryFile;
10
- exports.calculateFileHash = calculateFileHash;
11
- exports.calculateBufferHash = calculateBufferHash;
12
- exports.matchesContentRegex = matchesContentRegex;
13
- exports.findMatchingFiles = findMatchingFiles;
14
- exports.ensureDir = ensureDir;
15
- exports.removeFile = removeFile;
16
- exports.copyFile = copyFile;
17
11
  exports.detectPackageManager = detectPackageManager;
18
- exports.getInstalledPackageVersion = getInstalledPackageVersion;
19
- exports.readJsonFile = readJsonFile;
20
- exports.writeJsonFile = writeJsonFile;
21
- exports.readCsvMarker = readCsvMarker;
22
- exports.writeCsvMarker = writeCsvMarker;
12
+ exports.installPackage = installPackage;
13
+ exports.getInstalledPackagePath = getInstalledPackagePath;
14
+ exports.ensureDir = ensureDir;
15
+ exports.filterEntriesByPresets = filterEntriesByPresets;
16
+ /* eslint-disable functional/no-try-statements */
23
17
  const node_fs_1 = __importDefault(require("node:fs"));
24
18
  const node_path_1 = __importDefault(require("node:path"));
25
19
  const node_crypto_1 = __importDefault(require("node:crypto"));
26
- const minimatch_1 = require("minimatch");
20
+ const node_child_process_1 = require("node:child_process");
27
21
  /**
28
22
  * Parse a package spec like "my-pkg@^1.2.3" or "@scope/pkg@2.x" into name and version.
29
- * The version separator is the LAST "@" so that scoped packages ("@scope/name") are handled correctly.
23
+ * The version separator is the LAST "@" so that scoped packages ("@scope/name") are handled.
30
24
  */
31
25
  function parsePackageSpec(spec) {
32
26
  const atIdx = spec.lastIndexOf('@');
@@ -38,19 +32,36 @@ function parsePackageSpec(spec) {
38
32
  return { name: spec, version: undefined };
39
33
  }
40
34
  /**
41
- * Return true if at least one path in managedPaths is equal to relDir or starts with
42
- * "relDir/", i.e. lives somewhere inside that directory.
35
+ * Compute the SHA-256 hash of a file.
36
+ */
37
+ async function hashFile(filePath) {
38
+ return new Promise((resolve, reject) => {
39
+ const hash = node_crypto_1.default.createHash('sha256');
40
+ const stream = node_fs_1.default.createReadStream(filePath);
41
+ stream.on('data', (data) => hash.update(data));
42
+ stream.on('end', () => resolve(hash.digest('hex')));
43
+ stream.on('error', reject);
44
+ });
45
+ }
46
+ /**
47
+ * Compute the SHA-256 hash of an in-memory buffer or string.
48
+ * Used to hash content that has been transformed in memory before comparison.
49
+ */
50
+ function hashBuffer(content) {
51
+ return node_crypto_1.default.createHash('sha256').update(content).digest('hex');
52
+ }
53
+ /**
54
+ * Synchronous file hash (SHA-256).
43
55
  */
44
- function hasManagedFilesUnder(relDir, managedPaths) {
45
- const prefix = `${relDir}/`;
46
- return [...managedPaths].some((p) => p === relDir || p.startsWith(prefix));
56
+ function hashFileSync(filePath) {
57
+ const content = node_fs_1.default.readFileSync(filePath);
58
+ return node_crypto_1.default.createHash('sha256').update(content).digest('hex');
47
59
  }
48
60
  /**
49
61
  * Detect whether a file is binary by scanning it for null bytes.
50
- * Reads up to the first 8 KB only to keep memory usage low.
62
+ * Reads up to the first 8 KB only.
51
63
  */
52
64
  function isBinaryFile(filePath) {
53
- // eslint-disable-next-line functional/no-try-statements
54
65
  try {
55
66
  const fd = node_fs_1.default.openSync(filePath, 'r');
56
67
  const buf = Buffer.alloc(8192);
@@ -63,195 +74,85 @@ function isBinaryFile(filePath) {
63
74
  }
64
75
  }
65
76
  /**
66
- * Get hash of file contents
67
- */
68
- function calculateFileHash(filePath) {
69
- const content = node_fs_1.default.readFileSync(filePath);
70
- return node_crypto_1.default.createHash('sha256').update(content).digest('hex');
71
- }
72
- /**
73
- * Compute the SHA-256 hash of an in-memory buffer or string.
74
- * Used to hash content that has been transformed in memory before writing to disk.
75
- */
76
- function calculateBufferHash(content) {
77
- return node_crypto_1.default.createHash('sha256').update(content).digest('hex');
78
- }
79
- /**
80
- * Check if file contents match regex patterns.
81
- * Binary files (detected via null-byte scan) are always excluded when patterns are set.
82
- */
83
- function matchesContentRegex(filePath, patterns) {
84
- if (!patterns)
85
- return true;
86
- if (isBinaryFile(filePath))
87
- return false;
88
- const content = node_fs_1.default.readFileSync(filePath, 'utf8');
89
- return patterns.some((pattern) => pattern.test(content));
90
- }
91
- /**
92
- * Recursively find all files in directory matching filters
93
- */
94
- function findMatchingFiles(dir, filenamePatterns, contentRegexes) {
95
- const results = [];
96
- function walkDir(currentDir) {
97
- const files = node_fs_1.default.readdirSync(currentDir);
98
- // eslint-disable-next-line no-restricted-syntax
99
- for (const file of files) {
100
- const fullPath = node_path_1.default.join(currentDir, file);
101
- const stat = node_fs_1.default.statSync(fullPath);
102
- if (stat.isDirectory()) {
103
- walkDir(fullPath);
104
- // eslint-disable-next-line no-continue
105
- continue;
106
- }
107
- if (
108
- // Check if file matches include patterns and does not match exclude patterns, and matches content regex
109
- (0, exports.matchesFilenamePattern)(fullPath, filenamePatterns) &&
110
- matchesContentRegex(fullPath, contentRegexes)) {
111
- // eslint-disable-next-line functional/immutable-data
112
- results.push(fullPath);
113
- }
114
- }
115
- }
116
- walkDir(dir);
117
- return results;
118
- }
119
- const matchesFilenamePattern = (filename, patterns) => {
120
- if (!patterns)
121
- return true;
122
- // Separate include and exclude patterns (exclude patterns start with '!')
123
- const includes = patterns.filter((p) => !p.startsWith('!'));
124
- const excludes = patterns.filter((p) => p.startsWith('!')).map((p) => p.slice(1));
125
- // When there are no positive include patterns, treat as "match all" (same as undefined).
126
- // This avoids the footgun where an empty array silently excludes every file.
127
- const matchesIncludes = includes.length === 0 || includes.some((pattern) => (0, minimatch_1.minimatch)(filename, pattern));
128
- return matchesIncludes && !excludes.some((pattern) => (0, minimatch_1.minimatch)(filename, pattern));
129
- };
130
- exports.matchesFilenamePattern = matchesFilenamePattern;
131
- /**
132
- * Create directory recursively
133
- */
134
- function ensureDir(dir) {
135
- if (!node_fs_1.default.existsSync(dir)) {
136
- node_fs_1.default.mkdirSync(dir, { recursive: true });
137
- }
138
- }
139
- /**
140
- * Remove file with error handling
141
- */
142
- function removeFile(filePath) {
143
- node_fs_1.default.chmodSync(filePath, 0o644); // Make writable before deleting
144
- node_fs_1.default.unlinkSync(filePath);
145
- }
146
- /**
147
- * Copy file preserving directory structure
148
- */
149
- function copyFile(src, dest) {
150
- ensureDir(node_path_1.default.dirname(dest));
151
- // Make destination writable if it exists (e.g., from previous extraction)
152
- if (node_fs_1.default.existsSync(dest)) {
153
- node_fs_1.default.chmodSync(dest, 0o644);
154
- }
155
- node_fs_1.default.copyFileSync(src, dest);
156
- }
157
- /**
158
- * Detect package manager type.
159
- * Inspects the lock files in the given directory (defaults to process.cwd()).
77
+ * Detect package manager by inspecting lock files in the given directory.
78
+ * Falls back to npm if no lock file is found.
160
79
  */
161
80
  function detectPackageManager(cwd) {
162
- const dir = cwd ?? '.';
163
- // eslint-disable-next-line functional/no-try-statements
81
+ const dir = cwd ?? process.cwd();
164
82
  try {
165
83
  const lockFiles = node_fs_1.default.readdirSync(dir);
166
84
  if (lockFiles.includes('pnpm-lock.yaml'))
167
85
  return 'pnpm';
168
- if (lockFiles.includes('yarn.lock'))
169
- return 'yarn';
170
86
  if (lockFiles.includes('package-lock.json'))
171
87
  return 'npm';
172
88
  }
173
89
  catch {
174
- // Continue to env check
90
+ // fall through
175
91
  }
176
92
  // Check npm_config_user_agent environment variable
177
93
  // eslint-disable-next-line no-process-env
178
- const userAgent = process.env.npm_config_user_agent || '';
179
- if (userAgent.includes('yarn'))
180
- return 'yarn';
94
+ const userAgent = process.env.npm_config_user_agent ?? '';
181
95
  if (userAgent.includes('pnpm'))
182
96
  return 'pnpm';
183
- return 'npm'; // Default fallback
97
+ return 'npm';
184
98
  }
185
99
  /**
186
- * Get package info from installed package
100
+ * Install a package using the detected package manager.
101
+ * Returns the installed package path under node_modules.
187
102
  */
188
- function getInstalledPackageVersion(packageName, cwd) {
189
- // eslint-disable-next-line functional/no-try-statements
190
- try {
191
- if (cwd) {
192
- const pkgPath = node_path_1.default.join(cwd, 'node_modules', packageName, 'package.json');
193
- const pkg = JSON.parse(node_fs_1.default.readFileSync(pkgPath).toString());
194
- return pkg.version;
103
+ function installPackage(name, version, upgrade, cwd) {
104
+ const workDir = cwd ?? process.cwd();
105
+ const pm = detectPackageManager(workDir);
106
+ const spec = version ? `${name}@${version}` : `${name}@latest`;
107
+ // Check if already installed with a satisfying version (skip install if not upgrading)
108
+ if (!upgrade) {
109
+ const installedPath = node_path_1.default.join(workDir, 'node_modules', name, 'package.json');
110
+ if (node_fs_1.default.existsSync(installedPath)) {
111
+ return node_path_1.default.dirname(installedPath);
195
112
  }
196
- const pkgPath = require.resolve(`${packageName}/package.json`);
197
- const pkg = JSON.parse(node_fs_1.default.readFileSync(pkgPath).toString());
198
- return pkg.version;
199
113
  }
200
- catch {
201
- // eslint-disable-next-line unicorn/no-null
202
- return null;
114
+ const cmd = pm === 'pnpm' ? `pnpm add ${spec}` : `npm install ${spec}`;
115
+ try {
116
+ (0, node_child_process_1.execSync)(cmd, { cwd: workDir, stdio: 'pipe', encoding: 'utf8' });
203
117
  }
118
+ catch (error) {
119
+ const e = error;
120
+ const detail = (e.stderr ?? e.stdout ?? e.message ?? String(error)).trim();
121
+ throw new Error(`Failed to install ${spec}: ${detail}`);
122
+ }
123
+ return node_path_1.default.join(workDir, 'node_modules', name);
204
124
  }
205
125
  /**
206
- * Read JSON file safely
207
- */
208
- function readJsonFile(filePath) {
209
- const content = node_fs_1.default.readFileSync(filePath).toString();
210
- return JSON.parse(content);
211
- }
212
- /**
213
- * Write JSON file
126
+ * Return the installed package path under cwd/node_modules, or null if not installed.
214
127
  */
215
- function writeJsonFile(filePath, data) {
216
- ensureDir(node_path_1.default.dirname(filePath));
217
- // Make file writable if it exists (e.g., marker file from previous extraction)
218
- if (node_fs_1.default.existsSync(filePath)) {
219
- node_fs_1.default.chmodSync(filePath, 0o644);
128
+ function getInstalledPackagePath(name, cwd) {
129
+ const workDir = cwd ?? process.cwd();
130
+ const pkgJsonPath = node_path_1.default.join(workDir, 'node_modules', name, 'package.json');
131
+ if (node_fs_1.default.existsSync(pkgJsonPath)) {
132
+ return node_path_1.default.dirname(pkgJsonPath);
220
133
  }
221
134
  // eslint-disable-next-line unicorn/no-null
222
- node_fs_1.default.writeFileSync(filePath, `${JSON.stringify(data, null, 2)}\n`, 'utf8');
135
+ return null;
223
136
  }
224
- const MARKER_DELIMITER = '|';
225
137
  /**
226
- * Read the .npmdata marker file.
227
- * Supports both the current pipe-delimited format and the legacy comma-delimited format
228
- * (detected automatically for backward compatibility).
138
+ * Ensure a directory exists, creating it recursively if needed.
229
139
  */
230
- function readCsvMarker(filePath) {
231
- const content = node_fs_1.default.readFileSync(filePath, 'utf8');
232
- const lines = content.split('\n').filter((line) => line.trim() !== '');
233
- return lines.map((line) => {
234
- // Detect format: new records use '|'; legacy records use ','
235
- const delimiter = line.includes(MARKER_DELIMITER) ? MARKER_DELIMITER : ',';
236
- const fields = line.split(delimiter);
237
- return {
238
- path: fields[0],
239
- packageName: fields[1],
240
- packageVersion: fields[2],
241
- force: fields[3] === '1',
242
- };
243
- });
140
+ function ensureDir(dir) {
141
+ if (!node_fs_1.default.existsSync(dir)) {
142
+ node_fs_1.default.mkdirSync(dir, { recursive: true });
143
+ }
244
144
  }
245
145
  /**
246
- * Write the .npmdata marker file using the pipe-delimited format.
146
+ * Filter entries by requested presets.
147
+ * When no presets are requested, all entries pass through.
247
148
  */
248
- function writeCsvMarker(filePath, data) {
249
- ensureDir(node_path_1.default.dirname(filePath));
250
- if (node_fs_1.default.existsSync(filePath)) {
251
- node_fs_1.default.chmodSync(filePath, 0o644);
252
- }
253
- const rows = data.map((m) => [m.path, m.packageName, m.packageVersion, m.force ? '1' : '0'].join(MARKER_DELIMITER));
254
- node_fs_1.default.writeFileSync(filePath, `${rows.join('\n')}\n`, 'utf8');
255
- node_fs_1.default.chmodSync(filePath, 0o444);
149
+ function filterEntriesByPresets(entries, presets) {
150
+ if (presets.length === 0)
151
+ return entries;
152
+ return entries.filter((entry) => {
153
+ // Support presets at the entry level (config-file convention) or inside selector (CLI convention)
154
+ const entryPresets = new Set([...(entry.presets ?? []), ...(entry.selector?.presets ?? [])]);
155
+ return presets.some((p) => entryPresets.has(p));
156
+ });
256
157
  }
257
158
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npmdata",
3
- "version": "0.10.3",
3
+ "version": "0.12.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "bin": "dist/main.js",
@@ -39,14 +39,17 @@
39
39
  "typescript": "^5.5.4"
40
40
  },
41
41
  "dependencies": {
42
+ "cosmiconfig": "^9.0.1",
42
43
  "ignore": "^7.0.5",
43
44
  "minimatch": "^10.2.2",
45
+ "mypkg": "^1.0.0",
44
46
  "semver": "^7.7.4"
45
47
  },
46
48
  "pnpm": {
47
49
  "overrides": {
48
50
  "braces@<3.0.3": ">=3.0.3",
49
- "rollup@<3.29.5": ">=3.29.5"
51
+ "rollup@<3.29.5": ">=3.29.5",
52
+ "eslint-plugin-import>minimatch": "^3.1.2"
50
53
  }
51
54
  }
52
55
  }
package/dist/cli.d.ts DELETED
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * CLI for npmdata
4
- */
5
- export declare function cli(processArgs: string[]): Promise<number>;
6
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAaA;;GAEG;AAEH,wBAAsB,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA+chE"}