UNPKG

@aminya/dotenv-vault

Version:

A secrets manager for .env files – from the same people that pioneered dotenv.

54 lines (53 loc) 2.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OpenService = void 0; const tslib_1 = require("tslib"); const chalk_1 = tslib_1.__importDefault(require("chalk")); const vars_1 = require("../vars"); const fs_1 = require("fs"); const core_1 = require("@oclif/core"); const log_service_1 = require("../services/log-service"); const abort_service_1 = require("../services/abort-service"); class OpenService { constructor(attrs = {}) { this.cmd = attrs.cmd; this.environment = attrs.environment; this.yes = attrs.yes; this.log = new log_service_1.LogService({ cmd: attrs.cmd }); this.abort = new abort_service_1.AbortService({ cmd: attrs.cmd }); } async run() { if (vars_1.vars.missingEnvVault) { this.abort.missingEnvVault(); } if (vars_1.vars.emptyEnvVault) { this.abort.emptyEnvVault(); } if (!this.yes) { this.log.local(`Project URL: ${this.openUrl}`); const answer = await core_1.CliUx.ux.prompt(`${chalk_1.default.dim(this.log.pretextLocal)}Press ${chalk_1.default.green('y')} (or any key) to open up the browser to view your project or ${chalk_1.default.yellow('q')} to exit`); if (answer === 'q' || answer === 'Q') { this.abort.quit(); } } core_1.CliUx.ux.action.start(`${chalk_1.default.dim(this.log.pretextLocal)}Opening project page`); await core_1.CliUx.ux.wait(1000); core_1.CliUx.ux.action.stop(); this.log.local(`Opening browser to ${this.openUrl}`); core_1.CliUx.ux.open(this.openUrl).catch(_ => { }); this.log.plain(''); this.log.plain(`Next run ${chalk_1.default.bold(`${vars_1.vars.cli} ${this.pushOrPullCommand}`)} to ${this.pushOrPullCommand} your .env file`); } get openUrl() { return `${vars_1.vars.apiUrl}/open?DOTENV_VAULT=${vars_1.vars.vaultValue}&environment=${this.environment}`; } get pushOrPullCommand() { // tell dev to push if he already has a local .env file if ((0, fs_1.existsSync)('.env')) { return 'push'; } // otherwise tell him to pull return 'pull'; } } exports.OpenService = OpenService;