UNPKG

@applicaster/zapplicaster-cli

Version:

CLI Tool for the zapp app and Quick Brick project

44 lines (36 loc) 1.03 kB
const R = require("ramda"); const { resolve } = require("path"); function getNameFromPackageJson(cwd) { try { return R.prop("name", require(resolve(cwd, "package.json"))); } catch (e) { throw new Error("there is no package.json file in " + cwd); } } function prependWithApplicasterIfNeeded(projectName) { const SCOPE = "@applicaster/"; return R.unless( (R.includes || R.contains)(SCOPE), R.concat(SCOPE) )(projectName); } function configurator({ cliOptions }) { const { projectName = null, entryPoint = "./src/App", iosZappifest = "plugin-manifest.ios.json", androidZappifest = "plugin-manifest.android.json", projectRoot = process.cwd(), } = cliOptions; const zappifests = { ios: iosZappifest, android: androidZappifest }; return { name: R.compose( R.toLower, prependWithApplicasterIfNeeded )(projectName || getNameFromPackageJson(projectRoot)), entryPoint, cwd: projectRoot, zappifests, }; } module.exports = { configurator };