egg-ts-helper
Version:
egg typescript helper
55 lines • 4.13 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Register = void 0;
const node_cluster_1 = __importDefault(require("node:cluster"));
const node_util_1 = require("node:util");
const core_1 = __importDefault(require("./core"));
const utils_1 = require("./utils");
const debug = (0, node_util_1.debuglog)('egg-ts-helper#register');
class Register {
constructor(options) {
this.tsHelperClazz = options?.tsHelperClazz || core_1.default;
}
init(options) {
/* istanbul ignore else */
if (!node_cluster_1.default.isMaster)
return;
// make sure ets only run once
const pid = process.env.ETS_REGISTER_PID;
if (pid) {
debug('egg-ts-helper watcher has ran in %s', pid);
return;
}
const watch = (0, utils_1.convertString)(process.env.ETS_WATCH, process.env.NODE_ENV !== 'test');
const clazz = this.tsHelperClazz;
const cwd = options?.cwd || process.cwd();
const instance = new clazz({ watch, ...options });
if ((0, utils_1.checkMaybeIsJsProj)(cwd)) {
// write jsconfig if the project is wrote by js
(0, utils_1.writeJsConfig)(cwd);
}
else {
const tsNodeMode = process.env.EGG_TYPESCRIPT === 'true';
// no need to clean in js project
// clean local js file at first.
// because egg-loader cannot load the same property name to egg.
if (tsNodeMode && instance.config.autoRemoveJs) {
(0, utils_1.cleanJs)(cwd);
}
}
// cache pid to env, prevent child process executing ets again
process.env.ETS_REGISTER_PID = `${process.pid}`;
debug('start buidling');
// exec building
instance.build();
debug('end');
// reset ETS_REGISTER_PID
process.env.ETS_REGISTER_PID = '';
}
}
exports.default = Register;
exports.Register = Register;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQW1DO0FBQ25DLHlDQUFxQztBQUNyQyxrREFBa0Q7QUFDbEQsbUNBRWlCO0FBRWpCLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBTWpELE1BQXFCLFFBQVE7SUFHM0IsWUFBWSxPQUF3QjtRQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sRUFBRSxhQUFhLElBQUksY0FBUSxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLENBQUMsT0FBd0I7UUFDM0IsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxzQkFBTyxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTlCLDhCQUE4QjtRQUM5QixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO1FBQ3pDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixLQUFLLENBQUMscUNBQXFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbEQsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFBLHFCQUFhLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUM7UUFDcEYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNqQyxNQUFNLEdBQUcsR0FBRyxPQUFPLEVBQUUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFbEQsSUFBSSxJQUFBLDBCQUFrQixFQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsK0NBQStDO1lBQy9DLElBQUEscUJBQWEsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxLQUFLLE1BQU0sQ0FBQztZQUV6RCxpQ0FBaUM7WUFDakMsZ0NBQWdDO1lBQ2hDLGdFQUFnRTtZQUNoRSxJQUFJLFVBQVUsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMvQyxJQUFBLGVBQU8sRUFBQyxHQUFHLENBQUMsQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDO1FBRUQsOERBQThEO1FBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFaEQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEIsZ0JBQWdCO1FBQ2hCLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYix5QkFBeUI7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBL0NELDJCQStDQztBQUVRLDRCQUFRIn0=