UNPKG

nadle

Version:

A modern, type-safe task runner for Node.js inspired by the awesome Gradle build tool

62 lines (58 loc) 1.51 kB
import { optionRegistry, taskRegistry } from "./chunk-U7OSCGJU.js"; // src/core/register-task.ts function registerTask(name, task, optionsResolver) { if (taskRegistry.has(name)) { throw new Error(`Task "${name}" already registered`); } let configCollector = () => ({}); const register = () => { taskRegistry.register(name, { name, status: "registered" /* Registered */, result: { duration: null, startTime: null }, configResolver: (params) => { return typeof configCollector === "function" ? configCollector(params) : configCollector; }, ...computeTaskInfo(task, optionsResolver) }); }; register(); return { config: (collector) => { configCollector = collector; register(); } }; } function computeTaskInfo(task, optionsResolver) { if (task === void 0) { return { run: () => { }, optionsResolver: void 0 }; } if (typeof task === "function") { return { run: task, optionsResolver: void 0 }; } if (optionsResolver === void 0) { throw new Error("Option builder is required for option task"); } return { ...task, optionsResolver }; } // src/core/api.ts var tasks = { register: registerTask }; // src/core/options/configure.ts function configure(options) { if (typeof options !== "object" || options === null) { throw new TypeError("Options must be an object"); } optionRegistry.add(options); } export { tasks, configure }; //# sourceMappingURL=chunk-JXJCDWE4.js.map