workspace-tools 0.21.0 → 0.23.1

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 (67) hide show
  1. package/CHANGELOG.json +54 -1
  2. package/CHANGELOG.md +30 -2
  3. package/lib/dependencies/index.d.ts +12 -0
  4. package/lib/dependencies/index.js +14 -0
  5. package/lib/{dependencies.d.ts → dependencies/transitiveDeps.d.ts} +1 -7
  6. package/lib/{dependencies.js → dependencies/transitiveDeps.js} +3 -12
  7. package/lib/{createDependencyMap.d.ts → graph/createDependencyMap.d.ts} +3 -5
  8. package/lib/{createDependencyMap.js → graph/createDependencyMap.js} +3 -2
  9. package/lib/graph/createPackageGraph.d.ts +10 -0
  10. package/lib/graph/createPackageGraph.js +122 -0
  11. package/lib/graph/getPackageDependencies.d.ts +6 -0
  12. package/lib/graph/getPackageDependencies.js +20 -0
  13. package/lib/graph/index.d.ts +3 -0
  14. package/lib/graph/index.js +16 -0
  15. package/lib/index.d.ts +2 -2
  16. package/lib/index.js +2 -2
  17. package/lib/lockfile/index.js +2 -2
  18. package/package.json +5 -3
  19. package/.github/workflows/pr.yml +0 -29
  20. package/.github/workflows/release.yml +0 -36
  21. package/.prettierrc +0 -6
  22. package/CODE_OF_CONDUCT.md +0 -9
  23. package/SECURITY.md +0 -41
  24. package/beachball.config.js +0 -12
  25. package/docs/.nojekyll +0 -1
  26. package/docs/assets/highlight.css +0 -22
  27. package/docs/assets/icons.css +0 -1043
  28. package/docs/assets/icons.png +0 -0
  29. package/docs/assets/icons@2x.png +0 -0
  30. package/docs/assets/main.js +0 -52
  31. package/docs/assets/search.js +0 -1
  32. package/docs/assets/style.css +0 -1414
  33. package/docs/assets/widgets.png +0 -0
  34. package/docs/assets/widgets@2x.png +0 -0
  35. package/docs/index.html +0 -42
  36. package/docs/interfaces/NpmLockFile.html +0 -1
  37. package/docs/interfaces/NpmSymlinkInfo.html +0 -1
  38. package/docs/interfaces/NpmWorkspacesInfo.html +0 -1
  39. package/docs/interfaces/PackageInfo.html +0 -1
  40. package/docs/interfaces/PackageInfos.html +0 -1
  41. package/docs/interfaces/PnpmLockFile.html +0 -1
  42. package/docs/modules.html +0 -70
  43. package/jest.config.js +0 -11
  44. package/lib/__tests__/dependencies.test.d.ts +0 -1
  45. package/lib/__tests__/dependencies.test.js +0 -141
  46. package/lib/__tests__/getChangedPackages.test.d.ts +0 -1
  47. package/lib/__tests__/getChangedPackages.test.js +0 -142
  48. package/lib/__tests__/getDefaultRemote.test.d.ts +0 -1
  49. package/lib/__tests__/getDefaultRemote.test.js +0 -26
  50. package/lib/__tests__/getInitDefaultBranch.test.d.ts +0 -1
  51. package/lib/__tests__/getInitDefaultBranch.test.js +0 -26
  52. package/lib/__tests__/getPackagesByFiles.test.d.ts +0 -1
  53. package/lib/__tests__/getPackagesByFiles.test.js +0 -54
  54. package/lib/__tests__/getScopedPackages.test.d.ts +0 -1
  55. package/lib/__tests__/getScopedPackages.test.js +0 -74
  56. package/lib/__tests__/getWorkspaceRoot.test.d.ts +0 -1
  57. package/lib/__tests__/getWorkspaceRoot.test.js +0 -40
  58. package/lib/__tests__/getWorkspaces.test.d.ts +0 -1
  59. package/lib/__tests__/getWorkspaces.test.js +0 -122
  60. package/lib/__tests__/graph.test.d.ts +0 -1
  61. package/lib/__tests__/graph.test.js +0 -117
  62. package/lib/__tests__/lockfile.test.d.ts +0 -1
  63. package/lib/__tests__/lockfile.test.js +0 -42
  64. package/lib/__tests__/queryLockFile.test.d.ts +0 -1
  65. package/lib/__tests__/queryLockFile.test.js +0 -43
  66. package/lib/graph.d.ts +0 -8
  67. package/lib/graph.js +0 -61
