@pnpm/list 9.1.0 → 9.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.
@@ -0,0 +1,4 @@
1
+ export declare function createPackagesSearcher(queries: string[]): (pkg: {
2
+ name: string;
3
+ version: string;
4
+ }) => boolean;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createPackagesSearcher = void 0;
7
+ const matcher_1 = require("@pnpm/matcher");
8
+ const npm_package_arg_1 = __importDefault(require("@pnpm/npm-package-arg"));
9
+ const semver_1 = __importDefault(require("semver"));
10
+ function createPackagesSearcher(queries) {
11
+ const searchers = queries
12
+ .map(parseSearchQuery)
13
+ .map((packageSelector) => search.bind(null, packageSelector));
14
+ return (pkg) => searchers.some((search) => search(pkg));
15
+ }
16
+ exports.createPackagesSearcher = createPackagesSearcher;
17
+ function search(packageSelector, pkg) {
18
+ if (!packageSelector.matchName(pkg.name)) {
19
+ return false;
20
+ }
21
+ if (packageSelector.matchVersion == null) {
22
+ return true;
23
+ }
24
+ return !pkg.version.startsWith('link:') && packageSelector.matchVersion(pkg.version);
25
+ }
26
+ function parseSearchQuery(query) {
27
+ const parsed = (0, npm_package_arg_1.default)(query);
28
+ if (parsed.raw === parsed.name) {
29
+ return { matchName: (0, matcher_1.createMatcher)(parsed.name) };
30
+ }
31
+ if (parsed.type !== 'version' && parsed.type !== 'range') {
32
+ throw new Error(`Invalid queryment - ${query}. List can search only by version or range`);
33
+ }
34
+ return {
35
+ matchName: (0, matcher_1.createMatcher)(parsed.name),
36
+ matchVersion: (version) => semver_1.default.satisfies(version, parsed.fetchSpec),
37
+ };
38
+ }
39
+ //# sourceMappingURL=createPackagesSearcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPackagesSearcher.js","sourceRoot":"","sources":["../src/createPackagesSearcher.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA6C;AAC7C,4EAAuC;AAEvC,oDAA2B;AAE3B,SAAgB,sBAAsB,CAAE,OAAiB;IACvD,MAAM,SAAS,GAAqB,OAAO;SACxC,GAAG,CAAC,gBAAgB,CAAC;SACrB,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAsC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAC5F,CAAC;AALD,wDAKC;AAID,SAAS,MAAM,CACb,eAGC,EACD,GAAsC;IAEtC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACxC,OAAO,KAAK,CAAA;KACb;IACD,IAAI,eAAe,CAAC,YAAY,IAAI,IAAI,EAAE;QACxC,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACtF,CAAC;AAED,SAAS,gBAAgB,CAAE,KAAa;IACtC,MAAM,MAAM,GAAG,IAAA,yBAAG,EAAC,KAAK,CAAC,CAAA;IACzB,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,EAAE;QAC9B,OAAO,EAAE,SAAS,EAAE,IAAA,uBAAa,EAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA;KACjD;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,4CAA4C,CAAC,CAAA;KAC1F;IACD,OAAO;QACL,SAAS,EAAE,IAAA,uBAAa,EAAC,MAAM,CAAC,IAAI,CAAC;QACrC,YAAY,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,gBAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;KAC/E,CAAA;AACH,CAAC"}
package/lib/index.d.ts CHANGED
@@ -5,7 +5,7 @@ import { renderParseable } from './renderParseable';
5
5
  import { renderTree } from './renderTree';
6
6
  import { type PackageDependencyHierarchy } from './types';
7
7
  export type { PackageNode } from '@pnpm/reviewing.dependencies-hierarchy';
