@backstage/cli 0.34.6-next.0 → 0.34.6-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @backstage/cli
2
2
 
3
+ ## 0.34.6-next.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 7fbac5c: Updated to use new utilities from `@backstage/cli-common`.
8
+ - Updated dependencies
9
+ - @backstage/cli-node@0.2.16-next.1
10
+ - @backstage/cli-common@0.1.16-next.1
11
+
3
12
  ## 0.34.6-next.0
4
13
 
5
14
  ### Patch Changes
@@ -7,15 +7,6 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
7
7
 
8
8
  var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
9
9
 
10
- class ExitCodeError extends errors.CustomErrorBase {
11
- code;
12
- constructor(code, command) {
13
- super(
14
- command ? `Command '${command}' exited with code ${code}` : `Child exited with code ${code}`
15
- );
16
- this.code = code;
17
- }
18
- }
19
10
  function exit(message, code = 1) {
20
11
  process.stderr.write(`
21
12
  ${chalk__default.default.red(message)}
@@ -67,6 +58,5 @@ ${chalk__default.default.red(errors.stringifyError(error))}
67
58
  }
68
59
  }
69
60
 
70
- exports.ExitCodeError = ExitCodeError;
71
61
  exports.exitWithError = exitWithError;
72
62
  //# sourceMappingURL=errors.cjs.js.map
@@ -3,7 +3,7 @@
3
3
  var minimatch = require('minimatch');
4
4
  var getPackages = require('@manypkg/get-packages');
5
5
  var yarn = require('./yarn.cjs.js');
6
- var run = require('../run.cjs.js');
6
+ var cliCommon = require('@backstage/cli-common');
7
7
  var errors = require('@backstage/errors');
8
8
 
9
9
  const DEP_TYPES = [
@@ -16,11 +16,7 @@ async function fetchPackageInfo(name) {
16
16
  const yarnVersion = await yarn.detectYarnVersion();
17
17
  const cmd = yarnVersion === "classic" ? ["info"] : ["npm", "info"];
18
18
  try {
19
- const { stdout: output } = await run.execFile(
20
- "yarn",
21
- [...cmd, "--json", name],
22
- { shell: true }
23
- );
19
+ const output = await cliCommon.runOutput(["yarn", ...cmd, "--json", name]);
24
20
  if (!output) {
25
21
  throw new errors.NotFoundError(
26
22
  `No package information found for package ${name}`
@@ -38,7 +34,7 @@ async function fetchPackageInfo(name) {
38
34
  if (yarnVersion === "classic") {
39
35
  throw error;
40
36
  }
41
- if (error?.stdout.includes("Response Code: 404")) {
37
+ if (error instanceof Error && "stdout" in error && typeof error.stdout === "string" && error.stdout.includes("Response Code: 404")) {
42
38
  throw new errors.NotFoundError(
43
39
  `No package information found for package ${name}`
44
40
  );
@@ -1,10 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var errors = require('@backstage/errors');
4
- var child_process = require('child_process');
5
- var util = require('util');
4
+ var cliCommon = require('@backstage/cli-common');
6
5
 
7
- const execFile = util.promisify(child_process.execFile);
8
6
  const versions = /* @__PURE__ */ new Map();
9
7
  function detectYarnVersion(dir) {
10
8
  const cwd = process.cwd();
@@ -13,16 +11,12 @@ function detectYarnVersion(dir) {
13
11
  }
14
12
  const promise = Promise.resolve().then(async () => {
15
13
  try {
16
- const { stdout } = await execFile("yarn", ["--version"], {
17
- shell: true,
14
+ const stdout = await cliCommon.runOutput(["yarn", "--version"], {
18
15
  cwd
19
16
  });
20
17
  return stdout.trim().startsWith("1.") ? "classic" : "berry";
21
18
  } catch (error) {
22
19
  errors.assertError(error);
23
- if ("stderr" in error) {
24
- process.stderr.write(error.stderr);
25
- }
26
20
  throw new errors.ForwardedError("Failed to determine yarn version", error);
27
21
  }
28
22
  });
@@ -13,7 +13,7 @@ require('react-dev-utils/ModuleScopePlugin');
13
13
  require('@module-federation/enhanced/rspack');
14
14
  var paths = require('../../../../../lib/paths.cjs.js');
15
15
  require('lodash/pickBy');
16
- require('../../../../../lib/run.cjs.js');
16
+ require('@backstage/cli-common');
17
17
  require('../../../../../lib/version.cjs.js');
18
18
  var hasReactDomClient = require('../../../lib/bundler/hasReactDomClient.cjs.js');
19
19
  require('@manypkg/get-packages');
@@ -16,7 +16,7 @@ require('html-webpack-plugin');
16
16
  require('react-dev-utils/ModuleScopePlugin');
17
17
  require('@module-federation/enhanced/rspack');
18
18
  require('lodash/pickBy');
19
- require('../../../lib/run.cjs.js');
19
+ require('@backstage/cli-common');
20
20
  require('../../../lib/version.cjs.js');
21
21
  require('yn');
22
22
  require('@manypkg/get-packages');
@@ -11,7 +11,7 @@ var paths = require('../../../../lib/paths.cjs.js');
11
11
  var fs = require('fs-extra');
12
12
  var optimization = require('./optimization.cjs.js');
13
13
  var pickBy = require('lodash/pickBy');
14
- var run = require('../../../../lib/run.cjs.js');
14
+ var cliCommon = require('@backstage/cli-common');
15
15
  var transforms = require('./transforms.cjs.js');
16
16
  var version = require('../../../../lib/version.cjs.js');
17
17
  var yn = require('yn');
@@ -48,12 +48,12 @@ async function readBuildInfo() {
48
48
  const timestamp = Date.now();
49
49
  let commit;
50
50
  try {
51
- commit = await run.runPlain("git", "rev-parse", "HEAD");
51
+ commit = await cliCommon.runOutput(["git", "rev-parse", "HEAD"]);
52
52
  } catch (error) {
53
53
  }
54
54
  let gitVersion;
55
55
  try {
56
- gitVersion = await run.runPlain("git", "describe", "--always");
56
+ gitVersion = await cliCommon.runOutput(["git", "describe", "--always"]);
57
57
  } catch (error) {
58
58
  }
59
59
  if (commit === void 0 || gitVersion === void 0) {
@@ -7,7 +7,7 @@ var os = require('os');
7
7
  var tar = require('tar');
8
8
  var partition = require('lodash/partition');
9
9
  var paths = require('../../../../lib/paths.cjs.js');
10
- var run = require('../../../../lib/run.cjs.js');
10
+ var cliCommon = require('@backstage/cli-common');
11
11
  var _package = require('../../../../packages/cli/package.json.cjs.js');
12
12
  var packager = require('../builder/packager.cjs.js');
13
13
  var types = require('../builder/types.cjs.js');
@@ -104,11 +104,11 @@ async function createDistWorkspace(packageNames, options = {}) {
104
104
  await parallel.runParallelWorkers({
105
105
  items: customBuild,
106
106
  worker: async ({ name, dir, args }) => {
107
- await run.run("yarn", ["run", "build", ...args || []], {
107
+ await cliCommon.run(["yarn", "run", "build", ...args || []], {
108
108
  cwd: dir,
109
- stdoutLogFunc: prefixLogFunc(`${name}: `, "stdout"),
110
- stderrLogFunc: prefixLogFunc(`${name}: `, "stderr")
111
- });
109
+ onStdout: prefixLogFunc(`${name}: `, "stdout"),
110
+ onStderr: prefixLogFunc(`${name}: `, "stderr")
111
+ }).waitForExit();
112
112
  }
113
113
  });
114
114
  }
@@ -169,9 +169,9 @@ async function moveToDistWorkspace(workspaceDir, localPackages, alwaysPack, enab
169
169
  async function pack(target, archive) {
170
170
  console.log(`Repacking ${target.name} into dist workspace`);
171
171
  const archivePath = path.resolve(workspaceDir, archive);
172
- await run.run("yarn", ["pack", "--filename", archivePath], {
172
+ await cliCommon.run(["yarn", "pack", "--filename", archivePath], {
173
173
  cwd: target.dir
174
- });
174
+ }).waitForExit();
175
175
  const outputDir = path.relative(paths.paths.targetRoot, target.dir);
176
176
  const absoluteOutputPath = path.resolve(workspaceDir, outputDir);
177
177
  await fs__default.default.ensureDir(absoluteOutputPath);
@@ -4,12 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _package = require('../../../packages/cli/package.json.cjs.js');
6
6
  var os = require('os');
7
- var run = require('../../../lib/run.cjs.js');
7
+ var cliCommon = require('@backstage/cli-common');
8
8
  var paths = require('../../../lib/paths.cjs.js');
9
9
  var Lockfile = require('../../../lib/versioning/Lockfile.cjs.js');
10
10
  require('minimatch');
11
11
  require('@manypkg/get-packages');
12
- require('../../../lib/versioning/yarn.cjs.js');
13
12
  require('@backstage/errors');
14
13
  var fs = require('fs-extra');
15
14
 
@@ -20,7 +19,7 @@ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
20
19
 
21
20
  var info = async () => {
22
21
  await new Promise(async () => {
23
- const yarnVersion = await run.runPlain("yarn --version");
22
+ const yarnVersion = await cliCommon.runOutput(["yarn", "--version"]);
24
23
  const isLocal = fs__default.default.existsSync(paths.paths.resolveOwn("./src"));
25
24
  const backstageFile = paths.paths.resolveTargetRoot("backstage.json");
26
25
  let backstageVersion = "N/A";
@@ -1,17 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var child_process = require('child_process');
4
3
  var fs = require('fs-extra');
5
4
  var path = require('path');
6
- var util = require('util');
7
5
  var cliNode = require('@backstage/cli-node');
8
6
  var paths = require('../../../../lib/paths.cjs.js');
7
+ var cliCommon = require('@backstage/cli-common');
9
8
 
10
9
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
10
 
12
11
  var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
13
12
 
14
- const execFile = util.promisify(child_process.execFile);
15
13
  async function command() {
16
14
  const packages = await cliNode.PackageGraph.listTargetPackages();
17
15
  await fs__default.default.remove(paths.paths.resolveTargetRoot("dist"));
@@ -27,12 +25,9 @@ async function command() {
27
25
  await fs__default.default.remove(path.resolve(pkg.dir, "dist-types"));
28
26
  await fs__default.default.remove(path.resolve(pkg.dir, "coverage"));
29
27
  } else if (cleanScript) {
30
- const result = await execFile("yarn", ["run", "clean"], {
31
- cwd: pkg.dir,
32
- shell: true
33
- });
34
- process.stdout.write(result.stdout);
35
- process.stderr.write(result.stderr);
28
+ await cliCommon.run(["yarn", "run", "clean"], {
29
+ cwd: pkg.dir
30
+ }).waitForExit();
36
31
  }
37
32
  }
38
33
  })
@@ -3,7 +3,7 @@
3
3
  var fs = require('fs-extra');
4
4
  var path = require('path');
5
5
  var cliNode = require('@backstage/cli-node');
6
- var run = require('../../../lib/run.cjs.js');
6
+ var cliCommon = require('@backstage/cli-common');
7
7
 
8
8
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
9
9
 
@@ -65,7 +65,7 @@ async function command() {
65
65
  } catch {
66
66
  }
67
67
  if (hasPrettier) {
68
- await run.runPlain("prettier", "--write", ...configPaths);
68
+ await cliCommon.runOutput(["prettier", "--write", ...configPaths]);
69
69
  }
70
70
  }
71
71
 
@@ -18,7 +18,6 @@ var parallel = require('../../../../lib/parallel.cjs.js');
18
18
  var releaseManifests = require('@backstage/release-manifests');
19
19
  var migrate = require('./migrate.cjs.js');
20
20
  var utils = require('../../lib/utils.cjs.js');
21
- var run = require('../../../../lib/run.cjs.js');
22
21
 
23
22
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
24
23
 
@@ -94,7 +93,7 @@ var bump = async (opts) => {
94
93
  );
95
94
  console.log();
96
95
  const yarnPluginUrl = process.env.BACKSTAGE_VERSIONS_BASE_URL ? `${process.env.BACKSTAGE_VERSIONS_BASE_URL}/v1/releases/${releaseManifest.releaseVersion}/yarn-plugin` : `https://versions.backstage.io/v1/releases/${releaseManifest.releaseVersion}/yarn-plugin`;
97
- await run.run("yarn", ["plugin", "import", yarnPluginUrl]);
96
+ await cliCommon.run(["yarn", "plugin", "import", yarnPluginUrl]).waitForExit();
98
97
  console.log();
99
98
  }
100
99
  const dependencyMap = await packages.mapDependencies(paths.paths.targetDir, pattern);
@@ -2,7 +2,7 @@
2
2
 
3
3
  var ora = require('ora');
4
4
  var chalk = require('chalk');
5
- var run = require('../../../lib/run.cjs.js');
5
+ var cliCommon = require('@backstage/cli-common');
6
6
 
7
7
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
8
8
 
@@ -17,7 +17,7 @@ async function runYarnInstall() {
17
17
  }).start();
