@tsed/cli 3.25.0 → 4.0.0-rc.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.
Files changed (86) hide show
  1. package/lib/cjs/Cli.js.map +1 -1
  2. package/lib/cjs/commands/init/InitCmd.js +70 -35
  3. package/lib/cjs/commands/init/InitCmd.js.map +1 -1
  4. package/lib/cjs/commands/init/config/FeaturesPrompt.js +406 -0
  5. package/lib/cjs/commands/init/config/FeaturesPrompt.js.map +1 -0
  6. package/lib/cjs/commands/init/config/InitFileSchema.js +53 -0
  7. package/lib/cjs/commands/init/config/InitFileSchema.js.map +1 -0
  8. package/lib/cjs/commands/init/interfaces/InitCmdContext.js +3 -0
  9. package/lib/cjs/commands/init/interfaces/InitCmdContext.js.map +1 -0
  10. package/lib/cjs/commands/init/interfaces/InitOptions.js +3 -0
  11. package/lib/cjs/commands/init/interfaces/InitOptions.js.map +1 -0
  12. package/lib/cjs/commands/init/interfaces/InitPromptAnswers.js +3 -0
  13. package/lib/cjs/commands/init/interfaces/InitPromptAnswers.js.map +1 -0
  14. package/lib/cjs/commands/init/mappers/mapToContext.js +16 -0
  15. package/lib/cjs/commands/init/mappers/mapToContext.js.map +1 -0
  16. package/lib/cjs/commands/init/mappers/mapUniqFeatures.js +18 -0
  17. package/lib/cjs/commands/init/mappers/mapUniqFeatures.js.map +1 -0
  18. package/lib/cjs/commands/init/prompts/getFeaturesPrompt.js +25 -0
  19. package/lib/cjs/commands/init/prompts/getFeaturesPrompt.js.map +1 -0
  20. package/lib/cjs/commands/init/utils/hasFeature.js +13 -0
  21. package/lib/cjs/commands/init/utils/hasFeature.js.map +1 -0
  22. package/lib/cjs/commands/init/utils/isPlatform.js +8 -0
  23. package/lib/cjs/commands/init/utils/isPlatform.js.map +1 -0
  24. package/lib/cjs/constants/index.js +3 -3
  25. package/lib/cjs/constants/index.js.map +1 -1
  26. package/lib/cjs/index.js +5 -1
  27. package/lib/cjs/index.js.map +1 -1
  28. package/lib/cjs/interfaces/PlatformType.js +9 -0
  29. package/lib/cjs/interfaces/PlatformType.js.map +1 -0
  30. package/lib/cjs/interfaces/index.js +1 -0
  31. package/lib/cjs/interfaces/index.js.map +1 -1
  32. package/lib/esm/Cli.js.map +1 -1
  33. package/lib/esm/commands/init/InitCmd.js +73 -38
  34. package/lib/esm/commands/init/InitCmd.js.map +1 -1
  35. package/lib/esm/commands/init/config/FeaturesPrompt.js +402 -0
  36. package/lib/esm/commands/init/config/FeaturesPrompt.js.map +1 -0
  37. package/lib/esm/commands/init/config/InitFileSchema.js +50 -0
  38. package/lib/esm/commands/init/config/InitFileSchema.js.map +1 -0
  39. package/lib/esm/commands/init/interfaces/InitCmdContext.js +2 -0
  40. package/lib/esm/commands/init/interfaces/InitCmdContext.js.map +1 -0
  41. package/lib/esm/commands/init/interfaces/InitOptions.js +2 -0
  42. package/lib/esm/commands/init/interfaces/InitOptions.js.map +1 -0
  43. package/lib/esm/commands/init/interfaces/InitPromptAnswers.js +2 -0
  44. package/lib/esm/commands/init/interfaces/InitPromptAnswers.js.map +1 -0
  45. package/lib/esm/commands/init/mappers/mapToContext.js +12 -0
  46. package/lib/esm/commands/init/mappers/mapToContext.js.map +1 -0
  47. package/lib/esm/commands/init/mappers/mapUniqFeatures.js +14 -0
  48. package/lib/esm/commands/init/mappers/mapUniqFeatures.js.map +1 -0
  49. package/lib/esm/commands/init/prompts/getFeaturesPrompt.js +21 -0
  50. package/lib/esm/commands/init/prompts/getFeaturesPrompt.js.map +1 -0
  51. package/lib/esm/commands/init/utils/hasFeature.js +8 -0
  52. package/lib/esm/commands/init/utils/hasFeature.js.map +1 -0
  53. package/lib/esm/commands/init/utils/isPlatform.js +4 -0
  54. package/lib/esm/commands/init/utils/isPlatform.js.map +1 -0
  55. package/lib/esm/constants/index.js +3 -3
  56. package/lib/esm/constants/index.js.map +1 -1
  57. package/lib/esm/index.js +5 -1
  58. package/lib/esm/index.js.map +1 -1
  59. package/lib/esm/interfaces/PlatformType.js +6 -0
  60. package/lib/esm/interfaces/PlatformType.js.map +1 -0
  61. package/lib/esm/interfaces/index.js +1 -0
  62. package/lib/esm/interfaces/index.js.map +1 -1
  63. package/lib/types/Cli.d.ts +2 -2
  64. package/lib/types/commands/init/InitCmd.d.ts +8 -24
  65. package/lib/types/commands/init/config/FeaturesPrompt.d.ts +98 -0
  66. package/lib/types/commands/init/config/InitFileSchema.d.ts +49 -0
  67. package/lib/types/commands/init/interfaces/InitCmdContext.d.ts +6 -0
  68. package/lib/types/commands/init/interfaces/InitOptions.d.ts +19 -0
  69. package/lib/types/commands/init/interfaces/InitPromptAnswers.d.ts +16 -0
  70. package/lib/types/commands/init/mappers/mapToContext.d.ts +2 -0
  71. package/lib/types/commands/init/mappers/mapUniqFeatures.d.ts +3 -0
  72. package/lib/types/commands/init/prompts/getFeaturesPrompt.d.ts +2 -0
  73. package/lib/types/commands/init/utils/hasFeature.d.ts +2 -0
  74. package/lib/types/commands/init/utils/isPlatform.d.ts +1 -0
  75. package/lib/types/constants/index.d.ts +2 -2
  76. package/lib/types/index.d.ts +5 -1
  77. package/lib/types/interfaces/PlatformType.d.ts +4 -0
  78. package/lib/types/interfaces/index.d.ts +1 -0
  79. package/package.json +14 -9
  80. package/readme.md +104 -14
  81. package/templates/init/tsconfig.json.hbs +5 -3
  82. package/lib/cjs/services/Features.js +0 -528
  83. package/lib/cjs/services/Features.js.map +0 -1
  84. package/lib/esm/services/Features.js +0 -519
  85. package/lib/esm/services/Features.js.map +0 -1
  86. package/lib/types/services/Features.d.ts +0 -412
