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.AppendToDockerignoreService = void 0; const fs_1 = require("fs"); class AppendToDockerignoreService { get dockerignore() { return '.dockerignore'; } 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.dockerignore); } append(str) { (0, fs_1.appendFileSync)(this.dockerignore, str); } touch() { (0, fs_1.writeFileSync)(this.dockerignore, ''); } read() { return (0, fs_1.readFileSync)(this.dockerignore, 'utf8'); } async run() { let envExists = false; let flaskenvExists = false; let envProjectExists = false; let envVaultExists = false; if (this.missing()) { // ignore. must not be a docker project } else { // 2. iterate over dockerignore 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.AppendToDockerignoreService = AppendToDockerignoreService;