UNPKG

@notadd/cli

Version:

notadd core none dependence

49 lines (48 loc) 1.93 kB
"use strict"; 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;