UNPKG

@app.json/cli

Version:

Capture what your app needs to be deployed and run

52 lines (51 loc) 1.81 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require("@app.json/core"); var dotenv_1 = require("dotenv"); var fs_1 = require("fs"); function exportDotenv(appJsonPath, environmentName) { // read existing dotenv config, if any dotenv_1.config(); var env = getEnv(appJsonPath, environmentName); var dotenv = createDotEnv(env); fs_1.writeFileSync('.env', dotenv, { encoding: 'utf-8' }); } exports.exportDotenv = exportDotenv; function createDotEnv(env) { return Object.keys(env) .map(function (key) { var definition = env[key]; var existingValue = process.env[key]; var newValue = typeof definition === 'string' ? definition : definition.value || ''; var value = existingValue || newValue; return key + "=" + value; }) .join('\n'); } function getEnv(appJsonPath, environmentName) { var appJson = core_1.loadAppJson(appJsonPath); var baseEnv = appJson.env || {}; var environmentEnv = getEnvironmentEnv(environmentName, appJson); var env = __assign({}, baseEnv, environmentEnv); return env; } function getEnvironmentEnv(environmentName, appJson) { var environment = environmentName && appJson.environments && appJson.environments[environmentName]; var environmentEnv = (environment && environment.env) || {}; return environmentEnv; }