UNPKG

@mountainpass/hooked-cli

Version:
61 lines (60 loc) 3.08 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { fetchGlobalEnvVars, loadConfig } from '../config.js'; import defaults from '../defaults.js'; import { generateAbiScripts } from '../plugins/AbiPlugin.js'; import { generateMakefileScripts } from '../plugins/MakefilePlugin.js'; import { generateNpmScripts } from '../plugins/NpmPlugin.js'; import { Environment } from '../utils/Environment.js'; /** * Loads the configuration from file, and initialises plugins. * @param systemProcessEnvs * @param options * @returns */ const loadConfiguration = (systemProcessEnvs, options) => __awaiter(void 0, void 0, void 0, function* () { var _a, _b, _c, _d; // load imports... const config = yield loadConfig(defaults.getDefaults().HOOKED_FILE, options.pull, options.validate); // setup default plugins... config.plugins = Object.assign({ abi: false, icons: true, npm: true, makefile: true }, ((_a = config.plugins) !== null && _a !== void 0 ? _a : {})); // check for abi files if ((_b = config.plugins) === null || _b === void 0 ? void 0 : _b.abi) { config.scripts = Object.assign(Object.assign({}, (yield generateAbiScripts())), config.scripts); } // check for package.json (npm) if ((_c = config.plugins) === null || _c === void 0 ? void 0 : _c.npm) { config.scripts = Object.assign(Object.assign({}, generateNpmScripts(systemProcessEnvs)), config.scripts); } // check for Makefile if ((_d = config.plugins) === null || _d === void 0 ? void 0 : _d.makefile) { config.scripts = Object.assign(Object.assign({}, generateMakefileScripts(systemProcessEnvs)), config.scripts); } return config; }); /** * Initialises a new environment for a script invocation. * @param systemProcessEnvs * @param options * @param config * @returns */ const initialiseEnvironment = (systemProcessEnvs, options, config) => __awaiter(void 0, void 0, void 0, function* () { const env = new Environment(); env.doNotResolveList = ['DOCKER_SCRIPT', 'NPM_SCRIPT', 'MAKE_SCRIPT']; env.putAllGlobal(systemProcessEnvs); env.putResolved('HOOKED_DIR', defaults.getDefaults().HOOKED_DIR); env.putResolved('HOOKED_FILE', defaults.getDefaults().HOOKED_FILE); // load default env... const envVars = {}; yield fetchGlobalEnvVars(config, ['default'], options, envVars); return { env, envVars }; }); export default { loadConfiguration, initialiseEnvironment };