UNPKG

@unito/integration-cli

Version:

Integration CLI

45 lines (44 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Environment = void 0; exports.getDefault = getDefault; exports.read = read; exports.write = write; const tslib_1 = require("tslib"); const fs_1 = tslib_1.__importDefault(require("fs")); const path_1 = tslib_1.__importDefault(require("path")); var Environment; (function (Environment) { Environment["Local"] = "local"; Environment["Staging"] = "staging"; Environment["Production"] = "production"; })(Environment || (exports.Environment = Environment = {})); function getDefault() { return { apiKey: undefined, apiKeyStaging: undefined, apiKeyLocal: undefined, }; } async function read(baseDir) { await fs_1.default.promises.mkdir(path_1.default.dirname(getConfigurationPath(baseDir)), { recursive: true }); let configuration; try { const file = await fs_1.default.promises.readFile(getConfigurationPath(baseDir), 'utf-8'); configuration = JSON.parse(file); } catch { configuration = getDefault(); } return { ...getDefault(), ...configuration }; } async function write(baseDir, configuration) { await fs_1.default.promises.mkdir(path_1.default.dirname(getConfigurationPath(baseDir)), { recursive: true }); await fs_1.default.promises.writeFile(getConfigurationPath(baseDir), JSON.stringify(configuration, null, 2), { encoding: 'utf8', flag: 'w', }); } function getConfigurationPath(baseDir) { return `${baseDir}/configuration.json`; }