piral-cli
Version:
The standard CLI for creating and building a Piral instance or a Pilet.
62 lines • 2.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setStandardEnvs = setStandardEnvs;
const path_1 = require("path");
const fs_1 = require("fs");
const log_1 = require("./log");
const constants_1 = require("./constants");
const info_1 = require("./info");
function hasPath(path) {
const paths = (process.env.PATH || '').split(info_1.pathSeparator);
return paths.includes(path);
}
function setStandardEnvs(options) {
(0, log_1.log)('generalDebug_0003', `Setting environment variables in "${options.root}" ...`);
const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(options.root, 'package.json'), 'utf8'));
const binDir = (0, path_1.join)(options.root, 'node_modules', '.bin');
process.env.BUILD_TIME = new Date().toDateString();
process.env.BUILD_TIME_FULL = new Date().toISOString();
process.env.BUILD_PCKG_VERSION = packageJson.version;
process.env.BUILD_PCKG_NAME = packageJson.name;
process.env.PIRAL_CLI_VERSION = info_1.cliVersion;
if (!hasPath(binDir)) {
const existing = process.env.PATH || '';
process.env.PATH = `${existing}${info_1.pathSeparator}${binDir}`;
}
if (options.debugPiral) {
process.env.DEBUG_PIRAL = info_1.compatVersion;
}
else {
delete process.env.DEBUG_PIRAL;
}
if (options.debugPilet) {
process.env.DEBUG_PILET = 'on';
}
else {
delete process.env.DEBUG_PILET;
}
if (options.publicPath) {
process.env.PIRAL_PUBLIC_PATH = options.publicPath;
}
if (options.production) {
process.env.NODE_ENV = 'production';
}
else if (!process.env.NODE_ENV) {
process.env.NODE_ENV = 'development';
}
if (Array.isArray(options.piralInstances) && options.piralInstances.length) {
process.env.PIRAL_INSTANCE = options.piralInstances.join(',');
}
else {
options.piralInstances = [];
}
if (Array.isArray(options.dependencies) && options.dependencies.length) {
const excludedDependencies = [...constants_1.frameworkLibs, ...options.piralInstances];
const dependencies = options.dependencies.filter((m) => !excludedDependencies.includes(m));
process.env.SHARED_DEPENDENCIES = dependencies.join(',');
}
else {
process.env.SHARED_DEPENDENCIES = '';
}
}
//# sourceMappingURL=envs.js.map