18
18
  const installOutput = new Array();
19
19
  try {
20
- await run.run("yarn", ["install"], {
20
+ await cliCommon.run(["yarn", "install"], {
21
21
  env: {
22
22
  FORCE_COLOR: "true",
23
23
  // We filter out all of the npm_* environment variables that are added when
@@ -29,9 +29,9 @@ async function runYarnInstall() {
29
29
  )
30
30
  )
31
31
  },
32
- stdoutLogFunc: (data) => installOutput.push(data),
33
- stderrLogFunc: (data) => installOutput.push(data)
34
- });
32
+ onStdout: (data) => installOutput.push(data),
33
+ onStderr: (data) => installOutput.push(data)
34
+ }).waitForExit();
35
35
  spinner.succeed();
36
36
  } catch (error) {
37
37
  spinner.fail();
@@ -12,9 +12,8 @@ var lowerFirst = require('lodash/lowerFirst');
12
12
  var Lockfile = require('../../../../lib/versioning/Lockfile.cjs.js');
13
13
  require('minimatch');
14
14
  require('@manypkg/get-packages');
15
- require('../../../../lib/versioning/yarn.cjs.js');
16
- require('../../../../lib/run.cjs.js');
17
15
  require('@backstage/errors');
16
+ require('@backstage/cli-common');
18
17
  var paths = require('../../../../lib/paths.cjs.js');
19
18
  var version = require('../../../../lib/version.cjs.js');
20
19
  var yarnPlugin = require('../../../../lib/yarnPlugin.cjs.js');
@@ -5,6 +5,7 @@ var codeowners = require('../codeowners/codeowners.cjs.js');
5
5
  var tasks = require('../tasks.cjs.js');
6
6
  var installNewPackage = require('./installNewPackage.cjs.js');
7
7
  var writeTemplateContents = require('./writeTemplateContents.cjs.js');
8
+ var cliCommon = require('@backstage/cli-common');
8
9
 
9
10
  async function executePortableTemplate(options) {
10
11
  const { template, input } = options;
@@ -21,14 +22,25 @@ async function executePortableTemplate(options) {
21
22
  await codeowners.addCodeownersEntry(targetDir, input.owner);
22
23
  }
23
24
  if (!options.skipInstall) {
24
- await tasks.Task.forCommand("yarn install", {
25
- cwd: targetDir,
26
- optional: true
27
- });
28
- await tasks.Task.forCommand("yarn lint --fix", {
29
- cwd: targetDir,
30
- optional: true
31
- });
25
+ for (const command of [
26
+ ["yarn", "install"],
27
+ ["yarn", "lint", "--fix"]
28
+ ]) {
29
+ const commandStr = command.join(" ");
30
+ try {
31
+ await tasks.Task.forItem("executing", commandStr, async () => {
32
+ await cliCommon.run(command, {
33
+ cwd: targetDir,
34
+ stdio: "ignore"
35
+ }).waitForExit();
36
+ });
37
+ } catch (error) {
38
+ errors.assertError(error);
39
+ tasks.Task.error(
40
+ `Warning: Failed to execute command '${commandStr}', ${error}`
41
+ );
42
+ }
43
+ }
32
44
  }
33
45
  tasks.Task.log();
34
46
  tasks.Task.log(`\u{1F389} Successfully created ${template.name}`);
@@ -2,16 +2,12 @@
2
2
 
3
3
  var chalk = require('chalk');
4
4
  var ora = require('ora');
5
- var util = require('util');
6
- var child_process = require('child_process');
7
- var errors = require('@backstage/errors');
8
5
 
9
6
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
10
7
 
11
8
  var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
12
9
  var ora__default = /*#__PURE__*/_interopDefaultCompat(ora);
13
10
 
14
- const exec = util.promisify(child_process.exec);
15
11
  const TASK_NAME_MAX_LENGTH = 14;
16
12
  class Task {
17
13
  static log(name = "") {
@@ -49,28 +45,6 @@ ${chalk__default.default.red(message)}
49
45
  throw error;
50
46
  }
51
47
  }
52
- static async forCommand(command, options) {
53
- try {
54
- await Task.forItem("executing", command, async () => {
55
- await exec(command, { cwd: options?.cwd });
56
- });
57
- } catch (error) {
58
- errors.assertError(error);
59
- if (error.stderr) {
60
- process.stderr.write(error.stderr);
61
- }
62
- if (error.stdout) {
63
- process.stdout.write(error.stdout);
64
- }
65
- if (options?.optional) {
66
- Task.error(`Warning: Failed to execute command ${chalk__default.default.cyan(command)}`);
67
- } else {
68
- throw new Error(
69
- `Failed to execute command '${chalk__default.default.cyan(command)}', ${error}`
70
- );
71
- }
72
- }
73
- }
74
48
  }
75
49
 
76
50
  exports.Task = Task;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var paths = require('../../../../lib/paths.cjs.js');
6
- var run = require('../../../../lib/run.cjs.js');
6
+ var cliCommon = require('@backstage/cli-common');
7
7
 
8
8
  function includesAnyOf(hayStack, ...needles) {
9
9
  for (const needle of needles) {
@@ -29,8 +29,8 @@ var test = async (_opts, cmd) => {
29
29
  if (!process.env.CI && !args.includes("--coverage") && // explicitly no watching
30
30
  !includesAnyOf(args, "--no-watch", "--watch=false", "--watchAll=false") && // already watching
31
31
  !includesAnyOf(args, "--watch", "--watchAll")) {
32
- const isGitRepo = () => run.runCheck("git", "rev-parse", "--is-inside-work-tree");
33
- const isMercurialRepo = () => run.runCheck("hg", "--cwd", ".", "root");
32
+ const isGitRepo = () => cliCommon.runCheck(["git", "rev-parse", "--is-inside-work-tree"]);
33
+ const isMercurialRepo = () => cliCommon.runCheck(["hg", "--cwd", ".", "root"]);
34
34
  if (await isGitRepo() || await isMercurialRepo()) {
35
35
  args.push("--watch");
36
36
  } else {
@@ -7,7 +7,6 @@ var jestCli = require('jest-cli');
7
7
  var path = require('path');
8
8
  var cliNode = require('@backstage/cli-node');
9
9
  var paths = require('../../../../lib/paths.cjs.js');
10
- var run = require('../../../../lib/run.cjs.js');
11
10
  var cliCommon = require('@backstage/cli-common');
12
11
  var SuccessCache = require('../../../../lib/cache/SuccessCache.cjs.js');
13
12
 
@@ -22,14 +21,14 @@ async function readPackageTreeHashes(graph) {
22
21
  ...pkg,
23
22
  path: path.relative(paths.paths.targetRoot, pkg.dir)
24
23
  }));
25
- const output = await run.runPlain(
24
+ const output = await cliCommon.runOutput([
26
25
  "git",
27
26
  "ls-tree",
28
- '--format="%(objectname)=%(path)"',
27
+ "--format=%(objectname)=%(path)",
29
28
  "HEAD",
30
29
  "--",
31
30
  ...pkgs.map((pkg) => pkg.path)
32
- );
31
+ ]);
33
32
  const map = new Map(
34
33
  output.trim().split(/\r?\n/).map((line) => {
35
34
  const [itemSha, ...itemPathParts] = line.split("=");
@@ -108,8 +107,8 @@ async function command(opts, cmd) {
108
107
  }
109
108
  let isSingleWatchMode = args.includes("--watch");
110
109
  if (!opts.since && !process.env.CI && !hasFlags("--coverage", "--watch", "--watchAll")) {
111
- const isGitRepo = () => run.runCheck("git", "rev-parse", "--is-inside-work-tree");
112
- const isMercurialRepo = () => run.runCheck("hg", "--cwd", ".", "root");
110
+ const isGitRepo = () => cliCommon.runCheck(["git", "rev-parse", "--is-inside-work-tree"]);
111
+ const isMercurialRepo = () => cliCommon.runCheck(["hg", "--cwd", ".", "root"]);
113
112
  if (await isGitRepo() || await isMercurialRepo()) {
114
113
  isSingleWatchMode = true;
115
114
  args.push("--watch");
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.34.6-next.0";
3
+ var version = "0.34.6-next.1";
4
4
  var dependencies = {
5
5
  "@backstage/catalog-model": "workspace:^",
6
6
  "@backstage/cli-common": "workspace:^",
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.18.4-next.0";
3
+ var version = "0.18.4-next.1";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "1.1.18-next.0";
3
+ var version = "1.1.18-next.1";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.cjs.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/cli",
3
- "version": "0.34.6-next.0",
3
+ "version": "0.34.6-next.1",
4
4
  "description": "CLI for developing Backstage plugins and apps",
5
5
  "backstage": {
6
6
  "role": "cli"
@@ -48,8 +48,8 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@backstage/catalog-model": "1.7.6",
51
- "@backstage/cli-common": "0.1.16-next.0",
52
- "@backstage/cli-node": "0.2.16-next.0",
51
+ "@backstage/cli-common": "0.1.16-next.1",
52
+ "@backstage/cli-node": "0.2.16-next.1",
53
53
  "@backstage/config": "1.3.6",
54
54
  "@backstage/config-loader": "1.10.7-next.0",
55
55
  "@backstage/errors": "1.2.7",
@@ -156,9 +156,9 @@
156
156
  "@backstage/catalog-client": "1.12.1",
157
157
  "@backstage/config": "1.3.6",
158
158
  "@backstage/core-app-api": "1.19.3-next.0",
159
- "@backstage/core-components": "0.18.4-next.0",
159
+ "@backstage/core-components": "0.18.4-next.1",
160
160
  "@backstage/core-plugin-api": "1.12.1-next.0",
161
- "@backstage/dev-utils": "1.1.18-next.0",
161
+ "@backstage/dev-utils": "1.1.18-next.1",
162
162
  "@backstage/errors": "1.2.7",
163
163
  "@backstage/plugin-auth-backend": "0.25.7-next.0",
164
164
  "@backstage/plugin-auth-backend-module-guest-provider": "0.2.15-next.0",
@@ -1,82 +0,0 @@
1
- 'use strict';
2
-
3
- var child_process = require('child_process');
4
- var errors = require('./errors.cjs.js');
5
- var util = require('util');
6
- var errors$1 = require('@backstage/errors');
7
-
8
- const execFile = util.promisify(child_process.execFile);
9
- async function run(name, args = [], options = {}) {
10
- const { stdoutLogFunc, stderrLogFunc } = options;
11
- const env = {
12
- ...process.env,
13
- FORCE_COLOR: "true",
14
- ...options.env ?? {}
15
- };
16
- const stdio = [
17
- "inherit",
18
- stdoutLogFunc ? "pipe" : "inherit",
19
- stderrLogFunc ? "pipe" : "inherit"
20
- ];
21
- const child = child_process.spawn(name, args, {
22
- stdio,
23
- shell: true,
24
- ...options,
25
- env
26
- });
27
- if (stdoutLogFunc && child.stdout) {
28
- child.stdout.on("data", stdoutLogFunc);
29
- }
30
- if (stderrLogFunc && child.stderr) {
31
- child.stderr.on("data", stderrLogFunc);
32
- }
33
- await waitForExit(child, name);
34
- }
35
- async function runPlain(cmd, ...args) {
36
- try {
37
- const { stdout } = await execFile(cmd, args, { shell: true });
38
- return stdout.trim();
39
- } catch (error) {
40
- errors$1.assertError(error);
41
- if ("stderr" in error) {
42
- process.stderr.write(error.stderr);
43
- }
44
- if (typeof error.code === "number") {
45
- throw new errors.ExitCodeError(error.code, [cmd, ...args].join(" "));
46
- }
47
- throw new errors$1.ForwardedError("Unknown execution error", error);
48
- }
49
- }
50
- async function runCheck(cmd, ...args) {
51
- try {
52
- await execFile(cmd, args, { shell: true });
53
- return true;
54
- } catch (error) {
55
- return false;
56
- }
57
- }
58
- async function waitForExit(child, name) {
59
- if (typeof child.exitCode === "number") {
60
- if (child.exitCode) {
61
- throw new errors.ExitCodeError(child.exitCode, name);
62
- }
63
- return;
64
- }
65
- await new Promise((resolve, reject) => {
66
- child.once("error", (error) => reject(error));
67
- child.once("exit", (code) => {
68
- if (code) {
69
- reject(new errors.ExitCodeError(code, name));
70
- } else {
71
- resolve();
72
- }
73
- });
74
- });
75
- }
76
-
77
- exports.execFile = execFile;
78
- exports.run = run;
79
- exports.runCheck = runCheck;
80
- exports.runPlain = runPlain;
81
- exports.waitForExit = waitForExit;
82
- //# sourceMappingURL=run.cjs.js.map