UNPKG

@electrojet/carlo

Version:

Build scripts for use with create-electrojet

65 lines (62 loc) 1.63 kB
module.exports = { /** * Gets config file from root of the project * @returns {Object} */ getConfig: async function() { const cosmiconfig = require("cosmiconfig"); const explorer = cosmiconfig("electrojet"); try { const result = await explorer.search(); if (!result || result.isEmpty) { return require("./config").default; } else { return result.config; } } catch (err) { console.error( "Could not read config file. Please check the following error message for help" ); console.error(err); process.exit(); } }, /** * Get configuration options for packager * @param {Object} result * @param {boolean} result.isEmpty * @param {Object} result.config * @param {Object} result.config.buildOptions - Options for carlo packager * @returns {Object} */ getPackagerConfig: function(result) { const defaultConfig = { dir: process.cwd(), all: true, }; if (!result) { return defaultConfig; } else { return Object.assign(defaultConfig, result); } }, /** * Create build config * @param {Object} userOptions * @param {string} userOptions.target * @param {string} userOptions.host */ createBuildOptions: function(userOptions) { const { target, host } = userOptions; const buildOptions = [process.cwd()]; if (target) { buildOptions.push("--target"); buildOptions.push(userOptions.target); } if (host) { buildOptions.push("--host"); buildOptions.push(userOptions.host); } return buildOptions; }, };