@impactor/nest 3.0.0 → 5.0.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.
Files changed (136) hide show
  1. package/README.md +89 -6
  2. package/index.d.ts +41 -40
  3. package/package.json +31 -33
  4. package/src/configs/app.d.ts +7 -4
  5. package/src/configs/app.js +11 -18
  6. package/src/configs/app.js.map +1 -1
  7. package/src/configs/database.js +1 -11
  8. package/src/configs/database.js.map +1 -1
  9. package/src/configs/microservice.js +6 -16
  10. package/src/configs/microservice.js.map +1 -1
  11. package/src/configs/multi-queue-rabbitmq-server.js +28 -34
  12. package/src/configs/multi-queue-rabbitmq-server.js.map +1 -1
  13. package/src/configs/redis-config.js +1 -11
  14. package/src/configs/redis-config.js.map +1 -1
  15. package/src/create-app.d.ts +1 -1
  16. package/src/create-app.js +47 -55
  17. package/src/create-app.js.map +1 -1
  18. package/src/create-microservice.d.ts +1 -1
  19. package/src/create-microservice.js +18 -22
  20. package/src/create-microservice.js.map +1 -1
  21. package/src/create-testing-microservice.d.ts +1 -1
  22. package/src/create-testing-microservice.js +16 -20
  23. package/src/create-testing-microservice.js.map +1 -1
  24. package/src/decorators/controller/add-decorators/add-controller-path.d.ts +1 -1
  25. package/src/decorators/controller/add-decorators/add-controller-path.js +7 -15
  26. package/src/decorators/controller/add-decorators/add-controller-path.js.map +1 -1
  27. package/src/decorators/controller/add-decorators/add-controller-tags.d.ts +1 -1
  28. package/src/decorators/controller/add-decorators/add-controller-tags.js +9 -17
  29. package/src/decorators/controller/add-decorators/add-controller-tags.js.map +1 -1
  30. package/src/decorators/controller/add-decorators/add-http-method.d.ts +2 -2
  31. package/src/decorators/controller/add-decorators/add-http-method.js +13 -20
  32. package/src/decorators/controller/add-decorators/add-http-method.js.map +1 -1
  33. package/src/decorators/controller/add-decorators/add-swagger-body.d.ts +2 -2
  34. package/src/decorators/controller/add-decorators/add-swagger-body.js +7 -17
  35. package/src/decorators/controller/add-decorators/add-swagger-body.js.map +1 -1
  36. package/src/decorators/controller/add-decorators/add-swagger-operation.d.ts +2 -2
  37. package/src/decorators/controller/add-decorators/add-swagger-operation.js +8 -15
  38. package/src/decorators/controller/add-decorators/add-swagger-operation.js.map +1 -1
  39. package/src/decorators/controller/add-decorators/add-swagger-params.d.ts +2 -2
  40. package/src/decorators/controller/add-decorators/add-swagger-params.js +9 -16
  41. package/src/decorators/controller/add-decorators/add-swagger-params.js.map +1 -1
  42. package/src/decorators/controller/add-decorators/add-swagger-response.d.ts +2 -2
  43. package/src/decorators/controller/add-decorators/add-swagger-response.js +10 -20
  44. package/src/decorators/controller/add-decorators/add-swagger-response.js.map +1 -1
  45. package/src/decorators/controller/controller.decorator.d.ts +1 -1
  46. package/src/decorators/controller/controller.decorator.js +12 -13
  47. package/src/decorators/controller/controller.decorator.js.map +1 -1
  48. package/src/decorators/controller/controller.factory.d.ts +1 -1
  49. package/src/decorators/controller/controller.factory.js +59 -67
  50. package/src/decorators/controller/controller.factory.js.map +1 -1
  51. package/src/decorators/controller/default-options.d.ts +1 -1
  52. package/src/decorators/controller/default-options.js +11 -26
  53. package/src/decorators/controller/default-options.js.map +1 -1
  54. package/src/decorators/controller/dto/empty.dto.js +2 -12
  55. package/src/decorators/controller/dto/empty.dto.js.map +1 -1
  56. package/src/decorators/controller/dto/update-response.dto.js +2 -12
  57. package/src/decorators/controller/dto/update-response.dto.js.map +1 -1
  58. package/src/decorators/controller/interceptors/query.interceptor.d.ts +1 -1
  59. package/src/decorators/controller/interceptors/query.interceptor.js +10 -19
  60. package/src/decorators/controller/interceptors/query.interceptor.js.map +1 -1
  61. package/src/decorators/controller/route-handler.d.ts +2 -2
  62. package/src/decorators/controller/route-handler.js +8 -16
  63. package/src/decorators/controller/route-handler.js.map +1 -1
  64. package/src/decorators/controller/route.decorator.d.ts +1 -1
  65. package/src/decorators/controller/route.decorator.js +11 -11
  66. package/src/decorators/controller/route.decorator.js.map +1 -1
  67. package/src/decorators/controller/services/crud-typeorm.service.d.ts +1 -2
  68. package/src/decorators/controller/services/crud-typeorm.service.js +19 -24
  69. package/src/decorators/controller/services/crud-typeorm.service.js.map +1 -1
  70. package/src/decorators/controller/types/index.d.ts +2 -2
  71. package/src/decorators/controller/types/index.js +1 -4
  72. package/src/decorators/controller/types/index.js.map +1 -1
  73. package/src/decorators/controller/utils/merge-options.d.ts +1 -1
  74. package/src/decorators/controller/utils/merge-options.js +3 -13
  75. package/src/decorators/controller/utils/merge-options.js.map +1 -1
  76. package/src/decorators/controller/utils/reflect.d.ts +2 -2
  77. package/src/decorators/controller/utils/reflect.js +24 -38
  78. package/src/decorators/controller/utils/reflect.js.map +1 -1
  79. package/src/decorators/entity.decorator.d.ts +6 -0
  80. package/src/decorators/entity.decorator.js +73 -0
  81. package/src/decorators/entity.decorator.js.map +1 -0
  82. package/src/decorators/prop.decorator.js +79 -38
  83. package/src/decorators/prop.decorator.js.map +1 -1
  84. package/src/exceptions/rpc-bad-request.exception.d.ts +1 -1
  85. package/src/exceptions/rpc-bad-request.exception.js +5 -15
  86. package/src/exceptions/rpc-bad-request.exception.js.map +1 -1
  87. package/src/exceptions/rpc-base.exception.js +10 -15
  88. package/src/exceptions/rpc-base.exception.js.map +1 -1
  89. package/src/exceptions/rpc-conflict.exception.d.ts +1 -1
  90. package/src/exceptions/rpc-conflict.exception.js +5 -15
  91. package/src/exceptions/rpc-conflict.exception.js.map +1 -1
  92. package/src/exceptions/rpc-internal-server-error.exception.d.ts +1 -1
  93. package/src/exceptions/rpc-internal-server-error.exception.js +5 -15
  94. package/src/exceptions/rpc-internal-server-error.exception.js.map +1 -1
  95. package/src/exceptions/rpc-method-not-allowed.exception.d.ts +1 -1
  96. package/src/exceptions/rpc-method-not-allowed.exception.js +5 -15
  97. package/src/exceptions/rpc-method-not-allowed.exception.js.map +1 -1
  98. package/src/exceptions/rpc-not-found.exception.d.ts +1 -1
  99. package/src/exceptions/rpc-not-found.exception.js +5 -15
  100. package/src/exceptions/rpc-not-found.exception.js.map +1 -1
  101. package/src/exceptions/rpc-not-implemented.exception.d.ts +1 -1
  102. package/src/exceptions/rpc-not-implemented.exception.js +5 -15
  103. package/src/exceptions/rpc-not-implemented.exception.js.map +1 -1
  104. package/src/exceptions/rpc-unauthorized.exception.d.ts +1 -1
  105. package/src/exceptions/rpc-unauthorized.exception.js +5 -15
  106. package/src/exceptions/rpc-unauthorized.exception.js.map +1 -1
  107. package/src/filters/error-to-rpc-exception.filter.js +12 -22
  108. package/src/filters/error-to-rpc-exception.filter.js.map +1 -1
  109. package/src/filters/error-to-ws-exception.filter.js +10 -20
  110. package/src/filters/error-to-ws-exception.filter.js.map +1 -1
  111. package/src/filters/typeorm-exception.filter.js +9 -19
  112. package/src/filters/typeorm-exception.filter.js.map +1 -1
  113. package/src/filters/ws-exception.filter.js +6 -16
  114. package/src/filters/ws-exception.filter.js.map +1 -1
  115. package/src/generate-metadata.d.ts +3 -3
  116. package/src/generate-metadata.js +18 -74
  117. package/src/generate-metadata.js.map +1 -1
  118. package/src/guards/auth.guard.js +43 -44
  119. package/src/guards/auth.guard.js.map +1 -1
  120. package/src/modules/basic/basic.controller.js +6 -16
  121. package/src/modules/basic/basic.controller.js.map +1 -1
  122. package/src/modules/basic/basic.module.js +15 -23
  123. package/src/modules/basic/basic.module.js.map +1 -1
  124. package/src/modules/basic/basic.service.js +4 -14
  125. package/src/modules/basic/basic.service.js.map +1 -1
  126. package/src/register-entities.d.ts +1 -0
  127. package/src/register-entities.js +135 -0
  128. package/src/register-entities.js.map +1 -0
  129. package/src/utils/logger.js +2 -12
  130. package/src/utils/logger.js.map +1 -1
  131. package/src/utils/typeorm-to-swagger.d.ts +3 -0
  132. package/src/utils/typeorm-to-swagger.js +308 -0
  133. package/src/utils/typeorm-to-swagger.js.map +1 -0
  134. package/nx.json +0 -190
  135. package/src/nest-swagger-metadata.js +0 -553
  136. package/src/nest-swagger-metadata.js.map +0 -1
