@solidxai/code-builder 0.1.4 → 0.1.6-beta.0
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/CLAUDE.md +18 -0
- package/LICENSE +89 -0
- package/README.md +17 -19
- package/dist/code-builder/index.js +6 -6
- package/dist/code-builder/index.js.map +1 -1
- package/dist/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js +11 -1
- package/dist/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.js.map +1 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js +6 -5
- package/dist/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.js.map +1 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js +3 -3
- package/dist/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.js.map +1 -1
- package/dist/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js +7 -6
- package/dist/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js +5 -4
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js +5 -4
- package/dist/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js +26 -19
- package/dist/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js +5 -4
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js +6 -5
- package/dist/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js +7 -6
- package/dist/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldManagerForDto.js +5 -4
- package/dist/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldManagerForDto.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldManagerForEntity.js +6 -5
- package/dist/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js +26 -19
- package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js.map +1 -1
- package/dist/code-builder/lib/model/helpers.js +30 -29
- package/dist/code-builder/lib/model/helpers.js.map +1 -1
- package/dist/code-builder/lib/string.utils.d.ts +1 -0
- package/dist/code-builder/lib/string.utils.js +7 -0
- package/dist/code-builder/lib/string.utils.js.map +1 -0
- package/package.json +2 -2
- package/src/code-builder/index.ts +6 -9
- package/src/code-builder/lib/field/decorator-managers/dto/RegexDecoratorManager.ts +16 -1
- package/src/code-builder/lib/field/decorator-managers/entity/ManyToManyDecoratorManager.ts +5 -5
- package/src/code-builder/lib/field/decorator-managers/entity/ManyToOneDecoratorManager.ts +1 -1
- package/src/code-builder/lib/field/decorator-managers/entity/OneToManyDecoratorManager.ts +6 -6
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForDto.ts +4 -6
- package/src/code-builder/lib/field/field-managers/base/BaseFieldManagerForEntity.ts +3 -9
- package/src/code-builder/lib/field/field-managers/long-text/LongTextFieldManagerForEntity.ts +27 -27
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForDto.ts +3 -2
- package/src/code-builder/lib/field/field-managers/relation/ManyToManyRelationFieldManagerForEntity.ts +4 -3
- package/src/code-builder/lib/field/field-managers/relation/ManyToOneRelationFieldManagerForEntity.ts +4 -3
- package/src/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldManagerForDto.ts +3 -4
- package/src/code-builder/lib/field/field-managers/relation/OneToManyRelationFieldManagerForEntity.ts +4 -4
- package/src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.ts +27 -27
- package/src/code-builder/lib/model/helpers.ts +18 -19
- package/src/code-builder/lib/string.utils.ts +3 -0
package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js
CHANGED
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.RichTextFieldManagerForEntity = void 0;
|
|
7
7
|
const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
|
|
8
8
|
const BaseFieldManagerForEntity_1 = require("../base/BaseFieldManagerForEntity");
|
|
9
|
-
const db_helpers_1 = require("../../db-helpers");
|
|
10
9
|
//FIXME Implementation pending
|
|
11
10
|
class RichTextFieldManagerForEntity extends BaseFieldManagerForEntity_1.BaseFieldManagerForEntity {
|
|
12
11
|
constructor(tree, moduleName, modelName, field, modelEnableSoftDelete, dataSourceType) {
|
|
@@ -21,30 +20,38 @@ class RichTextFieldManagerForEntity extends BaseFieldManagerForEntity_1.BaseFiel
|
|
|
21
20
|
additionalColumnDecoratorOptions() {
|
|
22
21
|
var _a, _b;
|
|
23
22
|
const options = new Map();
|
|
24
|
-
if (this.field.max) {
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
// if (this.field.max) {
|
|
24
|
+
// options.set('length', transformColumnOptionForDatabase(
|
|
25
|
+
// 'length',
|
|
26
|
+
// this.field.max,
|
|
27
|
+
// this.field.ormType,
|
|
28
|
+
// this.dataSourceType,
|
|
29
|
+
// )
|
|
30
|
+
// );
|
|
31
|
+
// }
|
|
27
32
|
options.set('default', (_b = (_a = this.defaultValueInitializer(this.field.defaultValue)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null);
|
|
28
33
|
return options;
|
|
29
34
|
}
|
|
30
35
|
additionalColumnDecoratorOptionExpressions() {
|
|
31
36
|
var _a, _b;
|
|
32
37
|
const options = new Map();
|
|
33
|
-
if (this.field.max) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
38
|
+
// if (this.field.max) {
|
|
39
|
+
// const lengthValue = transformColumnOptionForDatabase(
|
|
40
|
+
// 'length',
|
|
41
|
+
// this.field.max,
|
|
42
|
+
// this.field.ormType,
|
|
43
|
+
// this.dataSourceType,
|
|
44
|
+
// );
|
|
45
|
+
// if (typeof lengthValue === 'number') {
|
|
46
|
+
// options.set('length', ts.factory.createNumericLiteral(lengthValue));
|
|
47
|
+
// } else if (typeof lengthValue === 'string') {
|
|
48
|
+
// options.set('length', ts.factory.createStringLiteral(lengthValue));
|
|
49
|
+
// } else {
|
|
50
|
+
// options.set('length', null);
|
|
51
|
+
// }
|
|
52
|
+
// } else {
|
|
53
|
+
// options.set('length', null);
|
|
54
|
+
// }
|
|
48
55
|
options.set('default', (_b = (_a = this.defaultValueInitializer(this.field.defaultValue)) === null || _a === void 0 ? void 0 : _a.expression) !== null && _b !== void 0 ? _b : null);
|
|
49
56
|
return options;
|
|
50
57
|
}
|
package/dist/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextFieldManagerForEntity.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.ts"],"names":[],"mappings":";;;;;;AACA,gIAAgG;AAEhG,iFAA8E;
|
|
1
|
+
{"version":3,"file":"RichTextFieldManagerForEntity.js","sourceRoot":"","sources":["../../../../../../src/code-builder/lib/field/field-managers/rich-text/RichTextFieldManagerForEntity.ts"],"names":[],"mappings":";;;;;;AACA,gIAAgG;AAEhG,iFAA8E;AAG9E,8BAA8B;AAC9B,MAAa,6BACX,SAAQ,qDAAyB;IAIjC,YAAY,IAAU,EAAE,UAAkB,EAAE,SAAiB,EAAE,KAAU,EAAE,qBAA0B,EAAE,cAAmC;QACxI,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE,cAAc,CAAC,CAAC;IACnF,CAAC;IAED,SAAS;QACP,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;SACrF,CAAC;IACJ,CAAC;IAEkB,gCAAgC;;QACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;QACvC,wBAAwB;QACxB,4DAA4D;QAC5D,gBAAgB;QAChB,sBAAsB;QACtB,0BAA0B;QAC1B,2BAA2B;QAC3B,MAAM;QACN,OAAO;QACP,IAAI;QACJ,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAA,MAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,0CAAE,KAAK,mCAAI,IAAI,CAAC,CAAC;QAC7F,OAAO,OAAO,CAAC;IACjB,CAAC;IAEkB,0CAA0C;;QAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;QACxD,wBAAwB;QACxB,0DAA0D;QAC1D,gBAAgB;QAChB,sBAAsB;QACtB,0BAA0B;QAC1B,2BAA2B;QAC3B,OAAO;QAEP,2CAA2C;QAC3C,2EAA2E;QAC3E,kDAAkD;QAClD,0EAA0E;QAC1E,aAAa;QACb,mCAAmC;QACnC,MAAM;QACN,WAAW;QACX,iCAAiC;QACjC,IAAI;QACJ,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAA,MAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,0CAAE,UAAU,mCAAI,IAAI,CAAC,CAAC;QAClG,OAAO,OAAO,CAAA;IAChB,CAAC;CAEF;AAvDD,sEAuDC"}
|
|
@@ -58,7 +58,8 @@ exports.outputParentImportPathForDto = outputParentImportPathForDto;
|
|
|
58
58
|
exports.unSnakeCase = unSnakeCase;
|
|
59
59
|
exports.readModelOptionsFromMetadata = readModelOptionsFromMetadata;
|
|
60
60
|
exports.readFieldOptionsFromMetadata = readFieldOptionsFromMetadata;
|
|
61
|
-
const
|
|
61
|
+
const lodash_1 = require("lodash");
|
|
62
|
+
const string_utils_1 = require("../string.utils");
|
|
62
63
|
const schematics_1 = require("@nestjs/schematics");
|
|
63
64
|
const typescript_1 = __importDefault(require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript"));
|
|
64
65
|
const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
|
|
@@ -95,17 +96,17 @@ function getModuleMetadata(modelName, type) {
|
|
|
95
96
|
// const symbols = [`TypeOrmModule.forFeature([${classify(modelName)}])`, `SolidCoreModule`];
|
|
96
97
|
return {
|
|
97
98
|
metadata: 'imports',
|
|
98
|
-
symbol: `TypeOrmModule.forFeature([${(0,
|
|
99
|
+
symbol: `TypeOrmModule.forFeature([${(0, string_utils_1.classify)(modelName)}])`
|
|
99
100
|
};
|
|
100
101
|
case ModuleMetadataType.Service:
|
|
101
|
-
return { metadata: 'providers', symbol: `${(0,
|
|
102
|
+
return { metadata: 'providers', symbol: `${(0, string_utils_1.classify)(modelName)}Service` };
|
|
102
103
|
case ModuleMetadataType.Controllers:
|
|
103
104
|
return {
|
|
104
105
|
metadata: 'controllers',
|
|
105
|
-
symbol: `${(0,
|
|
106
|
+
symbol: `${(0, string_utils_1.classify)(modelName)}Controller`,
|
|
106
107
|
};
|
|
107
108
|
case ModuleMetadataType.Repository:
|
|
108
|
-
return { metadata: 'providers', symbol: `${(0,
|
|
109
|
+
return { metadata: 'providers', symbol: `${(0, string_utils_1.classify)(modelName)}Repository` };
|
|
109
110
|
default:
|
|
110
111
|
throw Error('Invalid ModuleMetadataType');
|
|
111
112
|
}
|
|
@@ -114,28 +115,28 @@ function getSolidImports(modelName, type) {
|
|
|
114
115
|
switch (type) {
|
|
115
116
|
case SolidProviderType.Dto:
|
|
116
117
|
return {
|
|
117
|
-
symbolName: `Create${(0,
|
|
118
|
-
importPath: `./dtos/create-${(0,
|
|
118
|
+
symbolName: `Create${(0, string_utils_1.classify)(modelName)}Dto`,
|
|
119
|
+
importPath: `./dtos/create-${(0, lodash_1.kebabCase)(modelName)}.dto`,
|
|
119
120
|
};
|
|
120
121
|
case SolidProviderType.Service:
|
|
121
122
|
return {
|
|
122
|
-
symbolName: `${(0,
|
|
123
|
-
importPath: `./services/${(0,
|
|
123
|
+
symbolName: `${(0, string_utils_1.classify)(modelName)}Service`,
|
|
124
|
+
importPath: `./services/${(0, lodash_1.kebabCase)(modelName)}.service`,
|
|
124
125
|
};
|
|
125
126
|
case SolidProviderType.Controller:
|
|
126
127
|
return {
|
|
127
|
-
symbolName: `${(0,
|
|
128
|
-
importPath: `./controllers/${(0,
|
|
128
|
+
symbolName: `${(0, string_utils_1.classify)(modelName)}Controller`,
|
|
129
|
+
importPath: `./controllers/${(0, lodash_1.kebabCase)(modelName)}.controller`,
|
|
129
130
|
};
|
|
130
131
|
case SolidProviderType.Entity:
|
|
131
132
|
return {
|
|
132
|
-
symbolName: `${(0,
|
|
133
|
-
importPath: `./entities/${(0,
|
|
133
|
+
symbolName: `${(0, string_utils_1.classify)(modelName)}`,
|
|
134
|
+
importPath: `./entities/${(0, lodash_1.kebabCase)(modelName)}.entity`,
|
|
134
135
|
};
|
|
135
136
|
case SolidProviderType.Repository:
|
|
136
137
|
return {
|
|
137
|
-
symbolName: `${(0,
|
|
138
|
-
importPath: `./repositories/${(0,
|
|
138
|
+
symbolName: `${(0, string_utils_1.classify)(modelName)}Repository`,
|
|
139
|
+
importPath: `./repositories/${(0, lodash_1.kebabCase)(modelName)}.repository`,
|
|
139
140
|
};
|
|
140
141
|
default:
|
|
141
142
|
throw Error('Invalid SolidProviderType');
|
|
@@ -228,7 +229,7 @@ function getModuleMetadataFilePath(moduleName) {
|
|
|
228
229
|
return `src/${moduleName}/seeders/seed-data/${moduleName}-metadata.json`;
|
|
229
230
|
}
|
|
230
231
|
else {
|
|
231
|
-
return `module-metadata/${(0,
|
|
232
|
+
return `module-metadata/${(0, lodash_1.kebabCase)(moduleName)}/${(0, lodash_1.kebabCase)(moduleName)}-metadata.json`;
|
|
232
233
|
}
|
|
233
234
|
}
|
|
234
235
|
// function getChecksum(tree: Tree, filePath: string, checksums?: Checksum[]) {
|
|
@@ -353,15 +354,15 @@ function getSourceFilePathsAffected(command, options) {
|
|
|
353
354
|
const sourceFilePaths = [];
|
|
354
355
|
switch (command) {
|
|
355
356
|
case Command.AddModule:
|
|
356
|
-
sourceFilePaths.push(`src/${(0,
|
|
357
|
+
sourceFilePaths.push(`src/${(0, lodash_1.kebabCase)(options.module)}/${(0, lodash_1.kebabCase)(options.module)}.module.ts`);
|
|
357
358
|
break;
|
|
358
359
|
case Command.AddModel:
|
|
359
|
-
sourceFilePaths.push(`src/${(0,
|
|
360
|
-
sourceFilePaths.push(`src/${(0,
|
|
361
|
-
sourceFilePaths.push(`src/${(0,
|
|
362
|
-
sourceFilePaths.push(`src/${(0,
|
|
363
|
-
sourceFilePaths.push(`src/${(0,
|
|
364
|
-
sourceFilePaths.push(`src/${(0,
|
|
360
|
+
sourceFilePaths.push(`src/${(0, lodash_1.kebabCase)(options.module)}/${(0, lodash_1.kebabCase)(options.module)}.module.ts`);
|
|
361
|
+
sourceFilePaths.push(`src/${(0, lodash_1.kebabCase)(options.module)}/services/${(0, lodash_1.kebabCase)(options.model)}.service.ts`);
|
|
362
|
+
sourceFilePaths.push(`src/${(0, lodash_1.kebabCase)(options.module)}/controllers/${(0, lodash_1.kebabCase)(options.model)}.controller.ts`);
|
|
363
|
+
sourceFilePaths.push(`src/${(0, lodash_1.kebabCase)(options.module)}/entities/${(0, lodash_1.kebabCase)(options.model)}.entity.ts`);
|
|
364
|
+
sourceFilePaths.push(`src/${(0, lodash_1.kebabCase)(options.module)}/dtos/create-${(0, lodash_1.kebabCase)(options.model)}.dto.ts`);
|
|
365
|
+
sourceFilePaths.push(`src/${(0, lodash_1.kebabCase)(options.module)}/dtos/update-${(0, lodash_1.kebabCase)(options.model)}.dto.ts`);
|
|
365
366
|
break;
|
|
366
367
|
default:
|
|
367
368
|
throw Error('Invalid command');
|
|
@@ -468,8 +469,8 @@ function outputEntitySuperClassImport(module, isLegacyTable = false, isLegacyTab
|
|
|
468
469
|
let importPath = isLegacyTableWithId ? exports.SOLID_CORE_MODULE_NPM_PACKAGE_NAME : isLegacyTable ? exports.SOLID_CORE_MODULE_NPM_PACKAGE_NAME : calculateModuleFileImportPath(module, `src/entities/common.entity`);
|
|
469
470
|
let importSymbol = isLegacyTableWithId ? "LegacyCommonWithIdEntity" : isLegacyTable ? "LegacyCommonEntity" : "CommonEntity";
|
|
470
471
|
if (parentModel != null) {
|
|
471
|
-
importPath = calculateParentModuleFileImportPath(parentModule, `src/${(0,
|
|
472
|
-
importSymbol = `${(0,
|
|
472
|
+
importPath = calculateParentModuleFileImportPath(parentModule, `src/${(0, lodash_1.kebabCase)(parentModule)}/entities/${(0, lodash_1.kebabCase)(parentModel)}.entity`);
|
|
473
|
+
importSymbol = `${(0, string_utils_1.classify)(parentModel)}`;
|
|
473
474
|
}
|
|
474
475
|
return `import { ${importSymbol} } from '${importPath}';`;
|
|
475
476
|
}
|
|
@@ -480,12 +481,12 @@ function outputParentImportPathForDto(parentModel = null, parentModule = 'solid-
|
|
|
480
481
|
let importPath = ``;
|
|
481
482
|
let importSymbol = ``;
|
|
482
483
|
if (context === FieldManager_1.DtoSourceType.Update) {
|
|
483
|
-
importPath = parentModule === exports.SOLID_CORE_MODULE_NAME ? exports.SOLID_CORE_MODULE_NPM_PACKAGE_NAME : `src/${(0,
|
|
484
|
-
importSymbol = `Update${(0,
|
|
484
|
+
importPath = parentModule === exports.SOLID_CORE_MODULE_NAME ? exports.SOLID_CORE_MODULE_NPM_PACKAGE_NAME : `src/${(0, lodash_1.kebabCase)(parentModule)}/dtos/update-${(0, lodash_1.kebabCase)(parentModel)}.dto.ts`;
|
|
485
|
+
importSymbol = `Update${(0, string_utils_1.classify)(parentModel)}Dto`;
|
|
485
486
|
}
|
|
486
487
|
else if (context === FieldManager_1.DtoSourceType.Create) {
|
|
487
|
-
importPath = parentModule === exports.SOLID_CORE_MODULE_NAME ? exports.SOLID_CORE_MODULE_NPM_PACKAGE_NAME : `src/${(0,
|
|
488
|
-
importSymbol = `Create${(0,
|
|
488
|
+
importPath = parentModule === exports.SOLID_CORE_MODULE_NAME ? exports.SOLID_CORE_MODULE_NPM_PACKAGE_NAME : `src/${(0, lodash_1.kebabCase)(parentModule)}/dtos/create-${(0, lodash_1.kebabCase)(parentModel)}.dto.ts`;
|
|
489
|
+
importSymbol = `Create${(0, string_utils_1.classify)(parentModel)}Dto`;
|
|
489
490
|
}
|
|
490
491
|
return `import { ${importSymbol} } from '${importPath}';`;
|
|
491
492
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/code-builder/lib/model/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/code-builder/lib/model/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const classify: (s: string) => string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.classify = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
const classify = (s) => (0, lodash_1.upperFirst)((0, lodash_1.camelCase)(s));
|
|
6
|
+
exports.classify = classify;
|
|
7
|
+
//# sourceMappingURL=string.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.utils.js","sourceRoot":"","sources":["../../../src/code-builder/lib/string.utils.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAExC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAA,mBAAU,EAAC,IAAA,kBAAS,EAAC,CAAC,CAAC,CAAC,CAAC;AAA3D,QAAA,QAAQ,YAAmD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solidxai/code-builder",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6-beta.0",
|
|
4
4
|
"description": "This package is use to generate code for the @solidxai projects",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"schematics"
|
|
19
19
|
],
|
|
20
20
|
"author": "",
|
|
21
|
-
"license": "
|
|
21
|
+
"license": "BUSL-1.1",
|
|
22
22
|
"schematics": "./dist/collection.json",
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@angular-devkit/core": "^18.0.1",
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { classify, dasherize } from '@angular-devkit/core/src/utils/strings';
|
|
2
1
|
import {
|
|
3
2
|
MergeStrategy,
|
|
4
3
|
Rule,
|
|
@@ -17,16 +16,17 @@ import * as generateModelHelpers from './lib/model/helpers';
|
|
|
17
16
|
import { addField, SOLID_CORE_MODULE_NAME, readModelOptionsFromMetadata, readFieldOptionsFromMetadata } from './lib/model/helpers';
|
|
18
17
|
import { removeField } from './lib/model/helpers';
|
|
19
18
|
import ts from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
|
|
20
|
-
import {
|
|
19
|
+
import { kebabCase } from 'lodash';
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
import { classify } from './lib/string.utils';
|
|
22
|
+
const generateModelUtils = { dasherize: kebabCase, classify, ...generateModelHelpers };
|
|
23
23
|
// You don't have to export the function as default. You can also have more than one rule factory
|
|
24
24
|
// per file.
|
|
25
25
|
export function addModule(options: any): Rule {
|
|
26
26
|
return (_tree: Tree, _context: SchematicContext) => {
|
|
27
27
|
const moduleName = options.module;
|
|
28
28
|
const moduleFolderPath = `src/${moduleName}`;
|
|
29
|
-
const moduleFilePath = `${moduleFolderPath}/${
|
|
29
|
+
const moduleFilePath = `${moduleFolderPath}/${kebabCase(moduleName)}.module.ts`;
|
|
30
30
|
|
|
31
31
|
if (_tree.exists(moduleFilePath)) {
|
|
32
32
|
throw new Error(`Module file already exists at ${moduleFilePath}. Please use a unique module name.`);
|
|
@@ -56,7 +56,7 @@ export function refreshModel(options: any): Rule {
|
|
|
56
56
|
const modulePath = (options.module === SOLID_CORE_MODULE_NAME) ? `src` : `src/${options.module}`;
|
|
57
57
|
|
|
58
58
|
// If the model related code is not present, then add it by call addModel, else call update field with the fields provided
|
|
59
|
-
const modelEntityFilePath = `${modulePath}/entities/${
|
|
59
|
+
const modelEntityFilePath = `${modulePath}/entities/${kebabCase(options.model)}.entity.ts`;
|
|
60
60
|
const rules : Rule[] = [];
|
|
61
61
|
if (!tree.exists(modelEntityFilePath)) {
|
|
62
62
|
rules.push(addModel(options));
|
|
@@ -134,12 +134,11 @@ export function removeFields(options: any): Rule {
|
|
|
134
134
|
};
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
|
|
138
137
|
function addModuleImportsAndMetadata(options: any) { // TODO This method should perhaps be moved elsewhere since this is not a seperate command
|
|
139
138
|
return (tree: Tree, _context: SchematicContext) => {
|
|
140
139
|
// Handle the module imports
|
|
141
140
|
const modulePath = (options.module === SOLID_CORE_MODULE_NAME) ? `src` : `src/${options.module}`;
|
|
142
|
-
const moduleFilePath = `${modulePath}/${
|
|
141
|
+
const moduleFilePath = `${modulePath}/${kebabCase(options.module)}.module.ts`;
|
|
143
142
|
const moduleImports: generateModelHelpers.ImportData[] = [
|
|
144
143
|
{ symbolName: `TypeOrmModule`, importPath: `@nestjs/typeorm` },
|
|
145
144
|
generateModelHelpers.getSolidImports(
|
|
@@ -214,5 +213,3 @@ function showTree(sourceNode: ts.SourceFile){
|
|
|
214
213
|
printAllChildren(sourceNode, 0);
|
|
215
214
|
}
|
|
216
215
|
|
|
217
|
-
|
|
218
|
-
|
|
@@ -90,10 +90,25 @@ export class RegexDecoratorManager implements DecoratorManager {
|
|
|
90
90
|
if (existingCallExpression.arguments.length > 1) {
|
|
91
91
|
if (!ts.isObjectLiteralExpression(existingCallExpression.arguments[1])) { throw new Error('Regex decorator 2nd argument must be an object literal containing the validation options'); }
|
|
92
92
|
const existingObjectLiteralExpression = existingCallExpression.arguments[1] as ts.ObjectLiteralExpression;
|
|
93
|
-
|
|
93
|
+
// Copy all existing options except 'message' (will be overwritten from metadata below)
|
|
94
|
+
validationOptions.push(...existingObjectLiteralExpression.properties.filter(p => {
|
|
95
|
+
const name = (p.name as ts.Identifier)?.text;
|
|
96
|
+
return name !== 'message';
|
|
97
|
+
}));
|
|
94
98
|
}
|
|
95
99
|
}
|
|
96
100
|
|
|
101
|
+
// Upsert the message property from current metadata
|
|
102
|
+
const notMatchingErrorMsg = this.options.regexPatternNotMatchingErrorMsg;
|
|
103
|
+
if (notMatchingErrorMsg && notMatchingErrorMsg.trim().length > 0) {
|
|
104
|
+
validationOptions.push(
|
|
105
|
+
ts.factory.createPropertyAssignment(
|
|
106
|
+
ts.factory.createIdentifier('message'),
|
|
107
|
+
ts.factory.createStringLiteral(notMatchingErrorMsg)
|
|
108
|
+
)
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
|
|
97
112
|
// Re-create the column decorator with the merged column decorator options
|
|
98
113
|
const decoratorIdentifier = ts.factory.createIdentifier("Matches");
|
|
99
114
|
const argumentsArray: ts.Expression[] = [];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { camelCase } from 'lodash';
|
|
2
|
+
import { classify } from '../../../string.utils';
|
|
2
3
|
import ts, { ModifierLike, ObjectLiteralElementLike, PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
|
|
3
4
|
import { insertImport } from "@schematics/angular/utility/ast-utils";
|
|
4
5
|
import { Change } from "@schematics/angular/utility/change";
|
|
@@ -43,7 +44,7 @@ export class ManyToManyDecoratorManager implements DecoratorManager {
|
|
|
43
44
|
|
|
44
45
|
const fieldSourceLineComponents: string[] = [];
|
|
45
46
|
fieldSourceLineComponents.push(`() => ${classify(this.options.relationModelName)}`);
|
|
46
|
-
this.options.relationInverseFieldName ? fieldSourceLineComponents.push(`${
|
|
47
|
+
this.options.relationInverseFieldName ? fieldSourceLineComponents.push(`${camelCase(this.options.relationModelName)} => ${camelCase(this.options.relationModelName)}.${this.options.relationInverseFieldName}`) : "no-ops";
|
|
47
48
|
fieldSourceLineComponents.push(`${this.buildRelationOptionsCode()}`);
|
|
48
49
|
fieldSourceLines.push(`@${this.decoratorName()}(${fieldSourceLineComponents.join(', ')})`);
|
|
49
50
|
|
|
@@ -162,7 +163,7 @@ export class ManyToManyDecoratorManager implements DecoratorManager {
|
|
|
162
163
|
[ts.factory.createParameterDeclaration(
|
|
163
164
|
undefined,
|
|
164
165
|
undefined,
|
|
165
|
-
ts.factory.createIdentifier(
|
|
166
|
+
ts.factory.createIdentifier(camelCase(this.options.relationModelName)),
|
|
166
167
|
undefined,
|
|
167
168
|
undefined,
|
|
168
169
|
undefined
|
|
@@ -170,7 +171,7 @@ export class ManyToManyDecoratorManager implements DecoratorManager {
|
|
|
170
171
|
undefined,
|
|
171
172
|
ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
|
|
172
173
|
ts.factory.createPropertyAccessExpression(
|
|
173
|
-
ts.factory.createIdentifier(
|
|
174
|
+
ts.factory.createIdentifier(camelCase(this.options.relationModelName)),
|
|
174
175
|
ts.factory.createIdentifier(this.options.relationInverseFieldName)
|
|
175
176
|
)
|
|
176
177
|
);
|
|
@@ -219,7 +220,6 @@ export class ManyToManyDecoratorManager implements DecoratorManager {
|
|
|
219
220
|
return decoratorOptions;
|
|
220
221
|
}
|
|
221
222
|
|
|
222
|
-
|
|
223
223
|
private findDecorator(name: string, existingModifiers: ts.NodeArray<ts.ModifierLike> | undefined): ts.Decorator | undefined {
|
|
224
224
|
return existingModifiers ? existingModifiers.filter((m) => (m.kind === ts.SyntaxKind.Decorator)).map(m => m as ts.Decorator).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
|
|
225
225
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { classify } from "@angular-devkit/core/src/utils/strings";
|
|
2
1
|
import ts, { ModifierLike, ObjectLiteralElementLike, PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
|
|
3
2
|
import { insertImport } from "@schematics/angular/utility/ast-utils";
|
|
4
3
|
import { Change } from "@schematics/angular/utility/change";
|
|
5
4
|
import { DecoratorManager, DeleteType, PartialAddFieldChange } from "../../FieldManager";
|
|
6
5
|
import _ from 'lodash';
|
|
6
|
+
import { classify } from '../../../string.utils';
|
|
7
7
|
interface ManyToOneDecoratorOptions {
|
|
8
8
|
isManyToOne: boolean;
|
|
9
9
|
relationCoModelSingularName: string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { camelCase } from 'lodash';
|
|
2
|
+
import { classify } from '../../../string.utils';
|
|
2
3
|
import ts, { ModifierLike, ObjectLiteralElementLike, PropertyDeclaration } from "@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript";
|
|
3
4
|
import { insertImport } from "@schematics/angular/utility/ast-utils";
|
|
4
5
|
import { Change } from "@schematics/angular/utility/change";
|
|
@@ -38,13 +39,13 @@ export class OneToManyDecoratorManager implements DecoratorManager {
|
|
|
38
39
|
// changes.push(oneToManyImport);
|
|
39
40
|
// }
|
|
40
41
|
// fieldSourceLines.push(
|
|
41
|
-
// `@${this.decoratorName()}(() => ${classify(this.options.modelName)}, ${
|
|
42
|
+
// `@${this.decoratorName()}(() => ${classify(this.options.modelName)}, ${camelCase(this.options.modelName)} => ${camelCase(this.options.modelName)}.${this.options.fieldName}, ${this.buildRelationOptionsCode()})`,
|
|
42
43
|
// );
|
|
43
44
|
changes.push(...this.decoratorImports());
|
|
44
45
|
|
|
45
46
|
const fieldSourceLineComponents: string[] = [];
|
|
46
47
|
fieldSourceLineComponents.push(`() => ${classify(this.options.relationModelName)}`);
|
|
47
|
-
this.options.relationInverseFieldName ? fieldSourceLineComponents.push(`${
|
|
48
|
+
this.options.relationInverseFieldName ? fieldSourceLineComponents.push(`${camelCase(this.options.relationModelName)} => ${camelCase(this.options.relationModelName)}.${this.options.relationInverseFieldName}`) : "no-ops";
|
|
48
49
|
fieldSourceLineComponents.push(`${this.buildRelationOptionsCode()}`);
|
|
49
50
|
fieldSourceLines.push(`@${this.decoratorName()}(${fieldSourceLineComponents.join(', ')})`);
|
|
50
51
|
|
|
@@ -147,7 +148,7 @@ export class OneToManyDecoratorManager implements DecoratorManager {
|
|
|
147
148
|
[ts.factory.createParameterDeclaration(
|
|
148
149
|
undefined,
|
|
149
150
|
undefined,
|
|
150
|
-
ts.factory.createIdentifier(
|
|
151
|
+
ts.factory.createIdentifier(camelCase(this.options.relationModelName)),
|
|
151
152
|
undefined,
|
|
152
153
|
undefined,
|
|
153
154
|
undefined
|
|
@@ -155,7 +156,7 @@ export class OneToManyDecoratorManager implements DecoratorManager {
|
|
|
155
156
|
undefined,
|
|
156
157
|
ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
|
|
157
158
|
ts.factory.createPropertyAccessExpression(
|
|
158
|
-
ts.factory.createIdentifier(
|
|
159
|
+
ts.factory.createIdentifier(camelCase(this.options.relationModelName)),
|
|
159
160
|
ts.factory.createIdentifier(this.options.relationInverseFieldName)
|
|
160
161
|
)
|
|
161
162
|
);
|
|
@@ -202,7 +203,6 @@ export class OneToManyDecoratorManager implements DecoratorManager {
|
|
|
202
203
|
return decoratorOptions;
|
|
203
204
|
}
|
|
204
205
|
|
|
205
|
-
|
|
206
206
|
private findDecorator(name: string, existingModifiers: ts.NodeArray<ts.ModifierLike> | undefined): ts.Decorator | undefined {
|
|
207
207
|
return existingModifiers ? existingModifiers.filter((m) => (m.kind === ts.SyntaxKind.Decorator)).map(m => m as ts.Decorator).filter(m => this.containsIdentifierName(m, name)).pop() : undefined;
|
|
208
208
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { kebabCase } from 'lodash';
|
|
2
|
+
import { classify } from '../../../string.utils';
|
|
2
3
|
import { Tree } from '@angular-devkit/schematics';
|
|
3
4
|
import ts, {
|
|
4
5
|
ClassDeclaration,
|
|
@@ -59,8 +60,8 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
|
|
|
59
60
|
protected readonly field: any,
|
|
60
61
|
protected readonly options: ManagerForDtoOptions,
|
|
61
62
|
) {
|
|
62
|
-
const sourceFileName = (options.sourceType === DtoSourceType.Create) ? `create-${
|
|
63
|
-
const sourcePath = `src/${
|
|
63
|
+
const sourceFileName = (options.sourceType === DtoSourceType.Create) ? `create-${kebabCase(modelName)}.dto.ts` : `update-${kebabCase(modelName)}.dto.ts`;
|
|
64
|
+
const sourcePath = `src/${kebabCase(moduleName)}/dtos/${sourceFileName}`;
|
|
64
65
|
this.source = createSourceFile(
|
|
65
66
|
tree,
|
|
66
67
|
sourcePath,
|
|
@@ -96,7 +97,6 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
|
|
|
96
97
|
return fieldChanges;
|
|
97
98
|
}
|
|
98
99
|
|
|
99
|
-
|
|
100
100
|
fieldName(): string {
|
|
101
101
|
return this.field.name;
|
|
102
102
|
}
|
|
@@ -161,7 +161,6 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
|
|
|
161
161
|
const builderChanges: PartialAddFieldChange[] = [];
|
|
162
162
|
builderChanges.push(...this.applyBuildDecoratorTransformations(...decoratorManagers.reverse()));
|
|
163
163
|
|
|
164
|
-
|
|
165
164
|
// Capture the changes and field source lines
|
|
166
165
|
builderChanges.forEach((builderChange) => {
|
|
167
166
|
changes.push(...builderChange.changes);
|
|
@@ -226,7 +225,6 @@ export abstract class BaseFieldManagerForDto implements FieldManager {
|
|
|
226
225
|
source,
|
|
227
226
|
)?.parent as PropertyDeclaration;
|
|
228
227
|
|
|
229
|
-
|
|
230
228
|
// FIXME Handle the imports related to the updated field type
|
|
231
229
|
// Update the entity property declaration type
|
|
232
230
|
let updatedPropertyDeclarationNode: ts.PropertyDeclaration =
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
dasherize
|
|
4
|
-
} from '@angular-devkit/core/src/utils/strings';
|
|
1
|
+
import { kebabCase } from 'lodash';
|
|
2
|
+
import { classify } from '../../../string.utils';
|
|
5
3
|
import { Tree } from '@angular-devkit/schematics';
|
|
6
4
|
import ts, {
|
|
7
5
|
PropertyDeclaration,
|
|
@@ -55,7 +53,7 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
55
53
|
// So every operation should use a new instance of the field manager, so updated tree/source is used before each operation
|
|
56
54
|
this.source = createSourceFile(
|
|
57
55
|
tree,
|
|
58
|
-
`src/${
|
|
56
|
+
`src/${kebabCase(moduleName)}/entities/${kebabCase(modelName)}.entity.ts`,
|
|
59
57
|
);
|
|
60
58
|
const fieldPropertyDeclarationNode = this.getFieldIdentifierNode(
|
|
61
59
|
this.fieldName(),
|
|
@@ -181,7 +179,6 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
181
179
|
const builderChanges: PartialAddFieldChange[] = [];
|
|
182
180
|
builderChanges.push(...this.applyBuildDecoratorTransformations(...decoratorManagers.reverse()));
|
|
183
181
|
|
|
184
|
-
|
|
185
182
|
// Capture the changes and field source lines
|
|
186
183
|
builderChanges.forEach((builderChange) => {
|
|
187
184
|
changes.push(...builderChange.changes);
|
|
@@ -287,7 +284,6 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
287
284
|
source,
|
|
288
285
|
)?.parent as PropertyDeclaration;
|
|
289
286
|
|
|
290
|
-
|
|
291
287
|
// FIXME Handle the imports related to the updated field type
|
|
292
288
|
// Update the entity property declaration type
|
|
293
289
|
let updatedPropertyDeclarationNode: ts.PropertyDeclaration =
|
|
@@ -483,7 +479,6 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
483
479
|
return `${this.field.relationCoModelSingularName}s`;
|
|
484
480
|
}
|
|
485
481
|
|
|
486
|
-
|
|
487
482
|
private isManyToOne(): boolean {
|
|
488
483
|
return (this.field.type === 'relation' && this.field.relationType === RelationType.ManyToOne);
|
|
489
484
|
}
|
|
@@ -492,7 +487,6 @@ export abstract class BaseFieldManagerForEntity implements FieldManager {
|
|
|
492
487
|
return (this.field.type === 'relation' && this.field.relationType === RelationType.OneToMany);
|
|
493
488
|
}
|
|
494
489
|
|
|
495
|
-
|
|
496
490
|
protected isAdditionalFieldRequired(): boolean {
|
|
497
491
|
return false;
|
|
498
492
|
}
|