UNPKG

@backstage/cli

Version:

CLI for developing Backstage plugins and apps

56 lines (49 loc) 2.34 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _package = require('../../../packages/cli/package.json.cjs.js'); var os = require('os'); var run = require('../../../lib/run.cjs.js'); var paths = require('../../../lib/paths.cjs.js'); var Lockfile = require('../../../lib/versioning/Lockfile.cjs.js'); require('minimatch'); require('@manypkg/get-packages'); require('chalk'); require('../../../lib/versioning/yarn.cjs.js'); var fs = require('fs-extra'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } var os__default = /*#__PURE__*/_interopDefaultCompat(os); var fs__default = /*#__PURE__*/_interopDefaultCompat(fs); var info = async () => { await new Promise(async () => { const yarnVersion = await run.runPlain("yarn --version"); const isLocal = fs__default.default.existsSync(paths.paths.resolveOwn("./src")); const backstageFile = paths.paths.resolveTargetRoot("backstage.json"); let backstageVersion = "N/A"; if (fs__default.default.existsSync(backstageFile)) { try { const backstageJson = await fs__default.default.readJSON(backstageFile); backstageVersion = backstageJson.version ?? "N/A"; } catch (error) { console.warn('The "backstage.json" file is not in the expected format'); console.log(); } } console.log(`OS: ${os__default.default.type} ${os__default.default.release} - ${os__default.default.platform}/${os__default.default.arch}`); console.log(`node: ${process.version}`); console.log(`yarn: ${yarnVersion}`); console.log(`cli: ${_package.version} (${isLocal ? "local" : "installed"})`); console.log(`backstage: ${backstageVersion}`); console.log(); console.log("Dependencies:"); const lockfilePath = paths.paths.resolveTargetRoot("yarn.lock"); const lockfile = await Lockfile.Lockfile.load(lockfilePath); const deps = [...lockfile.keys()].filter((n) => n.startsWith("@backstage/")); const maxLength = Math.max(...deps.map((d) => d.length)); for (const dep of deps) { const versions = new Set(lockfile.get(dep).map((i) => i.version)); console.log(` ${dep.padEnd(maxLength)} ${[...versions].join(", ")}`); } }); }; exports.default = info; //# sourceMappingURL=info.cjs.js.map