UNPKG

@backstage/cli

Version:

CLI for developing Backstage plugins and apps

84 lines (78 loc) 2.42 kB
'use strict'; var minimatch = require('minimatch'); var getPackages = require('@manypkg/get-packages'); var index = require('./index-d2845aa8.cjs.js'); var yarn = require('./yarn-8315d2ff.cjs.js'); var run = require('./run-eac5f3ab.cjs.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var minimatch__default = /*#__PURE__*/_interopDefaultLegacy(minimatch); const DEP_TYPES = [ "dependencies", "devDependencies", "peerDependencies", "optionalDependencies" ]; async function fetchPackageInfo(name) { const yarnVersion = await yarn.detectYarnVersion(); const cmd = yarnVersion === "classic" ? ["info"] : ["npm", "info"]; try { const { stdout: output } = await run.execFile( "yarn", [...cmd, "--json", name], { shell: true } ); if (!output) { throw new index.NotFoundError( `No package information found for package ${name}` ); } if (yarnVersion === "berry") { return JSON.parse(output); } const info = JSON.parse(output); if (info.type !== "inspect") { throw new Error(`Received unknown yarn info for ${name}, ${output}`); } return info.data; } catch (error) { if (yarnVersion === "classic") { throw error; } if (error == null ? void 0 : error.stdout.includes("Response Code: 404")) { throw new index.NotFoundError( `No package information found for package ${name}` ); } throw error; } } async function mapDependencies(targetDir, pattern) { var _a; const { packages, root } = await getPackages.getPackages(targetDir); packages.push(root); const dependencyMap = /* @__PURE__ */ new Map(); for (const pkg of packages) { const deps = DEP_TYPES.flatMap( (t) => { var _a2; return Object.entries((_a2 = pkg.packageJson[t]) != null ? _a2 : {}); } ); for (const [name, range] of deps) { if (minimatch__default["default"](name, pattern)) { dependencyMap.set( name, ((_a = dependencyMap.get(name)) != null ? _a : []).concat({ range, name: pkg.packageJson.name, location: pkg.dir }) ); } } } return dependencyMap; } exports.fetchPackageInfo = fetchPackageInfo; exports.mapDependencies = mapDependencies; //# sourceMappingURL=packages-09267997.cjs.js.map