makit
Version:
Make in JavaScript done right!
63 lines (62 loc) • 2.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DirectedGraph = exports.Context = exports.Makefile = exports.disableCheckCircular = exports.make = exports.updateOrAddRule = exports.updateRule = exports.rude = exports.rule = exports.invalidate = exports.setRoot = exports.setLoglevel = exports.setDebug = exports.setVerbose = void 0;
const logger_1 = require("./utils/logger");
const io_1 = require("./io");
function setVerbose(val = true) {
logger_1.Logger.getOrCreate().setLevel(val ? logger_1.LogLevel.verbose : logger_1.LogLevel.default);
}
exports.setVerbose = setVerbose;
function setDebug(val = true) {
logger_1.Logger.getOrCreate().setLevel(val ? logger_1.LogLevel.debug : logger_1.LogLevel.default);
}
exports.setDebug = setDebug;
function setLoglevel(val) {
logger_1.Logger.getOrCreate().setLevel(val);
}
exports.setLoglevel = setLoglevel;
function setRoot(val) {
global['makit'].root = val;
}
exports.setRoot = setRoot;
function invalidate(target) {
global['makit'].invalidate(target);
}
exports.invalidate = invalidate;
function rule(target, prerequisites, recipe) {
return global['makit'].addRule(target, prerequisites, recipe);
}
exports.rule = rule;
function rude(target, prerequisites, recipe) {
return global['makit'].addRude(target, prerequisites, recipe);
}
exports.rude = rude;
function updateRule(target, prerequisites, recipe) {
return global['makit'].updateRule(target, prerequisites, recipe);
}
exports.updateRule = updateRule;
function updateOrAddRule(target, prerequisites, recipe) {
return global['makit'].updateOrAddRule(target, prerequisites, recipe);
}
exports.updateOrAddRule = updateOrAddRule;
function make(target) {
return global['makit'].make(target);
}
exports.make = make;
function disableCheckCircular() {
global['makit'].disableCheckCircular = true;
}
exports.disableCheckCircular = disableCheckCircular;
var makefile_1 = require("./makefile/makefile");
Object.defineProperty(exports, "Makefile", { enumerable: true, get: function () { return makefile_1.Makefile; } });
var context_1 = require("./context");
Object.defineProperty(exports, "Context", { enumerable: true, get: function () { return context_1.Context; } });
var graph_1 = require("./utils/graph");
Object.defineProperty(exports, "DirectedGraph", { enumerable: true, get: function () { return graph_1.DirectedGraph; } });
// Sync DB disk for normal exit
process.on('exit', () => io_1.IO.getOrCreateDataBase().syncToDisk());
process.on('SIGINT', () => {
io_1.IO.getOrCreateDataBase().syncToDisk();
// Continue to exit, otherwise SIGINT is ignored
process.exit(1);
});