Files
worklenz/worklenz-backend/new

79 lines
1.6 KiB
JavaScript

#!/usr/bin/env node
const path = require("path");
const slug = require("slugify");
const { exec } = require("child_process");
const [, , cmd, name] = process.argv;
function s(value) {
return slug(value, {
replacement: "-", // replace spaces with replacement
remove: /[\/()._]/g, // regex to remove characters
lower: true, // result in lower case
});
}
function log(value) {
console.log(value);
}
function generate_controller() {
const pro = exec(`node cli/generate-controller ${s(name).replace(/controller/, "")}`);
pro.stdout.on("data", (data) => {
log(data.toString());
});
pro.stderr.on("data", (data) => {
log(`${data.toString()}`);
});
pro.on("exit", (code) => {
log(`Process exit with code ${code}.`);
});
}
function create_release() {
const release = exec(`node cli/mkrelease`);
release.stdout.on("data", (data) => {
log(data.toString());
});
release.stderr.on("data", (data) => {
log(`${data.toString()}`);
});
release.on("exit", (code) => {
log(`Build success with code ${code}.`);
log("Start Coping");
});
}
function generate_validator() {
const pro = exec(`node cli/generate-validator ${s(name).replace(/validator|validators/, "")}`);
pro.stdout.on("data", (data) => {
log(data.toString());
});
pro.stderr.on("data", (data) => {
log(`${data.toString()}`);
});
pro.on("exit", (code) => {
log(`Process exit with code ${code}.`);
});
}
switch (cmd) {
case "controller":
generate_controller();
break;
case "release":
create_release();
break;
case "validator":
generate_validator();
break;
default:
break;
}