workspace-tools 0.41.0 → 0.41.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.
- package/README.md +1 -1
- package/lib/dependencies/index.d.ts +2 -2
- package/lib/dependencies/index.js +31 -12
- package/lib/dependencies/index.js.map +1 -1
- package/lib/dependencies/transitiveDeps.d.ts +1 -1
- package/lib/dependencies/transitiveDeps.js +59 -38
- package/lib/dependencies/transitiveDeps.js.map +1 -1
- package/lib/getPackageInfo.d.ts +1 -1
- package/lib/getPackageInfo.js +46 -40
- package/lib/getPackageInfo.js.map +1 -1
- package/lib/getPackageInfos.d.ts +4 -2
- package/lib/getPackageInfos.js +35 -53
- package/lib/getPackageInfos.js.map +1 -1
- package/lib/git/config.d.ts +1 -1
- package/lib/git/config.js +15 -12
- package/lib/git/config.js.map +1 -1
- package/lib/git/getDefaultRemote.js +45 -30
- package/lib/git/getDefaultRemote.js.map +1 -1
- package/lib/git/getDefaultRemoteBranch.d.ts +1 -1
- package/lib/git/getDefaultRemoteBranch.js +35 -24
- package/lib/git/getDefaultRemoteBranch.js.map +1 -1
- package/lib/git/getRepositoryName.d.ts +1 -1
- package/lib/git/getRepositoryName.js +17 -19
- package/lib/git/getRepositoryName.js.map +1 -1
- package/lib/git/git.d.ts +2 -5
- package/lib/git/git.js +62 -64
- package/lib/git/git.js.map +1 -1
- package/lib/git/gitUtilities.d.ts +3 -3
- package/lib/git/gitUtilities.js +377 -147
- package/lib/git/gitUtilities.js.map +1 -1
- package/lib/git/index.d.ts +5 -5
- package/lib/git/index.js +50 -28
- package/lib/git/index.js.map +1 -1
- package/lib/git/types.js +4 -3
- package/lib/git/types.js.map +1 -1
- package/lib/graph/createDependencyMap.d.ts +2 -2
- package/lib/graph/createDependencyMap.js +18 -18
- package/lib/graph/createDependencyMap.js.map +1 -1
- package/lib/graph/createPackageGraph.d.ts +3 -3
- package/lib/graph/createPackageGraph.js +58 -45
- package/lib/graph/createPackageGraph.js.map +1 -1
- package/lib/graph/getPackageDependencies.d.ts +1 -1
- package/lib/graph/getPackageDependencies.js +17 -17
- package/lib/graph/getPackageDependencies.js.map +1 -1
- package/lib/graph/index.d.ts +4 -4
- package/lib/graph/index.js +25 -27
- package/lib/graph/index.js.map +1 -1
- package/lib/index.d.ts +29 -26
- package/lib/index.js +154 -70
- package/lib/index.js.map +1 -1
- package/lib/isCachingEnabled.js +17 -6
- package/lib/isCachingEnabled.js.map +1 -1
- package/lib/lockfile/nameAtVersion.js +9 -4
- package/lib/lockfile/nameAtVersion.js.map +1 -1
- package/lib/lockfile/parseBerryLock.d.ts +1 -1
- package/lib/lockfile/parseBerryLock.js +13 -11
- package/lib/lockfile/parseBerryLock.js.map +1 -1
- package/lib/lockfile/parseLockFile.d.ts +2 -0
- package/lib/lockfile/parseLockFile.js +87 -0
- package/lib/lockfile/parseLockFile.js.map +1 -0
- package/lib/lockfile/parseNpmLock.d.ts +1 -1
- package/lib/lockfile/parseNpmLock.js +15 -7
- package/lib/lockfile/parseNpmLock.js.map +1 -1
- package/lib/lockfile/parsePnpmLock.d.ts +1 -1
- package/lib/lockfile/parsePnpmLock.js +14 -9
- package/lib/lockfile/parsePnpmLock.js.map +1 -1
- package/lib/lockfile/queryLockFile.d.ts +1 -1
- package/lib/lockfile/queryLockFile.js +11 -6
- package/lib/lockfile/queryLockFile.js.map +1 -1
- package/lib/lockfile/readYaml.js +17 -9
- package/lib/lockfile/readYaml.js.map +1 -1
- package/lib/lockfile/types.js +3 -2
- package/lib/lockfile/types.js.map +1 -1
- package/lib/logging.js +10 -6
- package/lib/logging.js.map +1 -1
- package/lib/paths.d.ts +1 -1
- package/lib/paths.js +59 -59
- package/lib/paths.js.map +1 -1
- package/lib/scope.js +30 -21
- package/lib/scope.js.map +1 -1
- package/lib/types/Catalogs.js +8 -3
- package/lib/types/Catalogs.js.map +1 -1
- package/lib/types/PackageGraph.js +4 -3
- package/lib/types/PackageGraph.js.map +1 -1
- package/lib/types/PackageInfo.d.ts +1 -1
- package/lib/types/PackageInfo.js +3 -2
- package/lib/types/PackageInfo.js.map +1 -1
- package/lib/types/WorkspaceInfo.d.ts +1 -1
- package/lib/types/WorkspaceInfo.js +3 -2
- package/lib/types/WorkspaceInfo.js.map +1 -1
- package/lib/types/WorkspaceManager.js +3 -2
- package/lib/types/WorkspaceManager.js.map +1 -1
- package/lib/workspaces/catalogsToYaml.d.ts +1 -1
- package/lib/workspaces/catalogsToYaml.js +12 -10
- package/lib/workspaces/catalogsToYaml.js.map +1 -1
- package/lib/workspaces/findWorkspacePath.d.ts +2 -1
- package/lib/workspaces/findWorkspacePath.js +10 -12
- package/lib/workspaces/findWorkspacePath.js.map +1 -1
- package/lib/workspaces/getAllPackageJsonFiles.js +32 -28
- package/lib/workspaces/getAllPackageJsonFiles.js.map +1 -1
- package/lib/workspaces/getCatalogVersion.d.ts +1 -1
- package/lib/workspaces/getCatalogVersion.js +19 -32
- package/lib/workspaces/getCatalogVersion.js.map +1 -1
- package/lib/workspaces/getCatalogs.d.ts +2 -2
- package/lib/workspaces/getCatalogs.js +17 -22
- package/lib/workspaces/getCatalogs.js.map +1 -1
- package/lib/workspaces/getChangedPackages.d.ts +1 -1
- package/lib/workspaces/getChangedPackages.js +47 -30
- package/lib/workspaces/getChangedPackages.js.map +1 -1
- package/lib/workspaces/getPackagesByFiles.js +29 -24
- package/lib/workspaces/getPackagesByFiles.js.map +1 -1
- package/lib/workspaces/getWorkspaceInfos.d.ts +2 -2
- package/lib/workspaces/getWorkspaceInfos.js +43 -58
- package/lib/workspaces/getWorkspaceInfos.js.map +1 -1
- package/lib/workspaces/getWorkspaceManagerRoot.d.ts +1 -1
- package/lib/workspaces/getWorkspaceManagerRoot.js +16 -13
- package/lib/workspaces/getWorkspaceManagerRoot.js.map +1 -1
- package/lib/workspaces/getWorkspacePackagePaths.d.ts +1 -1
- package/lib/workspaces/getWorkspacePackagePaths.js +86 -72
- package/lib/workspaces/getWorkspacePackagePaths.js.map +1 -1
- package/lib/workspaces/getWorkspacePatterns.d.ts +1 -1
- package/lib/workspaces/getWorkspacePatterns.js +18 -20
- package/lib/workspaces/getWorkspacePatterns.js.map +1 -1
- package/lib/workspaces/implementations/WorkspaceUtilities.d.ts +1 -1
- package/lib/workspaces/implementations/WorkspaceUtilities.js +3 -2
- package/lib/workspaces/implementations/WorkspaceUtilities.js.map +1 -1
- package/lib/workspaces/implementations/getPackageJsonWorkspacePatterns.d.ts +1 -1
- package/lib/workspaces/implementations/getPackageJsonWorkspacePatterns.js +24 -22
- package/lib/workspaces/implementations/getPackageJsonWorkspacePatterns.js.map +1 -1
- package/lib/workspaces/implementations/getWorkspaceManagerAndRoot.d.ts +1 -1
- package/lib/workspaces/implementations/getWorkspaceManagerAndRoot.js +38 -43
- package/lib/workspaces/implementations/getWorkspaceManagerAndRoot.js.map +1 -1
- package/lib/workspaces/implementations/getWorkspaceUtilities.d.ts +2 -2
- package/lib/workspaces/implementations/getWorkspaceUtilities.js +25 -13
- package/lib/workspaces/implementations/getWorkspaceUtilities.js.map +1 -1
- package/lib/workspaces/implementations/index.d.ts +2 -2
- package/lib/workspaces/implementations/index.js +19 -7
- package/lib/workspaces/implementations/index.js.map +1 -1
- package/lib/workspaces/implementations/lerna.d.ts +1 -1
- package/lib/workspaces/implementations/lerna.js +55 -31
- package/lib/workspaces/implementations/lerna.js.map +1 -1
- package/lib/workspaces/implementations/npm.d.ts +1 -1
- package/lib/workspaces/implementations/npm.js +12 -7
- package/lib/workspaces/implementations/npm.js.map +1 -1
- package/lib/workspaces/implementations/pnpm.d.ts +1 -1
- package/lib/workspaces/implementations/pnpm.js +28 -17
- package/lib/workspaces/implementations/pnpm.js.map +1 -1
- package/lib/workspaces/implementations/rush.d.ts +1 -1
- package/lib/workspaces/implementations/rush.js +27 -16
- package/lib/workspaces/implementations/rush.js.map +1 -1
- package/lib/workspaces/implementations/yarn.d.ts +1 -1
- package/lib/workspaces/implementations/yarn.js +34 -26
- package/lib/workspaces/implementations/yarn.js.map +1 -1
- package/lib/workspaces/wrapWorkspaceUtility.d.ts +1 -1
- package/lib/workspaces/wrapWorkspaceUtility.js +25 -27
- package/lib/workspaces/wrapWorkspaceUtility.js.map +1 -1
- package/package.json +21 -12
- package/lib/lockfile/index.d.ts +0 -6
- package/lib/lockfile/index.js +0 -105
- package/lib/lockfile/index.js.map +0 -1
|
@@ -1,27 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* (logs verbose warnings instead of throwing on error)
|
|
14
|
-
*/
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "getWorkspacePatterns", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return getWorkspacePatterns;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _implementations = require("./implementations");
|
|
12
|
+
const _wrapWorkspaceUtility = require("./wrapWorkspaceUtility.js");
|
|
15
13
|
function getWorkspacePatterns(cwd, managerOverride) {
|
|
16
|
-
return (0,
|
|
14
|
+
return (0, _wrapWorkspaceUtility.wrapWorkspaceUtility)({
|
|
17
15
|
cwd,
|
|
18
16
|
managerOverride,
|
|
19
17
|
description: "workspace patterns",
|
|
20
|
-
impl: ({ manager, root })
|
|
21
|
-
const managerUtilities = (0,
|
|
22
|
-
return managerUtilities.getWorkspacePatterns({
|
|
23
|
-
|
|
18
|
+
impl: ({ manager, root })=>{
|
|
19
|
+
const managerUtilities = (0, _implementations.getWorkspaceUtilities)(manager);
|
|
20
|
+
return managerUtilities.getWorkspacePatterns({
|
|
21
|
+
root
|
|
22
|
+
})?.patterns;
|
|
23
|
+
}
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
exports.getWorkspacePatterns = getWorkspacePatterns;
|
|
27
|
-
//# sourceMappingURL=getWorkspacePatterns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/workspaces/getWorkspacePatterns.ts"],"sourcesContent":["import type { WorkspaceManager } from \"../types/WorkspaceManager.js\";\nimport { getWorkspaceUtilities } from \"./implementations\";\nimport { wrapWorkspaceUtility } from \"./wrapWorkspaceUtility.js\";\n\n/**\n * Get the original glob patterns from the manager's workspaces config.\n * (Calculation of the workspace manager and root for `cwd` is cached internally.)\n *\n * @param managerOverride Workspace/monorepo manager to use instead of auto-detecting\n *\n * @returns Array of patterns, or undefined if not available\n * (logs verbose warnings instead of throwing on error)\n */\nexport function getWorkspacePatterns(cwd: string, managerOverride?: WorkspaceManager): string[] | undefined {\n return wrapWorkspaceUtility({\n cwd,\n managerOverride,\n description: \"workspace patterns\",\n impl: ({ manager, root }) => {\n const managerUtilities = getWorkspaceUtilities(manager);\n return managerUtilities.getWorkspacePatterns({ root })?.patterns;\n },\n });\n}\n"],"names":["getWorkspacePatterns","cwd","managerOverride","wrapWorkspaceUtility","description","impl","manager","root","managerUtilities","getWorkspaceUtilities","patterns"],"mappings":";;;;+BAagBA;;;eAAAA;;;iCAZsB;sCACD;AAW9B,SAASA,qBAAqBC,GAAW,EAAEC,eAAkC;IAClF,OAAOC,IAAAA,0CAAoB,EAAC;QAC1BF;QACAC;QACAE,aAAa;QACbC,MAAM,CAAC,EAAEC,OAAO,EAAEC,IAAI,EAAE;YACtB,MAAMC,mBAAmBC,IAAAA,sCAAqB,EAACH;YAC/C,OAAOE,iBAAiBR,oBAAoB,CAAC;gBAAEO;YAAK,IAAIG;QAC1D;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "getPackageJsonWorkspacePatterns", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return getPackageJsonWorkspacePatterns;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const getPackageJsonWorkspacePatterns = ({ root })=>{
|
|
19
|
+
const packageJsonFile = _path.default.join(root, "package.json");
|
|
18
20
|
let packageJson;
|
|
19
21
|
try {
|
|
20
|
-
packageJson = JSON.parse(
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
22
|
+
packageJson = JSON.parse(_fs.default.readFileSync(packageJsonFile, "utf-8"));
|
|
23
|
+
} catch {
|
|
23
24
|
throw new Error(`Could not read or parse ${packageJsonFile}`);
|
|
24
25
|
}
|
|
25
26
|
const { workspaces } = packageJson;
|
|
@@ -30,7 +31,8 @@ const getPackageJsonWorkspacePatterns = ({ root }) => {
|
|
|
30
31
|
if (!patterns) {
|
|
31
32
|
throw new Error(`"workspaces" in ${packageJsonFile} does not define "packages"`);
|
|
32
33
|
}
|
|
33
|
-
return {
|
|
34
|
+
return {
|
|
35
|
+
patterns,
|
|
36
|
+
type: "pattern"
|
|
37
|
+
};
|
|
34
38
|
};
|
|
35
|
-
exports.getPackageJsonWorkspacePatterns = getPackageJsonWorkspacePatterns;
|
|
36
|
-
//# sourceMappingURL=getPackageJsonWorkspacePatterns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/workspaces/implementations/getPackageJsonWorkspacePatterns.ts"],"sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport type { PackageInfo } from \"../../types/PackageInfo.js\";\nimport type { WorkspaceUtilities } from \"./WorkspaceUtilities.js\";\n\ntype PackageJsonWithWorkspaces = Pick<PackageInfo, \"workspaces\">;\n\n/**\n * Default implementation of `WorkspaceUtilities.getWorkspacePatterns`:\n * read the `workspaces` field from package.json.\n *\n * Throws an error if the `workspaces` field is not found or invalid.\n * (Note that this is expected for single-package repos.)\n */\nexport const getPackageJsonWorkspacePatterns: WorkspaceUtilities[\"getWorkspacePatterns\"] = ({ root }) => {\n const packageJsonFile = path.join(root, \"package.json\");\n\n let packageJson: PackageJsonWithWorkspaces;\n try {\n packageJson = JSON.parse(fs.readFileSync(packageJsonFile, \"utf-8\")) as PackageJsonWithWorkspaces;\n } catch {\n throw new Error(`Could not read or parse ${packageJsonFile}`);\n }\n\n const { workspaces } = packageJson;\n if (!workspaces) {\n throw new Error(`Could not find \"workspaces\" in ${packageJsonFile} (expected if this is not a monorepo)`);\n }\n\n const patterns = Array.isArray(workspaces) ? workspaces : workspaces?.packages;\n if (!patterns) {\n throw new Error(`\"workspaces\" in ${packageJsonFile} does not define \"packages\"`);\n }\n return { patterns, type: \"pattern\" };\n};\n"],"names":["getPackageJsonWorkspacePatterns","root","packageJsonFile","path","join","packageJson","JSON","parse","fs","readFileSync","Error","workspaces","patterns","Array","isArray","packages","type"],"mappings":";;;;+BAcaA;;;eAAAA;;;2DAdE;6DACE;;;;;;AAaV,MAAMA,kCAA8E,CAAC,EAAEC,IAAI,EAAE;IAClG,MAAMC,kBAAkBC,aAAI,CAACC,IAAI,CAACH,MAAM;IAExC,IAAII;IACJ,IAAI;QACFA,cAAcC,KAAKC,KAAK,CAACC,WAAE,CAACC,YAAY,CAACP,iBAAiB;IAC5D,EAAE,OAAM;QACN,MAAM,IAAIQ,MAAM,CAAC,wBAAwB,EAAER,iBAAiB;IAC9D;IAEA,MAAM,EAAES,UAAU,EAAE,GAAGN;IACvB,IAAI,CAACM,YAAY;QACf,MAAM,IAAID,MAAM,CAAC,+BAA+B,EAAER,gBAAgB,qCAAqC,CAAC;IAC1G;IAEA,MAAMU,WAAWC,MAAMC,OAAO,CAACH,cAAcA,aAAaA,YAAYI;IACtE,IAAI,CAACH,UAAU;QACb,MAAM,IAAIF,MAAM,CAAC,gBAAgB,EAAER,gBAAgB,2BAA2B,CAAC;IACjF;IACA,OAAO;QAAEU;QAAUI,MAAM;IAAU;AACrC"}
|
|
@@ -1,67 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get getPreferredWorkspaceManager () {
|
|
13
|
+
return getPreferredWorkspaceManager;
|
|
14
|
+
},
|
|
15
|
+
get getWorkspaceManagerAndRoot () {
|
|
16
|
+
return getWorkspaceManagerAndRoot;
|
|
17
|
+
},
|
|
18
|
+
get managerFiles () {
|
|
19
|
+
return managerFiles;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
23
|
+
const _isCachingEnabled = require("../../isCachingEnabled.js");
|
|
24
|
+
const _paths = require("../../paths.js");
|
|
25
|
+
function _interop_require_default(obj) {
|
|
26
|
+
return obj && obj.__esModule ? obj : {
|
|
27
|
+
default: obj
|
|
28
|
+
};
|
|
29
|
+
}
|
|
10
30
|
const workspaceCache = new Map();
|
|
11
|
-
|
|
12
|
-
* Files indicating the monorepo root for each manager.
|
|
13
|
-
*
|
|
14
|
-
* DO NOT REORDER! The order of keys determines the precedence of the files, which is
|
|
15
|
-
* important for cases like lerna where lerna.json and e.g. yarn.lock may both exist.
|
|
16
|
-
*/
|
|
17
|
-
exports.managerFiles = {
|
|
31
|
+
const managerFiles = {
|
|
18
32
|
// DO NOT REORDER! (see above)
|
|
19
33
|
lerna: "lerna.json",
|
|
20
34
|
rush: "rush.json",
|
|
21
35
|
yarn: "yarn.lock",
|
|
22
36
|
pnpm: "pnpm-workspace.yaml",
|
|
23
|
-
npm: "package-lock.json"
|
|
37
|
+
npm: "package-lock.json"
|
|
24
38
|
};
|
|
25
|
-
/**
|
|
26
|
-
* Get the preferred workspace/monorepo manager based on `process.env.PREFERRED_WORKSPACE_MANAGER`
|
|
27
|
-
* (if valid).
|
|
28
|
-
*/
|
|
29
39
|
function getPreferredWorkspaceManager() {
|
|
30
40
|
const preferred = process.env.PREFERRED_WORKSPACE_MANAGER;
|
|
31
|
-
return preferred &&
|
|
41
|
+
return preferred && managerFiles[preferred] ? preferred : undefined;
|
|
32
42
|
}
|
|
33
|
-
exports.getPreferredWorkspaceManager = getPreferredWorkspaceManager;
|
|
34
|
-
/**
|
|
35
|
-
* Get the workspace/monorepo manager name and root directory for `cwd`, with caching.
|
|
36
|
-
*
|
|
37
|
-
* @param cwd Directory to search up from
|
|
38
|
-
* @param cache Optional override cache for testing
|
|
39
|
-
* @param managerOverride Optional override manager (if provided, only searches for this manager's file).
|
|
40
|
-
* Also respects `process.env.PREFERRED_WORKSPACE_MANAGER`.
|
|
41
|
-
*
|
|
42
|
-
* @returns Workspace/monorepo manager and root, or undefined if it can't be determined
|
|
43
|
-
*/
|
|
44
43
|
function getWorkspaceManagerAndRoot(cwd, cache, managerOverride) {
|
|
45
44
|
cache = cache || workspaceCache;
|
|
46
|
-
if ((0,
|
|
45
|
+
if ((0, _isCachingEnabled.isCachingEnabled)() && cache.has(cwd)) {
|
|
47
46
|
return cache.get(cwd);
|
|
48
47
|
}
|
|
49
48
|
managerOverride ?? (managerOverride = getPreferredWorkspaceManager());
|
|
50
|
-
const filesToSearch = managerOverride ?
|
|
51
|
-
const managerFile = (0,
|
|
49
|
+
const filesToSearch = managerOverride ? managerFiles[managerOverride] : Object.values(managerFiles);
|
|
50
|
+
const managerFile = (0, _paths.searchUp)(filesToSearch, cwd);
|
|
52
51
|
if (managerFile) {
|
|
53
|
-
const managerFileName =
|
|
52
|
+
const managerFileName = _path.default.basename(managerFile);
|
|
54
53
|
cache.set(cwd, {
|
|
55
|
-
manager: managerOverride ||
|
|
56
|
-
|
|
57
|
-
root: path_1.default.dirname(managerFile),
|
|
54
|
+
manager: managerOverride || Object.keys(managerFiles).find((name)=>managerFiles[name] === managerFileName),
|
|
55
|
+
root: _path.default.dirname(managerFile)
|
|
58
56
|
});
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
57
|
+
} else {
|
|
61
58
|
// Avoid searching again if no file was found
|
|
62
59
|
cache.set(cwd, undefined);
|
|
63
60
|
}
|
|
64
61
|
return cache.get(cwd);
|
|
65
62
|
}
|
|
66
|
-
exports.getWorkspaceManagerAndRoot = getWorkspaceManagerAndRoot;
|
|
67
|
-
//# sourceMappingURL=getWorkspaceManagerAndRoot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/workspaces/implementations/getWorkspaceManagerAndRoot.ts"],"sourcesContent":["import path from \"path\";\nimport { isCachingEnabled } from \"../../isCachingEnabled.js\";\nimport { searchUp } from \"../../paths.js\";\nimport { type WorkspaceManager } from \"../../types/WorkspaceManager.js\";\n\nexport interface WorkspaceManagerAndRoot {\n /** Workspace/monorepo manager name */\n manager: WorkspaceManager;\n /** Monorepo root, where the manager configuration file is located */\n root: string;\n}\n\nconst workspaceCache = new Map<string, WorkspaceManagerAndRoot | undefined>();\n\n/**\n * Files indicating the monorepo root for each manager.\n *\n * DO NOT REORDER! The order of keys determines the precedence of the files, which is\n * important for cases like lerna where lerna.json and e.g. yarn.lock may both exist.\n */\nexport const managerFiles = {\n // DO NOT REORDER! (see above)\n lerna: \"lerna.json\",\n rush: \"rush.json\",\n yarn: \"yarn.lock\",\n pnpm: \"pnpm-workspace.yaml\",\n npm: \"package-lock.json\",\n} as const;\n\n/**\n * Get the preferred workspace/monorepo manager based on `process.env.PREFERRED_WORKSPACE_MANAGER`\n * (if valid).\n */\nexport function getPreferredWorkspaceManager(): WorkspaceManager | undefined {\n const preferred = process.env.PREFERRED_WORKSPACE_MANAGER as WorkspaceManager | undefined;\n return preferred && managerFiles[preferred] ? preferred : undefined;\n}\n\n/**\n * Get the workspace/monorepo manager name and root directory for `cwd`, with caching.\n *\n * @param cwd Directory to search up from\n * @param cache Optional override cache for testing\n * @param managerOverride Optional override manager (if provided, only searches for this manager's file).\n * Also respects `process.env.PREFERRED_WORKSPACE_MANAGER`.\n *\n * @returns Workspace/monorepo manager and root, or undefined if it can't be determined\n */\nexport function getWorkspaceManagerAndRoot(\n cwd: string,\n cache?: Map<string, WorkspaceManagerAndRoot | undefined>,\n managerOverride?: WorkspaceManager\n): WorkspaceManagerAndRoot | undefined {\n cache = cache || workspaceCache;\n if (isCachingEnabled() && cache.has(cwd)) {\n return cache.get(cwd);\n }\n\n managerOverride ??= getPreferredWorkspaceManager();\n const filesToSearch = managerOverride ? managerFiles[managerOverride] : Object.values(managerFiles);\n const managerFile = searchUp(filesToSearch, cwd);\n\n if (managerFile) {\n const managerFileName = path.basename(managerFile);\n cache.set(cwd, {\n manager:\n managerOverride ||\n (Object.keys(managerFiles) as WorkspaceManager[]).find((name) => managerFiles[name] === managerFileName)!,\n root: path.dirname(managerFile),\n });\n } else {\n // Avoid searching again if no file was found\n cache.set(cwd, undefined);\n }\n\n return cache.get(cwd);\n}\n"],"names":["getPreferredWorkspaceManager","getWorkspaceManagerAndRoot","managerFiles","workspaceCache","Map","lerna","rush","yarn","pnpm","npm","preferred","process","env","PREFERRED_WORKSPACE_MANAGER","undefined","cwd","cache","managerOverride","isCachingEnabled","has","get","filesToSearch","Object","values","managerFile","searchUp","managerFileName","path","basename","set","manager","keys","find","name","root","dirname"],"mappings":";;;;;;;;;;;QAiCgBA;eAAAA;;QAeAC;eAAAA;;QA5BHC;eAAAA;;;6DApBI;kCACgB;uBACR;;;;;;AAUzB,MAAMC,iBAAiB,IAAIC;AAQpB,MAAMF,eAAe;IAC1B,8BAA8B;IAC9BG,OAAO;IACPC,MAAM;IACNC,MAAM;IACNC,MAAM;IACNC,KAAK;AACP;AAMO,SAAST;IACd,MAAMU,YAAYC,QAAQC,GAAG,CAACC,2BAA2B;IACzD,OAAOH,aAAaR,YAAY,CAACQ,UAAU,GAAGA,YAAYI;AAC5D;AAYO,SAASb,2BACdc,GAAW,EACXC,KAAwD,EACxDC,eAAkC;IAElCD,QAAQA,SAASb;IACjB,IAAIe,IAAAA,kCAAgB,OAAMF,MAAMG,GAAG,CAACJ,MAAM;QACxC,OAAOC,MAAMI,GAAG,CAACL;IACnB;IAEAE,oBAAAA,kBAAoBjB;IACpB,MAAMqB,gBAAgBJ,kBAAkBf,YAAY,CAACe,gBAAgB,GAAGK,OAAOC,MAAM,CAACrB;IACtF,MAAMsB,cAAcC,IAAAA,eAAQ,EAACJ,eAAeN;IAE5C,IAAIS,aAAa;QACf,MAAME,kBAAkBC,aAAI,CAACC,QAAQ,CAACJ;QACtCR,MAAMa,GAAG,CAACd,KAAK;YACbe,SACEb,mBACA,AAACK,OAAOS,IAAI,CAAC7B,cAAqC8B,IAAI,CAAC,CAACC,OAAS/B,YAAY,CAAC+B,KAAK,KAAKP;YAC1FQ,MAAMP,aAAI,CAACQ,OAAO,CAACX;QACrB;IACF,OAAO;QACL,6CAA6C;QAC7CR,MAAMa,GAAG,CAACd,KAAKD;IACjB;IAEA,OAAOE,MAAMI,GAAG,CAACL;AACnB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WorkspaceManager } from "../../types/WorkspaceManager";
|
|
2
|
-
import type { WorkspaceUtilities } from "./WorkspaceUtilities";
|
|
1
|
+
import type { WorkspaceManager } from "../../types/WorkspaceManager.js";
|
|
2
|
+
import type { WorkspaceUtilities } from "./WorkspaceUtilities.js";
|
|
3
3
|
/**
|
|
4
4
|
* Get utility implementations for the given workspace/monorepo manager.
|
|
5
5
|
*/
|
|
@@ -1,29 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "getWorkspaceUtilities", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return getWorkspaceUtilities;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
4
11
|
const utils = {};
|
|
5
|
-
/**
|
|
6
|
-
* Get utility implementations for the given workspace/monorepo manager.
|
|
7
|
-
*/
|
|
8
12
|
function getWorkspaceUtilities(manager) {
|
|
9
|
-
switch
|
|
13
|
+
switch(manager){
|
|
10
14
|
case "npm":
|
|
11
|
-
|
|
15
|
+
var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
16
|
+
_utils;
|
|
17
|
+
(_utils = utils).npm ?? (_utils.npm = require("./npm").npmUtilities);
|
|
12
18
|
break;
|
|
13
19
|
case "pnpm":
|
|
14
|
-
|
|
20
|
+
var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
21
|
+
_utils1;
|
|
22
|
+
(_utils1 = utils).pnpm ?? (_utils1.pnpm = require("./pnpm").pnpmUtilities);
|
|
15
23
|
break;
|
|
16
24
|
case "yarn":
|
|
17
|
-
|
|
25
|
+
var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
26
|
+
_utils2;
|
|
27
|
+
(_utils2 = utils).yarn ?? (_utils2.yarn = require("./yarn").yarnUtilities);
|
|
18
28
|
break;
|
|
19
29
|
case "rush":
|
|
20
|
-
|
|
30
|
+
var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
31
|
+
_utils3;
|
|
32
|
+
(_utils3 = utils).rush ?? (_utils3.rush = require("./rush").rushUtilities);
|
|
21
33
|
break;
|
|
22
34
|
case "lerna":
|
|
23
|
-
|
|
35
|
+
var // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
36
|
+
_utils4;
|
|
37
|
+
(_utils4 = utils).lerna ?? (_utils4.lerna = require("./lerna").lernaUtilities);
|
|
24
38
|
break;
|
|
25
39
|
}
|
|
26
40
|
return utils[manager];
|
|
27
41
|
}
|
|
28
|
-
exports.getWorkspaceUtilities = getWorkspaceUtilities;
|
|
29
|
-
//# sourceMappingURL=getWorkspaceUtilities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/workspaces/implementations/getWorkspaceUtilities.ts"],"sourcesContent":["import type { WorkspaceManager } from \"../../types/WorkspaceManager.js\";\nimport type { WorkspaceUtilities } from \"./WorkspaceUtilities.js\";\n\nconst utils: Partial<Record<WorkspaceManager, WorkspaceUtilities>> = {};\n\n/**\n * Get utility implementations for the given workspace/monorepo manager.\n */\nexport function getWorkspaceUtilities(manager: WorkspaceManager): WorkspaceUtilities {\n switch (manager) {\n case \"npm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n utils.npm ??= (require(\"./npm\") as typeof import(\"./npm\")).npmUtilities;\n break;\n\n case \"pnpm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n utils.pnpm ??= (require(\"./pnpm\") as typeof import(\"./pnpm\")).pnpmUtilities;\n break;\n\n case \"yarn\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n utils.yarn ??= (require(\"./yarn\") as typeof import(\"./yarn\")).yarnUtilities;\n break;\n\n case \"rush\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n utils.rush ??= (require(\"./rush\") as typeof import(\"./rush\")).rushUtilities;\n break;\n\n case \"lerna\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n utils.lerna ??= (require(\"./lerna\") as typeof import(\"./lerna\")).lernaUtilities;\n break;\n }\n\n return utils[manager]!;\n}\n"],"names":["getWorkspaceUtilities","utils","manager","npm","require","npmUtilities","pnpm","pnpmUtilities","yarn","yarnUtilities","rush","rushUtilities","lerna","lernaUtilities"],"mappings":";;;;+BAQgBA;;;eAAAA;;;AALhB,MAAMC,QAA+D,CAAC;AAK/D,SAASD,sBAAsBE,OAAyB;IAC7D,OAAQA;QACN,KAAK;gBACH,iJAAiJ;YACjJD;YAAAA,CAAAA,SAAAA,OAAME,GAAG,KAATF,OAAME,GAAG,GAAK,AAACC,QAAQ,SAAoCC,YAAY;YACvE;QAEF,KAAK;gBACH,iJAAiJ;YACjJJ;YAAAA,CAAAA,UAAAA,OAAMK,IAAI,KAAVL,QAAMK,IAAI,GAAK,AAACF,QAAQ,UAAsCG,aAAa;YAC3E;QAEF,KAAK;gBACH,iJAAiJ;YACjJN;YAAAA,CAAAA,UAAAA,OAAMO,IAAI,KAAVP,QAAMO,IAAI,GAAK,AAACJ,QAAQ,UAAsCK,aAAa;YAC3E;QAEF,KAAK;gBACH,iJAAiJ;YACjJR;YAAAA,CAAAA,UAAAA,OAAMS,IAAI,KAAVT,QAAMS,IAAI,GAAK,AAACN,QAAQ,UAAsCO,aAAa;YAC3E;QAEF,KAAK;gBACH,iJAAiJ;YACjJV;YAAAA,CAAAA,UAAAA,OAAMW,KAAK,KAAXX,QAAMW,KAAK,GAAK,AAACR,QAAQ,WAAwCS,cAAc;YAC/E;IACJ;IAEA,OAAOZ,KAAK,CAACC,QAAQ;AACvB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { getWorkspaceManagerAndRoot, type WorkspaceManagerAndRoot } from "./getWorkspaceManagerAndRoot";
|
|
2
|
-
export { getWorkspaceUtilities } from "./getWorkspaceUtilities";
|
|
1
|
+
export { getWorkspaceManagerAndRoot, type WorkspaceManagerAndRoot } from "./getWorkspaceManagerAndRoot.js";
|
|
2
|
+
export { getWorkspaceUtilities } from "./getWorkspaceUtilities.js";
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get getWorkspaceManagerAndRoot () {
|
|
13
|
+
return _getWorkspaceManagerAndRoot.getWorkspaceManagerAndRoot;
|
|
14
|
+
},
|
|
15
|
+
get getWorkspaceUtilities () {
|
|
16
|
+
return _getWorkspaceUtilities.getWorkspaceUtilities;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _getWorkspaceManagerAndRoot = require("./getWorkspaceManagerAndRoot.js");
|
|
20
|
+
const _getWorkspaceUtilities = require("./getWorkspaceUtilities.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/workspaces/implementations/index.ts"],"sourcesContent":["export { getWorkspaceManagerAndRoot, type WorkspaceManagerAndRoot } from \"./getWorkspaceManagerAndRoot.js\";\nexport { getWorkspaceUtilities } from \"./getWorkspaceUtilities.js\";\n"],"names":["getWorkspaceManagerAndRoot","getWorkspaceUtilities"],"mappings":";;;;;;;;;;;QAASA;eAAAA,sDAA0B;;QAC1BC;eAAAA,4CAAqB;;;4CAD2C;uCACnC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { WorkspaceUtilities } from "./WorkspaceUtilities";
|
|
1
|
+
import type { WorkspaceUtilities } from "./WorkspaceUtilities.js";
|
|
2
2
|
export declare const lernaUtilities: WorkspaceUtilities;
|
|
@@ -1,48 +1,70 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "lernaUtilities", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return lernaUtilities;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
|
+
const _jju = /*#__PURE__*/ _interop_require_default(require("jju"));
|
|
13
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
14
|
+
const _isCachingEnabled = require("../../isCachingEnabled.js");
|
|
15
|
+
const _getWorkspaceManagerAndRoot = require("./getWorkspaceManagerAndRoot.js");
|
|
16
|
+
function _interop_require_default(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const lernaUtilities = {
|
|
22
|
+
getWorkspacePatterns: ({ root })=>{
|
|
23
|
+
const lernaJsonPath = _path.default.join(root, _getWorkspaceManagerAndRoot.managerFiles.lerna);
|
|
24
|
+
const lernaConfig = _jju.default.parse(_fs.default.readFileSync(lernaJsonPath, "utf-8"));
|
|
16
25
|
if (lernaConfig.packages) {
|
|
17
|
-
return {
|
|
26
|
+
return {
|
|
27
|
+
patterns: lernaConfig.packages,
|
|
28
|
+
type: "pattern"
|
|
29
|
+
};
|
|
18
30
|
}
|
|
19
31
|
// Newer lerna versions also pick up workspaces from the package manager.
|
|
20
|
-
const actualManager = getActualManager({
|
|
32
|
+
const actualManager = getActualManager({
|
|
33
|
+
root
|
|
34
|
+
});
|
|
21
35
|
if (!actualManager) {
|
|
22
36
|
throw new Error(`${lernaJsonPath} does not define "packages", and no known package manager was found.`);
|
|
23
37
|
}
|
|
24
38
|
const managerUtils = getManagerUtils(actualManager);
|
|
25
|
-
return managerUtils.getWorkspacePatterns({
|
|
39
|
+
return managerUtils.getWorkspacePatterns({
|
|
40
|
+
root
|
|
41
|
+
});
|
|
26
42
|
},
|
|
27
43
|
// lerna could theoretically use yarn or pnpm catalogs
|
|
28
|
-
getCatalogs: ({ root })
|
|
29
|
-
const actualManager = getActualManager({
|
|
30
|
-
|
|
31
|
-
|
|
44
|
+
getCatalogs: ({ root })=>{
|
|
45
|
+
const actualManager = getActualManager({
|
|
46
|
+
root
|
|
47
|
+
});
|
|
48
|
+
return actualManager && getManagerUtils(actualManager).getCatalogs?.({
|
|
49
|
+
root
|
|
50
|
+
});
|
|
51
|
+
}
|
|
32
52
|
};
|
|
33
|
-
/** Mapping from lerna repo root to actual package manager */
|
|
34
|
-
const managerCache = new Map();
|
|
53
|
+
/** Mapping from lerna repo root to actual package manager */ const managerCache = new Map();
|
|
35
54
|
/**
|
|
36
55
|
* Get the actual package manager used by a lerna monorepo (with caching).
|
|
37
|
-
*/
|
|
38
|
-
function getActualManager(params) {
|
|
56
|
+
*/ function getActualManager(params) {
|
|
39
57
|
const { root } = params;
|
|
40
|
-
if ((0,
|
|
58
|
+
if ((0, _isCachingEnabled.isCachingEnabled)() && managerCache.has(root)) {
|
|
41
59
|
return managerCache.get(root);
|
|
42
60
|
}
|
|
43
|
-
for (const manager of [
|
|
44
|
-
|
|
45
|
-
|
|
61
|
+
for (const manager of [
|
|
62
|
+
"npm",
|
|
63
|
+
"yarn",
|
|
64
|
+
"pnpm"
|
|
65
|
+
]){
|
|
66
|
+
const managerPath = _path.default.join(root, _getWorkspaceManagerAndRoot.managerFiles[manager]);
|
|
67
|
+
if (_fs.default.existsSync(managerPath)) {
|
|
46
68
|
managerCache.set(root, manager);
|
|
47
69
|
return manager;
|
|
48
70
|
}
|
|
@@ -51,13 +73,15 @@ function getActualManager(params) {
|
|
|
51
73
|
return undefined;
|
|
52
74
|
}
|
|
53
75
|
function getManagerUtils(manager) {
|
|
54
|
-
switch
|
|
76
|
+
switch(manager){
|
|
55
77
|
case "npm":
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
56
79
|
return require("./npm").npmUtilities;
|
|
57
80
|
case "yarn":
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
58
82
|
return require("./yarn").yarnUtilities;
|
|
59
83
|
case "pnpm":
|
|
84
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
60
85
|
return require("./pnpm").pnpmUtilities;
|
|
61
86
|
}
|
|
62
87
|
}
|
|
63
|
-
//# sourceMappingURL=lerna.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/workspaces/implementations/lerna.ts"],"sourcesContent":["import fs from \"fs\";\nimport jju from \"jju\";\nimport path from \"path\";\nimport { isCachingEnabled } from \"../../isCachingEnabled.js\";\nimport { managerFiles } from \"./getWorkspaceManagerAndRoot.js\";\nimport type { WorkspaceUtilities } from \"./WorkspaceUtilities.js\";\n\nexport const lernaUtilities: WorkspaceUtilities = {\n getWorkspacePatterns: ({ root }) => {\n const lernaJsonPath = path.join(root, managerFiles.lerna);\n const lernaConfig = jju.parse(fs.readFileSync(lernaJsonPath, \"utf-8\")) as { packages?: string[] };\n if (lernaConfig.packages) {\n return { patterns: lernaConfig.packages, type: \"pattern\" };\n }\n\n // Newer lerna versions also pick up workspaces from the package manager.\n const actualManager = getActualManager({ root });\n if (!actualManager) {\n throw new Error(`${lernaJsonPath} does not define \"packages\", and no known package manager was found.`);\n }\n\n const managerUtils = getManagerUtils(actualManager);\n return managerUtils.getWorkspacePatterns({ root });\n },\n\n // lerna could theoretically use yarn or pnpm catalogs\n getCatalogs: ({ root }) => {\n const actualManager = getActualManager({ root });\n return actualManager && getManagerUtils(actualManager).getCatalogs?.({ root });\n },\n};\n\n/** Mapping from lerna repo root to actual package manager */\nconst managerCache = new Map<string, \"yarn\" | \"pnpm\" | \"npm\" | undefined>();\n\n/**\n * Get the actual package manager used by a lerna monorepo (with caching).\n */\nfunction getActualManager(params: { root: string }): \"yarn\" | \"pnpm\" | \"npm\" | undefined {\n const { root } = params;\n if (isCachingEnabled() && managerCache.has(root)) {\n return managerCache.get(root);\n }\n\n for (const manager of [\"npm\", \"yarn\", \"pnpm\"] as const) {\n const managerPath = path.join(root, managerFiles[manager]);\n if (fs.existsSync(managerPath)) {\n managerCache.set(root, manager);\n return manager;\n }\n }\n\n managerCache.set(root, undefined);\n return undefined;\n}\n\nfunction getManagerUtils(manager: \"npm\" | \"yarn\" | \"pnpm\"): WorkspaceUtilities {\n switch (manager) {\n case \"npm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n return (require(\"./npm\") as typeof import(\"./npm\")).npmUtilities;\n case \"yarn\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n return (require(\"./yarn\") as typeof import(\"./yarn\")).yarnUtilities;\n case \"pnpm\":\n // eslint-disable-next-line @typescript-eslint/consistent-type-imports, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires\n return (require(\"./pnpm\") as typeof import(\"./pnpm\")).pnpmUtilities;\n }\n}\n"],"names":["lernaUtilities","getWorkspacePatterns","root","lernaJsonPath","path","join","managerFiles","lerna","lernaConfig","jju","parse","fs","readFileSync","packages","patterns","type","actualManager","getActualManager","Error","managerUtils","getManagerUtils","getCatalogs","managerCache","Map","params","isCachingEnabled","has","get","manager","managerPath","existsSync","set","undefined","require","npmUtilities","yarnUtilities","pnpmUtilities"],"mappings":";;;;+BAOaA;;;eAAAA;;;2DAPE;4DACC;6DACC;kCACgB;4CACJ;;;;;;AAGtB,MAAMA,iBAAqC;IAChDC,sBAAsB,CAAC,EAAEC,IAAI,EAAE;QAC7B,MAAMC,gBAAgBC,aAAI,CAACC,IAAI,CAACH,MAAMI,wCAAY,CAACC,KAAK;QACxD,MAAMC,cAAcC,YAAG,CAACC,KAAK,CAACC,WAAE,CAACC,YAAY,CAACT,eAAe;QAC7D,IAAIK,YAAYK,QAAQ,EAAE;YACxB,OAAO;gBAAEC,UAAUN,YAAYK,QAAQ;gBAAEE,MAAM;YAAU;QAC3D;QAEA,yEAAyE;QACzE,MAAMC,gBAAgBC,iBAAiB;YAAEf;QAAK;QAC9C,IAAI,CAACc,eAAe;YAClB,MAAM,IAAIE,MAAM,GAAGf,cAAc,oEAAoE,CAAC;QACxG;QAEA,MAAMgB,eAAeC,gBAAgBJ;QACrC,OAAOG,aAAalB,oBAAoB,CAAC;YAAEC;QAAK;IAClD;IAEA,sDAAsD;IACtDmB,aAAa,CAAC,EAAEnB,IAAI,EAAE;QACpB,MAAMc,gBAAgBC,iBAAiB;YAAEf;QAAK;QAC9C,OAAOc,iBAAiBI,gBAAgBJ,eAAeK,WAAW,GAAG;YAAEnB;QAAK;IAC9E;AACF;AAEA,2DAA2D,GAC3D,MAAMoB,eAAe,IAAIC;AAEzB;;CAEC,GACD,SAASN,iBAAiBO,MAAwB;IAChD,MAAM,EAAEtB,IAAI,EAAE,GAAGsB;IACjB,IAAIC,IAAAA,kCAAgB,OAAMH,aAAaI,GAAG,CAACxB,OAAO;QAChD,OAAOoB,aAAaK,GAAG,CAACzB;IAC1B;IAEA,KAAK,MAAM0B,WAAW;QAAC;QAAO;QAAQ;KAAO,CAAW;QACtD,MAAMC,cAAczB,aAAI,CAACC,IAAI,CAACH,MAAMI,wCAAY,CAACsB,QAAQ;QACzD,IAAIjB,WAAE,CAACmB,UAAU,CAACD,cAAc;YAC9BP,aAAaS,GAAG,CAAC7B,MAAM0B;YACvB,OAAOA;QACT;IACF;IAEAN,aAAaS,GAAG,CAAC7B,MAAM8B;IACvB,OAAOA;AACT;AAEA,SAASZ,gBAAgBQ,OAAgC;IACvD,OAAQA;QACN,KAAK;YACH,iJAAiJ;YACjJ,OAAO,AAACK,QAAQ,SAAoCC,YAAY;QAClE,KAAK;YACH,iJAAiJ;YACjJ,OAAO,AAACD,QAAQ,UAAsCE,aAAa;QACrE,KAAK;YACH,iJAAiJ;YACjJ,OAAO,AAACF,QAAQ,UAAsCG,aAAa;IACvE;AACF"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "npmUtilities", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return npmUtilities;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _getPackageJsonWorkspacePatterns = require("./getPackageJsonWorkspacePatterns.js");
|
|
12
|
+
const npmUtilities = {
|
|
13
|
+
getWorkspacePatterns: _getPackageJsonWorkspacePatterns.getPackageJsonWorkspacePatterns
|
|
8
14
|
};
|
|
9
|
-
//# sourceMappingURL=npm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/workspaces/implementations/npm.ts"],"sourcesContent":["import { getPackageJsonWorkspacePatterns } from \"./getPackageJsonWorkspacePatterns.js\";\nimport type { WorkspaceUtilities } from \"./WorkspaceUtilities.js\";\n\n/** npm has no overrides of the default behaviors */\nexport const npmUtilities: WorkspaceUtilities = {\n getWorkspacePatterns: getPackageJsonWorkspacePatterns,\n};\n"],"names":["npmUtilities","getWorkspacePatterns","getPackageJsonWorkspacePatterns"],"mappings":";;;;+BAIaA;;;eAAAA;;;iDAJmC;AAIzC,MAAMA,eAAmC;IAC9CC,sBAAsBC,gEAA+B;AACvD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { WorkspaceUtilities } from "./WorkspaceUtilities";
|
|
1
|
+
import type { WorkspaceUtilities } from "./WorkspaceUtilities.js";
|
|
2
2
|
export declare const pnpmUtilities: WorkspaceUtilities;
|