@nestjs-mod/common
Version:
A collection of utilities for unifying NestJS applications and modules
53 lines • 2.42 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)) {
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