@rxap/schematic-nestjs 0.1.0-dev.0 → 0.1.0-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 +13 -0
- package/README.md +1 -1
- package/package.json +30 -12
- package/src/index.js +1 -2
- package/src/schematics/crud/index.js +14 -18
- package/src/schematics/crud/index.js.map +1 -1
- package/src/schematics/crud/schema.js +1 -2
- package/src/schematics/crud-init/index.js +7 -10
- package/src/schematics/crud-init/index.js.map +1 -1
- package/src/schematics/crud-init/schema.js +1 -2
- package/src/schematics/crud-service/add-module-export.js +8 -13
- package/src/schematics/crud-service/add-module-export.js.map +1 -1
- package/src/schematics/crud-service/add-module-provider.js +8 -13
- package/src/schematics/crud-service/add-module-provider.js.map +1 -1
- package/src/schematics/crud-service/coerce-class-method.js +5 -6
- package/src/schematics/crud-service/coerce-class-method.js.map +1 -1
- package/src/schematics/crud-service/coerce-class-property.js +5 -6
- package/src/schematics/crud-service/coerce-class-property.js.map +1 -1
- package/src/schematics/crud-service/coerce-collection-enum.js +7 -13
- package/src/schematics/crud-service/coerce-collection-enum.js.map +1 -1
- package/src/schematics/crud-service/coerce-module-class.js +5 -9
- package/src/schematics/crud-service/coerce-module-class.js.map +1 -1
- package/src/schematics/crud-service/coerce-source-file-rule.js +3 -7
- package/src/schematics/crud-service/coerce-source-file-rule.js.map +1 -1
- package/src/schematics/crud-service/crud-class/create-method.js +10 -14
- package/src/schematics/crud-service/crud-class/create-method.js.map +1 -1
- package/src/schematics/crud-service/crud-class/delete-method.js +9 -13
- package/src/schematics/crud-service/crud-class/delete-method.js.map +1 -1
- package/src/schematics/crud-service/crud-class/exists-method.js +9 -13
- package/src/schematics/crud-service/crud-class/exists-method.js.map +1 -1
- package/src/schematics/crud-service/crud-class/find-in-group-method.js +5 -9
- package/src/schematics/crud-service/crud-class/find-in-group-method.js.map +1 -1
- package/src/schematics/crud-service/crud-class/find-method.js +9 -13
- package/src/schematics/crud-service/crud-class/find-method.js.map +1 -1
- package/src/schematics/crud-service/crud-class/get-method.js +9 -13
- package/src/schematics/crud-service/crud-class/get-method.js.map +1 -1
- package/src/schematics/crud-service/crud-class/update-field-method.js +10 -14
- package/src/schematics/crud-service/crud-class/update-field-method.js.map +1 -1
- package/src/schematics/crud-service/crud-class/update-method.js +10 -14
- package/src/schematics/crud-service/crud-class/update-method.js.map +1 -1
- package/src/schematics/crud-service/crud-class.js +22 -26
- package/src/schematics/crud-service/crud-class.js.map +1 -1
- package/src/schematics/crud-service/dto-class/create-dto-class.js +5 -9
- package/src/schematics/crud-service/dto-class/create-dto-class.js.map +1 -1
- package/src/schematics/crud-service/dto-class/dto-class.js +21 -25
- package/src/schematics/crud-service/dto-class/dto-class.js.map +1 -1
- package/src/schematics/crud-service/dto-class/update-dto-class.js +5 -9
- package/src/schematics/crud-service/dto-class/update-dto-class.js.map +1 -1
- package/src/schematics/crud-service/index.js +65 -70
- package/src/schematics/crud-service/index.js.map +1 -1
- package/src/schematics/crud-service/options.js +1 -2
- package/src/schematics/crud-service/schema.js +1 -2
- package/src/schematics/feature-microservice/index.js +24 -30
- package/src/schematics/feature-microservice/index.js.map +1 -1
- package/src/schematics/frontend-microservice/index.js +23 -29
- package/src/schematics/frontend-microservice/index.js.map +1 -1
- package/src/schematics/health-indicator/add-health-endpoint.js +8 -12
- package/src/schematics/health-indicator/add-health-endpoint.js.map +1 -1
- package/src/schematics/health-indicator/add-health-indicator.js +10 -14
- package/src/schematics/health-indicator/add-health-indicator.js.map +1 -1
- package/src/schematics/health-indicator/add-to-global-health-endpoint.js +9 -14
- package/src/schematics/health-indicator/add-to-global-health-endpoint.js.map +1 -1
- package/src/schematics/health-indicator/coerce-health-controller.js +8 -12
- package/src/schematics/health-indicator/coerce-health-controller.js.map +1 -1
- package/src/schematics/health-indicator/coerce-health-module.js +10 -14
- package/src/schematics/health-indicator/coerce-health-module.js.map +1 -1
- package/src/schematics/health-indicator/index.js +18 -21
- package/src/schematics/health-indicator/index.js.map +1 -1
- package/src/schematics/health-indicator-init/index.js +12 -15
- package/src/schematics/health-indicator-init/index.js.map +1 -1
- package/src/schematics/init/index.js +117 -129
- package/src/schematics/init/index.js.map +1 -1
- package/src/schematics/jwt/index.js +14 -17
- package/src/schematics/jwt/index.js.map +1 -1
- package/src/schematics/microservice/index.js +35 -41
- package/src/schematics/microservice/index.js.map +1 -1
- package/src/schematics/open-api/index.js +12 -15
- package/src/schematics/open-api/index.js.map +1 -1
- package/src/schematics/sentry/index.js +25 -30
- package/src/schematics/sentry/index.js.map +1 -1
- package/src/schematics/validator/index.js +7 -10
- package/src/schematics/validator/index.js.map +1 -1
|
@@ -1,31 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
7
|
-
const utilities_1 = require("@rxap/utilities");
|
|
8
|
-
const init_1 = require("../init");
|
|
1
|
+
import { chain, noop, } from '@angular-devkit/schematics';
|
|
2
|
+
import { CoerceNestController } from '@rxap/schematics-ts-morph';
|
|
3
|
+
import { CoerceFile, dasherize, ExecuteExternalSchematic, ExecuteSchematic, UpdateProjectConfigurationRule, } from '@rxap/schematics-utilities';
|
|
4
|
+
import { unique, } from '@rxap/utilities';
|
|
5
|
+
import { CleanUp } from '../init';
|
|
9
6
|
function updateApiConfigurationFile({ apiConfigurationFile, projectName, apiPrefix }) {
|
|
10
7
|
if (apiConfigurationFile) {
|
|
11
|
-
return
|
|
8
|
+
return chain([
|
|
12
9
|
() => console.log('Update api configuration file ...'),
|
|
13
10
|
(tree) => {
|
|
14
|
-
const configApi = JSON.parse(
|
|
11
|
+
const configApi = JSON.parse(CoerceFile(tree, apiConfigurationFile, '{}', false));
|
|
15
12
|
configApi[projectName] = { baseUrl: `/${apiPrefix}` };
|
|
16
13
|
tree.overwrite(apiConfigurationFile, JSON.stringify(configApi, undefined, 2));
|
|
17
14
|
},
|
|
18
15
|
]);
|
|
19
16
|
}
|
|
20
|
-
return
|
|
17
|
+
return noop();
|
|
21
18
|
}
|
|
22
|
-
function NormalizeMicroserviceOptions(options) {
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
let port = (_c = options.port) !== null && _c !== void 0 ? _c : 0;
|
|
19
|
+
export function NormalizeMicroserviceOptions(options) {
|
|
20
|
+
const directory = options.directory ?? 'service';
|
|
21
|
+
const prefix = directory.split('/').filter(Boolean).map(dasherize).join('-');
|
|
22
|
+
const name = dasherize(options.name).replace(new RegExp(`^${prefix}-`), '');
|
|
23
|
+
const randomPort = options.randomPort ?? true;
|
|
24
|
+
let port = options.port ?? 0;
|
|
29
25
|
if (!port) {
|
|
30
26
|
if (randomPort) {
|
|
31
27
|
port = Math.floor(Math.random() * 1000 + 3000);
|
|
@@ -36,36 +32,36 @@ function NormalizeMicroserviceOptions(options) {
|
|
|
36
32
|
}
|
|
37
33
|
return Object.seal({
|
|
38
34
|
name,
|
|
39
|
-
dsn:
|
|
35
|
+
dsn: options.dsn ?? null,
|
|
40
36
|
directory,
|
|
41
|
-
imageRegistry:
|
|
42
|
-
imageName:
|
|
43
|
-
imageSuffix:
|
|
44
|
-
apiPrefix:
|
|
37
|
+
imageRegistry: options.imageRegistry ?? null,
|
|
38
|
+
imageName: options.imageName ?? null,
|
|
39
|
+
imageSuffix: options.imageSuffix ?? `/${['service', name].join('/')}`,
|
|
40
|
+
apiPrefix: options.apiPrefix ?? ['api', name].join('/'),
|
|
45
41
|
projectName: [prefix, name].join('-'),
|
|
46
42
|
randomPort,
|
|
47
43
|
port,
|
|
48
|
-
apiConfigurationFile:
|
|
49
|
-
overwrite:
|
|
50
|
-
openApi:
|
|
51
|
-
jwt:
|
|
44
|
+
apiConfigurationFile: options.apiConfigurationFile ?? null,
|
|
45
|
+
overwrite: options.overwrite ?? false,
|
|
46
|
+
openApi: options.openApi ?? false,
|
|
47
|
+
jwt: options.jwt ?? false,
|
|
52
48
|
});
|
|
53
49
|
}
|
|
54
|
-
|
|
55
|
-
function default_1(options) {
|
|
50
|
+
export default function (options) {
|
|
56
51
|
const normalizedOptions = NormalizeMicroserviceOptions(options);
|
|
57
52
|
const { name, dsn, directory, imageRegistry, imageName, imageSuffix, apiPrefix, projectName, port, apiConfigurationFile, overwrite, openApi, jwt, } = normalizedOptions;
|
|
58
53
|
return function () {
|
|
59
|
-
console.log(`Generate microservice '${name}' in project '${projectName}' in directory '${directory
|
|
60
|
-
|
|
54
|
+
console.log(`Generate microservice '${name}' in project '${projectName}' in directory '${directory ??
|
|
55
|
+
'<<default>>'}' ...`);
|
|
56
|
+
return chain([
|
|
61
57
|
() => console.log('Generate nest application ...'),
|
|
62
|
-
|
|
58
|
+
ExecuteExternalSchematic('@nx/nest', 'application', {
|
|
63
59
|
name,
|
|
64
60
|
directory,
|
|
65
61
|
e2eTestRunner: 'none',
|
|
66
62
|
}),
|
|
67
63
|
() => console.log('Init nest application ...'),
|
|
68
|
-
|
|
64
|
+
ExecuteSchematic('init', {
|
|
69
65
|
project: projectName,
|
|
70
66
|
google: false,
|
|
71
67
|
sentry: true,
|
|
@@ -88,30 +84,28 @@ function default_1(options) {
|
|
|
88
84
|
jwt,
|
|
89
85
|
}),
|
|
90
86
|
() => console.log('Add deploy target to project configuration ...'),
|
|
91
|
-
|
|
87
|
+
ExecuteExternalSchematic('@nx/workspace', 'run-commands', {
|
|
92
88
|
name: 'deploy',
|
|
93
89
|
project: projectName,
|
|
94
90
|
command: 'echo ok',
|
|
95
91
|
}),
|
|
96
92
|
updateApiConfigurationFile(normalizedOptions),
|
|
97
93
|
() => console.log('Update project configuration ...'),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
(_a = project.tags) !== null && _a !== void 0 ? _a : (project.tags = []);
|
|
94
|
+
UpdateProjectConfigurationRule(project => {
|
|
95
|
+
project.tags ??= [];
|
|
101
96
|
project.tags.push('service');
|
|
102
97
|
project.tags.push('nest');
|
|
103
98
|
project.tags.push('sentry');
|
|
104
99
|
project.tags.push('open-api');
|
|
105
|
-
project.tags = project.tags.filter(
|
|
100
|
+
project.tags = project.tags.filter(unique());
|
|
106
101
|
}, { projectName }),
|
|
107
102
|
() => console.log(`Coerce nest module and controller '${name}' ...`),
|
|
108
|
-
|
|
103
|
+
CoerceNestController({
|
|
109
104
|
name,
|
|
110
105
|
project: projectName,
|
|
111
106
|
}),
|
|
112
|
-
|
|
107
|
+
CleanUp({ project: projectName }),
|
|
113
108
|
]);
|
|
114
109
|
};
|
|
115
110
|
}
|
|
116
|
-
exports.default = default_1;
|
|
117
111
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/nestjs/src/schematics/microservice/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/nestjs/src/schematics/microservice/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const ts_morph_1 = require("ts-morph");
|
|
7
|
-
function default_1(options) {
|
|
1
|
+
import { chain } from '@angular-devkit/schematics';
|
|
2
|
+
import { AddNestModuleImport, CoerceImports, CoerceNestModule, } from '@rxap/schematics-ts-morph';
|
|
3
|
+
import { AddPackageJsonDependencyRule, InstallNodePackages, } from '@rxap/schematics-utilities';
|
|
4
|
+
import { Writers } from 'ts-morph';
|
|
5
|
+
export default function (options) {
|
|
8
6
|
return () => {
|
|
9
|
-
return
|
|
10
|
-
|
|
7
|
+
return chain([
|
|
8
|
+
CoerceNestModule({
|
|
11
9
|
project: options.project,
|
|
12
10
|
name: 'app',
|
|
13
11
|
tsMorphTransform: (_, sourceFile) => {
|
|
14
|
-
|
|
12
|
+
AddNestModuleImport(sourceFile, 'OpenApiModule', [
|
|
15
13
|
{
|
|
16
14
|
namedImports: ['OpenApiModule'],
|
|
17
15
|
moduleSpecifier: '@rxap/nest-open-api',
|
|
18
16
|
},
|
|
19
17
|
], w => {
|
|
20
18
|
w.writeLine('OpenApiModule.registerAsync(');
|
|
21
|
-
|
|
19
|
+
Writers.object({
|
|
22
20
|
inject: '[ ConfigService ]',
|
|
23
21
|
useFactory: '(config: ConfigService) => ({})',
|
|
24
22
|
})(w);
|
|
25
23
|
w.write(')');
|
|
26
24
|
});
|
|
27
|
-
|
|
25
|
+
CoerceImports(sourceFile, {
|
|
28
26
|
moduleSpecifier: '@nestjs/config',
|
|
29
27
|
namedImports: ['ConfigService'],
|
|
30
28
|
});
|
|
31
29
|
},
|
|
32
30
|
}),
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
AddPackageJsonDependencyRule('@rxap/nest-open-api', 'latest', { soft: true }),
|
|
32
|
+
InstallNodePackages(),
|
|
35
33
|
]);
|
|
36
34
|
};
|
|
37
35
|
}
|
|
38
|
-
exports.default = default_1;
|
|
39
36
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/nestjs/src/schematics/open-api/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/nestjs/src/schematics/open-api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,MAAM,CAAC,OAAO,WAAW,OAA+B;IACtD,OAAO,GAAG,EAAE;QACV,OAAO,KAAK,CAAC;YACX,gBAAgB,CAAC;gBACf,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,KAAK;gBACX,gBAAgB,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE;oBAClC,mBAAmB,CACjB,UAAU,EACV,eAAe,EACf;wBACE;4BACE,YAAY,EAAE,CAAE,eAAe,CAAE;4BACjC,eAAe,EAAE,qBAAqB;yBACvC;qBACF,EACD,CAAC,CAAC,EAAE;wBACF,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;wBAC5C,OAAO,CAAC,MAAM,CAAC;4BACb,MAAM,EAAE,mBAAmB;4BAC3B,UAAU,EAAE,iCAAiC;yBAC9C,CAAC,CAAC,CAAC,CAAC,CAAC;wBACN,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC,CACF,CAAC;oBACF,aAAa,CAAC,UAAU,EAAE;wBACxB,eAAe,EAAE,gBAAgB;wBACjC,YAAY,EAAE,CAAE,eAAe,CAAE;qBAClC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;YACF,4BAA4B,CAAC,qBAAqB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC7E,mBAAmB,EAAE;SACtB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,28 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const path_1 = require("path");
|
|
7
|
-
const ts_morph_1 = require("ts-morph");
|
|
1
|
+
import { chain, } from '@angular-devkit/schematics';
|
|
2
|
+
import { AddNestModuleImport, AddNestModuleProvider, TsMorphNestProjectTransformRule, } from '@rxap/schematics-ts-morph';
|
|
3
|
+
import { AddPackageJsonDependencyRule, GetPackageJson, GetProjectRoot, InstallNodePackages, } from '@rxap/schematics-utilities';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { Writers, } from 'ts-morph';
|
|
8
6
|
function updateProjectPackageJson(options) {
|
|
9
7
|
return tree => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
const rootPackageJson = (0, schematics_utilities_1.GetPackageJson)(tree);
|
|
14
|
-
const packageJsonFilePath = (0, path_1.join)(projectRoot, 'package.json');
|
|
8
|
+
const projectRoot = GetProjectRoot(tree, options.project);
|
|
9
|
+
const rootPackageJson = GetPackageJson(tree);
|
|
10
|
+
const packageJsonFilePath = join(projectRoot, 'package.json');
|
|
15
11
|
if (!tree.exists(packageJsonFilePath)) {
|
|
16
12
|
tree.create(packageJsonFilePath, '{}');
|
|
17
13
|
}
|
|
18
|
-
const content = JSON.parse(
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
const content = JSON.parse(tree.read(packageJsonFilePath)?.toString('utf-8') ?? '{}');
|
|
15
|
+
content.dependencies ??= {};
|
|
16
|
+
content.dependencies['@sentry/hub'] ??= rootPackageJson.dependencies['@sentry/hub'] ?? 'latest';
|
|
21
17
|
tree.overwrite(packageJsonFilePath, JSON.stringify(content, undefined, 2));
|
|
22
18
|
};
|
|
23
19
|
}
|
|
24
20
|
function CoerceSentryModule(sourceFile, options) {
|
|
25
|
-
|
|
21
|
+
AddNestModuleImport(sourceFile, 'SentryModule', [
|
|
26
22
|
{
|
|
27
23
|
moduleSpecifier: '@rxap/nest-sentry',
|
|
28
24
|
namedImports: ['SentryModule'],
|
|
@@ -41,25 +37,25 @@ function CoerceSentryModule(sourceFile, options) {
|
|
|
41
37
|
},
|
|
42
38
|
], w => {
|
|
43
39
|
w.writeLine('SentryModule.forRootAsync(');
|
|
44
|
-
|
|
40
|
+
Writers.object({
|
|
45
41
|
imports: '[ ConfigModule ]',
|
|
46
42
|
inject: '[ ConfigService ]',
|
|
47
43
|
useFactory: 'SentryOptionsFactory(environment)',
|
|
48
44
|
})(w);
|
|
49
45
|
w.writeLine(',');
|
|
50
|
-
|
|
46
|
+
Writers.object({
|
|
51
47
|
logLevels: 'GetLogLevels()',
|
|
52
48
|
});
|
|
53
49
|
w.write(')');
|
|
54
50
|
});
|
|
55
51
|
}
|
|
56
52
|
function CoerceSentryInterceptorOptionsProvider(sourceFile) {
|
|
57
|
-
|
|
53
|
+
AddNestModuleProvider(sourceFile, {
|
|
58
54
|
provide: 'SENTRY_INTERCEPTOR_OPTIONS',
|
|
59
|
-
useValue:
|
|
55
|
+
useValue: Writers.object({
|
|
60
56
|
filters: w1 => {
|
|
61
57
|
w1.write('[');
|
|
62
|
-
|
|
58
|
+
Writers.object({
|
|
63
59
|
type: 'HttpException',
|
|
64
60
|
filter: '(exception: HttpException) => 500 > exception.getStatus()',
|
|
65
61
|
})(w1);
|
|
@@ -78,7 +74,7 @@ function CoerceSentryInterceptorOptionsProvider(sourceFile) {
|
|
|
78
74
|
]);
|
|
79
75
|
}
|
|
80
76
|
function CoerceAppInterceptorProvider(sourceFile) {
|
|
81
|
-
|
|
77
|
+
AddNestModuleProvider(sourceFile, {
|
|
82
78
|
provide: 'APP_INTERCEPTOR',
|
|
83
79
|
useClass: 'SentryInterceptor',
|
|
84
80
|
}, [
|
|
@@ -93,7 +89,7 @@ function CoerceAppInterceptorProvider(sourceFile) {
|
|
|
93
89
|
]);
|
|
94
90
|
}
|
|
95
91
|
function UpdateAppModule(options) {
|
|
96
|
-
return
|
|
92
|
+
return TsMorphNestProjectTransformRule({
|
|
97
93
|
project: options.project,
|
|
98
94
|
}, (project, [sourceFile]) => {
|
|
99
95
|
CoerceSentryModule(sourceFile, options);
|
|
@@ -101,17 +97,16 @@ function UpdateAppModule(options) {
|
|
|
101
97
|
CoerceAppInterceptorProvider(sourceFile);
|
|
102
98
|
}, ['/app/app.module.ts']);
|
|
103
99
|
}
|
|
104
|
-
function
|
|
100
|
+
export default function (options) {
|
|
105
101
|
return () => {
|
|
106
|
-
return
|
|
102
|
+
return chain([
|
|
107
103
|
UpdateAppModule(options),
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
104
|
+
AddPackageJsonDependencyRule('@sentry/node', 'latest', { soft: true }),
|
|
105
|
+
AddPackageJsonDependencyRule('@sentry/hub', 'latest', { soft: true }),
|
|
106
|
+
AddPackageJsonDependencyRule('@rxap/nest-sentry', 'latest', { soft: true }),
|
|
111
107
|
// updateProjectPackageJson(options),
|
|
112
|
-
|
|
108
|
+
InstallNodePackages(),
|
|
113
109
|
]);
|
|
114
110
|
};
|
|
115
111
|
}
|
|
116
|
-
exports.default = default_1;
|
|
117
112
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/nestjs/src/schematics/sentry/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/nestjs/src/schematics/sentry/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
5
|
-
function default_1(options) {
|
|
1
|
+
import { chain, } from '@angular-devkit/schematics';
|
|
2
|
+
import { AddPackageJsonDependencyRule, InstallNodePackages, } from '@rxap/schematics-utilities';
|
|
3
|
+
export default function (options) {
|
|
6
4
|
return () => {
|
|
7
|
-
return
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
return chain([
|
|
6
|
+
AddPackageJsonDependencyRule('class-validator', 'latest', { soft: true }),
|
|
7
|
+
AddPackageJsonDependencyRule('class-transformer', 'latest', { soft: true }),
|
|
8
|
+
InstallNodePackages(),
|
|
11
9
|
]);
|
|
12
10
|
};
|
|
13
11
|
}
|
|
14
|
-
exports.default = default_1;
|
|
15
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/nestjs/src/schematics/validator/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/nestjs/src/schematics/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAEN,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,CAAC,OAAO,WAAW,OAAqB;IAE5C,OAAO,GAAG,EAAE;QAEV,OAAO,KAAK,CAAC;YACX,4BAA4B,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACzE,4BAA4B,CAAC,mBAAmB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3E,mBAAmB,EAAE;SACtB,CAAC,CAAC;IAEL,CAAC,CAAC;AACJ,CAAC"}
|