UNPKG

@aminya/dotenv-vault

Version:

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

77 lines (76 loc) 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AppendToVercelignoreService = void 0; const fs_1 = require("fs"); class AppendToVercelignoreService { get vercelignore() { return '.vercelignore'; } get envFormat() { return '.env*'; // asterisk } get flaskenvFormat() { return '.flaskenv*'; } get envProjectFormat() { return '!.env.project'; } get envVaultFormat() { return '!.env.vault'; } missing() { return !(0, fs_1.existsSync)(this.vercelignore); } append(str) { (0, fs_1.appendFileSync)(this.vercelignore, str); } touch() { (0, fs_1.writeFileSync)(this.vercelignore, ''); } read() { return (0, fs_1.readFileSync)(this.vercelignore, 'utf8'); } async run() { let envExists = false; let flaskenvExists = false; let envProjectExists = false; let envVaultExists = false; if (this.missing()) { // ignore. must not be a vercel project } else { // 2. iterate over vercelignore lines const lines = this.read().split(/\r?\n/); // 3. for each line check if ignore already exists for (const line of lines) { const trimLine = line.trim(); if (trimLine === this.envFormat) { envExists = true; } if (trimLine === this.flaskenvFormat) { flaskenvExists = true; } if (trimLine === this.envProjectFormat) { envProjectExists = true; } if (trimLine === this.envVaultFormat) { envVaultExists = true; } } // 4. add ignore if it does not already exist if (envExists === false) { this.append('\n' + this.envFormat); } if (flaskenvExists === false) { this.append('\n' + this.flaskenvFormat); } if (envProjectExists === false) { this.append('\n' + this.envProjectFormat); } if (envVaultExists === false) { this.append('\n' + this.envVaultFormat); } } } } exports.AppendToVercelignoreService = AppendToVercelignoreService;