@nestjs-mod/common
Version:
A collection of utilities for unifying NestJS applications and modules
49 lines • 2.19 kB
JavaScript
;
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)) {
let content = (0, fs_1.readFileSync)(gitignoreFilePath, 'utf-8').toString();
let changed = false;
for (const line of lines) {
if (!content?.includes(line)) {
content = `${content}\n${line}\n`;
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, content);
}
}
}
}
}
};
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