workspace-tools 0.36.4 → 0.38.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.
@@ -6,5 +6,6 @@ export interface PackageGraphFilter {
6
6
  includeDependents?: boolean;
7
7
  withDevDependencies?: boolean;
8
8
  withPeerDependencies?: boolean;
9
+ withOptionalDependencies?: boolean;
9
10
  }
10
11
  export declare function createPackageGraph(packages: PackageInfos, filters?: PackageGraphFilter[] | PackageGraphFilter): PackageGraph;
@@ -7,15 +7,12 @@ exports.createPackageGraph = void 0;
7
7
  const createDependencyMap_1 = require("./createDependencyMap");
8
8
  const micromatch_1 = __importDefault(require("micromatch"));
9
9
  function createPackageGraph(packages, filters) {
10
- /** set of packages being accumulated as the graph is filtered */
10
+ /** Set of packages being accumulated as the graph is filtered */
11
11
  const packageSet = new Set();
12
- /** array of package names & its dependency being accumulated as the graph is filtered */
12
+ /** Array of package names & its dependencies being accumulated as the graph is filtered */
13
13
  const edges = [];
14
14
  const edgeKeys = new Set();
15
- let dependencyMapWithPeerDevDeps = undefined;
16
- let dependencyMapWithPeerDeps = undefined;
17
- let dependencyMapWithDevDeps = undefined;
18
- let dependencyMapWithoutPeerDevDeps = undefined;
15
+ const dependencyMapCache = new Map();
19
16
  function visitorForFilter(filter, pkg, dependencies, dependents) {
20
17
  packageSet.add(pkg);
21
18
  if (!filter || (filter.includeDependencies && dependencies)) {
@@ -53,29 +50,32 @@ function createPackageGraph(packages, filters) {
53
50
  visitPackageGraph(packages, dependencyMap, visitor);
54
51
  }
55
52
  return { packages: [...packageSet], dependencies: edges };
56
- /** calculates a key, for looking up whether an edge is already added */
53
+ /** Calculates a key for checking if an edge is already added */
57
54
  function edgeKey(name, dependency) {
58
55
  return `${name}->${dependency}`;
59
56
  }
60
- /** gets the dependencyMap for a filter - with or without devDeps */
57
+ /** Gets the dependencyMap for a filter, using a cache based on filter options */
61
58
  function getDependencyMapForFilter(packages, filter) {
62
- if (!filter) {
63
- return (0, createDependencyMap_1.createDependencyMap)(packages);
64
- }
65
- if (filter.withDevDependencies && filter.withPeerDependencies) {
66
- dependencyMapWithPeerDevDeps ?? (dependencyMapWithPeerDevDeps = (0, createDependencyMap_1.createDependencyMap)(packages, filter));
67
- return dependencyMapWithPeerDevDeps;
68
- }
69
- if (filter.withDevDependencies && !filter.withPeerDependencies) {
70
- dependencyMapWithDevDeps ?? (dependencyMapWithDevDeps = (0, createDependencyMap_1.createDependencyMap)(packages, filter));
71
- return dependencyMapWithDevDeps;
59
+ const cacheKey = getCacheKeyForFilter(filter);
60
+ if (!dependencyMapCache.has(cacheKey)) {
61
+ const dependencyMap = (0, createDependencyMap_1.createDependencyMap)(packages, filter);
62
+ dependencyMapCache.set(cacheKey, dependencyMap);
72
63
  }
73
- if (!filter.withDevDependencies && filter.withPeerDependencies) {
74
- dependencyMapWithPeerDeps ?? (dependencyMapWithPeerDeps = (0, createDependencyMap_1.createDependencyMap)(packages, filter));
75
- return dependencyMapWithPeerDeps;
64
+ return dependencyMapCache.get(cacheKey);
65
+ }
66
+ /** Generates a cache key based on the filter options */
67
+ function getCacheKeyForFilter(filter) {
68
+ if (!filter) {
69
+ return "default";
76
70
  }
77
- dependencyMapWithoutPeerDevDeps ?? (dependencyMapWithoutPeerDevDeps = (0, createDependencyMap_1.createDependencyMap)(packages, filter));
78
- return dependencyMapWithoutPeerDevDeps;
71
+ const options = [
72
+ filter.withDevDependencies ? "dev" : "",
73
+ filter.withPeerDependencies ? "peer" : "",
74
+ filter.withOptionalDependencies ? "optional" : "",
75
+ ]
76
+ .filter(Boolean)
77
+ .join("_");
78
+ return options || "prod";
79
79
  }
80
80
  }
81
81
  exports.createPackageGraph = createPackageGraph;
@@ -1 +1 @@
1
- {"version":3,"file":"createPackageGraph.js","sourceRoot":"","sources":["../../src/graph/createPackageGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createPackageGraph.js","sourceRoot":"","sources":["../../src/graph/createPackageGraph.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ import { PackageInfo } from "../types/PackageInfo";
2
2
  export interface PackageDependenciesOptions {
3
3
  withDevDependencies?: boolean;
4
4
  withPeerDependencies?: boolean;
5
+ withOptionalDependencies?: boolean;
5
6
  }
6
7
  export declare function getPackageDependencies(info: PackageInfo, packages: Set<string>, options?: PackageDependenciesOptions): string[];
@@ -1,6 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPackageDependencies = void 0;
4
+ function isValidDependency(info, dep) {
5
+ // check if the dependency range is specified by an external package like npm: or file:
6
+ const range = info.dependencies?.[dep] ||
7
+ info.devDependencies?.[dep] ||
8
+ info.peerDependencies?.[dep] ||
9
+ info.optionalDependencies?.[dep];
10
+ // this case should not happen by this point, but we will handle it anyway
11
+ if (!range) {
12
+ return false;
13
+ }
14
+ return !range.startsWith("npm:") && !range.startsWith("file:");
15
+ }
4
16
  function getPackageDependencies(info, packages, options = { withDevDependencies: true }) {
5
17
  const deps = [];
6
18
  if (info.dependencies) {
@@ -24,7 +36,15 @@ function getPackageDependencies(info, packages, options = { withDevDependencies:
24
36
  }
25
37
  }
26
38
  }
27
- return deps;
39
+ if (info.optionalDependencies && options.withOptionalDependencies) {
40
+ for (const dep of Object.keys(info.optionalDependencies)) {
41
+ if (dep !== info.name && packages.has(dep)) {
42
+ deps.push(dep);
43
+ }
44
+ }
45
+ }
46
+ const filteredDeps = deps.filter((dep) => isValidDependency(info, dep));
47
+ return filteredDeps;
28
48
  }
29
49
  exports.getPackageDependencies = getPackageDependencies;
30
50
  //# sourceMappingURL=getPackageDependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPackageDependencies.js","sourceRoot":"","sources":["../../src/graph/getPackageDependencies.ts"],"names":[],"mappings":";;;AAOA,SAAgB,sBAAsB,CACpC,IAAiB,EACjB,QAAqB,EACrB,UAAsC,EAAE,mBAAmB,EAAE,IAAI,EAAE;IAEnE,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,IAAI,IAAI,CAAC,YAAY,EAAE;QACrB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAChD,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAChB;SACF;KACF;IAED,IAAI,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,mBAAmB,EAAE;QACvD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACnD,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAChB;SACF;KACF;IAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,oBAAoB,EAAE;QACzD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACpD,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAChB;SACF;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAhCD,wDAgCC"}
1
+ {"version":3,"file":"getPackageDependencies.js","sourceRoot":"","sources":["../../src/graph/getPackageDependencies.ts"],"names":[],"mappings":";;;AAQA,SAAS,iBAAiB,CAAC,IAAiB,EAAE,GAAW;IACvD,uFAAuF;IACvF,MAAM,KAAK,GACT,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC;IAEnC,0EAA0E;IAC1E,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IAED,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,SAAgB,sBAAsB,CACpC,IAAiB,EACjB,QAAqB,EACrB,UAAsC,EAAE,mBAAmB,EAAE,IAAI,EAAE;IAEnE,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,IAAI,IAAI,CAAC,YAAY,EAAE;QACrB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAChD,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAChB;SACF;KACF;IAED,IAAI,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,mBAAmB,EAAE;QACvD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACnD,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAChB;SACF;KACF;IAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,oBAAoB,EAAE;QACzD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACpD,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAChB;SACF;KACF;IAED,IAAI,IAAI,CAAC,oBAAoB,IAAI,OAAO,CAAC,wBAAwB,EAAE;QACjE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;YACxD,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAChB;SACF;KACF;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAExE,OAAO,YAAY,CAAC;AACtB,CAAC;AA1CD,wDA0CC"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.38.3"
8
+ "packageVersion": "7.39.0"
9
9
  }
10
10
  ]
11
11
  }
@@ -11,6 +11,9 @@ export interface PackageInfo {
11
11
  peerDependencies?: {
12
12
  [dep: string]: string;
13
13
  };
14
+ optionalDependencies?: {
15
+ [dep: string]: string;
16
+ };
14
17
  private?: boolean;
15
18
  group?: string;
16
19
  scripts?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workspace-tools",
3
- "version": "0.36.4",
3
+ "version": "0.38.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",