@catladder/cli
Version:
Panter cli tool for cloud CI/CD and DevOps
30 lines • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.writeDotEnvFiles = void 0;
const path_1 = require("path");
const getProjectConfig_1 = require("../../config/getProjectConfig");
const projects_1 = require("../../utils/projects");
const utils_1 = require("./utils");
const writeDotEnvFiles = async (context, choice) => {
const { env, currentComponent } = await (0, utils_1.getCurrentComponentAndEnvFromChoice)(context.config, choice);
const componentsWithEnabledDotEnvWrite = Object.entries(context.config.components)
.filter(([, component]) => { var _a; return (_a = component === null || component === void 0 ? void 0 : component.dotEnv) !== null && _a !== void 0 ? _a : true; }) // when set to true or "local"
.map(([componentName]) => componentName);
const componentsToActuallyWriteDotEnvNow = currentComponent
? componentsWithEnabledDotEnvWrite.includes(currentComponent)
? [currentComponent]
: []
: componentsWithEnabledDotEnvWrite;
const gitRoot = await (0, projects_1.getGitRoot)();
for (const componentName of componentsToActuallyWriteDotEnvNow) {
const variables = await (0, getProjectConfig_1.getEnvVarsResolved)(null, env, componentName);
delete variables["_ALL_ENV_VAR_KEYS"];
const componentDir = (0, utils_1.getComponentFullPath)(gitRoot, context.config, componentName);
const filePath = (0, path_1.join)(componentDir, ".env");
await context.fileWriter.writeGeneratedFile(filePath, (0, utils_1.makeKeyValueString)(variables), {
commentChar: "#",
});
}
};
exports.writeDotEnvFiles = writeDotEnvFiles;
//# sourceMappingURL=writeDotEnvFiles.js.map