@@ -1,412 +0,0 @@
1
- import { ProjectConvention } from "../interfaces";
2
- export interface FeatureValue {
3
- type: string;
4
- dependencies?: {
5
- [key: string]: string | undefined;
6
- };
7
- devDependencies?: {
8
- [key: string]: string | undefined;
9
- };
10
- }
11
- export interface Feature {
12
- name: string;
13
- value: FeatureValue;
14
- }
15
- export declare type Features = Feature[];
16
- export declare function Features(): Function;
17
- export declare function hasFeature(feature: string): (ctx: any) => boolean;
18
- export declare function hasValue(expression: string, value: any): (ctx: any) => boolean;
19
- export declare function isPlatform(...types: string[]): (ctx: any) => boolean;
20
- export declare const FEATURES_TYPEORM_CONNECTION_TYPES: ({
21
- name: string;
22
- value: {
23
- type: string;
24
- dependencies: {
25
- mysql2: string;
26
- mariadb?: undefined;
27
- pg?: undefined;
28
- cockroachdb?: undefined;
29
- sqlite3?: undefined;
30
- "better-sqlite3"?: undefined;
31
- oracledb?: undefined;
32
- mssql?: undefined;
33
- mongodb?: undefined;
34
- };
35
- };
36
- } | {
37
- name: string;
38
- value: {
39
- type: string;
40
- dependencies: {
41
- mariadb: string;
42
- mysql2?: undefined;
43
- pg?: undefined;
44
- cockroachdb?: undefined;
45
- sqlite3?: undefined;
46
- "better-sqlite3"?: undefined;
47
- oracledb?: undefined;
48
- mssql?: undefined;
49
- mongodb?: undefined;
50
- };
51
- };
52
- } | {
53
- name: string;
54
- value: {
55
- type: string;
56
- dependencies: {
57
- pg: string;
58
- mysql2?: undefined;
59
- mariadb?: undefined;
60
- cockroachdb?: undefined;
61
- sqlite3?: undefined;
62
- "better-sqlite3"?: undefined;
63
- oracledb?: undefined;
64
- mssql?: undefined;
65
- mongodb?: undefined;
66
- };
67
- };
68
- } | {
69
- name: string;
70
- value: {
71
- type: string;
72
- dependencies: {
73
- cockroachdb: string;
74
- mysql2?: undefined;
75
- mariadb?: undefined;
76
- pg?: undefined;
77
- sqlite3?: undefined;
78
- "better-sqlite3"?: undefined;
79
- oracledb?: undefined;
80
- mssql?: undefined;
81
- mongodb?: undefined;
82
- };
83
- };
84
- } | {
85
- name: string;
86
- value: {
87
- type: string;
88
- dependencies: {
89
- sqlite3: string;
90
- mysql2?: undefined;
91
- mariadb?: undefined;
92
- pg?: undefined;
93
- cockroachdb?: undefined;
94
- "better-sqlite3"?: undefined;
95
- oracledb?: undefined;
96
- mssql?: undefined;
97
- mongodb?: undefined;
98
- };
99
- };
100
- } | {
101
- name: string;
102
- value: {
103
- type: string;
104
- dependencies: {
105
- "better-sqlite3": string;
106
- mysql2?: undefined;
107
- mariadb?: undefined;
108
- pg?: undefined;
109
- cockroachdb?: undefined;
110
- sqlite3?: undefined;
111
- oracledb?: undefined;
112
- mssql?: undefined;
113
- mongodb?: undefined;
114
- };
115
- };
116
- } | {
117
- name: string;
118
- value: {
119
- type: string;
120
- dependencies?: undefined;
121
- };
122
- } | {
123
- name: string;
124
- value: {
125
- type: string;
126
- dependencies: {
127
- oracledb: string;
128
- mysql2?: undefined;
129
- mariadb?: undefined;
130
- pg?: undefined;
131
- cockroachdb?: undefined;
132
- sqlite3?: undefined;
133
- "better-sqlite3"?: undefined;
134
- mssql?: undefined;
135
- mongodb?: undefined;
136
- };
137
- };
138
- } | {
139
- name: string;
140
- value: {
141
- type: string;
142
- dependencies: {
143
- mssql: string;
144
- mysql2?: undefined;
145
- mariadb?: undefined;
146
- pg?: undefined;
147
- cockroachdb?: undefined;
148
- sqlite3?: undefined;
149
- "better-sqlite3"?: undefined;
150
- oracledb?: undefined;
151
- mongodb?: undefined;
152
- };
153
- };
154
- } | {
155
- name: string;
156
- value: {
157
- type: string;
158
- dependencies: {
159
- mongodb: string;
160
- mysql2?: undefined;
161
- mariadb?: undefined;
162
- pg?: undefined;
163
- cockroachdb?: undefined;
164
- sqlite3?: undefined;
165
- "better-sqlite3"?: undefined;
166
- oracledb?: undefined;
167
- mssql?: undefined;
168
- };
169
- };
170
- } | {
171
- name: string;
172
- value: {
173
- type: string;
174
- dependencies: {
175
- mysql2?: undefined;
176
- mariadb?: undefined;
177
- pg?: undefined;
178
- cockroachdb?: undefined;
179
- sqlite3?: undefined;
180
- "better-sqlite3"?: undefined;
181
- oracledb?: undefined;
182
- mssql?: undefined;
183
- mongodb?: undefined;
184
- };
185
- };
186
- })[];
187
- export declare const parseFeaturesFile: (features: Record<string, any>, cliVersion: string) => {
188
- platform: any;
189
- convention: any;
190
- features: any[];
191
- featuresDB: {
192
- type: string;
193
- devDependencies: {
194
- "@tsed/cli-plugin-prisma": string;
195
- "@tsed/cli-plugin-mongoose"?: undefined;
196
- "@tsed/cli-plugin-typeorm"?: undefined;
197
- };
198
- } | {
199
- type: string;
200
- devDependencies: {
201
- "@tsed/cli-plugin-mongoose": string;
202
- "@tsed/cli-plugin-prisma"?: undefined;
203
- "@tsed/cli-plugin-typeorm"?: undefined;
204
- };
205
- } | {
206
- type: string;
207
- devDependencies: {
208
- "@tsed/cli-plugin-typeorm": string;
209
- "@tsed/cli-plugin-prisma"?: undefined;
210
- "@tsed/cli-plugin-mongoose"?: undefined;
211
- };
212
- } | undefined;
213
- featuresTypeORM: {
214
- type: string;
215
- dependencies: {
216
- mysql2: string;
217
- mariadb?: undefined;
218
- pg?: undefined;
219
- cockroachdb?: undefined;
220
- sqlite3?: undefined;
221
- "better-sqlite3"?: undefined;
222
- oracledb?: undefined;
223
- mssql?: undefined;
224
- mongodb?: undefined;
225
- };
226
- } | {
227
- type: string;
228
- dependencies: {
229
- mariadb: string;
230
- mysql2?: undefined;
231
- pg?: undefined;
232
- cockroachdb?: undefined;
233
- sqlite3?: undefined;
234
- "better-sqlite3"?: undefined;
235
- oracledb?: undefined;
236
- mssql?: undefined;
237
- mongodb?: undefined;
238
- };
239
- } | {
240
- type: string;
241
- dependencies: {
242
- pg: string;
243
- mysql2?: undefined;
244
- mariadb?: undefined;
245
- cockroachdb?: undefined;
246
- sqlite3?: undefined;
247
- "better-sqlite3"?: undefined;
248
- oracledb?: undefined;
249
- mssql?: undefined;
250
- mongodb?: undefined;
251
- };
252
- } | {
253
- type: string;
254
- dependencies: {
255
- cockroachdb: string;
256
- mysql2?: undefined;
257
- mariadb?: undefined;
258
- pg?: undefined;
259
- sqlite3?: undefined;
260
- "better-sqlite3"?: undefined;
261
- oracledb?: undefined;
262
- mssql?: undefined;
263
- mongodb?: undefined;
264
- };
265
- } | {
266
- type: string;
267
- dependencies: {
268
- sqlite3: string;
269
- mysql2?: undefined;
270
- mariadb?: undefined;
271
- pg?: undefined;
272
- cockroachdb?: undefined;
273
- "better-sqlite3"?: undefined;
274
- oracledb?: undefined;
275
- mssql?: undefined;
276
- mongodb?: undefined;
277
- };
278
- } | {
279
- type: string;
280
- dependencies: {
281
- "better-sqlite3": string;
282
- mysql2?: undefined;
283
- mariadb?: undefined;
284
- pg?: undefined;
285
- cockroachdb?: undefined;
286
- sqlite3?: undefined;
287
- oracledb?: undefined;
288
- mssql?: undefined;
289
- mongodb?: undefined;
290
- };
291
- } | {
292
- type: string;
293
- dependencies?: undefined;
294
- } | {
295
- type: string;
296
- dependencies: {
297
- oracledb: string;
298
- mysql2?: undefined;
299
- mariadb?: undefined;
300
- pg?: undefined;
301
- cockroachdb?: undefined;
302
- sqlite3?: undefined;
303
- "better-sqlite3"?: undefined;
304
- mssql?: undefined;
305
- mongodb?: undefined;
306
- };
307
- } | {
308
- type: string;
309
- dependencies: {
310
- mssql: string;
311
- mysql2?: undefined;
312
- mariadb?: undefined;
313
- pg?: undefined;
314
- cockroachdb?: undefined;
315
- sqlite3?: undefined;
316
- "better-sqlite3"?: undefined;
317
- oracledb?: undefined;
318
- mongodb?: undefined;
319
- };
320
- } | {
321
- type: string;
322
- dependencies: {
323
- mongodb: string;
324
- mysql2?: undefined;
325
- mariadb?: undefined;
326
- pg?: undefined;
327
- cockroachdb?: undefined;
328
- sqlite3?: undefined;
329
- "better-sqlite3"?: undefined;
330
- oracledb?: undefined;
331
- mssql?: undefined;
332
- };
333
- } | {
334
- type: string;
335
- dependencies: {
336
- mysql2?: undefined;
337
- mariadb?: undefined;
338
- pg?: undefined;
339
- cockroachdb?: undefined;
340
- sqlite3?: undefined;
341
- "better-sqlite3"?: undefined;
342
- oracledb?: undefined;
343
- mssql?: undefined;
344
- mongodb?: undefined;
345
- };
346
- } | undefined;
347
- featuresTesting: {
348
- type: string;
349
- devDependencies: {
350
- "@tsed/cli-plugin-jest": string;
351
- "@tsed/cli-plugin-mocha"?: undefined;
352
- };
353
- } | {
354
- type: string;
355
- devDependencies: {
356
- "@tsed/cli-plugin-mocha": string;
357
- "@tsed/cli-plugin-jest"?: undefined;
358
- };
359
- } | undefined;
360
- featuresLinter: {
361
- type: string;
362
- devDependencies: {
363
- "@tsed/cli-plugin-eslint": string;
364
- };
365
- } | undefined;
366
- featuresExtraLinter: {
367
- type: string;
368
- }[];
369
- featuresBundler: {
370
- type: string;
371
- devDependencies: {
372
- "@babel/cli": string;
373
- "@babel/core": string;
374
- "@babel/node": string;
375
- "@babel/plugin-proposal-class-properties": string;
376
- "@babel/plugin-proposal-decorators": string;
377
- "@babel/preset-env": string;
378
- "@babel/preset-typescript": string;
379
- "babel-plugin-transform-typescript-metadata": string;
380
- "babel-watch": string;
381
- };
382
- } | {
383
- type: string;
384
- devDependencies: {
385
- "babel-loader": string;
386
- webpack: string;
387
- "webpack-cli": string;
388
- "@babel/cli": string;
389
- "@babel/core": string;
390
- "@babel/node": string;
391
- "@babel/plugin-proposal-class-properties": string;
392
- "@babel/plugin-proposal-decorators": string;
393
- "@babel/preset-env": string;
394
- "@babel/preset-typescript": string;
395
- "babel-plugin-transform-typescript-metadata": string;
396
- "babel-watch": string;
397
- };
398
- } | undefined;
399
- packageManager: any;
400
- };
401
- export declare const getFeaturesChoicesValues: (cliVersion: string) => {
402
- platform: string[];
403
- convention: ProjectConvention[];
404
- features: string[];
405
- featuresDB: string[];
406
- featuresTypeORM: string[];
407
- featuresTesting: string[];
408
- featuresLinter: string[];
409
- featuresExtraLinter: string[];
410
- featuresBundler: string[];
411
- packageManager: string[];
412
- };