workspace-tools 0.38.5 → 0.38.6
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/lib/{workspaces/readPackageInfo.d.ts → getPackageInfo.d.ts} +3 -3
- package/lib/{workspaces/readPackageInfo.js → getPackageInfo.js} +8 -8
- package/lib/getPackageInfo.js.map +1 -0
- package/lib/getPackageInfos.js +3 -3
- package/lib/getPackageInfos.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/lib/workspaces/catalogs.d.ts +9 -4
- package/lib/workspaces/catalogs.js +21 -12
- package/lib/workspaces/catalogs.js.map +1 -1
- package/lib/workspaces/getWorkspacePackageInfo.js +3 -3
- package/lib/workspaces/getWorkspacePackageInfo.js.map +1 -1
- package/lib/workspaces/implementations/yarn.js +2 -2
- package/lib/workspaces/implementations/yarn.js.map +1 -1
- package/package.json +1 -1
- package/lib/workspaces/readPackageInfo.js.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { PackageInfo } from "
|
|
1
|
+
import type { PackageInfo } from "./types/PackageInfo";
|
|
2
2
|
/**
|
|
3
3
|
* Read package.json from the given path if it exists.
|
|
4
4
|
* Logs a warning if it doesn't exist, or there's an error reading or parsing it.
|
|
5
5
|
* @returns The package info, or undefined if it doesn't exist or can't be read
|
|
6
6
|
*/
|
|
7
|
-
export declare function
|
|
7
|
+
export declare function getPackageInfo(cwd: string): PackageInfo | undefined;
|
|
8
8
|
/**
|
|
9
9
|
* Read package.json from the given path if it exists.
|
|
10
10
|
* Logs a warning if it doesn't exist, or there's an error reading or parsing it.
|
|
11
11
|
* @returns The package info, or undefined if it doesn't exist or can't be read
|
|
12
12
|
*/
|
|
13
|
-
export declare function
|
|
13
|
+
export declare function getPackageInfoAsync(cwd: string): Promise<PackageInfo | undefined>;
|
|
@@ -3,18 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.getPackageInfoAsync = exports.getPackageInfo = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const promises_1 = __importDefault(require("fs/promises"));
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const infoFromPackageJson_1 = require("
|
|
11
|
-
const logging_1 = require("
|
|
10
|
+
const infoFromPackageJson_1 = require("./infoFromPackageJson");
|
|
11
|
+
const logging_1 = require("./logging");
|
|
12
12
|
/**
|
|
13
13
|
* Read package.json from the given path if it exists.
|
|
14
14
|
* Logs a warning if it doesn't exist, or there's an error reading or parsing it.
|
|
15
15
|
* @returns The package info, or undefined if it doesn't exist or can't be read
|
|
16
16
|
*/
|
|
17
|
-
function
|
|
17
|
+
function getPackageInfo(cwd) {
|
|
18
18
|
const packageJsonPath = path_1.default.join(cwd, "package.json");
|
|
19
19
|
try {
|
|
20
20
|
if (!fs_1.default.existsSync(packageJsonPath)) {
|
|
@@ -28,13 +28,13 @@ function readPackageInfo(cwd) {
|
|
|
28
28
|
(0, logging_1.logVerboseWarning)(`Error reading or parsing ${packageJsonPath}: ${e?.message || e}`);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
exports.
|
|
31
|
+
exports.getPackageInfo = getPackageInfo;
|
|
32
32
|
/**
|
|
33
33
|
* Read package.json from the given path if it exists.
|
|
34
34
|
* Logs a warning if it doesn't exist, or there's an error reading or parsing it.
|
|
35
35
|
* @returns The package info, or undefined if it doesn't exist or can't be read
|
|
36
36
|
*/
|
|
37
|
-
async function
|
|
37
|
+
async function getPackageInfoAsync(cwd) {
|
|
38
38
|
const packageJsonPath = path_1.default.join(cwd, "package.json");
|
|
39
39
|
try {
|
|
40
40
|
if (!fs_1.default.existsSync(packageJsonPath)) {
|
|
@@ -48,5 +48,5 @@ async function readPackageInfoAsync(cwd) {
|
|
|
48
48
|
(0, logging_1.logVerboseWarning)(`Error reading or parsing ${packageJsonPath}: ${e?.message || e}`);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
exports.
|
|
52
|
-
//# sourceMappingURL=
|
|
51
|
+
exports.getPackageInfoAsync = getPackageInfoAsync;
|
|
52
|
+
//# sourceMappingURL=getPackageInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageInfo.js","sourceRoot":"","sources":["../src/getPackageInfo.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,2DAAqC;AACrC,gDAAwB;AAExB,+DAA4D;AAC5D,uCAA8C;AAE9C;;;;GAIG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI;QACF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YACnC,IAAA,2BAAiB,EAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YAC7D,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,OAAO,IAAA,yCAAmB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;KAC1D;IAAC,OAAO,CAAC,EAAE;QACV,IAAA,2BAAiB,EAAC,4BAA4B,eAAe,KAAM,CAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;KACjG;AACH,CAAC;AAbD,wCAaC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CAAC,GAAW;IACnD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI;QACF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YACnC,IAAA,2BAAiB,EAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YAC7D,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,kBAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACpF,OAAO,IAAA,yCAAmB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;KAC1D;IAAC,OAAO,CAAC,EAAE;QACV,IAAA,2BAAiB,EAAC,4BAA4B,eAAe,KAAM,CAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;KACjG;AACH,CAAC;AAbD,kDAaC"}
|
package/lib/getPackageInfos.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getPackageInfosAsync = exports.getPackageInfos = void 0;
|
|
4
4
|
const getWorkspaces_1 = require("./workspaces/getWorkspaces");
|
|
5
|
-
const
|
|
5
|
+
const getPackageInfo_1 = require("./getPackageInfo");
|
|
6
6
|
/**
|
|
7
7
|
* Read all the package.json files in a monorepo. Only works for monorepos which
|
|
8
8
|
* use a supported workspace manager.
|
|
@@ -17,7 +17,7 @@ function getPackageInfos(cwd) {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
else {
|
|
20
|
-
const rootInfo = (0,
|
|
20
|
+
const rootInfo = (0, getPackageInfo_1.getPackageInfo)(cwd);
|
|
21
21
|
if (rootInfo) {
|
|
22
22
|
packageInfos[rootInfo.name] = rootInfo;
|
|
23
23
|
}
|
|
@@ -43,7 +43,7 @@ async function getPackageInfosAsync(cwd) {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
|
-
const rootInfo = (0,
|
|
46
|
+
const rootInfo = (0, getPackageInfo_1.getPackageInfo)(cwd);
|
|
47
47
|
if (rootInfo) {
|
|
48
48
|
packageInfos[rootInfo.name] = rootInfo;
|
|
49
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPackageInfos.js","sourceRoot":"","sources":["../src/getPackageInfos.ts"],"names":[],"mappings":";;;AACA,8DAA+E;AAC/E,
|
|
1
|
+
{"version":3,"file":"getPackageInfos.js","sourceRoot":"","sources":["../src/getPackageInfos.ts"],"names":[],"mappings":";;;AACA,8DAA+E;AAC/E,qDAAkD;AAElD;;;;GAIG;AACH,SAAgB,eAAe,CAAC,GAAW;IACzC,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,MAAM,iBAAiB,GAAG,IAAA,6BAAa,EAAC,GAAG,CAAC,CAAC;IAE7C,IAAI,iBAAiB,CAAC,MAAM,EAAE;QAC5B,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE;YACnC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;SAC1C;KACF;SAAM;QACL,MAAM,QAAQ,GAAG,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE;YACZ,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;SACxC;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAhBD,0CAgBC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,oBAAoB,CAAC,GAAW;IACpD,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,MAAM,iBAAiB,GAAG,MAAM,IAAA,kCAAkB,EAAC,GAAG,CAAC,CAAC;IAExD,IAAI,iBAAiB,CAAC,MAAM,EAAE;QAC5B,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE;YACnC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;SAC1C;KACF;SAAM;QACL,MAAM,QAAQ,GAAG,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE;YACZ,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;SACxC;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAhBD,oDAgBC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export { findWorkspacePath } from "./workspaces/findWorkspacePath";
|
|
|
14
14
|
export { getWorkspaces, getWorkspacesAsync } from "./workspaces/getWorkspaces";
|
|
15
15
|
export { getWorkspacePackagePaths, getWorkspacePackagePathsAsync } from "./workspaces/getWorkspacePackagePaths";
|
|
16
16
|
export { getWorkspaceManagerRoot, getWorkspaceRoot } from "./workspaces/getWorkspaceRoot";
|
|
17
|
-
export {
|
|
17
|
+
export { getPackageInfo, getPackageInfoAsync } from "./getPackageInfo";
|
|
18
18
|
export { getPnpmWorkspaceRoot, getPnpmWorkspaces } from "./workspaces/implementations/pnpm";
|
|
19
19
|
export { getRushWorkspaceRoot, getRushWorkspaces } from "./workspaces/implementations/rush";
|
|
20
20
|
export { getYarnWorkspaceRoot, getYarnWorkspaces } from "./workspaces/implementations/yarn";
|
package/lib/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.isCatalogVersion = exports.getCatalogVersion = exports.getCatalogs = exports.getAllPackageJsonFilesAsync = exports.getAllPackageJsonFiles = exports.listOfWorkspacePackageNames = exports.getPackagesByFiles = exports.getChangedPackagesBetweenRefs = exports.getChangedPackages = exports.getYarnWorkspaces = exports.getYarnWorkspaceRoot = exports.getRushWorkspaces = exports.getRushWorkspaceRoot = exports.getPnpmWorkspaces = exports.getPnpmWorkspaceRoot = exports.
|
|
17
|
+
exports.isCatalogVersion = exports.getCatalogVersion = exports.getCatalogs = exports.getAllPackageJsonFilesAsync = exports.getAllPackageJsonFiles = exports.listOfWorkspacePackageNames = exports.getPackagesByFiles = exports.getChangedPackagesBetweenRefs = exports.getChangedPackages = exports.getYarnWorkspaces = exports.getYarnWorkspaceRoot = exports.getRushWorkspaces = exports.getRushWorkspaceRoot = exports.getPnpmWorkspaces = exports.getPnpmWorkspaceRoot = exports.getPackageInfoAsync = exports.getPackageInfo = exports.getWorkspaceRoot = exports.getWorkspaceManagerRoot = exports.getWorkspacePackagePathsAsync = exports.getWorkspacePackagePaths = exports.getWorkspacesAsync = exports.getWorkspaces = exports.findWorkspacePath = exports.getScopedPackages = exports.searchUp = exports.isChildOf = exports.findProjectRoot = exports.findPackageRoot = exports.findGitRoot = exports.setCachingEnabled = exports.getPackageInfosAsync = exports.getPackageInfos = void 0;
|
|
18
18
|
__exportStar(require("./dependencies/index"), exports);
|
|
19
19
|
var getPackageInfos_1 = require("./getPackageInfos");
|
|
20
20
|
Object.defineProperty(exports, "getPackageInfos", { enumerable: true, get: function () { return getPackageInfos_1.getPackageInfos; } });
|
|
@@ -43,9 +43,9 @@ Object.defineProperty(exports, "getWorkspacePackagePathsAsync", { enumerable: tr
|
|
|
43
43
|
var getWorkspaceRoot_1 = require("./workspaces/getWorkspaceRoot");
|
|
44
44
|
Object.defineProperty(exports, "getWorkspaceManagerRoot", { enumerable: true, get: function () { return getWorkspaceRoot_1.getWorkspaceManagerRoot; } });
|
|
45
45
|
Object.defineProperty(exports, "getWorkspaceRoot", { enumerable: true, get: function () { return getWorkspaceRoot_1.getWorkspaceRoot; } });
|
|
46
|
-
var
|
|
47
|
-
Object.defineProperty(exports, "
|
|
48
|
-
Object.defineProperty(exports, "
|
|
46
|
+
var getPackageInfo_1 = require("./getPackageInfo");
|
|
47
|
+
Object.defineProperty(exports, "getPackageInfo", { enumerable: true, get: function () { return getPackageInfo_1.getPackageInfo; } });
|
|
48
|
+
Object.defineProperty(exports, "getPackageInfoAsync", { enumerable: true, get: function () { return getPackageInfo_1.getPackageInfoAsync; } });
|
|
49
49
|
var pnpm_1 = require("./workspaces/implementations/pnpm");
|
|
50
50
|
Object.defineProperty(exports, "getPnpmWorkspaceRoot", { enumerable: true, get: function () { return pnpm_1.getPnpmWorkspaceRoot; } });
|
|
51
51
|
Object.defineProperty(exports, "getPnpmWorkspaces", { enumerable: true, get: function () { return pnpm_1.getPnpmWorkspaces; } });
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,qDAA0E;AAAjE,kHAAA,eAAe,OAAA;AAAE,uHAAA,oBAAoB,OAAA;AAC9C,wCAAsB;AACtB,gDAA8B;AAC9B,uDAAuD;AAA9C,qHAAA,iBAAiB,OAAA;AAC1B,6CAA2B;AAC3B,iCAA6F;AAApF,oGAAA,WAAW,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAC3E,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA;AAK1B,oEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,4DAA+E;AAAtE,8GAAA,aAAa,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AAC1C,kFAAgH;AAAvG,oIAAA,wBAAwB,OAAA;AAAE,yIAAA,6BAA6B,OAAA;AAChE,kEAA0F;AAAjF,2HAAA,uBAAuB,OAAA;AAAE,oHAAA,gBAAgB,OAAA;AAClD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,qDAA0E;AAAjE,kHAAA,eAAe,OAAA;AAAE,uHAAA,oBAAoB,OAAA;AAC9C,wCAAsB;AACtB,gDAA8B;AAC9B,uDAAuD;AAA9C,qHAAA,iBAAiB,OAAA;AAC1B,6CAA2B;AAC3B,iCAA6F;AAApF,oGAAA,WAAW,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAC3E,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA;AAK1B,oEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,4DAA+E;AAAtE,8GAAA,aAAa,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AAC1C,kFAAgH;AAAvG,oIAAA,wBAAwB,OAAA;AAAE,yIAAA,6BAA6B,OAAA;AAChE,kEAA0F;AAAjF,2HAAA,uBAAuB,OAAA;AAAE,oHAAA,gBAAgB,OAAA;AAClD,mDAAuE;AAA9D,gHAAA,cAAc,OAAA;AAAE,qHAAA,mBAAmB,OAAA;AAC5C,0DAA4F;AAAnF,4GAAA,oBAAoB,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAChD,0DAA4F;AAAnF,4GAAA,oBAAoB,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAChD,0DAA4F;AAAnF,4GAAA,oBAAoB,OAAA;AAAE,yGAAA,iBAAiB,OAAA;AAChD,sEAAoG;AAA3F,wHAAA,kBAAkB,OAAA;AAAE,mIAAA,6BAA6B,OAAA;AAC1D,sEAAqE;AAA5D,wHAAA,kBAAkB,OAAA;AAC3B,wFAAuF;AAA9E,0IAAA,2BAA2B,OAAA;AACpC,8EAA0G;AAAjG,gIAAA,sBAAsB,OAAA;AAAE,qIAAA,2BAA2B,OAAA;AAC5D,kDAAyF;AAAhF,uGAAA,WAAW,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAAE,4GAAA,gBAAgB,OAAA"}
|
|
@@ -11,15 +11,20 @@ export declare function getCatalogs(cwd: string): Catalogs | undefined;
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function isCatalogVersion(version: string): boolean;
|
|
13
13
|
/**
|
|
14
|
-
* Given a dependency package name and a version string, if the version starts with `catalog:`,
|
|
15
|
-
* look up the actual version spec from the given catalogs.
|
|
14
|
+
* Given a dependency package name and a version spec string, if the version starts with `catalog:`,
|
|
15
|
+
* look up the actual version spec (not the final resolved version) from the given catalogs.
|
|
16
16
|
*
|
|
17
|
-
* Throws an error if
|
|
18
|
-
*
|
|
17
|
+
* Throws an error if there's anything invalid about the catalog spec (no catalogs defined,
|
|
18
|
+
* no matching catalog, catalog doesn't contain `name`, recursive catalog version).
|
|
19
19
|
*
|
|
20
20
|
* Returns undefined if the version doesn't start with `catalog:`.
|
|
21
21
|
* @see https://pnpm.io/catalogs
|
|
22
22
|
* @see https://yarnpkg.com/features/catalogs
|
|
23
|
+
*
|
|
24
|
+
* @param name - Dependency package name
|
|
25
|
+
* @param version - Dependency version spec, e.g. `catalog:my-catalog` or `catalog:`,
|
|
26
|
+
* or some non-catalog spec like `^1.2.3`
|
|
27
|
+
* @returns Actual version spec from the catalog, or undefined if not a catalog version
|
|
23
28
|
*/
|
|
24
29
|
export declare function getCatalogVersion(params: {
|
|
25
30
|
name: string;
|
|
@@ -13,45 +13,54 @@ function getCatalogs(cwd) {
|
|
|
13
13
|
return utils?.getCatalogs?.(cwd);
|
|
14
14
|
}
|
|
15
15
|
exports.getCatalogs = getCatalogs;
|
|
16
|
-
const
|
|
16
|
+
const catalogPrefix = "catalog:";
|
|
17
17
|
/**
|
|
18
18
|
* Returns true if the version starts with `catalog:`.
|
|
19
19
|
*/
|
|
20
20
|
function isCatalogVersion(version) {
|
|
21
|
-
return
|
|
21
|
+
return version.startsWith(catalogPrefix);
|
|
22
22
|
}
|
|
23
23
|
exports.isCatalogVersion = isCatalogVersion;
|
|
24
24
|
/**
|
|
25
|
-
* Given a dependency package name and a version string, if the version starts with `catalog:`,
|
|
26
|
-
* look up the actual version spec from the given catalogs.
|
|
25
|
+
* Given a dependency package name and a version spec string, if the version starts with `catalog:`,
|
|
26
|
+
* look up the actual version spec (not the final resolved version) from the given catalogs.
|
|
27
27
|
*
|
|
28
|
-
* Throws an error if
|
|
29
|
-
*
|
|
28
|
+
* Throws an error if there's anything invalid about the catalog spec (no catalogs defined,
|
|
29
|
+
* no matching catalog, catalog doesn't contain `name`, recursive catalog version).
|
|
30
30
|
*
|
|
31
31
|
* Returns undefined if the version doesn't start with `catalog:`.
|
|
32
32
|
* @see https://pnpm.io/catalogs
|
|
33
33
|
* @see https://yarnpkg.com/features/catalogs
|
|
34
|
+
*
|
|
35
|
+
* @param name - Dependency package name
|
|
36
|
+
* @param version - Dependency version spec, e.g. `catalog:my-catalog` or `catalog:`,
|
|
37
|
+
* or some non-catalog spec like `^1.2.3`
|
|
38
|
+
* @returns Actual version spec from the catalog, or undefined if not a catalog version
|
|
34
39
|
*/
|
|
35
40
|
function getCatalogVersion(params) {
|
|
36
41
|
const { name, version, catalogs } = params;
|
|
37
|
-
|
|
38
|
-
if (!catalogMatch) {
|
|
42
|
+
if (!isCatalogVersion(version)) {
|
|
39
43
|
return undefined;
|
|
40
44
|
}
|
|
41
45
|
if (!catalogs) {
|
|
42
46
|
throw new Error(`Dependency "${name}" uses a catalog version "${version}" but no catalogs are defined.`);
|
|
43
47
|
}
|
|
44
|
-
const catalogName =
|
|
48
|
+
const catalogName = version.slice(catalogPrefix.length);
|
|
49
|
+
// If there's no name specified after "catalog:", use the default catalog.
|
|
50
|
+
// Otherwise use the named catalog.
|
|
45
51
|
const checkCatalog = catalogName ? catalogs.named?.[catalogName] : catalogs.default;
|
|
46
52
|
const catalogNameStr = catalogName ? `catalogs.${catalogName}` : "the default catalog";
|
|
47
53
|
if (!checkCatalog) {
|
|
48
54
|
throw new Error(`Dependency "${name}" uses a catalog version "${version}" but ${catalogNameStr} is not defined.`);
|
|
49
55
|
}
|
|
50
|
-
const
|
|
51
|
-
if (!
|
|
56
|
+
const actualSpec = checkCatalog[name];
|
|
57
|
+
if (!actualSpec) {
|
|
52
58
|
throw new Error(`Dependency "${name}" uses a catalog version "${version}", but ${catalogNameStr} doesn't define a version for "${name}".`);
|
|
53
59
|
}
|
|
54
|
-
|
|
60
|
+
if (isCatalogVersion(actualSpec)) {
|
|
61
|
+
throw new Error(`Dependency "${name}" resolves to a recursive catalog version "${actualSpec}", which is not supported.`);
|
|
62
|
+
}
|
|
63
|
+
return actualSpec;
|
|
55
64
|
}
|
|
56
65
|
exports.getCatalogVersion = getCatalogVersion;
|
|
57
66
|
//# sourceMappingURL=catalogs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogs.js","sourceRoot":"","sources":["../../src/workspaces/catalogs.ts"],"names":[],"mappings":";;;AACA,uDAA0D;AAE1D;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,KAAK,GAAG,IAAA,uCAAqB,EAAC,GAAG,CAAC,CAAC;IACzC,OAAO,KAAK,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAHD,kCAGC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"catalogs.js","sourceRoot":"","sources":["../../src/workspaces/catalogs.ts"],"names":[],"mappings":";;;AACA,uDAA0D;AAE1D;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,KAAK,GAAG,IAAA,uCAAqB,EAAC,GAAG,CAAC,CAAC;IACzC,OAAO,KAAK,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAHD,kCAGC;AAED,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC;AAFD,4CAEC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,iBAAiB,CAAC,MAIjC;IACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE3C,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAC9B,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,6BAA6B,OAAO,gCAAgC,CAAC,CAAC;KAC1G;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACxD,0EAA0E;IAC1E,mCAAmC;IACnC,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IACpF,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAEvF,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,6BAA6B,OAAO,SAAS,cAAc,kBAAkB,CAAC,CAAC;KACnH;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,6BAA6B,OAAO,UAAU,cAAc,kCAAkC,IAAI,IAAI,CAC1H,CAAC;KACH;IAED,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,8CAA8C,UAAU,4BAA4B,CACxG,CAAC;KACH;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAvCD,8CAuCC"}
|
|
@@ -8,7 +8,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
8
8
|
const promises_1 = __importDefault(require("fs/promises"));
|
|
9
9
|
const logging_1 = require("../logging");
|
|
10
10
|
const infoFromPackageJson_1 = require("../infoFromPackageJson");
|
|
11
|
-
const
|
|
11
|
+
const getPackageInfo_1 = require("../getPackageInfo");
|
|
12
12
|
/**
|
|
13
13
|
* Get an array with names, paths, and package.json contents for each of the given package paths
|
|
14
14
|
* ("workspace" paths in npm/yarn/pnpm terms) within a monorepo.
|
|
@@ -25,9 +25,9 @@ function getWorkspacePackageInfo(packagePaths) {
|
|
|
25
25
|
}
|
|
26
26
|
return packagePaths
|
|
27
27
|
.map((workspacePath) => {
|
|
28
|
-
const packageJson = (0,
|
|
28
|
+
const packageJson = (0, getPackageInfo_1.getPackageInfo)(workspacePath);
|
|
29
29
|
if (!packageJson) {
|
|
30
|
-
return null; //
|
|
30
|
+
return null; // getPackageInfo already logged a warning
|
|
31
31
|
}
|
|
32
32
|
return {
|
|
33
33
|
name: packageJson.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getWorkspacePackageInfo.js","sourceRoot":"","sources":["../../src/workspaces/getWorkspacePackageInfo.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,2DAAqC;AAGrC,wCAA+C;AAC/C,gEAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"getWorkspacePackageInfo.js","sourceRoot":"","sources":["../../src/workspaces/getWorkspacePackageInfo.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,2DAAqC;AAGrC,wCAA+C;AAC/C,gEAA6D;AAC7D,sDAAmD;AAEnD;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CAAC,YAAsB;IAC5D,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IAED,OAAO,YAAY;SAChB,GAAG,CAA8B,CAAC,aAAa,EAAE,EAAE;QAClD,MAAM,WAAW,GAAG,IAAA,+BAAc,EAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,IAAI,CAAC,CAAC,0CAA0C;SACxD;QAED,OAAO;YACL,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,aAAa;YACnB,WAAW;SACZ,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAmB,CAAC;AACvC,CAAC;AAnBD,0DAmBC;AAED;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,4BAA4B,CAAC,YAAsB;IACvE,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,oBAAoB,GAAG,YAAY,CAAC,GAAG,CAAuC,KAAK,EAAE,aAAa,EAAE,EAAE;QAC1G,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAEjE,IAAI;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,kBAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAgB,CAAC;YACnG,OAAO;gBACL,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,IAAA,yCAAmB,EAAC,WAAW,EAAE,eAAe,CAAC;aAC/D,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAA,2BAAiB,EAAC,4BAA4B,eAAe,uCAAuC,EAAE,GAAG,CAAC,CAAC;YAC3G,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAmB,CAAC;AACrF,CAAC;AAtBD,oEAsBC"}
|
|
@@ -8,7 +8,7 @@ const fs_1 = __importDefault(require("fs"));
|
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const index_1 = require("./index");
|
|
10
10
|
const packageJsonWorkspaces_1 = require("./packageJsonWorkspaces");
|
|
11
|
-
const
|
|
11
|
+
const getPackageInfo_1 = require("../../getPackageInfo");
|
|
12
12
|
const logging_1 = require("../../logging");
|
|
13
13
|
const readYaml_1 = require("../../lockfile/readYaml");
|
|
14
14
|
/** @deprecated Use `getWorkspaceManagerRoot` */
|
|
@@ -70,7 +70,7 @@ function getYarnCatalogs(cwd) {
|
|
|
70
70
|
}
|
|
71
71
|
else {
|
|
72
72
|
// Check for midgard-yarn-strict definition of catalogs in package.json
|
|
73
|
-
const workspaceSettings = (0,
|
|
73
|
+
const workspaceSettings = (0, getPackageInfo_1.getPackageInfo)(root)?.workspaces;
|
|
74
74
|
if (workspaceSettings &&
|
|
75
75
|
!Array.isArray(workspaceSettings) &&
|
|
76
76
|
(workspaceSettings?.catalog || workspaceSettings?.catalogs)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/yarn.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,mCAAqD;AAErD,mEAKiC;AACjC,
|
|
1
|
+
{"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../src/workspaces/implementations/yarn.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,mCAAqD;AAErD,mEAKiC;AACjC,yDAAsD;AAEtD,2CAAkD;AAClD,sDAAmD;AAEnD,gDAAgD;AAChD,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,MAAM,IAAI,GAAG,IAAA,kCAA0B,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC;IACtE,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,GAAG,CAAC,CAAC;KACnE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAND,oDAMC;AAED,mEAAmE;AACnE,SAAgB,wBAAwB,CAAC,GAAW;IAClD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,IAAA,wDAAgC,EAAC,kBAAkB,CAAC,CAAC;AAC9D,CAAC;AAHD,4DAGC;AAED,mEAAmE;AACnE,SAAgB,6BAA6B,CAAC,GAAW;IACvD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,IAAA,6DAAqC,EAAC,kBAAkB,CAAC,CAAC;AACnE,CAAC;AAHD,sEAGC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,IAAA,yDAAiC,EAAC,kBAAkB,CAAC,CAAC;AAC/D,CAAC;AAHD,8CAGC;AA2C6B,0CAAa;AAzC3C;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,GAAW;IAChD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,IAAA,8DAAsC,EAAC,kBAAkB,CAAC,CAAC;AACpE,CAAC;AAHD,wDAGC;AAmCkC,oDAAkB;AAjCrD;;;;GAIG;AACH,SAAgB,eAAe,CAAC,GAAW;IACzC,IAAI;QACF,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACrD,IAAI,YAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;YAChC,MAAM,SAAS,GAAG,IAAA,mBAAQ,EAAkD,aAAa,CAAC,CAAC;YAC3F,IAAI,SAAS,EAAE,OAAO,IAAI,SAAS,EAAE,QAAQ,EAAE;gBAC7C,kBAAkB;gBAClB,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;aAClE;SACF;aAAM;YACL,uEAAuE;YACvE,MAAM,iBAAiB,GAAG,IAAA,+BAAc,EAAC,IAAI,CAAC,EAAE,UAAU,CAAC;YAC3D,IACE,iBAAiB;gBACjB,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBACjC,CAAC,iBAAiB,EAAE,OAAO,IAAI,iBAAiB,EAAE,QAAQ,CAAC,EAC3D;gBACA,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE,CAAC;aAClF;SACF;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,2BAAiB,EAAC,mCAAmC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QACjE,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAzBD,0CAyBC;AAI2B,sCAAW"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"readPackageInfo.js","sourceRoot":"","sources":["../../src/workspaces/readPackageInfo.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,2DAAqC;AACrC,gDAAwB;AAExB,gEAA6D;AAC7D,wCAA+C;AAE/C;;;;GAIG;AACH,SAAgB,eAAe,CAAC,GAAW;IACzC,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI;QACF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YACnC,IAAA,2BAAiB,EAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YAC7D,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,OAAO,IAAA,yCAAmB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;KAC1D;IAAC,OAAO,CAAC,EAAE;QACV,IAAA,2BAAiB,EAAC,4BAA4B,eAAe,KAAM,CAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;KACjG;AACH,CAAC;AAbD,0CAaC;AAED;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CAAC,GAAW;IACpD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI;QACF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YACnC,IAAA,2BAAiB,EAAC,wBAAwB,eAAe,EAAE,CAAC,CAAC;YAC7D,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,kBAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACpF,OAAO,IAAA,yCAAmB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;KAC1D;IAAC,OAAO,CAAC,EAAE;QACV,IAAA,2BAAiB,EAAC,4BAA4B,eAAe,KAAM,CAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;KACjG;AACH,CAAC;AAbD,oDAaC"}
|