@lerna-lite/core 1.3.0 → 1.4.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/README.md +13 -12
- package/dist/child-process.d.ts +62 -62
- package/dist/child-process.js +165 -165
- package/dist/command.d.ts +37 -35
- package/dist/command.js +266 -266
- package/dist/command.js.map +1 -1
- package/dist/conventional-commits/constants.d.ts +4 -4
- package/dist/conventional-commits/constants.js +12 -12
- package/dist/conventional-commits/get-changelog-config.d.ts +12 -12
- package/dist/conventional-commits/get-changelog-config.js +98 -98
- package/dist/conventional-commits/index.d.ts +6 -6
- package/dist/conventional-commits/index.js +22 -22
- package/dist/conventional-commits/make-bump-only-filter.d.ts +6 -6
- package/dist/conventional-commits/make-bump-only-filter.js +22 -22
- package/dist/conventional-commits/read-existing-changelog.d.ts +7 -7
- package/dist/conventional-commits/read-existing-changelog.js +32 -32
- package/dist/conventional-commits/recommend-version.d.ts +11 -11
- package/dist/conventional-commits/recommend-version.js +86 -86
- package/dist/conventional-commits/update-changelog.d.ts +11 -11
- package/dist/conventional-commits/update-changelog.js +83 -83
- package/dist/git-clients/GitLabClient.d.ts +8 -8
- package/dist/git-clients/GitLabClient.js +39 -39
- package/dist/git-clients/github-client.d.ts +6 -6
- package/dist/git-clients/github-client.js +40 -40
- package/dist/git-clients/gitlab-client.d.ts +6 -6
- package/dist/git-clients/gitlab-client.js +21 -21
- package/dist/git-clients/index.d.ts +2 -2
- package/dist/git-clients/index.js +18 -18
- package/dist/index.d.ts +12 -12
- package/dist/index.js +30 -30
- package/dist/models/command-options.d.ts +206 -0
- package/dist/models/command-options.js +3 -0
- package/dist/models/command-options.js.map +1 -0
- package/dist/models/index.d.ts +2 -186
- package/dist/models/index.js +18 -2
- package/dist/models/index.js.map +1 -1
- package/dist/models/interfaces.d.ts +201 -0
- package/dist/models/interfaces.js +3 -0
- package/dist/models/interfaces.js.map +1 -0
- package/dist/otplease.d.ts +14 -14
- package/dist/otplease.js +108 -108
- package/dist/package-graph/index.d.ts +2 -2
- package/dist/package-graph/index.js +18 -18
- package/dist/package-graph/lib/cyclic-package-graph-node.d.ts +42 -42
- package/dist/package-graph/lib/cyclic-package-graph-node.js +97 -97
- package/dist/package-graph/lib/index.d.ts +3 -3
- package/dist/package-graph/lib/index.js +19 -19
- package/dist/package-graph/lib/package-graph-node.d.ts +33 -33
- package/dist/package-graph/lib/package-graph-node.js +58 -58
- package/dist/package-graph/lib/report-cycles.d.ts +1 -1
- package/dist/package-graph/lib/report-cycles.js +19 -19
- package/dist/package-graph/package-graph.d.ts +79 -79
- package/dist/package-graph/package-graph.js +276 -276
- package/dist/package.d.ts +91 -85
- package/dist/package.js +282 -276
- package/dist/package.js.map +1 -1
- package/dist/project/index.d.ts +2 -2
- package/dist/project/index.js +18 -18
- package/dist/project/lib/apply-extends.d.ts +10 -10
- package/dist/project/lib/apply-extends.js +37 -37
- package/dist/project/lib/index.d.ts +3 -3
- package/dist/project/lib/index.js +19 -19
- package/dist/project/lib/make-file-finder.d.ts +3 -3
- package/dist/project/lib/make-file-finder.js +71 -71
- package/dist/project/lib/shallow-extend.d.ts +11 -11
- package/dist/project/lib/shallow-extend.js +24 -24
- package/dist/project/project.d.ts +45 -45
- package/dist/project/project.js +195 -195
- package/dist/prompt.d.ts +23 -23
- package/dist/prompt.js +75 -75
- package/dist/utils/check-working-tree.d.ts +8 -8
- package/dist/utils/check-working-tree.js +41 -41
- package/dist/utils/clean-stack.d.ts +5 -5
- package/dist/utils/clean-stack.js +18 -18
- package/dist/utils/collect-uncommitted.d.ts +18 -18
- package/dist/utils/collect-uncommitted.js +40 -40
- package/dist/utils/collect-updates/collect-updates.d.ts +11 -11
- package/dist/utils/collect-updates/collect-updates.js +82 -82
- package/dist/utils/collect-updates/index.d.ts +2 -2
- package/dist/utils/collect-updates/index.js +18 -18
- package/dist/utils/collect-updates/lib/collect-dependents.d.ts +11 -11
- package/dist/utils/collect-updates/lib/collect-dependents.js +45 -45
- package/dist/utils/collect-updates/lib/collect-packages.d.ts +13 -13
- package/dist/utils/collect-updates/lib/collect-packages.js +33 -33
- package/dist/utils/collect-updates/lib/get-packages-for-option.d.ts +5 -5
- package/dist/utils/collect-updates/lib/get-packages-for-option.js +30 -30
- package/dist/utils/collect-updates/lib/has-tags.d.ts +5 -5
- package/dist/utils/collect-updates/lib/has-tags.js +26 -26
- package/dist/utils/collect-updates/lib/index.d.ts +5 -5
- package/dist/utils/collect-updates/lib/index.js +21 -21
- package/dist/utils/collect-updates/lib/make-diff-predicate.d.ts +7 -7
- package/dist/utils/collect-updates/lib/make-diff-predicate.js +64 -64
- package/dist/utils/conf.d.ts +25 -25
- package/dist/utils/conf.js +255 -255
- package/dist/utils/defaults.d.ts +1 -1
- package/dist/utils/defaults.js +182 -182
- package/dist/utils/defaults.js.map +1 -1
- package/dist/utils/describe-ref.d.ts +37 -37
- package/dist/utils/describe-ref.js +80 -80
- package/dist/utils/env-replace.d.ts +1 -1
- package/dist/utils/env-replace.js +22 -22
- package/dist/utils/find-prefix.d.ts +2 -2
- package/dist/utils/find-prefix.js +48 -48
- package/dist/utils/index.d.ts +23 -22
- package/dist/utils/index.js +39 -38
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/log-package-error.d.ts +5 -5
- package/dist/utils/log-package-error.js +35 -35
- package/dist/utils/nerf-dart.d.ts +1 -1
- package/dist/utils/nerf-dart.js +18 -18
- package/dist/utils/npm-conf.d.ts +4 -4
- package/dist/utils/npm-conf.js +55 -55
- package/dist/utils/output.d.ts +1 -1
- package/dist/utils/output.js +13 -13
- package/dist/utils/parse-field.d.ts +1 -1
- package/dist/utils/parse-field.js +65 -65
- package/dist/utils/prerelease-id-from-version.d.ts +5 -5
- package/dist/utils/prerelease-id-from-version.js +15 -15
- package/dist/utils/pulse-till-done.d.ts +1 -1
- package/dist/utils/pulse-till-done.js +40 -40
- package/dist/utils/query-graph.d.ts +36 -36
- package/dist/utils/query-graph.js +77 -77
- package/dist/utils/query-graph.js.map +1 -1
- package/dist/utils/run-lifecycle.d.ts +10 -10
- package/dist/utils/run-lifecycle.js +131 -107
- package/dist/utils/run-lifecycle.js.map +1 -1
- package/dist/utils/run-topologically.d.ts +12 -12
- package/dist/utils/run-topologically.js +36 -36
- package/dist/utils/temp-write.d.ts +13 -0
- package/dist/utils/temp-write.js +50 -0
- package/dist/utils/temp-write.js.map +1 -0
- package/dist/utils/types.d.ts +131 -129
- package/dist/utils/types.js +138 -138
- package/dist/utils/warn-if-hanging.d.ts +1 -1
- package/dist/utils/warn-if-hanging.js +17 -17
- package/dist/utils/write-log-file.d.ts +1 -1
- package/dist/utils/write-log-file.js +32 -32
- package/dist/validation-error.d.ts +4 -4
- package/dist/validation-error.js +18 -18
- package/package.json +14 -10
|
@@ -1,108 +1,132 @@
|
|
|
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.createRunner = exports.runLifecycle = void 0;
|
|
7
|
-
const npmlog_1 = __importDefault(require("npmlog"));
|
|
8
|
-
const
|
|
9
|
-
const npm_conf_1 = require("../utils/npm-conf");
|
|
10
|
-
/**
|
|
11
|
-
* Alias dash-cased npmConf to camelCase
|
|
12
|
-
* @param {LifecycleConfig} obj
|
|
13
|
-
* @returns {LifecycleConfig}
|
|
14
|
-
*/
|
|
15
|
-
function flattenOptions(obj) {
|
|
16
|
-
return {
|
|
17
|
-
ignorePrepublish: obj['ignore-prepublish'],
|
|
18
|
-
ignoreScripts: obj['ignore-scripts'],
|
|
19
|
-
nodeOptions: obj['node-options'],
|
|
20
|
-
scriptShell: obj['script-shell'],
|
|
21
|
-
scriptsPrependNodePath: obj['scripts-prepend-node-path'],
|
|
22
|
-
unsafePerm: obj['unsafe-perm'],
|
|
23
|
-
...obj,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
//
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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.createRunner = exports.runLifecycle = void 0;
|
|
7
|
+
const npmlog_1 = __importDefault(require("npmlog"));
|
|
8
|
+
const run_script_1 = __importDefault(require("@npmcli/run-script"));
|
|
9
|
+
const npm_conf_1 = require("../utils/npm-conf");
|
|
10
|
+
/**
|
|
11
|
+
* Alias dash-cased npmConf to camelCase
|
|
12
|
+
* @param {LifecycleConfig} obj
|
|
13
|
+
* @returns {LifecycleConfig}
|
|
14
|
+
*/
|
|
15
|
+
function flattenOptions(obj) {
|
|
16
|
+
return {
|
|
17
|
+
ignorePrepublish: obj['ignore-prepublish'],
|
|
18
|
+
ignoreScripts: obj['ignore-scripts'],
|
|
19
|
+
nodeOptions: obj['node-options'],
|
|
20
|
+
scriptShell: obj['script-shell'],
|
|
21
|
+
scriptsPrependNodePath: obj['scripts-prepend-node-path'],
|
|
22
|
+
// unsafePerm: obj['unsafe-perm'],
|
|
23
|
+
...obj,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Adapted from https://github.com/npm/run-script/blob/bb5156063ea3a7e167a6d5435847d9389146ec89/lib/run-script-pkg.js#L9
|
|
28
|
+
* Modified to add back "path" and make it behave more like "npm-lifecycle"
|
|
29
|
+
*/
|
|
30
|
+
function printCommandBanner(id, event, cmd, path) {
|
|
31
|
+
// eslint-disable-next-line no-console
|
|
32
|
+
return console.log(`\n> ${id ? `${id} ` : ''}${event} ${path}\n> ${cmd.trim().replace(/\n/g, '\n> ')}\n`);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Run a lifecycle script for a package.
|
|
36
|
+
* @param {import('@lerna/package').Package} pkg
|
|
37
|
+
* @param {string} stage
|
|
38
|
+
* @param {LifecycleConfig} options
|
|
39
|
+
*/
|
|
40
|
+
function runLifecycle(pkg, stage, options) {
|
|
41
|
+
// back-compat for @lerna/npm-conf instances
|
|
42
|
+
// https://github.com/isaacs/proto-list/blob/27764cd/proto-list.js#L14
|
|
43
|
+
if ('root' in options) {
|
|
44
|
+
// eslint-disable-next-line no-param-reassign
|
|
45
|
+
options = options.snapshot;
|
|
46
|
+
}
|
|
47
|
+
const opts = {
|
|
48
|
+
log: npmlog_1.default,
|
|
49
|
+
unsafePerm: true,
|
|
50
|
+
...flattenOptions(options),
|
|
51
|
+
};
|
|
52
|
+
const dir = pkg.location;
|
|
53
|
+
const id = `${pkg.name}@${pkg.version}`;
|
|
54
|
+
const config = {};
|
|
55
|
+
if (opts.ignoreScripts) {
|
|
56
|
+
opts.log.verbose('lifecycle', '%j ignored in %j', stage, pkg.name);
|
|
57
|
+
return Promise.resolve();
|
|
58
|
+
}
|
|
59
|
+
if (!pkg.scripts || !pkg.scripts[stage]) {
|
|
60
|
+
opts.log.silly('lifecycle', 'No script for %j in %j, continuing', stage, pkg.name);
|
|
61
|
+
return Promise.resolve();
|
|
62
|
+
}
|
|
63
|
+
if (stage === 'prepublish' && opts.ignorePrepublish) {
|
|
64
|
+
opts.log.verbose('lifecycle', '%j ignored in %j', stage, pkg.name);
|
|
65
|
+
return Promise.resolve();
|
|
66
|
+
}
|
|
67
|
+
// https://github.com/zkat/figgy-pudding/blob/7d68bd3/index.js#L42-L64
|
|
68
|
+
for (const [key, val] of Object.entries(opts)) {
|
|
69
|
+
// omit falsy values and circular objects
|
|
70
|
+
if (val !== null && key !== 'log' && key !== 'logstream') {
|
|
71
|
+
config[key] = val;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/* istanbul ignore else */
|
|
75
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
76
|
+
if (pkg.__isLernaPackage) {
|
|
77
|
+
// To ensure npm-lifecycle creates the correct npm_package_* env vars,
|
|
78
|
+
// we must pass the _actual_ JSON instead of our fancy Package thingy
|
|
79
|
+
// eslint-disable-next-line no-param-reassign
|
|
80
|
+
pkg = pkg.toJSON();
|
|
81
|
+
}
|
|
82
|
+
// _id is needed by @npmcli/run-script
|
|
83
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
84
|
+
pkg._id = id;
|
|
85
|
+
opts.log.silly('lifecycle', '%j starting in %j', stage, pkg.name);
|
|
86
|
+
// info log here to reproduce previous behavior when this was powered by "npm-lifecycle"
|
|
87
|
+
opts.log.info('lifecycle', `${id}~${stage}: ${id}`);
|
|
88
|
+
/**
|
|
89
|
+
* In order to match the previous behavior of 'npm-lifecycle', we have to disable the writing
|
|
90
|
+
* to the parent process and print the command banner ourself.
|
|
91
|
+
*/
|
|
92
|
+
const stdio = 'pipe';
|
|
93
|
+
if (npmlog_1.default.level !== 'silent') {
|
|
94
|
+
printCommandBanner(id, stage, pkg.scripts[stage], dir);
|
|
95
|
+
}
|
|
96
|
+
return (0, run_script_1.default)({
|
|
97
|
+
event: stage,
|
|
98
|
+
path: dir,
|
|
99
|
+
pkg,
|
|
100
|
+
args: [],
|
|
101
|
+
stdio,
|
|
102
|
+
banner: false,
|
|
103
|
+
scriptShell: config.scriptShell,
|
|
104
|
+
}).then(({ stdout }) => {
|
|
105
|
+
/**
|
|
106
|
+
* This adjustment is based on trying to match the existing integration test outputs when migrating
|
|
107
|
+
* from 'npm-lifecycle' to '@npmcli/run-script'.
|
|
108
|
+
*/
|
|
109
|
+
// eslint-disable-next-line no-console
|
|
110
|
+
console.log(stdout.toString().trimEnd());
|
|
111
|
+
opts.log.silly('lifecycle', '%j finished in %j', stage, pkg.name);
|
|
112
|
+
}, (err) => {
|
|
113
|
+
// propagate the exit code
|
|
114
|
+
const exitCode = err.code || 1;
|
|
115
|
+
// error logging has already occurred on stderr, but we need to stop the chain
|
|
116
|
+
npmlog_1.default.error('lifecycle', '%j errored in %j, exiting %d', stage, pkg.name, exitCode);
|
|
117
|
+
// ensure clean logging, avoiding spurious log dump
|
|
118
|
+
err.name = 'ValidationError';
|
|
119
|
+
// our yargs.fail() handler expects a numeric .exitCode, not .errno
|
|
120
|
+
err.exitCode = exitCode;
|
|
121
|
+
process.exitCode = exitCode;
|
|
122
|
+
// stop the chain
|
|
123
|
+
throw err;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
exports.runLifecycle = runLifecycle;
|
|
127
|
+
function createRunner(commandOptions) {
|
|
128
|
+
const cfg = (0, npm_conf_1.npmConf)(commandOptions).snapshot;
|
|
129
|
+
return (pkg, stage) => runLifecycle(pkg, stage, cfg);
|
|
130
|
+
}
|
|
131
|
+
exports.createRunner = createRunner;
|
|
108
132
|
//# sourceMappingURL=run-lifecycle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-lifecycle.js","sourceRoot":"","sources":["../../src/utils/run-lifecycle.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"run-lifecycle.js","sourceRoot":"","sources":["../../src/utils/run-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { TopologicalConfig } from '../models';
|
|
2
|
-
import { Package } from '../package';
|
|
3
|
-
/**
|
|
4
|
-
* Run callback in maximally-saturated topological order.
|
|
5
|
-
*
|
|
6
|
-
* @template T
|
|
7
|
-
* @param {import("@lerna/package").Package[]} packages List of `Package` instances
|
|
8
|
-
* @param {(pkg: import("@lerna/package").Package) => Promise<T>} runner Callback to map each `Package` with
|
|
9
|
-
* @param {TopologicalConfig} [options]
|
|
10
|
-
* @returns {Promise<T[]>} when all executions complete
|
|
11
|
-
*/
|
|
12
|
-
export declare function runTopologically<T = any>(packages: Package[], runner: (pkg: Package) => Promise<T>, { concurrency, graphType, rejectCycles }?: TopologicalConfig): Promise<unknown>;
|
|
1
|
+
import { TopologicalConfig } from '../models';
|
|
2
|
+
import { Package } from '../package';
|
|
3
|
+
/**
|
|
4
|
+
* Run callback in maximally-saturated topological order.
|
|
5
|
+
*
|
|
6
|
+
* @template T
|
|
7
|
+
* @param {import("@lerna/package").Package[]} packages List of `Package` instances
|
|
8
|
+
* @param {(pkg: import("@lerna/package").Package) => Promise<T>} runner Callback to map each `Package` with
|
|
9
|
+
* @param {TopologicalConfig} [options]
|
|
10
|
+
* @returns {Promise<T[]>} when all executions complete
|
|
11
|
+
*/
|
|
12
|
+
export declare function runTopologically<T = any>(packages: Package[], runner: (pkg: Package) => Promise<T>, { concurrency, graphType, rejectCycles }?: TopologicalConfig): Promise<unknown>;
|
|
@@ -1,37 +1,37 @@
|
|
|
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.runTopologically = void 0;
|
|
7
|
-
const p_queue_1 = __importDefault(require("p-queue"));
|
|
8
|
-
const query_graph_1 = require("./query-graph");
|
|
9
|
-
/**
|
|
10
|
-
* Run callback in maximally-saturated topological order.
|
|
11
|
-
*
|
|
12
|
-
* @template T
|
|
13
|
-
* @param {import("@lerna/package").Package[]} packages List of `Package` instances
|
|
14
|
-
* @param {(pkg: import("@lerna/package").Package) => Promise<T>} runner Callback to map each `Package` with
|
|
15
|
-
* @param {TopologicalConfig} [options]
|
|
16
|
-
* @returns {Promise<T[]>} when all executions complete
|
|
17
|
-
*/
|
|
18
|
-
function runTopologically(packages, runner, { concurrency, graphType, rejectCycles } = {}) {
|
|
19
|
-
const queue = new p_queue_1.default({ concurrency });
|
|
20
|
-
const graph = new query_graph_1.QueryGraph(packages, { graphType, rejectCycles });
|
|
21
|
-
return new Promise((resolve, reject) => {
|
|
22
|
-
const returnValues = [];
|
|
23
|
-
const queueNextAvailablePackages = () => graph.getAvailablePackages().forEach(({ pkg, name }) => {
|
|
24
|
-
graph.markAsTaken(name);
|
|
25
|
-
queue
|
|
26
|
-
.add(() => runner(pkg)
|
|
27
|
-
.then((value) => returnValues.push(value))
|
|
28
|
-
.then(() => graph.markAsDone(pkg))
|
|
29
|
-
.then(() => queueNextAvailablePackages()))
|
|
30
|
-
.catch(reject);
|
|
31
|
-
});
|
|
32
|
-
queueNextAvailablePackages();
|
|
33
|
-
return queue.onIdle().then(() => resolve(returnValues));
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
exports.runTopologically = runTopologically;
|
|
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.runTopologically = void 0;
|
|
7
|
+
const p_queue_1 = __importDefault(require("p-queue"));
|
|
8
|
+
const query_graph_1 = require("./query-graph");
|
|
9
|
+
/**
|
|
10
|
+
* Run callback in maximally-saturated topological order.
|
|
11
|
+
*
|
|
12
|
+
* @template T
|
|
13
|
+
* @param {import("@lerna/package").Package[]} packages List of `Package` instances
|
|
14
|
+
* @param {(pkg: import("@lerna/package").Package) => Promise<T>} runner Callback to map each `Package` with
|
|
15
|
+
* @param {TopologicalConfig} [options]
|
|
16
|
+
* @returns {Promise<T[]>} when all executions complete
|
|
17
|
+
*/
|
|
18
|
+
function runTopologically(packages, runner, { concurrency, graphType, rejectCycles } = {}) {
|
|
19
|
+
const queue = new p_queue_1.default({ concurrency });
|
|
20
|
+
const graph = new query_graph_1.QueryGraph(packages, { graphType, rejectCycles });
|
|
21
|
+
return new Promise((resolve, reject) => {
|
|
22
|
+
const returnValues = [];
|
|
23
|
+
const queueNextAvailablePackages = () => graph.getAvailablePackages().forEach(({ pkg, name }) => {
|
|
24
|
+
graph.markAsTaken(name);
|
|
25
|
+
queue
|
|
26
|
+
.add(() => runner(pkg)
|
|
27
|
+
.then((value) => returnValues.push(value))
|
|
28
|
+
.then(() => graph.markAsDone(pkg))
|
|
29
|
+
.then(() => queueNextAvailablePackages()))
|
|
30
|
+
.catch(reject);
|
|
31
|
+
});
|
|
32
|
+
queueNextAvailablePackages();
|
|
33
|
+
return queue.onIdle().then(() => resolve(returnValues));
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
exports.runTopologically = runTopologically;
|
|
37
37
|
//# sourceMappingURL=run-topologically.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* All credit to https://github.com/sindresorhus/temp-write/blob/199851974c8af0618e2f1a77023384823f2ae948/index.js
|
|
3
|
+
*
|
|
4
|
+
* Embedded here into lerna directly because we cannot yet migrate to ESM only, and we needed to bump outdated deps.
|
|
5
|
+
*/
|
|
6
|
+
/// <reference types="node" />
|
|
7
|
+
/// <reference types="node" />
|
|
8
|
+
import fs from 'graceful-fs';
|
|
9
|
+
import { Readable } from 'stream';
|
|
10
|
+
export declare function tempWrite(fileContent: Readable | fs.PathOrFileDescriptor, filePath?: string): Promise<string>;
|
|
11
|
+
export declare namespace tempWrite {
|
|
12
|
+
var sync: (fileContent: string | (DataView & Readable), filePath?: string | undefined) => string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* All credit to https://github.com/sindresorhus/temp-write/blob/199851974c8af0618e2f1a77023384823f2ae948/index.js
|
|
4
|
+
*
|
|
5
|
+
* Embedded here into lerna directly because we cannot yet migrate to ESM only, and we needed to bump outdated deps.
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.tempWrite = void 0;
|
|
12
|
+
const graceful_fs_1 = __importDefault(require("graceful-fs"));
|
|
13
|
+
const is_stream_1 = __importDefault(require("is-stream"));
|
|
14
|
+
const make_dir_1 = __importDefault(require("make-dir"));
|
|
15
|
+
const path_1 = __importDefault(require("path"));
|
|
16
|
+
const temp_dir_1 = __importDefault(require("temp-dir"));
|
|
17
|
+
const util_1 = require("util");
|
|
18
|
+
const uuid_1 = require("uuid");
|
|
19
|
+
const writeFileP = (0, util_1.promisify)(graceful_fs_1.default.writeFile);
|
|
20
|
+
const tempfile = (filePath) => path_1.default.join(temp_dir_1.default, (0, uuid_1.v4)(), filePath || '');
|
|
21
|
+
const writeStream = async (filePath, fileContent) => new Promise((resolve, reject) => {
|
|
22
|
+
const writable = graceful_fs_1.default.createWriteStream(filePath);
|
|
23
|
+
fileContent
|
|
24
|
+
.on('error', (error) => {
|
|
25
|
+
// Be careful to reject before writable.end(), otherwise the writable's
|
|
26
|
+
// 'finish' event will fire first and we will resolve the promise
|
|
27
|
+
// before we reject it.
|
|
28
|
+
reject(error);
|
|
29
|
+
fileContent.unpipe(writable);
|
|
30
|
+
writable.end();
|
|
31
|
+
})
|
|
32
|
+
.pipe(writable)
|
|
33
|
+
.on('error', reject)
|
|
34
|
+
.on('finish', resolve);
|
|
35
|
+
});
|
|
36
|
+
async function tempWrite(fileContent, filePath) {
|
|
37
|
+
const tempPath = tempfile(filePath);
|
|
38
|
+
const write = (0, is_stream_1.default)(fileContent) ? writeStream : writeFileP;
|
|
39
|
+
await (0, make_dir_1.default)(path_1.default.dirname(tempPath));
|
|
40
|
+
await write(tempPath, fileContent);
|
|
41
|
+
return tempPath;
|
|
42
|
+
}
|
|
43
|
+
exports.tempWrite = tempWrite;
|
|
44
|
+
tempWrite.sync = (fileContent, filePath) => {
|
|
45
|
+
const tempPath = tempfile(filePath);
|
|
46
|
+
make_dir_1.default.sync(path_1.default.dirname(tempPath));
|
|
47
|
+
graceful_fs_1.default.writeFileSync(tempPath, fileContent);
|
|
48
|
+
return tempPath;
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=temp-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temp-write.js","sourceRoot":"","sources":["../../src/utils/temp-write.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,8DAA6B;AAC7B,0DAAiC;AACjC,wDAA+B;AAC/B,gDAAwB;AAExB,wDAA+B;AAC/B,+BAAiC;AACjC,+BAAoC;AAEpC,MAAM,UAAU,GAAG,IAAA,gBAAS,EAAC,qBAAE,CAAC,SAAS,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,CAAC,QAAiB,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,kBAAO,EAAE,IAAA,SAAM,GAAE,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;AAErF,MAAM,WAAW,GAAG,KAAK,EAAE,QAAgB,EAAE,WAAqB,EAAE,EAAE,CACpE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,QAAQ,GAAG,qBAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEhD,WAAW;SACR,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACrB,uEAAuE;QACvE,iEAAiE;QACjE,uBAAuB;QACvB,MAAM,CAAC,KAAK,CAAC,CAAC;QACd,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,QAAQ,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC,CAAC;SACD,IAAI,CAAC,QAAQ,CAAC;SACd,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;SACnB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEE,KAAK,UAAU,SAAS,CAAC,WAAgD,EAAE,QAAiB;IACjG,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAE/D,MAAM,IAAA,kBAAO,EAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtC,MAAM,KAAK,CAAC,QAAQ,EAAE,WAAkC,CAAC,CAAC;IAE1D,OAAO,QAAQ,CAAC;AAClB,CAAC;AARD,8BAQC;AAED,SAAS,CAAC,IAAI,GAAG,CAAC,WAAyC,EAAE,QAAiB,EAAE,EAAE;IAChF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEpC,kBAAO,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,qBAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAExC,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
|