@luban-cli/cli-plugin-service
Version:
A development runtime environment dependency
70 lines • 3.14 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const minimist_1 = __importDefault(require("minimist"));
const chokidar_1 = __importDefault(require("chokidar"));
const cli_shared_utils_1 = require("@luban-cli/cli-shared-utils");
const child_process_1 = require("child_process");
const Service_1 = require("./Service");
const produce_1 = require("./produce");
const forkServePath = require.resolve("./forkServe.js");
const service = new Service_1.Service(process.cwd());
const rawArgv = process.argv.slice(2);
const args = minimist_1.default(rawArgv);
const command = args._[0];
(() => __awaiter(void 0, void 0, void 0, function* () {
try {
switch (command) {
case "produce":
yield produce_1.produce(true);
break;
case "build":
case "inspect":
yield service.run(command, args, rawArgv);
break;
case "serve":
const mode = args.mode || "development";
let serve = child_process_1.fork(forkServePath, process.argv);
["SIGINT", "SIGTERM"].forEach((signal) => {
process.on(signal, () => {
serve.kill(signal);
process.exit();
});
});
const watcher = chokidar_1.default.watch([
`${process.cwd()}/.env`,
`${process.cwd()}/.env.${mode}*`,
`${process.cwd()}/src/index.tsx`,
`${process.cwd()}/src/route.ts`,
`${process.cwd()}/luban.config.ts`,
]);
watcher.on("change", (filepath) => {
cli_shared_utils_1.clearConsole();
cli_shared_utils_1.info(filepath + " was changed");
cli_shared_utils_1.info("Try to restart server...");
serve.kill();
serve = child_process_1.fork(forkServePath, process.argv);
});
break;
default:
yield service.run("help", args, rawArgv);
break;
}
}
catch (err) {
console.error(err);
process.exit(1);
}
}))();
//# sourceMappingURL=index.js.map