@rxap/schematics-ts-morph 18.0.3-dev.1 → 18.0.3-dev.2
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/CHANGELOG.md +4 -0
- package/package.json +8 -8
- package/src/lib/angular/coerce-data-source-class.d.ts +4 -18
- package/src/lib/angular/coerce-data-source-class.js +7 -68
- package/src/lib/angular/coerce-data-source-class.js.map +1 -1
- package/src/lib/angular/coerce-table-data-source.js +5 -6
- package/src/lib/angular/coerce-table-data-source.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [18.0.3-dev.2](https://gitlab.com/rxap/packages/compare/@rxap/schematics-ts-morph@18.0.3-dev.1...@rxap/schematics-ts-morph@18.0.3-dev.2) (2024-06-04)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @rxap/schematics-ts-morph
|
|
9
|
+
|
|
6
10
|
## [18.0.3-dev.1](https://gitlab.com/rxap/packages/compare/@rxap/schematics-ts-morph@18.0.3-dev.0...@rxap/schematics-ts-morph@18.0.3-dev.1) (2024-06-04)
|
|
7
11
|
|
|
8
12
|
**Note:** Version bump only for package @rxap/schematics-ts-morph
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "18.0.3-dev.
|
|
2
|
+
"version": "18.0.3-dev.2",
|
|
3
3
|
"name": "@rxap/schematics-ts-morph",
|
|
4
4
|
"license": "GPL-3.0-or-later",
|
|
5
5
|
"dependencies": {
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
"@angular-devkit/core": "^18.0.2",
|
|
12
12
|
"@angular-devkit/schematics": "^18.0.2",
|
|
13
13
|
"@rxap/schematics-utilities": "^18.0.1",
|
|
14
|
-
"@rxap/ts-morph": "^1.3.0",
|
|
14
|
+
"@rxap/ts-morph": "^1.3.1-dev.0",
|
|
15
15
|
"@rxap/utilities": "^16.2.2",
|
|
16
|
-
"@rxap/workspace-ts-morph": "^19.0.
|
|
17
|
-
"@rxap/workspace-utilities": "^19.2.0-dev.
|
|
16
|
+
"@rxap/workspace-ts-morph": "^19.1.0-dev.0",
|
|
17
|
+
"@rxap/workspace-utilities": "^19.2.0-dev.2",
|
|
18
18
|
"ts-morph": "^18.0.0"
|
|
19
19
|
},
|
|
20
20
|
"author": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
"package": "@rxap/ts-morph",
|
|
49
|
-
"version": "1.3.0"
|
|
49
|
+
"version": "1.3.1-dev.0"
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
"package": "@rxap/utilities",
|
|
@@ -54,11 +54,11 @@
|
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
"package": "@rxap/workspace-ts-morph",
|
|
57
|
-
"version": "19.0.
|
|
57
|
+
"version": "19.1.0-dev.0"
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
"package": "@rxap/workspace-utilities",
|
|
61
|
-
"version": "19.2.0-dev.
|
|
61
|
+
"version": "19.2.0-dev.2"
|
|
62
62
|
}
|
|
63
63
|
]
|
|
64
64
|
},
|
|
@@ -72,6 +72,6 @@
|
|
|
72
72
|
"directory": "packages/schematic/ts-morph"
|
|
73
73
|
},
|
|
74
74
|
"type": "commonjs",
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "5b90b7d02acbe45f0f4fb33c34ef300c3f036764",
|
|
76
76
|
"main": "./src/index.js"
|
|
77
77
|
}
|
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { TsMorphAngularProjectTransformOptions } from '
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
providedInRoot?: boolean;
|
|
1
|
+
import { CoerceDataSourceClassOptions as NEW_CoerceDataSourceClassOptions } from '@rxap/ts-morph';
|
|
2
|
+
import { TsMorphAngularProjectTransformOptions } from '@rxap/workspace-ts-morph';
|
|
3
|
+
import { ClassDeclaration, Project, SourceFile } from 'ts-morph';
|
|
4
|
+
export interface CoerceDataSourceClassOptions extends TsMorphAngularProjectTransformOptions, NEW_CoerceDataSourceClassOptions {
|
|
6
5
|
tsMorphTransform?: (project: Project, sourceFile: SourceFile, classDeclaration: ClassDeclaration) => void;
|
|
7
|
-
decorator?: {
|
|
8
|
-
name: string;
|
|
9
|
-
moduleSpecifier: string;
|
|
10
|
-
argument?: string | WriterFunction;
|
|
11
|
-
};
|
|
12
|
-
extends?: {
|
|
13
|
-
name: string;
|
|
14
|
-
moduleSpecifier: string;
|
|
15
|
-
};
|
|
16
|
-
coerceDecorator?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions) => void;
|
|
17
|
-
coerceExtends?: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions) => void;
|
|
18
6
|
}
|
|
19
|
-
export declare function CoerceRxapDataSourceDecorator(sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions): void;
|
|
20
|
-
export declare function CoerceExtendsBaseDataSource(sourceFile: SourceFile, classDeclaration: ClassDeclaration, options: CoerceDataSourceClassOptions): void;
|
|
21
7
|
export declare function CoerceDataSourceClass(options: CoerceDataSourceClassOptions): import("@angular-devkit/schematics").Rule;
|
|
@@ -1,77 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CoerceDataSourceClass =
|
|
3
|
+
exports.CoerceDataSourceClass = void 0;
|
|
4
4
|
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
5
|
+
const ts_morph_1 = require("@rxap/ts-morph");
|
|
6
|
+
const utilities_1 = require("@rxap/utilities");
|
|
7
7
|
const ts_morph_transform_1 = require("../ts-morph-transform");
|
|
8
|
-
const coerce_decorator_1 = require("../ts-morph/coerce-decorator");
|
|
9
|
-
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
10
|
-
function CoerceRxapDataSourceDecorator(sourceFile, classDeclaration, options) {
|
|
11
|
-
(0, coerce_decorator_1.CoerceDecorator)(classDeclaration, options.decorator.name, { arguments: [options.decorator.argument] });
|
|
12
|
-
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
13
|
-
moduleSpecifier: options.decorator.moduleSpecifier,
|
|
14
|
-
namedImports: [options.decorator.name],
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
exports.CoerceRxapDataSourceDecorator = CoerceRxapDataSourceDecorator;
|
|
18
|
-
function CoerceExtendsBaseDataSource(sourceFile, classDeclaration, options) {
|
|
19
|
-
if (!classDeclaration.getExtends()) {
|
|
20
|
-
classDeclaration.setExtends(options.extends.name);
|
|
21
|
-
(0, coerce_imports_1.CoerceImports)(sourceFile, [
|
|
22
|
-
{
|
|
23
|
-
moduleSpecifier: options.extends.moduleSpecifier,
|
|
24
|
-
namedImports: [options.extends.name],
|
|
25
|
-
},
|
|
26
|
-
]);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.CoerceExtendsBaseDataSource = CoerceExtendsBaseDataSource;
|
|
30
8
|
function CoerceDataSourceClass(options) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
35
|
-
tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => {
|
|
36
|
-
});
|
|
37
|
-
coerceDecorator !== null && coerceDecorator !== void 0 ? coerceDecorator : (coerceDecorator = CoerceRxapDataSourceDecorator);
|
|
38
|
-
coerceExtends !== null && coerceExtends !== void 0 ? coerceExtends : (coerceExtends = CoerceExtendsBaseDataSource);
|
|
39
|
-
(_a = options.decorator) !== null && _a !== void 0 ? _a : (options.decorator = {
|
|
40
|
-
name: 'RxapDataSource',
|
|
41
|
-
moduleSpecifier: '@rxap/data-source',
|
|
42
|
-
});
|
|
43
|
-
(_b = options.extends) !== null && _b !== void 0 ? _b : (options.extends = {
|
|
44
|
-
name: 'BaseDataSource',
|
|
45
|
-
moduleSpecifier: '@rxap/data-source',
|
|
46
|
-
});
|
|
47
|
-
(_c = (_d = options.decorator).argument) !== null && _c !== void 0 ? _c : (_d.argument = w => w.quote(options.name));
|
|
48
|
-
const className = (0, schematics_utilities_1.classify)((0, schematics_utilities_1.CoerceSuffix)(name, 'DataSource'));
|
|
49
|
-
const fileName = (0, schematics_utilities_1.CoerceSuffix)(name, '.data-source.ts');
|
|
50
|
-
return (0, ts_morph_transform_1.TsMorphAngularProjectTransformRule)(options, (project) => {
|
|
51
|
-
const sourceFile = (0, coerce_source_file_1.CoerceSourceFile)(project, fileName);
|
|
52
|
-
const classDeclaration = (0, coerce_class_1.CoerceClass)(sourceFile, className, {
|
|
53
|
-
isExported: true,
|
|
54
|
-
decorators: [
|
|
55
|
-
{
|
|
56
|
-
name: 'Injectable',
|
|
57
|
-
arguments: [
|
|
58
|
-
w => {
|
|
59
|
-
if (providedInRoot) {
|
|
60
|
-
w.write(`{ providedIn: 'root' }`);
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
],
|
|
64
|
-
},
|
|
65
|
-
],
|
|
66
|
-
});
|
|
67
|
-
coerceDecorator(sourceFile, classDeclaration, options);
|
|
68
|
-
coerceExtends(sourceFile, classDeclaration, options);
|
|
69
|
-
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
70
|
-
moduleSpecifier: '@angular/core',
|
|
71
|
-
namedImports: ['Injectable'],
|
|
72
|
-
});
|
|
9
|
+
const { name, tsMorphTransform = utilities_1.noop, } = options;
|
|
10
|
+
return (0, ts_morph_transform_1.TsMorphAngularProjectTransformRule)(options, (project, [sourceFile]) => {
|
|
11
|
+
const classDeclaration = (0, ts_morph_1.CoerceDataSourceClass)(sourceFile, options);
|
|
73
12
|
tsMorphTransform(project, sourceFile, classDeclaration);
|
|
74
|
-
});
|
|
13
|
+
}, [(0, schematics_utilities_1.CoerceSuffix)(name, '.data-source.ts') + '?']);
|
|
75
14
|
}
|
|
76
15
|
exports.CoerceDataSourceClass = CoerceDataSourceClass;
|
|
77
16
|
//# sourceMappingURL=coerce-data-source-class.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-data-source-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-data-source-class.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"coerce-data-source-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-data-source-class.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;AAC1D,6CAGwB;AACxB,+CAAuC;AAOvC,8DAA2E;AAM3E,SAAgB,qBAAqB,CAAC,OAAqC;IACzE,MAAM,EACJ,IAAI,EACJ,gBAAgB,GAAG,gBAAI,GACxB,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAA,uDAAkC,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAE,UAAU,CAAE,EAAE,EAAE;QAC7E,MAAM,gBAAgB,GAAG,IAAA,gCAAyB,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACxE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,IAAA,mCAAY,EAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;AAVD,sDAUC"}
|
|
@@ -2,23 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoerceTableDataSourceRule = void 0;
|
|
4
4
|
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
5
|
-
const
|
|
5
|
+
const ts_morph_1 = require("@rxap/ts-morph");
|
|
6
6
|
const operation_id_utilities_1 = require("../nest/operation-id-utilities");
|
|
7
7
|
const coerce_decorator_1 = require("../ts-morph/coerce-decorator");
|
|
8
|
-
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
9
8
|
const coerce_parameter_declaration_1 = require("../ts-morph/coerce-parameter-declaration");
|
|
10
9
|
const coerce_data_source_class_1 = require("./coerce-data-source-class");
|
|
11
10
|
function CoerceTableDataSourceRule(options) {
|
|
12
11
|
let { name, operationId, scope, } = options;
|
|
13
12
|
name = (0, schematics_utilities_1.CoerceSuffix)(name, '-table');
|
|
14
|
-
return (0, coerce_data_source_class_1.CoerceDataSourceClass)(Object.assign(Object.assign({}, options), { coerceExtends: (sourceFile, classDeclaration
|
|
13
|
+
return (0, coerce_data_source_class_1.CoerceDataSourceClass)(Object.assign(Object.assign({}, options), { coerceExtends: (sourceFile, classDeclaration) => {
|
|
15
14
|
classDeclaration.setExtends('DynamicTableDataSource');
|
|
16
|
-
(0,
|
|
15
|
+
(0, ts_morph_1.CoerceImports)(sourceFile, {
|
|
17
16
|
moduleSpecifier: '@rxap/data-source/table',
|
|
18
17
|
namedImports: ['DynamicTableDataSource'],
|
|
19
18
|
});
|
|
20
19
|
}, tsMorphTransform: (project, sourceFile, classDeclaration) => {
|
|
21
|
-
const [constructorDeclaration] = (0,
|
|
20
|
+
const [constructorDeclaration] = (0, ts_morph_1.CoerceClassConstructor)(classDeclaration);
|
|
22
21
|
constructorDeclaration.set({
|
|
23
22
|
statements: [
|
|
24
23
|
'super(new GetPageAdapterRemoteMethod(getByFilter as any));',
|
|
@@ -30,7 +29,7 @@ function CoerceTableDataSourceRule(options) {
|
|
|
30
29
|
(0, coerce_decorator_1.CoerceDecorator)(propertyDeclaration, 'Inject').set({
|
|
31
30
|
arguments: [(0, operation_id_utilities_1.OperationIdToClassName)(operationId)],
|
|
32
31
|
});
|
|
33
|
-
(0,
|
|
32
|
+
(0, ts_morph_1.CoerceImports)(sourceFile, [
|
|
34
33
|
{
|
|
35
34
|
moduleSpecifier: '@angular/core',
|
|
36
35
|
namedImports: ['Inject'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-table-data-source.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-table-data-source.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;
|
|
1
|
+
{"version":3,"file":"coerce-table-data-source.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-table-data-source.ts"],"names":[],"mappings":";;;AAAA,qEAA0D;AAC1D,6CAGwB;AAMxB,2EAGwC;AACxC,mEAA+D;AAC/D,2FAAsF;AACtF,yEAGoC;AAUpC,SAAgB,yBAAyB,CAAC,OAA+C;IACvF,IAAI,EACF,IAAI,EACJ,WAAW,EACX,KAAK,GACN,GAAG,OAAO,CAAC;IACZ,IAAI,GAAG,IAAA,mCAAY,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEpC,OAAO,IAAA,gDAAqB,kCACvB,OAAO,KACV,aAAa,EAAE,CACb,UAAsB,EACtB,gBAAkC,EAClC,EAAE;YACF,gBAAgB,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;YACtD,IAAA,wBAAa,EAAC,UAAU,EAAE;gBACxB,eAAe,EAAE,yBAAyB;gBAC1C,YAAY,EAAE,CAAE,wBAAwB,CAAE;aAC3C,CAAC,CAAC;QACL,CAAC,EACD,gBAAgB,EAAE,CAAC,OAAgB,EAAE,UAAsB,EAAE,gBAAkC,EAAE,EAAE;YACjG,MAAM,CAAE,sBAAsB,CAAE,GAAG,IAAA,iCAAsB,EAAC,gBAAgB,CAAC,CAAC;YAE5E,sBAAsB,CAAC,GAAG,CAAC;gBACzB,UAAU,EAAE;oBACV,4DAA4D;iBAC7D;aACF,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAG,IAAA,yDAA0B,EAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC;gBAChG,IAAI,EAAE,IAAA,+CAAsB,EAAC,WAAW,CAAC;aAC1C,CAAC,CAAC;YAEH,IAAA,kCAAe,EAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC;gBACjD,SAAS,EAAE,CAAE,IAAA,+CAAsB,EAAC,WAAW,CAAC,CAAE;aACnD,CAAC,CAAC;YAEH,IAAA,wBAAa,EAAC,UAAU,EAAE;gBACxB;oBACE,eAAe,EAAE,eAAe;oBAChC,YAAY,EAAE,CAAE,QAAQ,CAAE;iBAC3B;gBACD;oBACE,eAAe,EAAE,IAAA,qDAA4B,EAAC,WAAW,EAAE,KAAK,CAAC;oBACjE,YAAY,EAAE,CAAE,IAAA,+CAAsB,EAAC,WAAW,CAAC,CAAE;iBACtD;gBACD;oBACE,eAAe,EAAE,8BAA8B;oBAC/C,YAAY,EAAE,CAAE,4BAA4B,CAAE;iBAC/C;aACF,CAAC,CAAC;QAEL,CAAC,EACD,IAAI,IACJ,CAAC;AAEL,CAAC;AAxDD,8DAwDC"}
|