package/CHANGELOG.json CHANGED
@@ -2,7 +2,60 @@
2
2
  "name": "workspace-tools",
3
3
  "entries": [
4
4
  {
5
- "date": "Fri, 01 Jul 2022 14:55:58 GMT",
5
+ "date": "Fri, 15 Jul 2022 03:59:36 GMT",
6
+ "tag": "workspace-tools_v0.23.1",
7
+ "version": "0.23.1",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "ken@gizzar.com",
12
+ "package": "workspace-tools",
13
+ "comment": "fixing the missing getDependentMap API that lage uses",
14
+ "commit": "c37668d313891a5a0acd25f81a8b2476437335e1"
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "date": "Thu, 14 Jul 2022 17:22:35 GMT",
21
+ "tag": "workspace-tools_v0.23.0",
22
+ "version": "0.23.0",
23
+ "comments": {
24
+ "minor": [
25
+ {
26
+ "author": "kchau@microsoft.com",
27
+ "package": "workspace-tools",
28
+ "comment": "refactoring and cleaning up the createPackageGraph API to make it not repeat edges",
29
+ "commit": "4cd2ebcdc61bdd3c1bce6d1e09bedd13e739edd5"
30
+ }
31
+ ]
32
+ }
33
+ },
34
+ {
35
+ "date": "Wed, 13 Jul 2022 20:42:07 GMT",
36
+ "tag": "workspace-tools_v0.22.0",
37
+ "version": "0.22.0",
38
+ "comments": {
39
+ "minor": [
40
+ {
41
+ "author": "elcraig@microsoft.com",
42
+ "package": "workspace-tools",
43
+ "comment": "Update git-url-parse (includes [possible breaking changes](https://github.com/IonicaBizau/git-url-parse/releases/tag/12.0.0))",
44
+ "commit": "beddff28642eecabce2c64fd387bcc922ed7b941"
45
+ }
46
+ ],
47
+ "patch": [
48
+ {
49
+ "author": "elcraig@microsoft.com",
50
+ "package": "workspace-tools",
51
+ "comment": "Remove unneeded files from published package",
52
+ "commit": "beddff28642eecabce2c64fd387bcc922ed7b941"
53
+ }
54
+ ]
55
+ }
56
+ },
57
+ {
58
+ "date": "Fri, 01 Jul 2022 14:56:01 GMT",
6
59
  "tag": "workspace-tools_v0.21.0",
7
60
  "version": "0.21.0",
8
61
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,40 @@
1
1
  # Change Log - workspace-tools
2
2
 
3
- This log was last generated on Fri, 01 Jul 2022 14:55:58 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 15 Jul 2022 03:59:36 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.23.1
8
+
9
+ Fri, 15 Jul 2022 03:59:36 GMT
10
+
11
+ ### Patches
12
+
13
+ - fixing the missing getDependentMap API that lage uses (ken@gizzar.com)
14
+
15
+ ## 0.23.0
16
+
17
+ Thu, 14 Jul 2022 17:22:35 GMT
18
+
19
+ ### Minor changes
20
+
21
+ - refactoring and cleaning up the createPackageGraph API to make it not repeat edges (kchau@microsoft.com)
22
+
23
+ ## 0.22.0
24
+
25
+ Wed, 13 Jul 2022 20:42:07 GMT
26
+
27
+ ### Minor changes
28
+
29
+ - Update git-url-parse (includes [possible breaking changes](https://github.com/IonicaBizau/git-url-parse/releases/tag/12.0.0)) (elcraig@microsoft.com)
30
+
31
+ ### Patches
32
+
33
+ - Remove unneeded files from published package (elcraig@microsoft.com)
34
+
7
35
  ## 0.21.0
8
36
 
9
- Fri, 01 Jul 2022 14:55:58 GMT
37
+ Fri, 01 Jul 2022 14:56:01 GMT
10
38
 
11
39
  ### Minor changes
12
40
 
@@ -0,0 +1,12 @@
1
+ import { getTransitiveConsumers, getTransitiveProviders } from "./transitiveDeps";
2
+ import { getPackageDependencies } from "../graph/getPackageDependencies";
3
+ /** @deprecated Do not use */
4
+ export declare const getTransitiveDependencies: typeof getTransitiveProviders;
5
+ /** @deprecated Do not use */
6
+ export { getTransitiveProviders };
7
+ /** @deprecated Do not use */
8
+ export declare const getTransitiveDependents: typeof getTransitiveConsumers;
9
+ /** @deprecated Do not use */
10
+ export { getTransitiveConsumers };
11
+ /** @deprecated Do not use */
12
+ export declare const getInternalDeps: typeof getPackageDependencies;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getInternalDeps = exports.getTransitiveConsumers = exports.getTransitiveDependents = exports.getTransitiveProviders = exports.getTransitiveDependencies = void 0;
4
+ const transitiveDeps_1 = require("./transitiveDeps");
5
+ Object.defineProperty(exports, "getTransitiveConsumers", { enumerable: true, get: function () { return transitiveDeps_1.getTransitiveConsumers; } });
6
+ Object.defineProperty(exports, "getTransitiveProviders", { enumerable: true, get: function () { return transitiveDeps_1.getTransitiveProviders; } });
7
+ const getPackageDependencies_1 = require("../graph/getPackageDependencies");
8
+ // Some deprecated functions below for backwards compatibility
9
+ /** @deprecated Do not use */
10
+ exports.getTransitiveDependencies = transitiveDeps_1.getTransitiveProviders;
11
+ /** @deprecated Do not use */
12
+ exports.getTransitiveDependents = transitiveDeps_1.getTransitiveConsumers;
13
+ /** @deprecated Do not use */
14
+ exports.getInternalDeps = getPackageDependencies_1.getPackageDependencies;
@@ -1,4 +1,4 @@
1
- import { PackageInfo, PackageInfos } from "./types/PackageInfo";
1
+ import { PackageInfos } from "../types/PackageInfo";
2
2
  export declare function getDependentMap(packages: PackageInfos): Map<string, Set<string>>;
3
3
  /**
4
4
  * @deprecated Do not use
@@ -17,9 +17,3 @@ export declare function getTransitiveConsumers(targets: string[], packages: Pack
17
17
  * @param packages
18
18
  */
19
19
  export declare function getTransitiveProviders(targets: string[], packages: PackageInfos): string[];
20
- /** @deprecated Do not use */
21
- export declare const getTransitiveDependencies: typeof getTransitiveProviders;
22
- /** @deprecated Do not use */
23
- export declare const getTransitiveDependents: typeof getTransitiveConsumers;
24
- /** @deprecated Do not use */
25
- export declare function getInternalDeps(info: PackageInfo, packages: PackageInfos): string[];
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInternalDeps = exports.getTransitiveDependents = exports.getTransitiveDependencies = exports.getTransitiveProviders = exports.getTransitiveConsumers = exports.getDependentMap = void 0;
3
+ exports.getTransitiveProviders = exports.getTransitiveConsumers = exports.getDependentMap = void 0;
4
+ const getPackageDependencies_1 = require("../graph/getPackageDependencies");
4
5
  const graphCache = new Map();
5
6
  function memoizedKey(packages, scope = []) {
6
7
  return JSON.stringify({ packages, scope });
@@ -20,7 +21,7 @@ function getPackageGraph(packages, scope = []) {
20
21
  }
21
22
  visited.add(pkg);
22
23
  const info = packages[pkg];
23
- const deps = getInternalDeps(info, packages);
24
+ const deps = (0, getPackageDependencies_1.getPackageDependencies)(info, packages);
24
25
  if (deps.length > 0) {
25
26
  for (const dep of deps) {
26
27
  stack.push(dep);
@@ -99,13 +100,3 @@ function getTransitiveProviders(targets, packages) {
99
100
  return [...visited].filter((pkg) => !targets.includes(pkg));
100
101
  }
101
102
  exports.getTransitiveProviders = getTransitiveProviders;
102
- /** @deprecated Do not use */
103
- exports.getTransitiveDependencies = getTransitiveProviders;
104
- /** @deprecated Do not use */
105
- exports.getTransitiveDependents = getTransitiveConsumers;
106
- /** @deprecated Do not use */
107
- function getInternalDeps(info, packages) {
108
- const deps = Object.keys(Object.assign(Object.assign({}, info.dependencies), info.devDependencies));
109
- return Object.keys(packages).filter((pkg) => deps.includes(pkg));
110
- }
111
- exports.getInternalDeps = getInternalDeps;
@@ -1,9 +1,7 @@
1
- import { PackageInfos } from "./types/PackageInfo";
1
+ import { PackageDependenciesOptions } from "./getPackageDependencies";
2
+ import { PackageInfos } from "../types/PackageInfo";
2
3
  export interface DependencyMap {
3
4
  dependencies: Map<string, Set<string>>;
4
5
  dependents: Map<string, Set<string>>;
5
6
  }
6
- export declare function createDependencyMap(packages: PackageInfos): {
7
- dependencies: Map<string, Set<string>>;
8
- dependents: Map<string, Set<string>>;
9
- };
7
+ export declare function createDependencyMap(packages: PackageInfos, options?: PackageDependenciesOptions): DependencyMap;
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createDependencyMap = void 0;
4
+ const getPackageDependencies_1 = require("./getPackageDependencies");
4
5
  // @internal
5
- function createDependencyMap(packages) {
6
+ function createDependencyMap(packages, options = { withDevDependencies: true, withPeerDependencies: false }) {
6
7
  const map = {
7
8
  dependencies: new Map(),
8
9
  dependents: new Map(),
9
10
  };
10
11
  for (const [pkg, info] of Object.entries(packages)) {
11
- const deps = Object.keys(Object.assign(Object.assign({}, info.dependencies), info.devDependencies));
12
+ const deps = (0, getPackageDependencies_1.getPackageDependencies)(info, packages, options);
12
13
  for (const dep of deps) {
13
14
  if (!map.dependencies.has(pkg)) {
14
15
  map.dependencies.set(pkg, new Set());
@@ -0,0 +1,10 @@
1
+ import type { PackageInfos } from "../types/PackageInfo";
2
+ import type { PackageGraph } from "../types/PackageGraph";
3
+ export interface PackageGraphFilter {
4
+ namePatterns: string[];
5
+ includeDependencies?: boolean;
6
+ includeDependents?: boolean;
7
+ withDevDependencies?: boolean;
8
+ withPeerDependencies?: boolean;
9
+ }
10
+ export declare function createPackageGraph(packages: PackageInfos, filters?: PackageGraphFilter[] | PackageGraphFilter): PackageGraph;
@@ -0,0 +1,122 @@
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.createPackageGraph = void 0;
7
+ const createDependencyMap_1 = require("./createDependencyMap");
8
+ const multimatch_1 = __importDefault(require("multimatch"));
9
+ function createPackageGraph(packages, filters) {
10
+ /** packageSet is the set of packages being accumulated as the graph is filtered */
11
+ const packageSet = new Set();
12
+ /** edges is the array of package names & its dependency being accumulated as the graph is filtered */
13
+ const edges = [];
14
+ const edgeKeys = new Set();
15
+ let dependencyMapWithPeerDevDeps = undefined;
16
+ let dependencyMapWithPeerDeps = undefined;
17
+ let dependencyMapWithDevDeps = undefined;
18
+ let dependencyMapWithoutPeerDevDeps = undefined;
19
+ /** a visitor for a single filter, */
20
+ function visitorForFilter(filter, pkg, dependencies, dependents) {
21
+ packageSet.add(pkg);
22
+ if (!filter || (filter.includeDependencies && dependencies)) {
23
+ for (const dep of dependencies) {
24
+ const key = edgeKey(pkg, dep);
25
+ if (!edgeKeys.has(key)) {
26
+ edgeKeys.add(key);
27
+ edges.push({ name: pkg, dependency: dep });
28
+ }
29
+ packageSet.add(dep);
30
+ }
31
+ }
32
+ if (!filter || (filter.includeDependents && dependents)) {
33
+ for (const dep of dependents) {
34
+ const key = edgeKey(dep, pkg);
35
+ if (!edgeKeys.has(key)) {
36
+ edgeKeys.add(key);
37
+ edges.push({ name: dep, dependency: pkg });
38
+ }
39
+ packageSet.add(dep);
40
+ }
41
+ }
42
+ }
43
+ if (filters) {
44
+ if (Array.isArray(filters)) {
45
+ for (const filter of filters) {
46
+ const dependencyMap = getDependencyMapForFilter(packages, filter);
47
+ const visitor = visitorForFilter.bind(undefined, filter);
48
+ visitPackageGraph(packages, dependencyMap, visitor, filter);
49
+ }
50
+ }
51
+ else {
52
+ const filter = filters;
53
+ const dependencyMap = getDependencyMapForFilter(packages, filter);
54
+ const visitor = visitorForFilter.bind(undefined, filter);
55
+ visitPackageGraph(packages, dependencyMap, visitor, filter);
56
+ }
57
+ }
58
+ else {
59
+ const visitor = visitorForFilter.bind(undefined, undefined);
60
+ const dependencyMap = getDependencyMapForFilter(packages);
61
+ visitPackageGraph(packages, dependencyMap, visitor);
62
+ }
63
+ return { packages: [...packageSet], dependencies: edges };
64
+ /** calculates a key, for looking up whether an edge is already added */
65
+ function edgeKey(name, dependency) {
66
+ return `${name}->${dependency}`;
67
+ }
68
+ /** gets the dependencyMap for a filter - with or without devDeps */
69
+ function getDependencyMapForFilter(packages, filter) {
70
+ if (!filter) {
71
+ return (0, createDependencyMap_1.createDependencyMap)(packages);
72
+ }
73
+ if (filter.withDevDependencies && filter.withPeerDependencies && !dependencyMapWithPeerDevDeps) {
74
+ dependencyMapWithPeerDevDeps = (0, createDependencyMap_1.createDependencyMap)(packages, { withDevDependencies: true, withPeerDependencies: true });
75
+ }
76
+ else if (filter.withDevDependencies && !filter.withPeerDependencies && !dependencyMapWithDevDeps) {
77
+ dependencyMapWithDevDeps = (0, createDependencyMap_1.createDependencyMap)(packages, { withDevDependencies: true, withPeerDependencies: false });
78
+ }
79
+ else if (!filter.withDevDependencies && filter.withPeerDependencies && !dependencyMapWithPeerDeps) {
80
+ dependencyMapWithPeerDeps = (0, createDependencyMap_1.createDependencyMap)(packages, { withDevDependencies: false, withPeerDependencies: true });
81
+ }
82
+ else {
83
+ dependencyMapWithoutPeerDevDeps = (0, createDependencyMap_1.createDependencyMap)(packages, { withDevDependencies: false, withPeerDependencies: false });
84
+ }
85
+ return ((filter.withDevDependencies && filter.withPeerDependencies) ? dependencyMapWithPeerDevDeps : (filter.withDevDependencies ? dependencyMapWithDevDeps : (filter.withPeerDependencies ? dependencyMapWithPeerDeps : dependencyMapWithoutPeerDevDeps)));
86
+ }
87
+ }
88
+ exports.createPackageGraph = createPackageGraph;
89
+ function visitPackageGraph(packages, dependencyMap, visitor, filter) {
90
+ var _a, _b;
91
+ const visited = new Set();
92
+ const packageNames = Object.keys(packages);
93
+ const stack = filter ? (0, multimatch_1.default)(packageNames, filter.namePatterns) : packageNames;
94
+ while (stack.length > 0) {
95
+ const pkg = stack.pop();
96
+ if (visited.has(pkg)) {
97
+ continue;
98
+ }
99
+ const nextPkgs = new Set();
100
+ let dependencies = [];
101
+ let dependents = [];
102
+ if (!filter || filter.includeDependencies) {
103
+ dependencies = [...((_a = dependencyMap.dependencies.get(pkg)) !== null && _a !== void 0 ? _a : [])];
104
+ for (const dep of dependencies) {
105
+ nextPkgs.add(dep);
106
+ }
107
+ }
108
+ if (!filter || filter.includeDependents) {
109
+ dependents = [...((_b = dependencyMap.dependents.get(pkg)) !== null && _b !== void 0 ? _b : [])];
110
+ for (const dep of dependents) {
111
+ nextPkgs.add(dep);
112
+ }
113
+ }
114
+ visitor(pkg, dependencies, dependents);
115
+ visited.add(pkg);
116
+ if (nextPkgs.size > 0) {
117
+ for (const nextPkg of nextPkgs) {
118
+ stack.push(nextPkg);
119
+ }
120
+ }
121
+ }
122
+ }
@@ -0,0 +1,6 @@
1
+ import { PackageInfo, PackageInfos } from "../types/PackageInfo";
2
+ export interface PackageDependenciesOptions {
3
+ withDevDependencies?: boolean;
4
+ withPeerDependencies?: boolean;
5
+ }
6
+ export declare function getPackageDependencies(info: PackageInfo, packages: PackageInfos, options?: PackageDependenciesOptions): string[];
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPackageDependencies = void 0;
4
+ function getPackageDependencies(info, packages, options = { withDevDependencies: true }) {
5
+ let deps = [];
6
+ if (options.withDevDependencies && options.withPeerDependencies) {
7
+ deps = Object.keys(Object.assign(Object.assign(Object.assign({}, info.dependencies), info.devDependencies), info.peerDependencies));
8
+ }
9
+ else if (options.withDevDependencies) {
10
+ deps = Object.keys(Object.assign(Object.assign({}, info.dependencies), info.devDependencies));
11
+ }
12
+ else if (options.withPeerDependencies) {
13
+ deps = Object.keys(Object.assign(Object.assign({}, info.dependencies), info.peerDependencies));
14
+ }
15
+ else {
16
+ deps = Object.keys(Object.assign({}, info.dependencies));
17
+ }
18
+ return Object.keys(packages).filter((pkg) => deps.includes(pkg));
19
+ }
20
+ exports.getPackageDependencies = getPackageDependencies;
@@ -0,0 +1,3 @@
1
+ export * from "./createPackageGraph";
2
+ import { createDependencyMap } from "./createDependencyMap";
3
+ export { createDependencyMap as getDependentMap };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.getDependentMap = void 0;
14
+ __exportStar(require("./createPackageGraph"), exports);
15
+ const createDependencyMap_1 = require("./createDependencyMap");
16
+ Object.defineProperty(exports, "getDependentMap", { enumerable: true, get: function () { return createDependencyMap_1.createDependencyMap; } });
package/lib/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export * from "./dependencies";
1
+ export * from "./dependencies/index";
2
2
  export * from "./getPackageInfos";
3
3
  export * from "./git";
4
- export * from "./graph";
4
+ export * from "./graph/index";
5
5
  export * from "./lockfile";
6
6
  export * from "./paths";
7
7
  export * from "./scope";
package/lib/index.js CHANGED
@@ -10,10 +10,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./dependencies"), exports);
13
+ __exportStar(require("./dependencies/index"), exports);
14
14
  __exportStar(require("./getPackageInfos"), exports);
15
15
  __exportStar(require("./git"), exports);
16
- __exportStar(require("./graph"), exports);
16
+ __exportStar(require("./graph/index"), exports);
17
17
  __exportStar(require("./lockfile"), exports);
18
18
  __exportStar(require("./paths"), exports);
19
19
  __exportStar(require("./scope"), exports);
@@ -42,7 +42,7 @@ async function parseLockFile(packageRoot) {
42
42
  return memoization[yarnLockPath];
43
43
  }
44
44
  const parseYarnLock = (await Promise.resolve().then(() => __importStar(require("@yarnpkg/lockfile")))).parse;
45
- const yarnLock = fs_1.default.readFileSync(yarnLockPath, 'utf-8');
45
+ const yarnLock = fs_1.default.readFileSync(yarnLockPath, "utf-8");
46
46
  const parsed = parseYarnLock(yarnLock);
47
47
  memoization[yarnLockPath] = parsed;
48
48
  return parsed;
@@ -67,7 +67,7 @@ async function parseLockFile(packageRoot) {
67
67
  }
68
68
  let npmLockJson;
69
69
  try {
70
- npmLockJson = fs_1.default.readFileSync(npmLockPath, 'utf-8');
70
+ npmLockJson = fs_1.default.readFileSync(npmLockPath, "utf-8");
71
71
  }
72
72
  catch (_a) {
73
73
  throw new Error("Couldn’t parse package-lock.json.");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workspace-tools",
3
- "version": "0.21.0",
3
+ "version": "0.23.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,6 +8,9 @@
8
8
  },
9
9
  "main": "lib/index.js",
10
10
  "types": "lib/index.d.ts",
11
+ "files": [
12
+ "lib/!(__*)"
13
+ ],
11
14
  "scripts": {
12
15
  "build": "tsc",
13
16
  "build:docs": "typedoc src/index.ts",
@@ -21,7 +24,7 @@
21
24
  "dependencies": {
22
25
  "@yarnpkg/lockfile": "^1.1.0",
23
26
  "find-up": "^4.1.0",
24
- "git-url-parse": "^11.1.2",
27
+ "git-url-parse": "^12.0.0",
25
28
  "globby": "^11.0.0",
26
29
  "jju": "^1.4.0",
27
30
  "multimatch": "^4.0.0",
@@ -29,7 +32,6 @@
29
32
  },
30
33
  "devDependencies": {
31
34
  "@types/git-url-parse": "^9.0.0",
32
- "@types/glob": "^7.1.1",
33
35
  "@types/jest": "^25.2.2",
34
36
  "@types/jju": "^1.4.1",
35
37
  "@types/multimatch": "^4.0.0",
@@ -1,29 +0,0 @@
1
- # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
2
- # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3
-
4
- name: PR
5
-
6
- on:
7
- pull_request:
8
- branches: [master]
9
-
10
- jobs:
11
- build:
12
- runs-on: ubuntu-latest
13
-
14
- strategy:
15
- matrix:
16
- node-version: [12.x]
17
-
18
- steps:
19
- - uses: actions/checkout@v2
20
- with:
21
- fetch-depth: 0
22
- - name: Use Node.js ${{ matrix.node-version }}
23
- uses: actions/setup-node@v1
24
- with:
25
- node-version: ${{ matrix.node-version }}
26
- - run: yarn
27
- - run: yarn checkchange
28
- - run: yarn build
29
- - run: yarn test
@@ -1,36 +0,0 @@
1
- # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
2
- # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3
-
4
- name: Release
5
-
6
- on:
7
- push:
8
- branches: [master]
9
-
10
- jobs:
11
- build:
12
- runs-on: ubuntu-latest
13
-
14
- strategy:
15
- matrix:
16
- node-version: [12.x]
17
-
18
- steps:
19
- - uses: actions/checkout@v2
20
- with:
21
- token: ${{ secrets.repo_pat }}
22
- fetch-depth: 0
23
- - name: Use Node.js ${{ matrix.node-version }}
24
- uses: actions/setup-node@v1
25
- with:
26
- node-version: ${{ matrix.node-version }}
27
- - run: yarn
28
- - run: yarn checkchange
29
- - run: yarn build
30
- - run: yarn test
31
- - run: |
32
- git config user.email "kchau@microsoft.com"
33
- git config user.name "Ken Chau"
34
- - run: yarn release -y -n $NPM_AUTHTOKEN
35
- env:
36
- NPM_AUTHTOKEN: ${{ secrets.npm_authtoken }}
package/.prettierrc DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "trailingComma": "es5",
3
- "tabWidth": 2,
4
- "singleQuote": false,
5
- "printWidth": 120
6
- }
@@ -1,9 +0,0 @@
1
- # Microsoft Open Source Code of Conduct
2
-
3
- This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
4
-
5
- Resources:
6
-
7
- - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
8
- - [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
9
- - Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns
package/SECURITY.md DELETED
@@ -1,41 +0,0 @@
1
- <!-- BEGIN MICROSOFT SECURITY.MD V0.0.5 BLOCK -->
2
-
3
- ## Security
4
-
5
- Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
6
-
7
- If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below.
8
-
9
- ## Reporting Security Issues
10
-
11
- **Please do not report security vulnerabilities through public GitHub issues.**
12
-
13
- Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report).
14
-
15
- If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc).
16
-
17
- You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).
18
-
19
- Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
20
-
21
- * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
22
- * Full paths of source file(s) related to the manifestation of the issue
23
- * The location of the affected source code (tag/branch/commit or direct URL)
24
- * Any special configuration required to reproduce the issue
25
- * Step-by-step instructions to reproduce the issue
26
- * Proof-of-concept or exploit code (if possible)
27
- * Impact of the issue, including how an attacker might exploit the issue
28
-
29
- This information will help us triage your report more quickly.
30
-
31
- If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs.
32
-
33
- ## Preferred Languages
34
-
35
- We prefer all communications to be in English.
36
-
37
- ## Policy
38
-
39
- Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd).
40
-
41
- <!-- END MICROSOFT SECURITY.MD BLOCK -->
@@ -1,12 +0,0 @@
1
- module.exports = {
2
- scope: ["!src/__fixtures__/**/*"],
3
- ignorePatterns: [
4
- ".github/**",
5
- ".prettierrc",
6
- "jest.config.js",
7
- "src/__fixtures__/**",
8
- "src/__tests__/**",
9
- // This prevents dependabot from being blocked by change file requirements for lock file-only changes
10
- "yarn.lock",
11
- ],
12
- };
package/docs/.nojekyll DELETED
@@ -1 +0,0 @@
1
- TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
@@ -1,22 +0,0 @@
1
- :root {
2
- --light-code-background: #F5F5F5;
3
- --dark-code-background: #1E1E1E;
4
- }
5
-
6
- @media (prefers-color-scheme: light) { :root {
7
- --code-background: var(--light-code-background);
8
- } }
9
-
10
- @media (prefers-color-scheme: dark) { :root {
11
- --code-background: var(--dark-code-background);
12
- } }
13
-
14
- body.light {
15
- --code-background: var(--light-code-background);
16
- }
17
-
18
- body.dark {
19
- --code-background: var(--dark-code-background);
20
- }
21
-
22
- pre, code { background: var(--code-background); }