@steroidsjs/nest 1.4.44 → 1.4.46

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/README.md CHANGED
@@ -6,3 +6,9 @@
6
6
  1. Copy `tsconfig-debug.json.sample` to `tsconfig-debug.json`
7
7
  2. Replace `outDir` path to node_modules nest path in project
8
8
  3. Run from this directory `yarn run watch`
9
+
10
+ ## All scripts available
11
+ ```
12
+ yarn script
13
+ ```
14
+
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@steroidsjs/nest",
3
- "version": "1.4.44",
3
+ "version": "1.4.46",
4
4
  "scripts": {
5
- "copy-assets": "copyfiles ./{package.json,LICENSE,README.md} dist/ && copyfiles src/infrastructure/commands/entity-generator/templates/*.txt dist/",
6
- "build": "tsc && npm run copy-assets",
7
- "watch": "tsc -p tsconfig-debug.json",
8
- "test": "jest --config jest.e2e.config.ts"
5
+ "script": "nps",
6
+ "watch": "nps watch",
7
+ "build": "nps build",
8
+ "test": "nps test"
9
9
  },
10
10
  "description": "",
11
11
  "main": "index.js",
@@ -47,6 +47,7 @@
47
47
  "@types/node": "^18.7.23",
48
48
  "copyfiles": "^2.4.1",
49
49
  "jest": "^27.4.7",
50
+ "nps": "^5.10.0",
50
51
  "pg": "^8.7.1",
51
52
  "ts-jest": "^27.1.3",
52
53
  "ts-node": "^10.0.0",
@@ -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> {}