node-modules-tools 0.1.0 → 0.1.2
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/dist/chunks/index.mjs +5 -3
- package/dist/index.d.mts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.mjs +3 -1
- package/dist/shared/{node-modules-tools.BJ7We4bS.mjs → node-modules-tools.DT_mm7wI.mjs} +1 -1
- package/dist/utils.d.mts +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.mjs +1 -1
- package/package.json +1 -1
package/dist/chunks/index.mjs
CHANGED
|
@@ -108,9 +108,11 @@ async function listPackageDependencies(options) {
|
|
|
108
108
|
if (packages.has(node.spec))
|
|
109
109
|
return node;
|
|
110
110
|
packages.set(node.spec, node);
|
|
111
|
-
|
|
112
|
-
const
|
|
113
|
-
|
|
111
|
+
if (options.dependenciesFilter?.(node) !== false) {
|
|
112
|
+
for (const dep of Object.values(raw.dependencies || {})) {
|
|
113
|
+
const resolvedDep = traverse(dep, level + 1, mode);
|
|
114
|
+
node.dependencies.add(resolvedDep.spec);
|
|
115
|
+
}
|
|
114
116
|
}
|
|
115
117
|
return node;
|
|
116
118
|
}
|
package/dist/index.d.mts
CHANGED
|
@@ -77,6 +77,10 @@ interface ListPackageDependenciesOptions extends BaseOptions {
|
|
|
77
77
|
* Filter if a package should be included and continue traversing
|
|
78
78
|
*/
|
|
79
79
|
traverseFilter?: (node: PackageNodeRaw) => boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Filter whether a package's dependencies should be included
|
|
82
|
+
*/
|
|
83
|
+
dependenciesFilter?: (node: PackageNodeRaw) => boolean;
|
|
80
84
|
}
|
|
81
85
|
interface ListPackageDependenciesRawResult {
|
|
82
86
|
root: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -77,6 +77,10 @@ interface ListPackageDependenciesOptions extends BaseOptions {
|
|
|
77
77
|
* Filter if a package should be included and continue traversing
|
|
78
78
|
*/
|
|
79
79
|
traverseFilter?: (node: PackageNodeRaw) => boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Filter whether a package's dependencies should be included
|
|
82
|
+
*/
|
|
83
|
+
dependenciesFilter?: (node: PackageNodeRaw) => boolean;
|
|
80
84
|
}
|
|
81
85
|
interface ListPackageDependenciesRawResult {
|
|
82
86
|
root: string;
|
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { detect } from 'package-manager-detector';
|
|
|
3
3
|
import fs from 'node:fs/promises';
|
|
4
4
|
import { join as join$1 } from 'pathe';
|
|
5
5
|
import { relative, join } from 'node:path';
|
|
6
|
-
export { c as constructPackageFilter, a as constructPackageFilters } from './shared/node-modules-tools.
|
|
6
|
+
export { c as constructPackageFilter, a as constructPackageFilters } from './shared/node-modules-tools.DT_mm7wI.mjs';
|
|
7
7
|
import 'semver';
|
|
8
8
|
|
|
9
9
|
async function getPackageManager(options) {
|
|
@@ -48,6 +48,8 @@ function populateRawResult(input) {
|
|
|
48
48
|
for (const dep of node.dependencies) {
|
|
49
49
|
const level = node.depth + 1;
|
|
50
50
|
const depNode = result.packages.get(dep);
|
|
51
|
+
if (!depNode)
|
|
52
|
+
continue;
|
|
51
53
|
if (!node.workspace) {
|
|
52
54
|
if (node.dev)
|
|
53
55
|
depNode.dev = true;
|
|
@@ -11,7 +11,7 @@ function constructPackageFilter(range) {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
function constructPackageFilters(ranges, mode) {
|
|
14
|
-
const filters = ranges.map(constructPackageFilter);
|
|
14
|
+
const filters = ranges.map((x) => typeof x === "string" ? constructPackageFilter(x) : x);
|
|
15
15
|
return (pkg) => mode === "some" ? filters.some((filter) => filter(pkg)) : filters.every((filter) => filter(pkg));
|
|
16
16
|
}
|
|
17
17
|
|
package/dist/utils.d.mts
CHANGED
|
@@ -12,6 +12,6 @@ interface PackageNodeLike {
|
|
|
12
12
|
* - *eslint* -> Any version that matches the wildcard
|
|
13
13
|
*/
|
|
14
14
|
declare function constructPackageFilter(range: string): (pkg: PackageNodeLike) => boolean;
|
|
15
|
-
declare function constructPackageFilters(ranges: string[], mode: 'some' | 'every'): (pkg:
|
|
15
|
+
declare function constructPackageFilters<Node extends PackageNodeLike = PackageNodeLike>(ranges: (string | ((pkg: Node) => boolean))[], mode: 'some' | 'every'): (pkg: Node) => boolean;
|
|
16
16
|
|
|
17
17
|
export { type PackageNodeLike, constructPackageFilter, constructPackageFilters };
|
package/dist/utils.d.ts
CHANGED
|
@@ -12,6 +12,6 @@ interface PackageNodeLike {
|
|
|
12
12
|
* - *eslint* -> Any version that matches the wildcard
|
|
13
13
|
*/
|
|
14
14
|
declare function constructPackageFilter(range: string): (pkg: PackageNodeLike) => boolean;
|
|
15
|
-
declare function constructPackageFilters(ranges: string[], mode: 'some' | 'every'): (pkg:
|
|
15
|
+
declare function constructPackageFilters<Node extends PackageNodeLike = PackageNodeLike>(ranges: (string | ((pkg: Node) => boolean))[], mode: 'some' | 'every'): (pkg: Node) => boolean;
|
|
16
16
|
|
|
17
17
|
export { type PackageNodeLike, constructPackageFilter, constructPackageFilters };
|
package/dist/utils.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { c as constructPackageFilter, a as constructPackageFilters } from './shared/node-modules-tools.
|
|
1
|
+
export { c as constructPackageFilter, a as constructPackageFilters } from './shared/node-modules-tools.DT_mm7wI.mjs';
|
|
2
2
|
import 'semver';
|