lib-tools
Version:
The lib-tools helps you simplify the build, bundle, test and npm packaging workflows for Typescript, JavaScript, Angular library projects and assets module projects.
69 lines • 7.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnvironment = void 0;
function getEnvironment(env, argv) {
const environment = {};
let envObj = Object.assign({}, env);
if (argv && (argv.environment || argv.env)) {
const argvEnv = (argv.environment || argv.env);
envObj = Object.assign(Object.assign({}, envObj), argvEnv);
}
Object.keys(envObj).forEach((key) => {
const normalizedKey = normalizeEnvName(key);
environment[normalizedKey] = toBooleanOrString(envObj[key]);
});
// production override
if (argv && typeof argv.prod === 'boolean') {
environment.production = argv.prod;
}
else if (environment.production == null &&
typeof process.env.NODE_ENV === 'string' &&
process.env.NODE_ENV.toLowerCase() === 'production') {
environment.production = true;
}
// ci override
if (argv && typeof argv.ci === 'boolean') {
environment.ci = argv.ci;
}
else if (argv && typeof argv.CI === 'boolean') {
environment.ci = argv.CI;
}
else if (environment.ci == null && (process.env.ci || process.env.CI)) {
environment.ci = true;
}
return environment;
}
exports.getEnvironment = getEnvironment;
function normalizeEnvName(envName) {
const envLower = envName.toLowerCase();
switch (envLower) {
case 'prod':
case 'production':
return 'production';
case 'dev':
case 'development':
return 'development';
case 'ci':
return 'ci';
default:
return envName;
}
}
function toBooleanOrString(value) {
if (value == null) {
return false;
}
if (typeof value === 'boolean') {
return value;
}
if (typeof value === 'string') {
if (value.toLowerCase() === 'false') {
return false;
}
else if (value.toLowerCase() === 'true') {
return true;
}
}
return `${value}`;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVudmlyb25tZW50LmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJoZWxwZXJzL2dldC1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFnQixjQUFjLENBQzFCLEdBQTJELEVBQzNELElBQW1EO0lBRW5ELE1BQU0sV0FBVyxHQUF3QyxFQUFFLENBQUM7SUFFNUQsSUFBSSxNQUFNLHFCQUNILEdBQUcsQ0FDVCxDQUFDO0lBRUYsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN4QyxNQUFNLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBK0IsQ0FBQztRQUM3RSxNQUFNLG1DQUNDLE1BQU0sR0FDTixPQUFPLENBQ2IsQ0FBQztLQUNMO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtRQUN4QyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxXQUFXLENBQUMsYUFBYSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxzQkFBc0I7SUFDdEIsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUN4QyxXQUFXLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7S0FDdEM7U0FBTSxJQUNILFdBQVcsQ0FBQyxVQUFVLElBQUksSUFBSTtRQUM5QixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFFBQVE7UUFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssWUFBWSxFQUNyRDtRQUNFLFdBQVcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0tBQ2pDO0lBRUQsY0FBYztJQUNkLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxTQUFTLEVBQUU7UUFDdEMsV0FBVyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0tBQzVCO1NBQU0sSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRTtRQUM3QyxXQUFXLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7S0FDNUI7U0FBTSxJQUFJLFdBQVcsQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUNyRSxXQUFXLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQztLQUN6QjtJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLENBQUM7QUE1Q0Qsd0NBNENDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFlO0lBQ3JDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QyxRQUFRLFFBQVEsRUFBRTtRQUNkLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxZQUFZO1lBQ2IsT0FBTyxZQUFZLENBQUM7UUFDeEIsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLGFBQWE7WUFDZCxPQUFPLGFBQWEsQ0FBQztRQUN6QixLQUFLLElBQUk7WUFDTCxPQUFPLElBQUksQ0FBQztRQUNoQjtZQUNJLE9BQU8sT0FBTyxDQUFDO0tBQ3RCO0FBQ0wsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsS0FBYztJQUNyQyxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7UUFDZixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxFQUFFO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDM0IsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssT0FBTyxFQUFFO1lBQ2pDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO2FBQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7S0FDSjtJQUVELE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQztBQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldEVudmlyb25tZW50KFxuICAgIGVudjogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIHwgc3RyaW5nIH0gfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIGFyZ3Y6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9IHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIHwgc3RyaW5nIH0ge1xuICAgIGNvbnN0IGVudmlyb25tZW50OiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfCBzdHJpbmcgfSA9IHt9O1xuXG4gICAgbGV0IGVudk9iajogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0gPSB7XG4gICAgICAgIC4uLmVudlxuICAgIH07XG5cbiAgICBpZiAoYXJndiAmJiAoYXJndi5lbnZpcm9ubWVudCB8fCBhcmd2LmVudikpIHtcbiAgICAgICAgY29uc3QgYXJndkVudiA9IChhcmd2LmVudmlyb25tZW50IHx8IGFyZ3YuZW52KSBhcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfTtcbiAgICAgICAgZW52T2JqID0ge1xuICAgICAgICAgICAgLi4uZW52T2JqLFxuICAgICAgICAgICAgLi4uYXJndkVudlxuICAgICAgICB9O1xuICAgIH1cblxuICAgIE9iamVjdC5rZXlzKGVudk9iaikuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZEtleSA9IG5vcm1hbGl6ZUVudk5hbWUoa2V5KTtcbiAgICAgICAgZW52aXJvbm1lbnRbbm9ybWFsaXplZEtleV0gPSB0b0Jvb2xlYW5PclN0cmluZyhlbnZPYmpba2V5XSk7XG4gICAgfSk7XG5cbiAgICAvLyBwcm9kdWN0aW9uIG92ZXJyaWRlXG4gICAgaWYgKGFyZ3YgJiYgdHlwZW9mIGFyZ3YucHJvZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIGVudmlyb25tZW50LnByb2R1Y3Rpb24gPSBhcmd2LnByb2Q7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICAgZW52aXJvbm1lbnQucHJvZHVjdGlvbiA9PSBudWxsICYmXG4gICAgICAgIHR5cGVvZiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYudG9Mb3dlckNhc2UoKSA9PT0gJ3Byb2R1Y3Rpb24nXG4gICAgKSB7XG4gICAgICAgIGVudmlyb25tZW50LnByb2R1Y3Rpb24gPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIGNpIG92ZXJyaWRlXG4gICAgaWYgKGFyZ3YgJiYgdHlwZW9mIGFyZ3YuY2kgPT09ICdib29sZWFuJykge1xuICAgICAgICBlbnZpcm9ubWVudC5jaSA9IGFyZ3YuY2k7XG4gICAgfSBlbHNlIGlmIChhcmd2ICYmIHR5cGVvZiBhcmd2LkNJID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgZW52aXJvbm1lbnQuY2kgPSBhcmd2LkNJO1xuICAgIH0gZWxzZSBpZiAoZW52aXJvbm1lbnQuY2kgPT0gbnVsbCAmJiAocHJvY2Vzcy5lbnYuY2kgfHwgcHJvY2Vzcy5lbnYuQ0kpKSB7XG4gICAgICAgIGVudmlyb25tZW50LmNpID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW52aXJvbm1lbnQ7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUVudk5hbWUoZW52TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBlbnZMb3dlciA9IGVudk5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBzd2l0Y2ggKGVudkxvd2VyKSB7XG4gICAgICAgIGNhc2UgJ3Byb2QnOlxuICAgICAgICBjYXNlICdwcm9kdWN0aW9uJzpcbiAgICAgICAgICAgIHJldHVybiAncHJvZHVjdGlvbic7XG4gICAgICAgIGNhc2UgJ2Rldic6XG4gICAgICAgIGNhc2UgJ2RldmVsb3BtZW50JzpcbiAgICAgICAgICAgIHJldHVybiAnZGV2ZWxvcG1lbnQnO1xuICAgICAgICBjYXNlICdjaSc6XG4gICAgICAgICAgICByZXR1cm4gJ2NpJztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBlbnZOYW1lO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdG9Cb29sZWFuT3JTdHJpbmcodmFsdWU6IHVua25vd24pOiBib29sZWFuIHwgc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAodmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhbHNlJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYCR7dmFsdWV9YDtcbn1cbiJdfQ==