@backstage/cli
Version:
CLI for developing Backstage plugins and apps
56 lines (49 loc) • 2.34 kB
JavaScript
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
;