UNPKG

@nestjs-mod/common

Version:

A collection of utilities for unifying NestJS applications and modules

53 lines 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GitignoreService = void 0; const tslib_1 = require("tslib"); const common_1 = require("@nestjs/common"); const fs_1 = require("fs"); const path_1 = require("path"); const is_infrastructure_1 = require("../../../../utils/is-infrastructure"); const package_json_service_1 = require("./package-json.service"); let GitignoreService = class GitignoreService { constructor(packageJsonService) { this.packageJsonService = packageJsonService; } addGitIgnoreEntry(lines) { const packageJson = this.packageJsonService.read(); const packageJsonFilePath = this.packageJsonService.getPackageJsonFilePath(); if (packageJson && packageJsonFilePath) { const gitignoreFilePath = `${(0, path_1.dirname)(packageJsonFilePath)}/.gitignore`; if ((0, fs_1.existsSync)(gitignoreFilePath)) { const content = (0, fs_1.readFileSync)(gitignoreFilePath, 'utf-8').toString(); const contentArray = content.split('\n'); let changed = false; for (const line of lines) { if (!contentArray?.includes(line) && !contentArray?.includes(`# ${line}`)) { if (changed === false) { contentArray.push(''); } contentArray.push(line); changed = true; } } if (changed) { if (!gitignoreFilePath) { return; } if ((0, is_infrastructure_1.isInfrastructureMode)()) { const fileDir = (0, path_1.dirname)(gitignoreFilePath); if (!(0, fs_1.existsSync)(fileDir)) { (0, fs_1.mkdirSync)(fileDir, { recursive: true }); } (0, fs_1.writeFileSync)(gitignoreFilePath, contentArray.join('\n')); } } } } } }; exports.GitignoreService = GitignoreService; exports.GitignoreService = GitignoreService = tslib_1.__decorate([ (0, common_1.Injectable)(), tslib_1.__metadata("design:paramtypes", [package_json_service_1.PackageJsonService]) ], GitignoreService); //# sourceMappingURL=gitignore-file.js.map