@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
17 lines • 2.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.loadPackage = loadPackage;
const services_1 = require("../services");
const MISSING_REQUIRED_DEPENDENCY = (name, reason) => `The "${name}" package is missing. Please, make sure to install it to take advantage of ${reason}.`;
const logger = new services_1.Logger('PackageLoader');
function loadPackage(packageName, context, loaderFn) {
try {
return loaderFn ? loaderFn() : require(packageName);
}
catch (e) {
logger.error(MISSING_REQUIRED_DEPENDENCY(packageName, context));
services_1.Logger.flush();
process.exit(1);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1wYWNrYWdlLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvbG9hZC1wYWNrYWdlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFPRSxrQ0FZQztBQW5CSCwwQ0FBcUM7QUFFckMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsRUFBRSxDQUNqRSxRQUFRLElBQUksOEVBQThFLE1BQU0sR0FBRyxDQUFDO0FBRXRHLE1BQU0sTUFBTSxHQUFHLElBQUksaUJBQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUUzQyxTQUFnQixXQUFXLENBQ3pCLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixRQUFtQjtJQUVuQixJQUFJLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDaEUsaUJBQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnZXIgfSBmcm9tIFwiLi4vc2VydmljZXNcIjtcblxuY29uc3QgTUlTU0lOR19SRVFVSVJFRF9ERVBFTkRFTkNZID0gKG5hbWU6IHN0cmluZywgcmVhc29uOiBzdHJpbmcpID0+XG4gICAgYFRoZSBcIiR7bmFtZX1cIiBwYWNrYWdlIGlzIG1pc3NpbmcuIFBsZWFzZSwgbWFrZSBzdXJlIHRvIGluc3RhbGwgaXQgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgJHtyZWFzb259LmA7XG4gIFxuICBjb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdQYWNrYWdlTG9hZGVyJyk7XG4gIFxuICBleHBvcnQgZnVuY3Rpb24gbG9hZFBhY2thZ2UoXG4gICAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgICBjb250ZXh0OiBzdHJpbmcsXG4gICAgbG9hZGVyRm4/OiBGdW5jdGlvbixcbiAgKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBsb2FkZXJGbiA/IGxvYWRlckZuKCkgOiByZXF1aXJlKHBhY2thZ2VOYW1lKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoTUlTU0lOR19SRVFVSVJFRF9ERVBFTkRFTkNZKHBhY2thZ2VOYW1lLCBjb250ZXh0KSk7XG4gICAgICBMb2dnZXIuZmx1c2goKTtcbiAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICB9XG4gIH1cbiAgIl19