UNPKG

@backstage/cli

Version:

CLI for developing Backstage plugins and apps

45 lines (39 loc) 1.4 kB
'use strict'; var cliCommon = require('@backstage/cli-common'); var cliNode = require('@backstage/cli-node'); var fs = require('node:fs'); var path = require('node:path'); var node_url = require('node:url'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } var fs__default = /*#__PURE__*/_interopDefaultCompat(fs); function discoverCliModules() { const rootDir = cliCommon.targetPaths.rootDir; const pkgJsonPath = path.resolve(rootDir, "package.json"); let projectPkg; try { projectPkg = JSON.parse(fs__default.default.readFileSync(pkgJsonPath, "utf8")); } catch { return []; } const allDeps = { ...projectPkg.dependencies, ...projectPkg.devDependencies }; const modules = []; for (const depName of Object.keys(allDeps)) { try { const depPkgPath = require.resolve(`${depName}/package.json`, { paths: [rootDir] }); const depPkg = JSON.parse(fs__default.default.readFileSync(depPkgPath, "utf8")); if (cliNode.PackageRoles.getRoleFromPackage(depPkg) === "cli-module") { const resolvedPath = require.resolve(depName, { paths: [rootDir] }); modules.push(node_url.pathToFileURL(resolvedPath).href); } } catch { } } return modules; } exports.discoverCliModules = discoverCliModules; //# sourceMappingURL=discoverCliModules.cjs.js.map