UNPKG

@plugjs/plug

Version:
26 lines (25 loc) 846 B
// plugs/exec.ts import { install } from "../pipe.mjs"; import { execChild } from "../utils/exec.mjs"; import { parseOptions } from "../utils/options.mjs"; install("exec", class Exec { _cmd; _args; _options; constructor(...args) { const { params, options } = parseOptions(args, {}); const [_cmd, ..._args] = params; this._cmd = _cmd; this._args = _args; this._options = options; } async pipe(files, context) { const { relativePaths = true, ...options } = this._options; if (!options.cwd) options.cwd = files.directory; const params = [...relativePaths ? files : files.absolutePaths()]; if (options.shell) params.forEach((s, i, a) => a[i] = JSON.stringify(s)); await execChild(this._cmd, [...this._args, ...params], options, context); return files; } }); //# sourceMappingURL=exec.mjs.map