UNPKG

imod

Version:

A bundler for tiny modules, powered by Rollup.

48 lines 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const childProcess = require("child_process"); const rimraf = require("rimraf"); exports.rimraf = rimraf; const mkdirp = require("mkdirp"); exports.mkdirp = mkdirp; const fs = require("fs"); const camelcase_1 = require("camelcase"); exports.mRequire = (obj) => obj && obj.__esModule ? obj.default : obj; exports.sh = (bash, { silent = false } = {}) => { return new Promise((resolve, reject) => { const p = childProcess.exec(bash, (error) => { if (error && !silent) { reject(error); return; } resolve(); }); !silent && p.stderr && p.stderr.pipe(process.stderr); !silent && p.stdout && p.stdout.pipe(process.stdout); }); }; exports.parallelize = async (task) => { const ret = await Promise.all(task); return ret; }; exports.serial = async (task) => { for (let t of task) { await t; } }; const removeScope = (name) => name.replace(/^@.*\//, ''); exports.safeVariableName = (name) => { return camelcase_1.default(removeScope(name).toLowerCase().replace(/((^[^a-zA-Z]+)|[^\w.-])|([^a-zA-Z0-9]+$)/g, '')); }; exports.saveJSON = (path, data) => { let json; try { json = require(path); } catch (_a) { json = {}; } json = Object.assign(Object.assign({}, json), { data }); fs.writeFileSync(path, JSON.stringify(json, null, 2) + '\n', 'utf8'); }; //# sourceMappingURL=utils.js.map