@@ -0,0 +1,308 @@
1
+ /**
2
+ * extract openAPI type and format from TypeORM column type
3
+ * @example `typeORMToSwaggerType("file")` // { type: 'string', format: 'binary' }
4
+ */ export function typeORMToSwagger(type) {
5
+ // the column type as string
6
+ // it may be a BooleanConstructor | DateConstructor | ....
7
+ let value = (typeof type === 'string' ? type : type.name).toLowerCase();
8
+ // numbers
9
+ if ([
10
+ 'numeric',
11
+ 'number',
12
+ 'int',
13
+ 'int2',
14
+ 'int4',
15
+ 'int8',
16
+ 'int64',
17
+ 'integer',
18
+ 'tinyint',
19
+ 'smallint',
20
+ 'mediumint',
21
+ 'bigint',
22
+ 'unsigned big int',
23
+ 'rowid',
24
+ 'urowid',
25
+ 'float',
26
+ 'float4',
27
+ 'float8',
28
+ 'float64',
29
+ 'money',
30
+ 'smallmoney',
31
+ 'decimal',
32
+ 'smalldecimal',
33
+ 'dec',
34
+ 'double',
35
+ 'double precision',
36
+ 'fixed',
37
+ 'real'
38
+ ].includes(value)) {
39
+ // todo: set the best 'format' for each type
40
+ return {
41
+ type: 'number'
42
+ };
43
+ }
44
+ // booleans
45
+ if ([
46
+ 'boolean',
47
+ 'bool',
48
+ 'bit',
49
+ 'bit varying',
50
+ 'varbit'
51
+ ].includes(value)) {
52
+ return {
53
+ type: 'boolean'
54
+ };
55
+ }
56
+ // arrays / collections
57
+ if ([
58
+ 'array',
59
+ 'simple-array',
60
+ 'set',
61
+ 'cube',
62
+ 'ltree'
63
+ ].includes(value)) {
64
+ return {
65
+ type: 'array'
66
+ };
67
+ }
68
+ // files
69
+ if ([
70
+ 'blob',
71
+ 'longblob',
72
+ 'mediumblob',
73
+ 'tinyblob',
74
+ 'bytea',
75
+ 'bytes',
76
+ 'image',
77
+ 'rowversion',
78
+ 'raw',
79
+ 'long raw',
80
+ 'bfile',
81
+ 'binary',
82
+ 'varbinary'
83
+ ].includes(value)) {
84
+ // todo: openAPI v3 changed 'file' to 'string' with format 'binary' | 'byte'
85
+ // https://swagger.io/docs/specification/v3_0/data-models/data-types/#files
86
+ return {
87
+ type: 'string',
88
+ format: 'binary'
89
+ };
90
+ }
91
+ // date
92
+ if ([
93
+ 'date'
94
+ ].includes(value)) {
95
+ return {
96
+ type: 'string',
97
+ format: 'date'
98
+ };
99
+ }
100
+ if ([
101
+ 'year'
102
+ ].includes(value)) {
103
+ return {
104
+ type: 'integer',
105
+ format: 'int32',
106
+ example: new Date().getFullYear()
107
+ };
108
+ }
109
+ // time
110
+ if ([
111
+ 'time',
112
+ 'timetz'
113
+ ].includes(value)) {
114
+ return {
115
+ type: 'string',
116
+ format: 'time'
117
+ };
118
+ }
119
+ // date-time
120
+ if ([
121
+ 'timestamp',
122
+ 'timestamptz',
123
+ 'timestamp without time zone',
124
+ 'timestamp with time zone',
125
+ 'timestamp with local time zone',
126
+ 'datetime',
127
+ 'datetime2',
128
+ 'datetimeoffset',
129
+ 'smalldatetime',
130
+ 'seconddate'
131
+ ].includes(value)) {
132
+ return {
133
+ type: 'string',
134
+ format: 'date-time'
135
+ };
136
+ }
137
+ // intervals and durations
138
+ if ([
139
+ 'interval',
140
+ 'interval year to month',
141
+ 'interval day to second'
142
+ ].includes(value)) {
143
+ return {
144
+ type: 'string',
145
+ format: 'duration',
146
+ example: 'P1Y2M3DT4H5M6S'
147
+ };
148
+ }
149
+ // strings
150
+ if ([
151
+ 'text',
152
+ 'tinytext',
153
+ 'shorttext',
154
+ 'mediumtext',
155
+ 'longtext',
156
+ 'ntext',
157
+ 'citext',
158
+ 'string',
159
+ 'character varying',
160
+ 'varying character',
161
+ 'char varying',
162
+ 'varchar2',
163
+ 'nvarchar',
164
+ 'nvarchar2',
165
+ 'national varchar',
166
+ 'character',
167
+ 'native character',
168
+ 'varchar',
169
+ 'char',
170
+ 'nchar',
171
+ 'national char',
172
+ 'alphanum',
173
+ 'jsonpath',
174
+ 'xml',
175
+ 'long',
176
+ 'clob',
177
+ 'nclob',
178
+ // ranges
179
+ // this can also represented as object `{start, end}`
180
+ 'int4range',
181
+ 'int8range',
182
+ 'numrange',
183
+ 'tsrange',
184
+ 'tstzrange',
185
+ 'daterange',
186
+ 'int4multirange',
187
+ 'int8multirange',
188
+ 'nummultirange',
189
+ 'tsmultirange',
190
+ 'tstzmultirange',
191
+ 'datemultirange',
192
+ // enums
193
+ 'enum',
194
+ 'simple-enum',
195
+ // network
196
+ 'cidr',
197
+ 'inet',
198
+ 'inet4',
199
+ 'inet6',
200
+ 'macaddr',
201
+ 'macaddr8',
202
+ // full-text search types
203
+ 'tsvector',
204
+ 'tsquery',
205
+ // identifiers
206
+ 'rowid',
207
+ 'urowid',
208
+ 'hierarchyid',
209
+ 'sql_variant'
210
+ ].includes(value)) {
211
+ return {
212
+ type: 'string'
213
+ };
214
+ }
215
+ if ([
216
+ 'uuid',
217
+ // most databases generates a 128-bit GUID, the same as a UUID
218
+ // so, it is safe to represent it in Swagger UI as a UUID string
219
+ 'uniqueidentifier'
220
+ ].includes(value)) {
221
+ return {
222
+ type: 'string',
223
+ format: 'uuid'
224
+ };
225
+ }
226
+ // vectors
227
+ if ([
228
+ 'vector',
229
+ 'halfvec',
230
+ 'half_vector',
231
+ 'real_vector'
232
+ ].includes(value)) {
233
+ return {
234
+ type: 'array',
235
+ items: {
236
+ type: 'number'
237
+ }
238
+ };
239
+ }
240
+ // JSON
241
+ if ([
242
+ 'json',
243
+ 'jsonb',
244
+ 'simple-json',
245
+ 'hstore'
246
+ ].includes(value)) {
247
+ return {
248
+ type: 'object',
249
+ items: {
250
+ type: 'number'
251
+ },
252
+ // in hstore, keys must ve string
253
+ additionalProperties: value === 'hstore' ? {
254
+ type: 'string'
255
+ } : true
256
+ };
257
+ }
258
+ // geometry types
259
+ if ([
260
+ 'geometry',
261
+ 'geography',
262
+ 'st_geometry',
263
+ 'st_point',
264
+ 'point',
265
+ 'line',
266
+ 'polygon',
267
+ 'circle',
268
+ 'multipolygon',
269
+ 'linestring',
270
+ 'multilinestring',
271
+ 'multipoint',
272
+ 'geometrycollection',
273
+ 'lseg',
274
+ 'box',
275
+ 'path'
276
+ ].includes(value)) {
277
+ return {
278
+ // they're saved as JSON objects
279
+ type: 'object',
280
+ properties: {
281
+ type: {
282
+ type: 'string',
283
+ example: 'Point'
284
+ },
285
+ coordinates: {
286
+ type: 'array',
287
+ items: {
288
+ type: 'number'
289
+ },
290
+ example: [
291
+ 125.6,
292
+ 10.1
293
+ ]
294
+ }
295
+ },
296
+ required: [
297
+ 'type',
298
+ 'coordinates'
299
+ ],
300
+ description: 'GeoJSON object representing geometry or geography'
301
+ };
302
+ }
303
+ return {
304
+ type: 'null'
305
+ };
306
+ }
307
+
308
+ //# sourceMappingURL=typeorm-to-swagger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/typeorm-to-swagger.ts"],"sourcesContent":["import { ApiPropertyOptions } from '@nestjs/swagger';\nimport { ColumnType } from 'typeorm';\n\n/**\n * extract openAPI type and format from TypeORM column type\n * @example `typeORMToSwaggerType(\"file\")` // { type: 'string', format: 'binary' }\n */\nexport function typeORMToSwagger(type: ColumnType): ApiPropertyOptions {\n // the column type as string\n // it may be a BooleanConstructor | DateConstructor | ....\n let value = (typeof type === 'string' ? type : type.name).toLowerCase();\n\n // numbers\n if (\n [\n 'numeric',\n 'number',\n 'int',\n 'int2',\n 'int4',\n 'int8',\n 'int64',\n 'integer',\n 'tinyint',\n 'smallint',\n 'mediumint',\n 'bigint',\n 'unsigned big int',\n 'rowid',\n 'urowid',\n 'float',\n 'float4',\n 'float8',\n 'float64',\n 'money',\n 'smallmoney',\n 'decimal',\n 'smalldecimal',\n 'dec',\n 'double',\n 'double precision',\n 'fixed',\n 'real',\n ].includes(value)\n ) {\n // todo: set the best 'format' for each type\n return { type: 'number' };\n }\n\n // booleans\n if (['boolean', 'bool', 'bit', 'bit varying', 'varbit'].includes(value)) {\n return { type: 'boolean' };\n }\n\n // arrays / collections\n if (['array', 'simple-array', 'set', 'cube', 'ltree'].includes(value)) {\n return { type: 'array' };\n }\n\n // files\n if (\n [\n 'blob',\n 'longblob',\n 'mediumblob',\n 'tinyblob',\n 'bytea',\n 'bytes',\n 'image',\n 'rowversion',\n 'raw',\n 'long raw',\n 'bfile',\n 'binary',\n 'varbinary',\n ].includes(value)\n ) {\n // todo: openAPI v3 changed 'file' to 'string' with format 'binary' | 'byte'\n // https://swagger.io/docs/specification/v3_0/data-models/data-types/#files\n return { type: 'string', format: 'binary' };\n }\n\n // date\n if (['date'].includes(value)) {\n return { type: 'string', format: 'date' };\n }\n\n if (['year'].includes(value)) {\n return {\n type: 'integer',\n format: 'int32',\n example: new Date().getFullYear(),\n };\n }\n\n // time\n if (['time', 'timetz'].includes(value)) {\n return { type: 'string', format: 'time' };\n }\n\n // date-time\n if (\n [\n 'timestamp',\n 'timestamptz',\n 'timestamp without time zone',\n 'timestamp with time zone',\n 'timestamp with local time zone',\n 'datetime',\n 'datetime2',\n 'datetimeoffset',\n 'smalldatetime',\n 'seconddate',\n ].includes(value)\n ) {\n return { type: 'string', format: 'date-time' };\n }\n\n // intervals and durations\n if (\n ['interval', 'interval year to month', 'interval day to second'].includes(\n value,\n )\n ) {\n return { type: 'string', format: 'duration', example: 'P1Y2M3DT4H5M6S' };\n }\n\n // strings\n if (\n [\n 'text',\n 'tinytext',\n 'shorttext',\n 'mediumtext',\n 'longtext',\n 'ntext',\n 'citext',\n 'string',\n 'character varying',\n 'varying character',\n 'char varying',\n 'varchar2',\n 'nvarchar',\n 'nvarchar2',\n 'national varchar',\n 'character',\n 'native character',\n 'varchar',\n 'char',\n 'nchar',\n 'national char',\n 'alphanum',\n 'jsonpath',\n 'xml',\n 'long',\n 'clob',\n 'nclob',\n // ranges\n // this can also represented as object `{start, end}`\n 'int4range',\n 'int8range',\n 'numrange',\n 'tsrange',\n 'tstzrange',\n 'daterange',\n 'int4multirange',\n 'int8multirange',\n 'nummultirange',\n 'tsmultirange',\n 'tstzmultirange',\n 'datemultirange',\n\n // enums\n 'enum',\n 'simple-enum',\n // network\n 'cidr',\n 'inet',\n 'inet4',\n 'inet6',\n 'macaddr',\n 'macaddr8',\n // full-text search types\n 'tsvector',\n 'tsquery',\n // identifiers\n 'rowid',\n 'urowid',\n 'hierarchyid',\n 'sql_variant',\n ].includes(value)\n ) {\n return { type: 'string' };\n }\n\n if (\n [\n 'uuid',\n // most databases generates a 128-bit GUID, the same as a UUID\n // so, it is safe to represent it in Swagger UI as a UUID string\n 'uniqueidentifier',\n ].includes(value)\n ) {\n return { type: 'string', format: 'uuid' };\n }\n\n // vectors\n if (['vector', 'halfvec', 'half_vector', 'real_vector'].includes(value)) {\n return {\n type: 'array',\n items: { type: 'number' },\n };\n }\n\n // JSON\n if (['json', 'jsonb', 'simple-json', 'hstore'].includes(value)) {\n return {\n type: 'object',\n items: { type: 'number' },\n // in hstore, keys must ve string\n additionalProperties: value === 'hstore' ? { type: 'string' } : true,\n };\n }\n\n // geometry types\n if (\n [\n 'geometry',\n 'geography',\n 'st_geometry',\n 'st_point',\n 'point',\n 'line',\n 'polygon',\n 'circle',\n 'multipolygon',\n 'linestring',\n 'multilinestring',\n 'multipoint',\n 'geometrycollection',\n 'lseg',\n 'box',\n 'path',\n ].includes(value)\n ) {\n return {\n // they're saved as JSON objects\n type: 'object',\n properties: {\n type: { type: 'string', example: 'Point' },\n coordinates: {\n type: 'array',\n items: { type: 'number' },\n example: [125.6, 10.1],\n },\n },\n required: ['type', 'coordinates'],\n description: 'GeoJSON object representing geometry or geography',\n };\n }\n\n return { type: 'null' };\n}\n"],"names":["typeORMToSwagger","type","value","name","toLowerCase","includes","format","example","Date","getFullYear","items","additionalProperties","properties","coordinates","required","description"],"mappings":"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"}
package/nx.json DELETED
@@ -1,190 +0,0 @@
1
- {
2
- "$schema": "./node_modules/nx/schemas/nx-schema.json",
3
- "targetDefaults": {
4
- "build": {
5
- "executor": "@impactor/nx-manager:universal-builder",
6
- "dependsOn": ["typecheck", "prebuild", "^build"],
7
- "cache": true,
8
- "inputs": ["default", "^default"],
9
- "outputs": ["{projectRoot}/dist"],
10
- "options": {
11
- "forceRnDefaultPostBuild": true
12
- }
13
- },
14
- "serve": {
15
- "executor": "nx:run-commands",
16
- "dependsOn": ["build", "preserve"],
17
- "continuous": true,
18
- "options": {
19
- "cwd": "{projectRoot}",
20
- "command": "NODE_ENV=development pnpm tsx --env-file-if-exists=.env --env-file-if-exists=.env.local dist/main.js"
21
- },
22
- "configurations": {
23
- "production": {
24
- "command": "NODE_ENV=production pnpm tsx --env-file-if-exists=.env --env-file-if-exists=.env.local --env-file-if-exists=.env.production --env-file-if-exists=.env.production.local dist/main.js"
25
- }
26
- }
27
- },
28
- "nx-release-publish": {
29
- "options": {
30
- "packageRoot": "{projectRoot}/dist"
31
- }
32
- },
33
- "semantic-release": {
34
- "executor": "nx:run-commands",
35
- "dependsOn": ["build", "prerelease"],
36
- "options": {
37
- "cwd": "{projectRoot}",
38
- "command": "pnpm tsx node_modules/semantic-release/bin/semantic-release.js"
39
- },
40
- "configurations": {
41
- "local": {
42
- "command": "DOTENV_CONFIG_PATH=../../.env pnpm run release --no-ci"
43
- },
44
- "dry": {
45
- "command": "DOTENV_CONFIG_PATH=../../.env pnpm run release --no-ci --dry-run"
46
- }
47
- }
48
- },
49
- "test": {
50
- "inputs": ["test"],
51
- "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
52
- "dependsOn": ["^build", "pretest"],
53
- "configurations": {
54
- "unit": {
55
- "args": [
56
- "--testPathIgnorePatterns '.*\\.e2e\\.spec\\.ts$'",
57
- "--testPathIgnorePatterns '/.*-e2e/'",
58
- "--testPathIgnorePatterns '/.*-e2e/'"
59
- ]
60
- },
61
- "e2e": {
62
- "args": [
63
- "--testMatch '**/*-e2e/**/*.{spec,test}.[mc]?[jt]s?(x)'",
64
- "--testMatch '**/e2e/**/*.{spec,test}.[mc]?[jt]s?(x)'",
65
- "--testMatch '**/*.e2e.(spec|test).?([mc])[jt]s?(x)'"
66
- ]
67
- }
68
- }
69
- },
70
- "@angular/build:application": {
71
- "cache": true,
72
- "dependsOn": ["prebuild", "^build"],
73
- "inputs": ["default", "^default"]
74
- },
75
- "@nx/angular:package": {
76
- "cache": true,
77
- "dependsOn": ["^build"],
78
- "inputs": ["default", "^default"],
79
- "outputs": ["{projectRoot}/dist"],
80
- "options": {
81
- "project": "{projectRoot}/ng-package.json",
82
- "tsConfig": "{projectRoot}/tsconfig.lib.json"
83
- }
84
- },
85
- "@nx/js:tsc": {
86
- "cache": true,
87
- "dependsOn": ["^build"],
88
- "inputs": ["default", "^default"]
89
- }
90
- },
91
- "namedInputs": {
92
- "default": [
93
- "{projectRoot}/src/**/*",
94
- "!{projectRoot}/**/*.(spec|test)(.e2e)?.[tj]sx?",
95
- "!{projectRoot}/**/e2e/**/*",
96
- "{projectRoot}/.env(.*)?",
97
- "{workspaceRoot}/tasks/(post-)?build.ts",
98
- "{projectRoot}/(project|package|tsconfig)(.+)?.json",
99
- "{workspaceRoot}/tsconfig.base.json",
100
- {
101
- "runtime": "node --version"
102
- },
103
- {
104
- "env": "NODE_ENV"
105
- }
106
- ],
107
- "test": [
108
- "default",
109
- "{projectRoot}/tsconfig.spec.json",
110
- "{projectRoot}/jest.config.[jt]s",
111
- "{workspaceRoot}/jest.config.[jt]s",
112
- "{projectRoot}/**/*.(spec|test)(.e2e)?.[jt]sx?",
113
- "{projectRoot}/**/e2e/**/*.[jt]sx?",
114
- {
115
- "externalDependencies": ["jest"]
116
- }
117
- ]
118
- },
119
- "plugins": [
120
- {
121
- "plugin": "@nx/js/typescript",
122
- "options": {
123
- "typecheck": {
124
- "targetName": "typecheck"
125
- },
126
- "build": false
127
- }
128
- },
129
- {
130
- "plugin": "@nx/jest/plugin",
131
- "options": {
132
- "targetName": "test",
133
- "ciTargetName": "test-ci"
134
- }
135
- }
136
- ],
137
- "tasksRunnerOptions": {
138
- "default": {
139
- "options": {
140
- "useDaemonProcess": false
141
- }
142
- }
143
- },
144
- "generators": {
145
- "@nx/angular:library": {
146
- "linter": "eslint",
147
- "unitTestRunner": "jest"
148
- },
149
- "@nx/angular:component": {
150
- "style": "scss"
151
- }
152
- },
153
- "release": {
154
- "groups": {
155
- "libs": {
156
- "projects": ["libs/*"]
157
- },
158
- "apps": {
159
- "projects": ["apps/*"],
160
- "changelog": {
161
- "projectChangelogs": {
162
- "createRelease": "github"
163
- }
164
- }
165
- }
166
- },
167
- "projectsRelationship": "independent",
168
- "version": {
169
- "conventionalCommits": true,
170
- "updateDependents": "always",
171
- "preVersionCommand": "pnpm nx run-many -t build",
172
- "manifestRootsToUpdate": [
173
- "{projectRoot}",
174
- {
175
- "path": "{projectRoot}/dist",
176
- "preserveLocalDependencyProtocols": false
177
- }
178
- ]
179
- },
180
- "releaseTag": {
181
- "pattern": "{projectName}@{version}"
182
- },
183
- "changelog": {
184
- "projectChangelogs": true
185
- }
186
- },
187
- "sync": {
188
- "applyChanges": false
189
- }
190
- }