8
- export { renderJson, renderParseable, renderTree };
8
+ export { renderJson, renderParseable, renderTree, type PackageDependencyHierarchy };
9
9
  export declare function flattenSearchedPackages(pkgs: PackageDependencyHierarchy[], opts: {
10
10
  lockfileDir: string;
11
11
  }): (DependenciesHierarchy & {
package/lib/index.js CHANGED
@@ -13,6 +13,7 @@ const renderParseable_1 = require("./renderParseable");
13
13
  Object.defineProperty(exports, "renderParseable", { enumerable: true, get: function () { return renderParseable_1.renderParseable; } });
14
14
  const renderTree_1 = require("./renderTree");
15
15
  Object.defineProperty(exports, "renderTree", { enumerable: true, get: function () { return renderTree_1.renderTree; } });
16
+ const pruneTree_1 = require("./pruneTree");
16
17
  const DEFAULTS = {
17
18
  alwaysPrintRootPackage: true,
18
19
  depth: 0,
@@ -73,8 +74,9 @@ exports.searchForPackages = searchForPackages;
73
74
  async function listForPackages(packages, projectPaths, maybeOpts) {
74
75
  const opts = { ...DEFAULTS, ...maybeOpts };
75
76
  const pkgs = await searchForPackages(packages, projectPaths, opts);
77
+ const prunedPkgs = (0, pruneTree_1.pruneDependenciesTrees)(pkgs ?? null, 10);
76
78
  const print = getPrinter(opts.reportAs);
77
- return print(pkgs, {
79
+ return print(prunedPkgs, {
78
80
  alwaysPrintRootPackage: opts.alwaysPrintRootPackage,
79
81
  depth: opts.depth,
80
82
  long: opts.long,
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type PackageDependencyHierarchy } from './types';
2
+ export declare function pruneDependenciesTrees(trees: PackageDependencyHierarchy[] | null, limit: number): PackageDependencyHierarchy[];
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pruneDependenciesTrees = void 0;
4
+ const crypto_1 = require("crypto");
5
+ function pruneDependenciesTrees(trees, limit) {
6
+ if (trees === null) {
7
+ return [];
8
+ }
9
+ return trees.map((tree) => {
10
+ const endLeafPaths = [];
11
+ const visitedNodes = new Set();
12
+ function findEndLeaves(node, path) {
13
+ if (node.circular) {
14
+ return;
15
+ }
16
+ const nodeId = `${node.name}@${node.version}`;
17
+ if (visitedNodes.has(nodeId)) {
18
+ return;
19
+ }
20
+ visitedNodes.add(nodeId);
21
+ const newPath = [...path, node];
22
+ if (!node.dependencies || node.dependencies.length === 0) {
23
+ endLeafPaths.push(newPath);
24
+ if (endLeafPaths.length >= limit) {
25
+ return;
26
+ }
27
+ }
28
+ for (const child of node.dependencies ?? []) {
29
+ findEndLeaves(child, newPath);
30
+ if (endLeafPaths.length >= limit) {
31
+ return;
32
+ }
33
+ }
34
+ visitedNodes.delete(nodeId);
35
+ }
36
+ if (tree.dependencies) {
37
+ for (const node of tree.dependencies) {
38
+ findEndLeaves(node, []);
39
+ }
40
+ }
41
+ const firstNPaths = endLeafPaths.slice(0, limit);
42
+ const map = new Map();
43
+ const newTree = { dependencies: [] };
44
+ for (const path of firstNPaths) {
45
+ let currentDependencies = newTree.dependencies;
46
+ let pathSoFar = '';
47
+ for (const node of path) {
48
+ pathSoFar += `${node.name}@${node.version},`;
49
+ const id = (0, crypto_1.createHash)('sha256').update(pathSoFar).digest('hex');
50
+ let existingNode = map.get(id);
51
+ if (!existingNode) {
52
+ existingNode = { ...node, dependencies: [] };
53
+ currentDependencies.push(existingNode);
54
+ map.set(id, existingNode);
55
+ }
56
+ currentDependencies = existingNode.dependencies;
57
+ }
58
+ }
59
+ return {
60
+ ...tree,
61
+ dependencies: newTree.dependencies,
62
+ };
63
+ });
64
+ }
65
+ exports.pruneDependenciesTrees = pruneDependenciesTrees;
66
+ //# sourceMappingURL=pruneTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pruneTree.js","sourceRoot":"","sources":["../src/pruneTree.ts"],"names":[],"mappings":";;;AAEA,mCAAmC;AAEnC,SAAgB,sBAAsB,CAAE,KAA0C,EAAE,KAAa;IAC/F,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,EAAE,CAAA;KACV;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,YAAY,GAAoB,EAAE,CAAA;QACxC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;QAEtC,SAAS,aAAa,CAAE,IAAiB,EAAE,IAAmB;YAC5D,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAM;aACP;YAED,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;YAC7C,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC5B,OAAM;aACP;YAED,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACxB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAA;YAE/B,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC1B,IAAI,YAAY,CAAC,MAAM,IAAI,KAAK,EAAE;oBAChC,OAAM;iBACP;aACF;YAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE;gBAC3C,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;gBAC7B,IAAI,YAAY,CAAC,MAAM,IAAI,KAAK,EAAE;oBAChC,OAAM;iBACP;aACF;YAED,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;gBACpC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;aACxB;SACF;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAChD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuB,CAAA;QAC1C,MAAM,OAAO,GAA0B,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;QAE3D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;YAC9B,IAAI,mBAAmB,GAAkB,OAAO,CAAC,YAAa,CAAA;YAC9D,IAAI,SAAS,GAAG,EAAE,CAAA;YAElB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACvB,SAAS,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,CAAA;gBAC5C,MAAM,EAAE,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC/D,IAAI,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAE9B,IAAI,CAAC,YAAY,EAAE;oBACjB,YAAY,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;oBAC5C,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBACtC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;iBAC1B;gBAED,mBAAmB,GAAG,YAAY,CAAC,YAAa,CAAA;aACjD;SACF;QAED,OAAO;YACL,GAAG,IAAI;YACP,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAzED,wDAyEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/list",
3
- "version": "9.1.0",
3
+ "version": "9.1.2",
4
4
  "description": "List installed packages in a symlinked `node_modules`",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -29,16 +29,16 @@
29
29
  "cli-columns": "^4.0.0",
30
30
  "p-limit": "^3.1.0",
31
31
  "ramda": "npm:@pnpm/ramda@0.28.1",
32
- "@pnpm/read-package-json": "8.0.3",
33
- "@pnpm/read-project-manifest": "5.0.6",
34
- "@pnpm/reviewing.dependencies-hierarchy": "2.1.0",
35
- "@pnpm/types": "9.2.0"
32
+ "@pnpm/read-project-manifest": "5.0.7",
33
+ "@pnpm/read-package-json": "8.0.4",
34
+ "@pnpm/types": "9.3.0",
35
+ "@pnpm/reviewing.dependencies-hierarchy": "2.1.1"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/archy": "0.0.32",
39
39
  "@types/ramda": "0.28.20",
40
- "@pnpm/list": "9.1.0",
41
- "@pnpm/test-fixtures": "0.1.10"
40
+ "@pnpm/list": "9.1.2",
41
+ "@pnpm/test-fixtures": "0.1.11"
42
42
  },
43
43
  "funding": "https://opencollective.com/pnpm",
44
44
  "exports": {