UNPKG

react-native-builder-bob

Version:

CLI to build JavaScript files for React Native libraries

40 lines (38 loc) 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = customTarget; var _kleur = _interopRequireDefault(require("kleur")); var _path = _interopRequireDefault(require("path")); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _spawn = require("../utils/spawn"); var _del = _interopRequireDefault(require("del")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } async function customTarget({ options, root, report }) { if (options?.script == null) { throw new Error(`No 'script' was provided with the custom target. Example: ${_kleur.default.green('{["custom", { "script": "generateTypes" }}')}`); } const pathToClean = options.clean ? _path.default.relative(root, options.clean) : undefined; if (pathToClean) { report.info(`Cleaning up ${_kleur.default.blue(pathToClean)}`); await (0, _del.default)([_path.default.resolve(root, pathToClean)]); } const packageManagerExecutable = process.env.npm_execpath ?? 'npm'; const packageManagerArgs = ['run', options.script]; // usr/bin/yarn -> yarn const packageManagerName = _path.default.basename(packageManagerExecutable); report.info(`Running ${_kleur.default.blue(packageManagerName)} ${_kleur.default.blue(packageManagerArgs.join(' '))}`); await (0, _spawn.spawn)(packageManagerExecutable, packageManagerArgs, { stdio: ['ignore', 'ignore', 'inherit'] }); report.success(`Ran the ${_kleur.default.blue(options.script)} script succesfully`); if (options.clean && pathToClean && !(await _fsExtra.default.pathExists(pathToClean))) { report.warn(`Custom target with the ${_kleur.default.blue(options.script)} script has ${_kleur.default.blue(options.clean)} as the ${_kleur.default.bold('clean')} option but this path wasn't created after running the script. Are you sure you've defined the ${_kleur.default.bold('clean')} path correctly?`); } } //# sourceMappingURL=custom.js.map