@notadd/cli
Version:
notadd core none dependence
49 lines (48 loc) • 1.93 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateEntitiesService = void 0;
const tslib_1 = require("tslib");
const path_1 = require("path");
const fs_extra_1 = require("fs-extra");
const lodash_1 = require("lodash");
const util_1 = require("./util");
const core_1 = require("@notadd/core");
let CreateEntitiesService = class CreateEntitiesService {
constructor(util) {
this.util = util;
}
createEntities(entities) {
// 导入文件 导入文件名 导出文件
const { importFile, exportFile } = this.util.importExportFileAndImportNames(entities, 'entity');
// 创建.module.ts
const moduleContent = this._createModuleContent(importFile, entities);
const entitiesModuleUrl = path_1.join(process.cwd(), `${entities[0].dirName}.module.ts`);
if (fs_extra_1.pathExistsSync(entitiesModuleUrl)) {
console.log(`entities层已存在module文件,所以未生成`);
}
else {
fs_extra_1.writeFileSync(entitiesModuleUrl, moduleContent);
}
//创建此模块的index.ts 和修改模块的导出
this.util.createIndexTs(entities[0].dirName, process.cwd(), exportFile);
}
/**
* module 文件模板
*/
_createModuleContent(importFile, entities) {
const entityNames = JSON.stringify(entities.map((it) => it.entityName)).replace(/"/g, '');
return `
import { Module } from '@notadd/core';
import { TypeormModule } from '@notadd/typeorm';${importFile}
@Module({
imports: [TypeormModule.forFeature(${entityNames})]
})
export class ${lodash_1.upperFirst(entities[0].dirName)}EntitiesModule {}
`;
}
};
CreateEntitiesService = tslib_1.__decorate([
core_1.Injectable(),
tslib_1.__metadata("design:paramtypes", [util_1.UtilService])
], CreateEntitiesService);
exports.CreateEntitiesService = CreateEntitiesService;
;