@lerna-lite/core 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/README.md +16 -0
- package/dist/child-process.d.ts +13 -0
- package/dist/child-process.js +129 -0
- package/dist/child-process.js.map +1 -0
- package/dist/command.d.ts +37 -0
- package/dist/command.js +269 -0
- package/dist/command.js.map +1 -0
- package/dist/conventional-commits/constants.d.ts +4 -0
- package/dist/conventional-commits/constants.js +13 -0
- package/dist/conventional-commits/constants.js.map +1 -0
- package/dist/conventional-commits/get-changelog-config.d.ts +12 -0
- package/dist/conventional-commits/get-changelog-config.js +92 -0
- package/dist/conventional-commits/get-changelog-config.js.map +1 -0
- package/dist/conventional-commits/index.d.ts +6 -0
- package/dist/conventional-commits/index.js +19 -0
- package/dist/conventional-commits/index.js.map +1 -0
- package/dist/conventional-commits/make-bump-only-filter.d.ts +6 -0
- package/dist/conventional-commits/make-bump-only-filter.js +23 -0
- package/dist/conventional-commits/make-bump-only-filter.js.map +1 -0
- package/dist/conventional-commits/read-existing-changelog.d.ts +7 -0
- package/dist/conventional-commits/read-existing-changelog.js +33 -0
- package/dist/conventional-commits/read-existing-changelog.js.map +1 -0
- package/dist/conventional-commits/recommend-version.d.ts +10 -0
- package/dist/conventional-commits/recommend-version.js +87 -0
- package/dist/conventional-commits/recommend-version.js.map +1 -0
- package/dist/conventional-commits/update-changelog.d.ts +11 -0
- package/dist/conventional-commits/update-changelog.js +84 -0
- package/dist/conventional-commits/update-changelog.js.map +1 -0
- package/dist/git-clients/github-client.d.ts +6 -0
- package/dist/git-clients/github-client.js +41 -0
- package/dist/git-clients/github-client.js.map +1 -0
- package/dist/git-clients/gitlab-client.d.ts +5 -0
- package/dist/git-clients/gitlab-client.js +53 -0
- package/dist/git-clients/gitlab-client.js.map +1 -0
- package/dist/git-clients/index.d.ts +2 -0
- package/dist/git-clients/index.js +15 -0
- package/dist/git-clients/index.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/models/index.d.ts +97 -0
- package/dist/models/index.js +3 -0
- package/dist/models/index.js.map +1 -0
- package/dist/otplease.d.ts +13 -0
- package/dist/otplease.js +110 -0
- package/dist/otplease.js.map +1 -0
- package/dist/package-graph/index.d.ts +2 -0
- package/dist/package-graph/index.js +15 -0
- package/dist/package-graph/index.js.map +1 -0
- package/dist/package-graph/lib/cyclic-package-graph-node.d.ts +41 -0
- package/dist/package-graph/lib/cyclic-package-graph-node.js +101 -0
- package/dist/package-graph/lib/cyclic-package-graph-node.js.map +1 -0
- package/dist/package-graph/lib/index.d.ts +3 -0
- package/dist/package-graph/lib/index.js +16 -0
- package/dist/package-graph/lib/index.js.map +1 -0
- package/dist/package-graph/lib/package-graph-node.d.ts +35 -0
- package/dist/package-graph/lib/package-graph-node.js +61 -0
- package/dist/package-graph/lib/package-graph-node.js.map +1 -0
- package/dist/package-graph/lib/report-cycles.d.ts +1 -0
- package/dist/package-graph/lib/report-cycles.js +20 -0
- package/dist/package-graph/lib/report-cycles.js.map +1 -0
- package/dist/package-graph/package-graph.d.ts +78 -0
- package/dist/package-graph/package-graph.js +256 -0
- package/dist/package-graph/package-graph.js.map +1 -0
- package/dist/package.d.ts +96 -0
- package/dist/package.js +260 -0
- package/dist/package.js.map +1 -0
- package/dist/project/index.d.ts +2 -0
- package/dist/project/index.js +15 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/lib/apply-extends.d.ts +6 -0
- package/dist/project/lib/apply-extends.js +38 -0
- package/dist/project/lib/apply-extends.js.map +1 -0
- package/dist/project/lib/index.d.ts +3 -0
- package/dist/project/lib/index.js +16 -0
- package/dist/project/lib/index.js.map +1 -0
- package/dist/project/lib/make-file-finder.d.ts +2 -0
- package/dist/project/lib/make-file-finder.js +72 -0
- package/dist/project/lib/make-file-finder.js.map +1 -0
- package/dist/project/lib/shallow-extend.d.ts +5 -0
- package/dist/project/lib/shallow-extend.js +25 -0
- package/dist/project/lib/shallow-extend.js.map +1 -0
- package/dist/project/project.d.ts +50 -0
- package/dist/project/project.js +193 -0
- package/dist/project/project.js.map +1 -0
- package/dist/prompt.d.ts +5 -0
- package/dist/prompt.js +65 -0
- package/dist/prompt.js.map +1 -0
- package/dist/utils/check-working-tree.d.ts +8 -0
- package/dist/utils/check-working-tree.js +42 -0
- package/dist/utils/check-working-tree.js.map +1 -0
- package/dist/utils/clean-stack.d.ts +5 -0
- package/dist/utils/clean-stack.js +19 -0
- package/dist/utils/clean-stack.js.map +1 -0
- package/dist/utils/collect-dependents.d.ts +11 -0
- package/dist/utils/collect-dependents.js +46 -0
- package/dist/utils/collect-dependents.js.map +1 -0
- package/dist/utils/collect-uncommitted.d.ts +19 -0
- package/dist/utils/collect-uncommitted.js +46 -0
- package/dist/utils/collect-uncommitted.js.map +1 -0
- package/dist/utils/collect-updates/collect-updates.d.ts +25 -0
- package/dist/utils/collect-updates/collect-updates.js +100 -0
- package/dist/utils/collect-updates/collect-updates.js.map +1 -0
- package/dist/utils/collect-updates/index.d.ts +2 -0
- package/dist/utils/collect-updates/index.js +15 -0
- package/dist/utils/collect-updates/index.js.map +1 -0
- package/dist/utils/collect-updates/lib/collect-packages.d.ts +13 -0
- package/dist/utils/collect-updates/lib/collect-packages.js +34 -0
- package/dist/utils/collect-updates/lib/collect-packages.js.map +1 -0
- package/dist/utils/collect-updates/lib/get-packages-for-option.d.ts +5 -0
- package/dist/utils/collect-updates/lib/get-packages-for-option.js +31 -0
- package/dist/utils/collect-updates/lib/get-packages-for-option.js.map +1 -0
- package/dist/utils/collect-updates/lib/has-tags.d.ts +5 -0
- package/dist/utils/collect-updates/lib/has-tags.js +27 -0
- package/dist/utils/collect-updates/lib/has-tags.js.map +1 -0
- package/dist/utils/collect-updates/lib/index.d.ts +4 -0
- package/dist/utils/collect-updates/lib/index.js +17 -0
- package/dist/utils/collect-updates/lib/index.js.map +1 -0
- package/dist/utils/collect-updates/lib/make-diff-predicate.d.ts +6 -0
- package/dist/utils/collect-updates/lib/make-diff-predicate.js +65 -0
- package/dist/utils/collect-updates/lib/make-diff-predicate.js.map +1 -0
- package/dist/utils/conf.d.ts +23 -0
- package/dist/utils/conf.js +256 -0
- package/dist/utils/conf.js.map +1 -0
- package/dist/utils/defaults.d.ts +1 -0
- package/dist/utils/defaults.js +182 -0
- package/dist/utils/defaults.js.map +1 -0
- package/dist/utils/describe-ref.d.ts +24 -0
- package/dist/utils/describe-ref.js +81 -0
- package/dist/utils/describe-ref.js.map +1 -0
- package/dist/utils/env-replace.d.ts +1 -0
- package/dist/utils/env-replace.js +23 -0
- package/dist/utils/env-replace.js.map +1 -0
- package/dist/utils/find-prefix.d.ts +2 -0
- package/dist/utils/find-prefix.js +49 -0
- package/dist/utils/find-prefix.js.map +1 -0
- package/dist/utils/format-error.d.ts +7 -0
- package/dist/utils/format-error.js +20 -0
- package/dist/utils/format-error.js.map +1 -0
- package/dist/utils/index.d.ts +23 -0
- package/dist/utils/index.js +36 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/log-package-error.d.ts +5 -0
- package/dist/utils/log-package-error.js +36 -0
- package/dist/utils/log-package-error.js.map +1 -0
- package/dist/utils/nerf-dart.d.ts +1 -0
- package/dist/utils/nerf-dart.js +19 -0
- package/dist/utils/nerf-dart.js.map +1 -0
- package/dist/utils/npm-conf.d.ts +2 -0
- package/dist/utils/npm-conf.js +54 -0
- package/dist/utils/npm-conf.js.map +1 -0
- package/dist/utils/parse-field.d.ts +1 -0
- package/dist/utils/parse-field.js +66 -0
- package/dist/utils/parse-field.js.map +1 -0
- package/dist/utils/prerelease-id-from-version.d.ts +5 -0
- package/dist/utils/prerelease-id-from-version.js +16 -0
- package/dist/utils/prerelease-id-from-version.js.map +1 -0
- package/dist/utils/pulse-till-done.d.ts +1 -0
- package/dist/utils/pulse-till-done.js +41 -0
- package/dist/utils/pulse-till-done.js.map +1 -0
- package/dist/utils/query-graph.d.ts +36 -0
- package/dist/utils/query-graph.js +78 -0
- package/dist/utils/query-graph.js.map +1 -0
- package/dist/utils/run-lifecycle.d.ts +10 -0
- package/dist/utils/run-lifecycle.js +109 -0
- package/dist/utils/run-lifecycle.js.map +1 -0
- package/dist/utils/run-topologically.d.ts +12 -0
- package/dist/utils/run-topologically.js +37 -0
- package/dist/utils/run-topologically.js.map +1 -0
- package/dist/utils/types.d.ts +128 -0
- package/dist/utils/types.js +138 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/warn-if-hanging.d.ts +1 -0
- package/dist/utils/warn-if-hanging.js +18 -0
- package/dist/utils/warn-if-hanging.js.map +1 -0
- package/dist/utils/write-log-file.d.ts +1 -0
- package/dist/utils/write-log-file.js +33 -0
- package/dist/utils/write-log-file.js.map +1 -0
- package/dist/validation-error.d.ts +4 -0
- package/dist/validation-error.js +19 -0
- package/dist/validation-error.js.map +1 -0
- package/package.json +110 -0
|
@@ -0,0 +1,38 @@
|
|
|
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.applyExtends = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const resolve_from_1 = __importDefault(require("resolve-from"));
|
|
9
|
+
const shallow_extend_1 = require("./shallow-extend");
|
|
10
|
+
const validation_error_1 = require("../../validation-error");
|
|
11
|
+
/**
|
|
12
|
+
* @param {{ [key: string]: unknown }} config
|
|
13
|
+
* @param {string} cwd
|
|
14
|
+
* @param {Set<string>} seen
|
|
15
|
+
*/
|
|
16
|
+
function applyExtends(config, cwd, seen = new Set()) {
|
|
17
|
+
let defaultConfig = {};
|
|
18
|
+
if ('extends' in config) {
|
|
19
|
+
let pathToDefault;
|
|
20
|
+
try {
|
|
21
|
+
pathToDefault = (0, resolve_from_1.default)(cwd, config.extends);
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
throw new validation_error_1.ValidationError('ERESOLVED', 'Config .extends must be locally-resolvable', err);
|
|
25
|
+
}
|
|
26
|
+
if (seen.has(pathToDefault)) {
|
|
27
|
+
throw new validation_error_1.ValidationError('ECIRCULAR', 'Config .extends cannot be circular', seen);
|
|
28
|
+
}
|
|
29
|
+
seen.add(pathToDefault);
|
|
30
|
+
defaultConfig = require(pathToDefault);
|
|
31
|
+
delete config.extends; // eslint-disable-line no-param-reassign
|
|
32
|
+
// deprecateConfig(defaultConfig, pathToDefault);
|
|
33
|
+
defaultConfig = applyExtends(defaultConfig, path_1.default.dirname(pathToDefault), seen);
|
|
34
|
+
}
|
|
35
|
+
return (0, shallow_extend_1.shallowExtend)(config, defaultConfig);
|
|
36
|
+
}
|
|
37
|
+
exports.applyExtends = applyExtends;
|
|
38
|
+
//# sourceMappingURL=apply-extends.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-extends.js","sourceRoot":"","sources":["../../../src/project/lib/apply-extends.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,gEAAuC;AAEvC,qDAAiD;AACjD,6DAAyD;AAEzD;;;;GAIG;AACH,SAAgB,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE;IACxD,IAAI,aAAa,GAAG,EAAE,CAAC;IAEvB,IAAI,SAAS,IAAI,MAAM,EAAE;QACvB,IAAI,aAAa,CAAC;QAElB,IAAI;YACF,aAAa,GAAG,IAAA,sBAAW,EAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;SAClD;QAAC,OAAO,GAAQ,EAAE;YACjB,MAAM,IAAI,kCAAe,CAAC,WAAW,EAAE,4CAA4C,EAAE,GAAG,CAAC,CAAC;SAC3F;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YAC3B,MAAM,IAAI,kCAAe,CAAC,WAAW,EAAE,oCAAoC,EAAE,IAAW,CAAC,CAAC;SAC3F;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAExB,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,wCAAwC;QAE/D,iDAAiD;QAEjD,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,cAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;KAChF;IAED,OAAO,IAAA,8BAAa,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAC9C,CAAC;AA3BD,oCA2BC"}
|
|
@@ -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
|
+
__exportStar(require("./apply-extends"), exports);
|
|
14
|
+
__exportStar(require("./make-file-finder"), exports);
|
|
15
|
+
__exportStar(require("./shallow-extend"), exports);
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/project/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAgC;AAChC,qDAAmC;AACnC,mDAAiC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare function makeFileFinder(rootPath: any, packageConfigs: any): (fileName: string, fileMapper: any, customGlobOpts?: any) => Promise<import("@nodelib/fs.scandir").Entry[]>;
|
|
2
|
+
export declare function makeSyncFileFinder(rootPath: any, packageConfigs: any): (fileName: any, fileMapper: any, customGlobOpts?: any) => import("@nodelib/fs.scandir").Entry[];
|
|
@@ -0,0 +1,72 @@
|
|
|
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.makeSyncFileFinder = exports.makeFileFinder = void 0;
|
|
7
|
+
const globby_1 = __importDefault(require("globby"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const p_map_1 = __importDefault(require("p-map"));
|
|
10
|
+
const validation_error_1 = require("../../validation-error");
|
|
11
|
+
/**
|
|
12
|
+
* @param {string[]} results
|
|
13
|
+
*/
|
|
14
|
+
function normalize(results) {
|
|
15
|
+
return results.map((fp) => path_1.default.normalize(fp));
|
|
16
|
+
}
|
|
17
|
+
function getGlobOpts(rootPath, packageConfigs) {
|
|
18
|
+
const globOpts = {
|
|
19
|
+
cwd: rootPath,
|
|
20
|
+
absolute: true,
|
|
21
|
+
expandDirectories: false,
|
|
22
|
+
followSymbolicLinks: false,
|
|
23
|
+
};
|
|
24
|
+
if (packageConfigs.some((cfg) => cfg.indexOf('**') > -1)) {
|
|
25
|
+
if (packageConfigs.some((cfg) => cfg.indexOf('node_modules') > -1)) {
|
|
26
|
+
throw new validation_error_1.ValidationError('EPKGCONFIG', 'An explicit node_modules package path does not allow globstars (**)');
|
|
27
|
+
}
|
|
28
|
+
globOpts.ignore = [
|
|
29
|
+
// allow globs like "packages/**",
|
|
30
|
+
// but avoid picking up node_modules/**/package.json
|
|
31
|
+
'**/node_modules/**',
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
return globOpts;
|
|
35
|
+
}
|
|
36
|
+
function makeFileFinder(rootPath, packageConfigs) {
|
|
37
|
+
const globOpts = getGlobOpts(rootPath, packageConfigs);
|
|
38
|
+
return (fileName, fileMapper, customGlobOpts) => {
|
|
39
|
+
const options = Object.assign({}, customGlobOpts, globOpts);
|
|
40
|
+
const promise = (0, p_map_1.default)(Array.from(packageConfigs).sort(), (globPath) => {
|
|
41
|
+
let chain = (0, globby_1.default)(path_1.default.posix.join(globPath, fileName), options);
|
|
42
|
+
// fast-glob does not respect pattern order, so we re-sort by absolute path
|
|
43
|
+
chain = chain.then((results) => results.sort());
|
|
44
|
+
// POSIX results always need to be normalized
|
|
45
|
+
chain = chain.then(normalize);
|
|
46
|
+
if (fileMapper) {
|
|
47
|
+
chain = chain.then(fileMapper);
|
|
48
|
+
}
|
|
49
|
+
return chain;
|
|
50
|
+
}, { concurrency: 4 });
|
|
51
|
+
// always flatten the results
|
|
52
|
+
return promise.then((results) => results.reduce((acc, result) => acc.concat(result), []));
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
exports.makeFileFinder = makeFileFinder;
|
|
56
|
+
function makeSyncFileFinder(rootPath, packageConfigs) {
|
|
57
|
+
const globOpts = getGlobOpts(rootPath, packageConfigs);
|
|
58
|
+
return (fileName, fileMapper, customGlobOpts) => {
|
|
59
|
+
const options = Object.assign({}, customGlobOpts, globOpts);
|
|
60
|
+
const patterns = packageConfigs.map((globPath) => path_1.default.posix.join(globPath, fileName)).sort();
|
|
61
|
+
let results = globby_1.default.sync(patterns, options);
|
|
62
|
+
// POSIX results always need to be normalized
|
|
63
|
+
results = normalize(results);
|
|
64
|
+
/* istanbul ignore else */
|
|
65
|
+
if (fileMapper) {
|
|
66
|
+
results = results.map(fileMapper);
|
|
67
|
+
}
|
|
68
|
+
return results;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
exports.makeSyncFileFinder = makeSyncFileFinder;
|
|
72
|
+
//# sourceMappingURL=make-file-finder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-file-finder.js","sourceRoot":"","sources":["../../../src/project/lib/make-file-finder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.shallowExtend = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @param {{ [key: string]: unknown }} json
|
|
6
|
+
* @param {{ [key: string]: unknown }} defaults
|
|
7
|
+
*/
|
|
8
|
+
function shallowExtend(json, defaults = {}) {
|
|
9
|
+
return Object.keys(json).reduce((obj, key) => {
|
|
10
|
+
const val = json[key];
|
|
11
|
+
if (Array.isArray(val)) {
|
|
12
|
+
// always clobber arrays, merging isn't worth unexpected complexity
|
|
13
|
+
obj[key] = val.slice();
|
|
14
|
+
}
|
|
15
|
+
else if (val && typeof val === 'object') {
|
|
16
|
+
obj[key] = shallowExtend(val, obj[key]);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
obj[key] = val;
|
|
20
|
+
}
|
|
21
|
+
return obj;
|
|
22
|
+
}, defaults);
|
|
23
|
+
}
|
|
24
|
+
exports.shallowExtend = shallowExtend;
|
|
25
|
+
//# sourceMappingURL=shallow-extend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shallow-extend.js","sourceRoot":"","sources":["../../../src/project/lib/shallow-extend.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,EAAE;IAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,mEAAmE;YACnE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;SACxB;aAAM,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzC,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACzC;aAAM;YACL,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SAChB;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,QAAQ,CAAC,CAAC;AACf,CAAC;AAfD,sCAeC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
interface ProjectConfig {
|
|
2
|
+
command?: string;
|
|
3
|
+
packages: string[];
|
|
4
|
+
useWorkspaces: boolean;
|
|
5
|
+
version: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A representation of the entire project managed by Lerna.
|
|
9
|
+
*
|
|
10
|
+
* Wherever the lerna.json file is located, that is the project root.
|
|
11
|
+
* All package globs are rooted from this location.
|
|
12
|
+
*/
|
|
13
|
+
export declare class Project {
|
|
14
|
+
config: ProjectConfig;
|
|
15
|
+
rootConfigLocation: string;
|
|
16
|
+
rootPath: string;
|
|
17
|
+
static PACKAGE_GLOB: string;
|
|
18
|
+
static LICENSE_GLOB: string;
|
|
19
|
+
/**
|
|
20
|
+
* @param {string} [cwd] Defaults to process.cwd()
|
|
21
|
+
*/
|
|
22
|
+
constructor(cwd: string);
|
|
23
|
+
/**
|
|
24
|
+
* @param {string} [cwd] Defaults to process.cwd()
|
|
25
|
+
*/
|
|
26
|
+
static getPackages(cwd: string): Promise<any>;
|
|
27
|
+
/**
|
|
28
|
+
* @param {string} [cwd] Defaults to process.cwd()
|
|
29
|
+
*/
|
|
30
|
+
static getPackagesSync(cwd: string): import("@nodelib/fs.scandir").Entry[];
|
|
31
|
+
get version(): string;
|
|
32
|
+
set version(val: string);
|
|
33
|
+
get packageConfigs(): any;
|
|
34
|
+
get packageParentDirs(): any;
|
|
35
|
+
get manifest(): any;
|
|
36
|
+
get licensePath(): any;
|
|
37
|
+
get fileFinder(): (fileName: string, fileMapper: any, customGlobOpts?: any) => Promise<import("@nodelib/fs.scandir").Entry[]>;
|
|
38
|
+
/**
|
|
39
|
+
* @returns {Promise<Package[]>} A promise resolving to a list of Package instances
|
|
40
|
+
*/
|
|
41
|
+
getPackages(): Promise<any>;
|
|
42
|
+
/**
|
|
43
|
+
* @returns {Package[]} A list of Package instances
|
|
44
|
+
*/
|
|
45
|
+
getPackagesSync(): import("@nodelib/fs.scandir").Entry[];
|
|
46
|
+
getPackageLicensePaths(): Promise<import("@nodelib/fs.scandir").Entry[]>;
|
|
47
|
+
isIndependent(): boolean;
|
|
48
|
+
serializeConfig(): Promise<string>;
|
|
49
|
+
}
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,193 @@
|
|
|
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.Project = void 0;
|
|
7
|
+
const cosmiconfig_1 = require("cosmiconfig");
|
|
8
|
+
const dedent_1 = __importDefault(require("dedent"));
|
|
9
|
+
const globby_1 = __importDefault(require("globby"));
|
|
10
|
+
const glob_parent_1 = __importDefault(require("glob-parent"));
|
|
11
|
+
const npmlog_1 = __importDefault(require("npmlog"));
|
|
12
|
+
const path_1 = __importDefault(require("path"));
|
|
13
|
+
const p_map_1 = __importDefault(require("p-map"));
|
|
14
|
+
const load_json_file_1 = __importDefault(require("load-json-file"));
|
|
15
|
+
const write_json_file_1 = __importDefault(require("write-json-file"));
|
|
16
|
+
const package_1 = require("../package");
|
|
17
|
+
const apply_extends_1 = require("./lib/apply-extends");
|
|
18
|
+
const validation_error_1 = require("../validation-error");
|
|
19
|
+
const make_file_finder_1 = require("./lib/make-file-finder");
|
|
20
|
+
/**
|
|
21
|
+
* A representation of the entire project managed by Lerna.
|
|
22
|
+
*
|
|
23
|
+
* Wherever the lerna.json file is located, that is the project root.
|
|
24
|
+
* All package globs are rooted from this location.
|
|
25
|
+
*/
|
|
26
|
+
class Project {
|
|
27
|
+
/**
|
|
28
|
+
* @param {string} [cwd] Defaults to process.cwd()
|
|
29
|
+
*/
|
|
30
|
+
constructor(cwd) {
|
|
31
|
+
var _a, _b;
|
|
32
|
+
const explorer = (0, cosmiconfig_1.cosmiconfigSync)('lerna', {
|
|
33
|
+
searchPlaces: ['lerna.json', 'package.json'],
|
|
34
|
+
transform(obj) {
|
|
35
|
+
// cosmiconfig returns null when nothing is found
|
|
36
|
+
if (!obj) {
|
|
37
|
+
return {
|
|
38
|
+
// No need to distinguish between missing and empty,
|
|
39
|
+
// saves a lot of noisy guards elsewhere
|
|
40
|
+
config: {},
|
|
41
|
+
// path.resolve(".", ...) starts from process.cwd()
|
|
42
|
+
filepath: path_1.default.resolve(cwd || '.', 'lerna.json'),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
obj.config = (0, apply_extends_1.applyExtends)(obj.config, path_1.default.dirname(obj.filepath));
|
|
46
|
+
return obj;
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
let loaded;
|
|
50
|
+
try {
|
|
51
|
+
loaded = explorer.search(cwd);
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
// redecorate JSON syntax errors, avoid debug dump
|
|
55
|
+
if (err.name === 'JSONError') {
|
|
56
|
+
throw new validation_error_1.ValidationError(err.name, err.message);
|
|
57
|
+
}
|
|
58
|
+
// re-throw other errors, could be ours or third-party
|
|
59
|
+
throw err;
|
|
60
|
+
}
|
|
61
|
+
this.config = loaded === null || loaded === void 0 ? void 0 : loaded.config;
|
|
62
|
+
this.rootConfigLocation = (_a = loaded === null || loaded === void 0 ? void 0 : loaded.filepath) !== null && _a !== void 0 ? _a : '';
|
|
63
|
+
this.rootPath = path_1.default.dirname((_b = loaded === null || loaded === void 0 ? void 0 : loaded.filepath) !== null && _b !== void 0 ? _b : '');
|
|
64
|
+
npmlog_1.default.verbose('rootPath', this.rootPath);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @param {string} [cwd] Defaults to process.cwd()
|
|
68
|
+
*/
|
|
69
|
+
static getPackages(cwd) {
|
|
70
|
+
return new Project(cwd).getPackages();
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* @param {string} [cwd] Defaults to process.cwd()
|
|
74
|
+
*/
|
|
75
|
+
static getPackagesSync(cwd) {
|
|
76
|
+
return new Project(cwd).getPackagesSync();
|
|
77
|
+
}
|
|
78
|
+
get version() {
|
|
79
|
+
return this.config.version;
|
|
80
|
+
}
|
|
81
|
+
set version(val) {
|
|
82
|
+
this.config.version = val;
|
|
83
|
+
}
|
|
84
|
+
get packageConfigs() {
|
|
85
|
+
var _a;
|
|
86
|
+
if (this.config.useWorkspaces) {
|
|
87
|
+
const workspaces = (_a = this.manifest) === null || _a === void 0 ? void 0 : _a.get('workspaces');
|
|
88
|
+
if (!workspaces) {
|
|
89
|
+
throw new validation_error_1.ValidationError('EWORKSPACES', (0, dedent_1.default) `
|
|
90
|
+
Yarn workspaces need to be defined in the root package.json.
|
|
91
|
+
See: https://github.com/lerna/lerna/blob/master/commands/bootstrap/README.md#--use-workspaces
|
|
92
|
+
`);
|
|
93
|
+
}
|
|
94
|
+
npmlog_1.default.verbose('project workspaces packages', (workspaces.packages || workspaces).join(' '));
|
|
95
|
+
return workspaces.packages || workspaces;
|
|
96
|
+
}
|
|
97
|
+
npmlog_1.default.verbose('project packages', (this.config.packages || [Project.PACKAGE_GLOB]).join(' '));
|
|
98
|
+
return this.config.packages || [Project.PACKAGE_GLOB];
|
|
99
|
+
}
|
|
100
|
+
get packageParentDirs() {
|
|
101
|
+
return this.packageConfigs.map(glob_parent_1.default).map((parentDir) => path_1.default.resolve(this.rootPath, parentDir));
|
|
102
|
+
}
|
|
103
|
+
get manifest() {
|
|
104
|
+
let manifest;
|
|
105
|
+
try {
|
|
106
|
+
const manifestLocation = path_1.default.join(this.rootPath, 'package.json');
|
|
107
|
+
const packageJson = load_json_file_1.default.sync(manifestLocation);
|
|
108
|
+
if (!packageJson.name) {
|
|
109
|
+
// npm-lifecycle chokes if this is missing, so default like npm init does
|
|
110
|
+
packageJson.name = path_1.default.basename(path_1.default.dirname(manifestLocation));
|
|
111
|
+
}
|
|
112
|
+
// Encapsulate raw JSON in Package instance
|
|
113
|
+
manifest = new package_1.Package(packageJson, this.rootPath);
|
|
114
|
+
// redefine getter to lazy-loaded value
|
|
115
|
+
Object.defineProperty(this, 'manifest', {
|
|
116
|
+
value: manifest,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
// redecorate JSON syntax errors, avoid debug dump
|
|
121
|
+
if (err.name === 'JSONError') {
|
|
122
|
+
throw new validation_error_1.ValidationError(err.name, err.message);
|
|
123
|
+
}
|
|
124
|
+
// try again next time
|
|
125
|
+
}
|
|
126
|
+
return manifest;
|
|
127
|
+
}
|
|
128
|
+
get licensePath() {
|
|
129
|
+
let licensePath;
|
|
130
|
+
try {
|
|
131
|
+
const search = globby_1.default.sync(Project.LICENSE_GLOB, {
|
|
132
|
+
cwd: this.rootPath,
|
|
133
|
+
absolute: true,
|
|
134
|
+
caseSensitiveMatch: false,
|
|
135
|
+
// Project license is always a sibling of the root manifest
|
|
136
|
+
deep: 0,
|
|
137
|
+
});
|
|
138
|
+
licensePath = search.shift();
|
|
139
|
+
if (licensePath) {
|
|
140
|
+
// POSIX results always need to be normalized
|
|
141
|
+
licensePath = path_1.default.normalize(licensePath);
|
|
142
|
+
// redefine getter to lazy-loaded value
|
|
143
|
+
Object.defineProperty(this, 'licensePath', {
|
|
144
|
+
value: licensePath,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
/* istanbul ignore next */
|
|
150
|
+
throw new validation_error_1.ValidationError(err.name, err.message);
|
|
151
|
+
}
|
|
152
|
+
return licensePath;
|
|
153
|
+
}
|
|
154
|
+
get fileFinder() {
|
|
155
|
+
const finder = (0, make_file_finder_1.makeFileFinder)(this.rootPath, this.packageConfigs);
|
|
156
|
+
// redefine getter to lazy-loaded value
|
|
157
|
+
Object.defineProperty(this, 'fileFinder', {
|
|
158
|
+
value: finder,
|
|
159
|
+
});
|
|
160
|
+
return finder;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* @returns {Promise<Package[]>} A promise resolving to a list of Package instances
|
|
164
|
+
*/
|
|
165
|
+
getPackages() {
|
|
166
|
+
const mapper = (packageConfigPath) => (0, load_json_file_1.default)(packageConfigPath).then((packageJson) => new package_1.Package(packageJson, path_1.default.dirname(packageConfigPath), this.rootPath));
|
|
167
|
+
return this.fileFinder('package.json', (filePaths) => (0, p_map_1.default)(filePaths, mapper, { concurrency: 50 }));
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* @returns {Package[]} A list of Package instances
|
|
171
|
+
*/
|
|
172
|
+
getPackagesSync() {
|
|
173
|
+
return (0, make_file_finder_1.makeSyncFileFinder)(this.rootPath, this.packageConfigs)('package.json', (packageConfigPath) => {
|
|
174
|
+
return new package_1.Package(load_json_file_1.default.sync(packageConfigPath), path_1.default.dirname(packageConfigPath), this.rootPath);
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
getPackageLicensePaths() {
|
|
178
|
+
return this.fileFinder(Project.LICENSE_GLOB, null, { caseSensitiveMatch: false });
|
|
179
|
+
}
|
|
180
|
+
isIndependent() {
|
|
181
|
+
return this.version === 'independent';
|
|
182
|
+
}
|
|
183
|
+
serializeConfig() {
|
|
184
|
+
// TODO: might be package.json prop
|
|
185
|
+
return (0, write_json_file_1.default)(this.rootConfigLocation, this.config, { indent: 2, detectIndent: true }).then(() => this.rootConfigLocation);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
exports.Project = Project;
|
|
189
|
+
Project.PACKAGE_GLOB = 'packages/*';
|
|
190
|
+
Project.LICENSE_GLOB = 'LICEN{S,C}E{,.*}';
|
|
191
|
+
Project.PACKAGE_GLOB = 'packages/*';
|
|
192
|
+
Project.LICENSE_GLOB = 'LICEN{S,C}E{,.*}';
|
|
193
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/project/project.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt.d.ts
ADDED
package/dist/prompt.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
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.PromptUtilities = void 0;
|
|
7
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
|
+
const npmlog_1 = __importDefault(require("npmlog"));
|
|
9
|
+
class PromptUtilities {
|
|
10
|
+
static async confirm(message) {
|
|
11
|
+
npmlog_1.default.pause();
|
|
12
|
+
const answers = await inquirer_1.default.prompt([
|
|
13
|
+
{
|
|
14
|
+
type: 'expand',
|
|
15
|
+
name: 'confirm',
|
|
16
|
+
message,
|
|
17
|
+
default: 2,
|
|
18
|
+
choices: [
|
|
19
|
+
{ key: 'y', name: 'Yes', value: true },
|
|
20
|
+
{ key: 'n', name: 'No', value: false },
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
]);
|
|
24
|
+
npmlog_1.default.resume();
|
|
25
|
+
return answers.confirm;
|
|
26
|
+
}
|
|
27
|
+
static select(message, { choices, filter, validate } = {}) {
|
|
28
|
+
npmlog_1.default.pause();
|
|
29
|
+
return inquirer_1.default
|
|
30
|
+
.prompt([
|
|
31
|
+
{
|
|
32
|
+
type: 'list',
|
|
33
|
+
name: 'prompt',
|
|
34
|
+
message,
|
|
35
|
+
choices,
|
|
36
|
+
pageSize: choices.length,
|
|
37
|
+
filter,
|
|
38
|
+
validate,
|
|
39
|
+
},
|
|
40
|
+
])
|
|
41
|
+
.then(answers => {
|
|
42
|
+
npmlog_1.default.resume();
|
|
43
|
+
return answers.prompt;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
static input(message, { filter, validate } = {}) {
|
|
47
|
+
npmlog_1.default.pause();
|
|
48
|
+
return inquirer_1.default
|
|
49
|
+
.prompt([
|
|
50
|
+
{
|
|
51
|
+
type: 'input',
|
|
52
|
+
name: 'input',
|
|
53
|
+
message,
|
|
54
|
+
filter,
|
|
55
|
+
validate,
|
|
56
|
+
},
|
|
57
|
+
])
|
|
58
|
+
.then(answers => {
|
|
59
|
+
npmlog_1.default.resume();
|
|
60
|
+
return answers.input;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.PromptUtilities = PromptUtilities;
|
|
65
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,oDAAyB;AAEzB,MAAa,eAAe;IAC1B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;QAC1B,gBAAG,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACpC;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO;gBACP,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE;oBACP,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;oBACtC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;iBACvC;aACF;SACF,CAAC,CAAC;QACH,gBAAG,CAAC,MAAM,EAAE,CAAC;QAEb,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,KAAK,EAAS;QAC9D,gBAAG,CAAC,KAAK,EAAE,CAAC;QAEZ,OAAO,kBAAQ;aACZ,MAAM,CAAC;YACN;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO;gBACP,OAAO;gBACP,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,MAAM;gBACN,QAAQ;aACT;SACF,CAAC;aACD,IAAI,CAAC,OAAO,CAAC,EAAE;YACd,gBAAG,CAAC,MAAM,EAAE,CAAC;YAEb,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,KAAK,EAAS;QACpD,gBAAG,CAAC,KAAK,EAAE,CAAC;QAEZ,OAAO,kBAAQ;aACZ,MAAM,CAAC;YACN;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO;gBACP,MAAM;gBACN,QAAQ;aACT;SACF,CAAC;aACD,IAAI,CAAC,OAAO,CAAC,EAAE;YACd,gBAAG,CAAC,MAAM,EAAE,CAAC;YAEb,OAAO,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;CACF;AA7DD,0CA6DC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function checkWorkingTree({ cwd }?: any, gitDryRun?: boolean): Promise<void>;
|
|
2
|
+
export declare function throwIfReleased({ refCount }: {
|
|
3
|
+
refCount: any;
|
|
4
|
+
}): void;
|
|
5
|
+
export declare function mkThrowIfUncommitted(options?: any, gitDryRun?: boolean): ({ isDirty }: {
|
|
6
|
+
isDirty: any;
|
|
7
|
+
}) => any;
|
|
8
|
+
export declare function throwIfUncommitted(): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.throwIfUncommitted = exports.mkThrowIfUncommitted = exports.throwIfReleased = exports.checkWorkingTree = void 0;
|
|
4
|
+
const collect_uncommitted_1 = require("./collect-uncommitted");
|
|
5
|
+
const describe_ref_1 = require("./describe-ref");
|
|
6
|
+
const validation_error_1 = require("../validation-error");
|
|
7
|
+
function checkWorkingTree({ cwd } = {}, gitDryRun = false) {
|
|
8
|
+
let chain = Promise.resolve();
|
|
9
|
+
chain = chain.then(() => (0, describe_ref_1.describeRef)({ cwd }, undefined, gitDryRun));
|
|
10
|
+
// wrap each test separately to allow all applicable errors to be reported
|
|
11
|
+
const tests = [
|
|
12
|
+
// prevent duplicate versioning
|
|
13
|
+
chain.then(throwIfReleased),
|
|
14
|
+
// prevent publish of uncommitted changes
|
|
15
|
+
chain.then(mkThrowIfUncommitted({ cwd }, gitDryRun)),
|
|
16
|
+
];
|
|
17
|
+
// passes through result of describeRef() to aid composability
|
|
18
|
+
return chain.then((result) => Promise.all(tests).then(() => result));
|
|
19
|
+
}
|
|
20
|
+
exports.checkWorkingTree = checkWorkingTree;
|
|
21
|
+
function throwIfReleased({ refCount }) {
|
|
22
|
+
if (refCount === '0') {
|
|
23
|
+
throw new validation_error_1.ValidationError('ERELEASED', 'The current commit has already been released. Please make new commits before continuing.');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.throwIfReleased = throwIfReleased;
|
|
27
|
+
const EUNCOMMIT_MSG = 'Working tree has uncommitted changes, please commit or remove the following changes before continuing:\n';
|
|
28
|
+
function mkThrowIfUncommitted(options = {}, gitDryRun = false) {
|
|
29
|
+
return function ({ isDirty }) {
|
|
30
|
+
if (isDirty) {
|
|
31
|
+
return (0, collect_uncommitted_1.collectUncommitted)(options, gitDryRun).then((uncommitted) => {
|
|
32
|
+
throw new validation_error_1.ValidationError('EUNCOMMIT', `${EUNCOMMIT_MSG}${uncommitted.join('\n')}`);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
exports.mkThrowIfUncommitted = mkThrowIfUncommitted;
|
|
38
|
+
function throwIfUncommitted() {
|
|
39
|
+
mkThrowIfUncommitted();
|
|
40
|
+
}
|
|
41
|
+
exports.throwIfUncommitted = throwIfUncommitted;
|
|
42
|
+
//# sourceMappingURL=check-working-tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-working-tree.js","sourceRoot":"","sources":["../../src/utils/check-working-tree.ts"],"names":[],"mappings":";;;AAAA,+DAA2D;AAC3D,iDAA6C;AAC7C,0DAAsD;AAEtD,SAAgB,gBAAgB,CAAC,EAAE,GAAG,KAAK,EAAS,EAAE,SAAS,GAAG,KAAK;IACrE,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAE9B,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAA,0BAAW,EAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAErE,0EAA0E;IAC1E,MAAM,KAAK,GAAG;QACZ,+BAA+B;QAC/B,KAAK,CAAC,IAAI,CAAC,eAAsB,CAAC;QAClC,yCAAyC;QACzC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,CAAQ,CAAC;KAC5D,CAAC;IAEF,8DAA8D;IAC9D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACvE,CAAC;AAfD,4CAeC;AAED,SAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE;IAC1C,IAAI,QAAQ,KAAK,GAAG,EAAE;QACpB,MAAM,IAAI,kCAAe,CACvB,WAAW,EACX,0FAA0F,CAC3F,CAAC;KACH;AACH,CAAC;AAPD,0CAOC;AAED,MAAM,aAAa,GACjB,0GAA0G,CAAC;AAE7G,SAAgB,oBAAoB,CAAC,UAAe,EAAE,EAAE,SAAS,GAAG,KAAK;IACvE,OAAO,UAAU,EAAE,OAAO,EAAE;QAC1B,IAAI,OAAO,EAAE;YACX,OAAO,IAAA,wCAAkB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;gBACjE,MAAM,IAAI,kCAAe,CAAC,WAAW,EAAE,GAAG,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;AACJ,CAAC;AARD,oDAQC;AAED,SAAgB,kBAAkB;IAChC,oBAAoB,EAAE,CAAC;AACzB,CAAC;AAFD,gDAEC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cleanStack = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @param {import("execa").ExecaError} err
|
|
6
|
+
* @param {string} className
|
|
7
|
+
*/
|
|
8
|
+
function cleanStack(err, className) {
|
|
9
|
+
const lines = err.stack ? err.stack.split('\n') : String(err).split('\n');
|
|
10
|
+
const cutoff = new RegExp(`^ at ${className}.runCommand .*$`);
|
|
11
|
+
const relevantIndex = lines.findIndex((line) => cutoff.test(line));
|
|
12
|
+
if (relevantIndex) {
|
|
13
|
+
return lines.slice(0, relevantIndex).join('\n');
|
|
14
|
+
}
|
|
15
|
+
// nothing matched, just return original error
|
|
16
|
+
return err;
|
|
17
|
+
}
|
|
18
|
+
exports.cleanStack = cleanStack;
|
|
19
|
+
//# sourceMappingURL=clean-stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clean-stack.js","sourceRoot":"","sources":["../../src/utils/clean-stack.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,UAAU,CAAC,GAAG,EAAE,SAAS;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,SAAS,iBAAiB,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnE,IAAI,aAAa,EAAE;QACjB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjD;IAED,8CAA8C;IAC9C,OAAO,GAAG,CAAC;AACb,CAAC;AAXD,gCAWC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @callback LocalDependentVisitor
|
|
3
|
+
* @param {import("@lerna/package-graph").PackageGraphNode} dependentNode
|
|
4
|
+
* @param {string} dependentName
|
|
5
|
+
* @param {Map<string, import("@lerna/package-graph").PackageGraphNode>} siblingDependents
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Build a set of nodes that are dependents of the input set.
|
|
9
|
+
* @param {Set<import("@lerna/package-graph").PackageGraphNode>} nodes
|
|
10
|
+
*/
|
|
11
|
+
export declare function collectDependents(nodes: any): Set<unknown>;
|