@steroidsjs/nest 1.4.44 → 1.4.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/nest",
3
- "version": "1.4.44",
3
+ "version": "1.4.45",
4
4
  "scripts": {
5
5
  "copy-assets": "copyfiles ./{package.json,LICENSE,README.md} dist/ && copyfiles src/infrastructure/commands/entity-generator/templates/*.txt dist/",
6
6
  "build": "tsc && npm run copy-assets",
@@ -1,10 +1,13 @@
1
1
  export declare class EntityCodeGenerator {
2
2
  readonly entityName: string;
3
3
  readonly moduleName: string;
4
+ readonly tableName: string;
4
5
  readonly projectRootPath: string;
5
6
  readonly modulePath: string;
7
+ readonly placeholdersValuesMap: Record<string, string>;
6
8
  constructor(entityName: string, moduleName: string, rootPath?: string);
7
9
  generate(): void;
8
10
  private generateFileByType;
9
11
  private findModulePath;
12
+ private getTableName;
10
13
  }
@@ -5,6 +5,7 @@ const fs = require("node:fs");
5
5
  const path = require("path");
6
6
  const lodash_1 = require("lodash");
7
7
  const ENTITY_NAME_PLACEHOLDER = '%entityName%';
8
+ const TABLE_NAME_PLACEHOLDER = '%tableName%';
8
9
  const resultPaths = {
9
10
  model: 'domain/models/%entityName%Model.ts',
10
11
  repository: 'infrastructure/repositories/%entityName%Repository.ts',
@@ -25,6 +26,7 @@ const templates = {
25
26
  };
26
27
  class EntityCodeGenerator {
27
28
  constructor(entityName, moduleName, rootPath = null) {
29
+ this.placeholdersValuesMap = {};
28
30
  if (entityName[0].toUpperCase() !== entityName[0]) {
29
31
  this.entityName = entityName.charAt(0).toUpperCase() + entityName.slice(1);
30
32
  }
@@ -34,6 +36,11 @@ class EntityCodeGenerator {
34
36
  this.moduleName = moduleName;
35
37
  this.projectRootPath = rootPath || process.cwd();
36
38
  this.modulePath = this.findModulePath(moduleName);
39
+ this.tableName = this.getTableName();
40
+ this.placeholdersValuesMap = {
41
+ [ENTITY_NAME_PLACEHOLDER]: this.entityName,
42
+ [TABLE_NAME_PLACEHOLDER]: this.tableName,
43
+ };
37
44
  }
38
45
  generate() {
39
46
  const allFileTypes = Object.keys(templates);
@@ -43,8 +50,10 @@ class EntityCodeGenerator {
43
50
  }
44
51
  generateFileByType(fileType) {
45
52
  const templatePath = path.resolve(__dirname, 'templates');
46
- let templateContent = fs.readFileSync(path.resolve(templatePath, templates[fileType]), 'utf8');
47
- const resultFileContent = templateContent.replace(new RegExp(`${(0, lodash_1.escapeRegExp)(ENTITY_NAME_PLACEHOLDER)}`, 'g'), this.entityName);
53
+ let resultFileContent = fs.readFileSync(path.resolve(templatePath, templates[fileType]), 'utf8');
54
+ for (const placeholder in this.placeholdersValuesMap) {
55
+ resultFileContent = resultFileContent.replace(new RegExp(`${(0, lodash_1.escapeRegExp)(placeholder)}`, 'g'), this.placeholdersValuesMap[placeholder]);
56
+ }
48
57
  let resultFilePath = path.resolve(this.modulePath, resultPaths[fileType].replace(ENTITY_NAME_PLACEHOLDER, this.entityName));
49
58
  const resultFileDirPath = path.dirname(resultFilePath);
50
59
  if (!fs.existsSync(resultFileDirPath)) {
@@ -64,6 +73,15 @@ class EntityCodeGenerator {
64
73
  }
65
74
  throw new Error('No module with a provided name is found');
66
75
  }
76
+ getTableName() {
77
+ let tableName = (0, lodash_1.snakeCase)(this.entityName);
78
+ const isTableNameContainsModuleName = (new RegExp(`^${this.moduleName}.*`)).test(tableName);
79
+ console.log('check', this.entityName, this.moduleName, isTableNameContainsModuleName);
80
+ if (!isTableNameContainsModuleName) {
81
+ tableName = this.moduleName + '_' + tableName;
82
+ }
83
+ return tableName;
84
+ }
67
85
  }
68
86
  exports.EntityCodeGenerator = EntityCodeGenerator;
69
87
  //# sourceMappingURL=EntityCodeGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityCodeGenerator.js","sourceRoot":"","sources":["../../../../../src/infrastructure/commands/entity-generator/EntityCodeGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityCodeGenerator.js","sourceRoot":"","sources":["../../../../../src/infrastructure/commands/entity-generator/EntityCodeGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
- export class %entityName%Model {
1
+ import {PrimaryKeyField} from '@steroidsjs/nest/src/infrastructure/decorators/fields';
2
2
 
3
+ export class %entityName%Model {
4
+ @PrimaryKeyField()
5
+ id: number;
3
6
  }
@@ -2,5 +2,5 @@ import {DeepPartial} from 'typeorm';
2
2
  import {TableFromModel} from '@steroidsjs/nest/src/infrastructure/decorators/TableFromModel';
3
3
  import {%entityName%Model} from '../../domain/models/%entityName%Model';
4
4
 
5
- @TableFromModel(%entityName%Model, '%entityName%')
5
+ @TableFromModel(%entityName%Model, '%tableName%')
6
6
  export class %entityName%Table implements DeepPartial<%entityName%Model> {}