gae-ayaml-env
Version:
Generates an app.yaml file from a template and environment variables
21 lines (20 loc) • 935 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const yaml_1 = tslib_1.__importDefault(require("yaml"));
const fs_1 = tslib_1.__importDefault(require("fs"));
const path_1 = tslib_1.__importDefault(require("path"));
function generate({ appYamlTemplatePath, envPrefix }) {
const KEY_PREFIX = 'APP_';
const parsed = yaml_1.default.parse(fs_1.default.readFileSync(path_1.default.resolve(appYamlTemplatePath), 'utf8')) || {};
const newEnv = {};
Object.keys(process.env).filter(key => key.startsWith(KEY_PREFIX)).map(key => newEnv[key.replace(KEY_PREFIX, '')] = process.env[key]);
if (!parsed['env_variables']) {
parsed['env_variables'] = {};
}
Object.assign(parsed['env_variables'], newEnv);
const file = yaml_1.default.stringify(parsed);
fs_1.default.writeFileSync('app.yaml', file);
return file;
}
exports.generate = generate;