mirror of
https://github.com/home-assistant/frontend.git
synced 2025-10-09 11:49:42 +00:00
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
// run-build.ts
|
|
import { series } from "gulp";
|
|
import { availableParallelism } from "node:os";
|
|
import tasks from "./gulp/index.ts";
|
|
|
|
process.env.UV_THREADPOOL_SIZE = availableParallelism().toString();
|
|
|
|
const runGulpTask = async (runTasks: string[]) => {
|
|
try {
|
|
for (const taskName of runTasks) {
|
|
if (tasks[taskName] === undefined) {
|
|
console.error(`Gulp task "${taskName}" does not exist.`);
|
|
console.log("Available tasks:");
|
|
Object.keys(tasks).forEach((task) => {
|
|
console.log(` - ${task}`);
|
|
});
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
await new Promise((resolve, reject) => {
|
|
series(...runTasks.map((taskName) => tasks[taskName]))((err?: Error) => {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(null);
|
|
}
|
|
});
|
|
});
|
|
|
|
process.exit(0);
|
|
} catch (error: any) {
|
|
console.error(`Error running Gulp task "${runTasks}":`, error);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
|
|
// Get the task name from command line arguments
|
|
// TODO arg validation
|
|
const tasksToRun = process.argv.slice(2);
|
|
|
|
runGulpTask(tasksToRun);
|