UNPKG

@backstage/cli

Version:

CLI for developing Backstage plugins and apps

50 lines (46 loc) 1.36 kB
'use strict'; var path = require('node:path'); const defaultIndex = { mount: ".", path: "src/index.ts", name: "index", ext: ".ts" }; const SCRIPT_EXTS = [".js", ".jsx", ".ts", ".tsx"]; function parseEntryPoint(mount, path$1) { const ext = path.extname(path$1); let name = mount; if (name === ".") { name = "index"; } else if (name.startsWith("./")) { name = name.slice(2); } if (name.includes("/") && SCRIPT_EXTS.includes(ext)) { throw new Error(`Mount point '${mount}' may not contain multiple slashes`); } return { mount, path: path$1, name, ext }; } function readEntryPoints(pkg) { const exp = pkg.exports; if (typeof exp === "string") { return [defaultIndex]; } else if (exp && typeof exp === "object" && !Array.isArray(exp)) { const entryPoints = new Array(); for (const mount of Object.keys(exp)) { const path = exp[mount]; if (typeof path !== "string") { throw new Error( `Exports field value must be a string, got '${JSON.stringify(path)}'` ); } if (process.env.EXPERIMENTAL_TRIM_NEXT_ENTRY && mount === "./next") { continue; } entryPoints.push(parseEntryPoint(mount, path)); } return entryPoints; } return [defaultIndex]; } exports.readEntryPoints = readEntryPoints; //# sourceMappingURL=entryPoints.cjs.js.map