UNPKG

@plugjs/plug

Version:
45 lines (44 loc) 1.33 kB
// plugs/build.ts import { invokeTasks, isBuild } from "../build.mjs"; import { ForkingPlug } from "../fork.mjs"; import { $p } from "../logging/colors.mjs"; import { requireFilename } from "../paths.mjs"; var RunBuildInternal = class { constructor(_tasks, _props, _options) { this._tasks = _tasks; this._props = _props; this._options = _options; } async pipe(files, context) { const tasks = this._tasks.length === 0 ? ["default"] : this._tasks; const cwd = this._options.cwd || process.cwd(); for (const file of files.absolutePaths()) { let maybeBuild = await import(file); while (maybeBuild) { if (isBuild(maybeBuild)) break; maybeBuild = maybeBuild.default; } if (!isBuild(maybeBuild)) { context.log.fail(`File ${$p(file)} did not export a proper build`); } else { const dir = process.cwd(); try { process.chdir(cwd); await invokeTasks(maybeBuild, tasks, this._props); } finally { process.chdir(dir); } } } } }; var RunBuild = class extends ForkingPlug { constructor(tasks, props, options) { super(requireFilename(import.meta.url), [tasks, props, options], RunBuildInternal.name); } }; export { RunBuild, RunBuildInternal }; //# sourceMappingURL=build.mjs.map