2022-12-03 04:23:18 +00:00
|
|
|
import gulp from "gulp";
|
2024-04-24 21:30:01 +00:00
|
|
|
import * as tasks from "./tasks.js";
|
2020-09-23 13:20:12 +00:00
|
|
|
|
2021-05-25 07:19:57 +00:00
|
|
|
/**
|
2024-04-24 21:30:01 +00:00
|
|
|
* @typedef {import("gulp").TaskFunction} TaskFunction
|
|
|
|
|
* @typedef {TaskFunction | { [k: string]: Tasks }} Tasks
|
2021-05-25 07:19:57 +00:00
|
|
|
*/
|
2020-09-23 13:20:12 +00:00
|
|
|
|
2024-04-24 21:30:01 +00:00
|
|
|
/**
|
|
|
|
|
* @param {Tasks} tasks
|
|
|
|
|
* @param {string=} prefix
|
|
|
|
|
*/
|
|
|
|
|
function register(tasks, prefix) {
|
|
|
|
|
if (tasks instanceof Function) {
|
|
|
|
|
gulp.task(prefix, tasks);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
for (const [k, v] of Object.entries(tasks)) {
|
|
|
|
|
register(v, prefix == null ? k : `${prefix}.${k}`);
|
2022-06-06 13:28:30 +00:00
|
|
|
}
|
2021-03-09 09:07:19 +00:00
|
|
|
}
|
2020-10-01 08:20:47 +00:00
|
|
|
|
2024-04-24 21:30:01 +00:00
|
|
|
register(tasks);
|