@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.
Files changed (140) hide show
  1. package/README.md +13 -12
  2. package/dist/child-process.d.ts +62 -62
  3. package/dist/child-process.js +165 -165
  4. package/dist/command.d.ts +37 -35
  5. package/dist/command.js +266 -266
  6. package/dist/command.js.map +1 -1
  7. package/dist/conventional-commits/constants.d.ts +4 -4
  8. package/dist/conventional-commits/constants.js +12 -12
  9. package/dist/conventional-commits/get-changelog-config.d.ts +12 -12
  10. package/dist/conventional-commits/get-changelog-config.js +98 -98
  11. package/dist/conventional-commits/index.d.ts +6 -6
  12. package/dist/conventional-commits/index.js +22 -22
  13. package/dist/conventional-commits/make-bump-only-filter.d.ts +6 -6
  14. package/dist/conventional-commits/make-bump-only-filter.js +22 -22
  15. package/dist/conventional-commits/read-existing-changelog.d.ts +7 -7
  16. package/dist/conventional-commits/read-existing-changelog.js +32 -32
  17. package/dist/conventional-commits/recommend-version.d.ts +11 -11
  18. package/dist/conventional-commits/recommend-version.js +86 -86
  19. package/dist/conventional-commits/update-changelog.d.ts +11 -11
  20. package/dist/conventional-commits/update-changelog.js +83 -83
  21. package/dist/git-clients/GitLabClient.d.ts +8 -8
  22. package/dist/git-clients/GitLabClient.js +39 -39
  23. package/dist/git-clients/github-client.d.ts +6 -6
  24. package/dist/git-clients/github-client.js +40 -40
  25. package/dist/git-clients/gitlab-client.d.ts +6 -6
  26. package/dist/git-clients/gitlab-client.js +21 -21
  27. package/dist/git-clients/index.d.ts +2 -2
  28. package/dist/git-clients/index.js +18 -18
  29. package/dist/index.d.ts +12 -12
  30. package/dist/index.js +30 -30
  31. package/dist/models/command-options.d.ts +206 -0
  32. package/dist/models/command-options.js +3 -0
  33. package/dist/models/command-options.js.map +1 -0
  34. package/dist/models/index.d.ts +2 -186
  35. package/dist/models/index.js +18 -2
  36. package/dist/models/index.js.map +1 -1
  37. package/dist/models/interfaces.d.ts +201 -0
  38. package/dist/models/interfaces.js +3 -0
  39. package/dist/models/interfaces.js.map +1 -0
  40. package/dist/otplease.d.ts +14 -14
  41. package/dist/otplease.js +108 -108
  42. package/dist/package-graph/index.d.ts +2 -2
  43. package/dist/package-graph/index.js +18 -18
  44. package/dist/package-graph/lib/cyclic-package-graph-node.d.ts +42 -42
  45. package/dist/package-graph/lib/cyclic-package-graph-node.js +97 -97
  46. package/dist/package-graph/lib/index.d.ts +3 -3
  47. package/dist/package-graph/lib/index.js +19 -19
  48. package/dist/package-graph/lib/package-graph-node.d.ts +33 -33
  49. package/dist/package-graph/lib/package-graph-node.js +58 -58
  50. package/dist/package-graph/lib/report-cycles.d.ts +1 -1
  51. package/dist/package-graph/lib/report-cycles.js +19 -19
  52. package/dist/package-graph/package-graph.d.ts +79 -79
  53. package/dist/package-graph/package-graph.js +276 -276
  54. package/dist/package.d.ts +91 -85
  55. package/dist/package.js +282 -276
  56. package/dist/package.js.map +1 -1
  57. package/dist/project/index.d.ts +2 -2
  58. package/dist/project/index.js +18 -18
  59. package/dist/project/lib/apply-extends.d.ts +10 -10
  60. package/dist/project/lib/apply-extends.js +37 -37
  61. package/dist/project/lib/index.d.ts +3 -3
  62. package/dist/project/lib/index.js +19 -19
  63. package/dist/project/lib/make-file-finder.d.ts +3 -3
  64. package/dist/project/lib/make-file-finder.js +71 -71
  65. package/dist/project/lib/shallow-extend.d.ts +11 -11
  66. package/dist/project/lib/shallow-extend.js +24 -24
  67. package/dist/project/project.d.ts +45 -45
  68. package/dist/project/project.js +195 -195
  69. package/dist/prompt.d.ts +23 -23
  70. package/dist/prompt.js +75 -75
  71. package/dist/utils/check-working-tree.d.ts +8 -8
  72. package/dist/utils/check-working-tree.js +41 -41
  73. package/dist/utils/clean-stack.d.ts +5 -5
  74. package/dist/utils/clean-stack.js +18 -18
  75. package/dist/utils/collect-uncommitted.d.ts +18 -18
  76. package/dist/utils/collect-uncommitted.js +40 -40
  77. package/dist/utils/collect-updates/collect-updates.d.ts +11 -11
  78. package/dist/utils/collect-updates/collect-updates.js +82 -82
  79. package/dist/utils/collect-updates/index.d.ts +2 -2
  80. package/dist/utils/collect-updates/index.js +18 -18
  81. package/dist/utils/collect-updates/lib/collect-dependents.d.ts +11 -11
  82. package/dist/utils/collect-updates/lib/collect-dependents.js +45 -45
  83. package/dist/utils/collect-updates/lib/collect-packages.d.ts +13 -13
  84. package/dist/utils/collect-updates/lib/collect-packages.js +33 -33
  85. package/dist/utils/collect-updates/lib/get-packages-for-option.d.ts +5 -5
  86. package/dist/utils/collect-updates/lib/get-packages-for-option.js +30 -30
  87. package/dist/utils/collect-updates/lib/has-tags.d.ts +5 -5
  88. package/dist/utils/collect-updates/lib/has-tags.js +26 -26
  89. package/dist/utils/collect-updates/lib/index.d.ts +5 -5
  90. package/dist/utils/collect-updates/lib/index.js +21 -21
  91. package/dist/utils/collect-updates/lib/make-diff-predicate.d.ts +7 -7
  92. package/dist/utils/collect-updates/lib/make-diff-predicate.js +64 -64
  93. package/dist/utils/conf.d.ts +25 -25
  94. package/dist/utils/conf.js +255 -255
  95. package/dist/utils/defaults.d.ts +1 -1
  96. package/dist/utils/defaults.js +182 -182
  97. package/dist/utils/defaults.js.map +1 -1
  98. package/dist/utils/describe-ref.d.ts +37 -37
  99. package/dist/utils/describe-ref.js +80 -80
  100. package/dist/utils/env-replace.d.ts +1 -1
  101. package/dist/utils/env-replace.js +22 -22
  102. package/dist/utils/find-prefix.d.ts +2 -2
  103. package/dist/utils/find-prefix.js +48 -48
  104. package/dist/utils/index.d.ts +23 -22
  105. package/dist/utils/index.js +39 -38
  106. package/dist/utils/index.js.map +1 -1
  107. package/dist/utils/log-package-error.d.ts +5 -5
  108. package/dist/utils/log-package-error.js +35 -35
  109. package/dist/utils/nerf-dart.d.ts +1 -1
  110. package/dist/utils/nerf-dart.js +18 -18
  111. package/dist/utils/npm-conf.d.ts +4 -4
  112. package/dist/utils/npm-conf.js +55 -55
  113. package/dist/utils/output.d.ts +1 -1
  114. package/dist/utils/output.js +13 -13
  115. package/dist/utils/parse-field.d.ts +1 -1
  116. package/dist/utils/parse-field.js +65 -65
  117. package/dist/utils/prerelease-id-from-version.d.ts +5 -5
  118. package/dist/utils/prerelease-id-from-version.js +15 -15
  119. package/dist/utils/pulse-till-done.d.ts +1 -1
  120. package/dist/utils/pulse-till-done.js +40 -40
  121. package/dist/utils/query-graph.d.ts +36 -36
  122. package/dist/utils/query-graph.js +77 -77
  123. package/dist/utils/query-graph.js.map +1 -1
  124. package/dist/utils/run-lifecycle.d.ts +10 -10
  125. package/dist/utils/run-lifecycle.js +131 -107
  126. package/dist/utils/run-lifecycle.js.map +1 -1
  127. package/dist/utils/run-topologically.d.ts +12 -12
  128. package/dist/utils/run-topologically.js +36 -36
  129. package/dist/utils/temp-write.d.ts +13 -0
  130. package/dist/utils/temp-write.js +50 -0
  131. package/dist/utils/temp-write.js.map +1 -0
  132. package/dist/utils/types.d.ts +131 -129
  133. package/dist/utils/types.js +138 -138
  134. package/dist/utils/warn-if-hanging.d.ts +1 -1
  135. package/dist/utils/warn-if-hanging.js +17 -17
  136. package/dist/utils/write-log-file.d.ts +1 -1
  137. package/dist/utils/write-log-file.js +32 -32
  138. package/dist/validation-error.d.ts +4 -4
  139. package/dist/validation-error.js +18 -18
  140. 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 npm_lifecycle_1 = __importDefault(require("npm-lifecycle"));
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
- * Run a lifecycle script for a package.
28
- * @param {import('@lerna/package').Package} pkg
29
- * @param {string} stage
30
- * @param {LifecycleConfig} options
31
- */
32
- function runLifecycle(pkg, stage, options) {
33
- // back-compat for @lerna/npm-conf instances
34
- // https://github.com/isaacs/proto-list/blob/27764cd/proto-list.js#L14
35
- if ('root' in options) {
36
- // eslint-disable-next-line no-param-reassign
37
- options = options.snapshot;
38
- }
39
- const opts = {
40
- log: npmlog_1.default,
41
- unsafePerm: true,
42
- ...flattenOptions(options),
43
- };
44
- const dir = pkg.location;
45
- const config = {};
46
- if (opts.ignoreScripts) {
47
- opts.log.verbose('lifecycle', '%j ignored in %j', stage, pkg.name);
48
- return Promise.resolve();
49
- }
50
- if (!pkg.scripts || !pkg.scripts[stage]) {
51
- opts.log.silly('lifecycle', 'No script for %j in %j, continuing', stage, pkg.name);
52
- return Promise.resolve();
53
- }
54
- if (stage === 'prepublish' && opts.ignorePrepublish) {
55
- opts.log.verbose('lifecycle', '%j ignored in %j', stage, pkg.name);
56
- return Promise.resolve();
57
- }
58
- // https://github.com/zkat/figgy-pudding/blob/7d68bd3/index.js#L42-L64
59
- for (const [key, val] of Object.entries(opts)) {
60
- // omit falsy values and circular objects
61
- if (val !== null && key !== 'log' && key !== 'logstream') {
62
- config[key] = val;
63
- }
64
- }
65
- /* istanbul ignore else */
66
- // eslint-disable-next-line no-underscore-dangle
67
- if (pkg.__isLernaPackage) {
68
- // To ensure npm-lifecycle creates the correct npm_package_* env vars,
69
- // we must pass the _actual_ JSON instead of our fancy Package thingy
70
- // eslint-disable-next-line no-param-reassign
71
- pkg = pkg.toJSON();
72
- }
73
- // TODO: remove pkg._id when npm-lifecycle no longer relies on it
74
- pkg._id = `${pkg.name}@${pkg.version}`; // eslint-disable-line
75
- opts.log.silly('lifecycle', '%j starting in %j', stage, pkg.name);
76
- return (0, npm_lifecycle_1.default)(pkg, stage, dir, {
77
- config,
78
- dir,
79
- failOk: false,
80
- log: opts.log,
81
- // bring along camelCased aliases
82
- nodeOptions: opts.nodeOptions,
83
- scriptShell: opts.scriptShell,
84
- scriptsPrependNodePath: opts.scriptsPrependNodePath,
85
- unsafePerm: opts.unsafePerm,
86
- }).then(() => {
87
- opts.log.silly('lifecycle', '%j finished in %j', stage, pkg.name);
88
- }, (err) => {
89
- // propagate the exit code
90
- const exitCode = err.errno || 1;
91
- // error logging has already occurred on stderr, but we need to stop the chain
92
- npmlog_1.default.error('lifecycle', '%j errored in %j, exiting %d', stage, pkg.name, exitCode);
93
- // ensure clean logging, avoiding spurious log dump
94
- err.name = 'ValidationError';
95
- // our yargs.fail() handler expects a numeric .exitCode, not .errno
96
- err.exitCode = exitCode;
97
- process.exitCode = exitCode;
98
- // stop the chain
99
- throw err;
100
- });
101
- }
102
- exports.runLifecycle = runLifecycle;
103
- function createRunner(commandOptions) {
104
- const cfg = (0, npm_conf_1.npmConf)(commandOptions).snapshot;
105
- return (pkg, stage) => runLifecycle(pkg, stage, cfg);
106
- }
107
- exports.createRunner = createRunner;
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":"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"}
1
+ {"version":3,"file":"run-lifecycle.js","sourceRoot":"","sources":["../../src/utils/run-lifecycle.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAyB;AACzB,oEAA2C;AAE3C,gDAA4C;AAI5C;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAoB;IAC1C,OAAO;QACL,gBAAgB,EAAE,GAAG,CAAC,mBAAmB,CAAC;QAC1C,aAAa,EAAE,GAAG,CAAC,gBAAgB,CAAC;QACpC,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC;QAChC,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC;QAChC,sBAAsB,EAAE,GAAG,CAAC,2BAA2B,CAAC;QACxD,kCAAkC;QAClC,GAAG,GAAG;KACP,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,EAAU,EAAE,KAAa,EAAE,GAAW,EAAE,IAAY;IAC9E,sCAAsC;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC5G,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,GAAY,EAAE,KAAa,EAAE,OAAwB;IAChF,4CAA4C;IAC5C,sEAAsE;IACtE,IAAI,MAAM,IAAI,OAAO,EAAE;QACrB,6CAA6C;QAC7C,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;KAC5B;IAED,MAAM,IAAI,GAAG;QACX,GAAG,EAAH,gBAAG;QACH,UAAU,EAAE,IAAI;QAChB,GAAG,cAAc,CAAC,OAAO,CAAC;KAC3B,CAAC;IACF,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;IACzB,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;IACxC,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,IAAI,IAAI,CAAC,aAAa,EAAE;QACtB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;IAED,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,oCAAoC,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;IAED,IAAI,KAAK,KAAK,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE;QACnD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;IAED,sEAAsE;IACtE,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC7C,yCAAyC;QACzC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,WAAW,EAAE;YACxD,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SACnB;KACF;IAED,0BAA0B;IAC1B,gDAAgD;IAChD,IAAI,GAAG,CAAC,gBAAgB,EAAE;QACxB,sEAAsE;QACtE,qEAAqE;QACrE,6CAA6C;QAC7C,GAAG,GAAG,GAAG,CAAC,MAAM,EAAa,CAAC;KAC/B;IAED,sCAAsC;IACtC,gDAAgD;IAChD,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;IAEb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAElE,wFAAwF;IACxF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC,CAAC;IAEpD;;;OAGG;IACH,MAAM,KAAK,GAAG,MAAM,CAAC;IACrB,IAAI,gBAAG,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC1B,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;KACxD;IAED,OAAO,IAAA,oBAAS,EAAC;QACf,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,GAAG;QACT,GAAG;QACH,IAAI,EAAE,EAAE;QACR,KAAK;QACL,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC,IAAI,CACL,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACb;;;WAGG;QACH,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;QACN,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QAE/B,8EAA8E;QAC9E,gBAAG,CAAC,KAAK,CAAC,WAAW,EAAE,8BAA8B,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClF,mDAAmD;QACnD,GAAG,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC7B,mEAAmE;QACnE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC5B,iBAAiB;QACjB,MAAM,GAAG,CAAC;IACZ,CAAC,CACF,CAAC;AACJ,CAAC;AAxGD,oCAwGC;AAED,SAAgB,YAAY,CAAC,cAAmB;IAC9C,MAAM,GAAG,GAAI,IAAA,kBAAO,EAAC,cAAc,CAAS,CAAC,QAAQ,CAAC;IAEtD,OAAO,CAAC,GAAY,EAAE,KAAa,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AACxE,CAAC;AAJD,oCAIC"}
@@ -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"}