@adonisjs/core 7.0.0-next.1 → 7.0.0-next.11
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/build/commands/add.js +40 -110
- package/build/commands/build.js +51 -107
- package/build/commands/configure.js +82 -177
- package/build/commands/eject.js +17 -60
- package/build/commands/env/add.js +55 -134
- package/build/commands/generate_key.js +22 -66
- package/build/commands/inspect_rcfile.js +27 -55
- package/build/commands/list/routes.js +246 -116
- package/build/commands/make/command.js +15 -57
- package/build/commands/make/controller.js +43 -120
- package/build/commands/make/event.js +16 -62
- package/build/commands/make/exception.js +16 -62
- package/build/commands/make/listener.js +36 -93
- package/build/commands/make/middleware.js +41 -101
- package/build/commands/make/preload.js +47 -113
- package/build/commands/make/provider.js +47 -112
- package/build/commands/make/service.js +16 -55
- package/build/commands/make/test.js +47 -132
- package/build/commands/make/transformer.js +17 -64
- package/build/commands/make/validator.js +20 -80
- package/build/commands/make/view.js +15 -56
- package/build/commands/repl.js +17 -50
- package/build/commands/serve.js +80 -156
- package/build/commands/test.js +92 -208
- package/build/factories/app.js +2 -9
- package/build/factories/bodyparser.js +2 -9
- package/build/factories/core/ace.js +15 -46
- package/build/factories/core/ignitor.js +12 -180
- package/build/factories/core/main.js +22 -11
- package/build/factories/core/test_utils.js +19 -43
- package/build/factories/encryption.js +2 -9
- package/build/factories/events.js +2 -9
- package/build/factories/hash.js +2 -9
- package/build/factories/http.js +2 -9
- package/build/factories/logger.js +2 -9
- package/build/factories/stubs.js +28 -91
- package/build/index.js +13 -46
- package/build/modules/ace/codemods.d.ts +109 -14
- package/build/modules/ace/codemods.js +222 -374
- package/build/modules/ace/main.d.ts +30 -0
- package/build/modules/ace/main.js +2 -11
- package/build/modules/app.d.ts +17 -0
- package/build/modules/app.js +4 -9
- package/build/modules/bodyparser/bodyparser_middleware.js +2 -14
- package/build/modules/bodyparser/main.js +4 -9
- package/build/modules/config.d.ts +17 -0
- package/build/modules/config.js +4 -9
- package/build/modules/container.js +4 -9
- package/build/modules/dumper/dumper.d.ts +5 -0
- package/build/modules/dumper/main.d.ts +21 -0
- package/build/modules/dumper/main.js +6 -11
- package/build/modules/dumper/plugins/edge.js +2 -62
- package/build/modules/encryption.d.ts +17 -0
- package/build/modules/encryption.js +4 -9
- package/build/modules/env/editor.js +2 -9
- package/build/modules/env/main.d.ts +19 -0
- package/build/modules/env/main.js +2 -9
- package/build/modules/events.js +4 -9
- package/build/modules/hash/drivers/argon.js +2 -9
- package/build/modules/hash/drivers/bcrypt.d.ts +11 -0
- package/build/modules/hash/drivers/bcrypt.js +2 -9
- package/build/modules/hash/drivers/scrypt.js +2 -9
- package/build/modules/hash/main.d.ts +18 -0
- package/build/modules/hash/main.js +6 -10
- package/build/modules/hash/phc_formatter.js +2 -9
- package/build/modules/health.js +2 -9
- package/build/modules/http/main.js +4 -15
- package/build/modules/http/url_builder_client.d.ts +1 -0
- package/build/modules/http/url_builder_client.js +2 -0
- package/build/modules/logger.d.ts +30 -0
- package/build/modules/logger.js +4 -9
- package/build/modules/repl.js +4 -9
- package/build/modules/transformers/main.js +4 -9
- package/build/providers/app_provider.d.ts +9 -21
- package/build/providers/app_provider.js +147 -363
- package/build/providers/edge_provider.js +97 -104
- package/build/providers/hash_provider.js +29 -91
- package/build/providers/repl_provider.js +61 -152
- package/build/providers/vinejs_provider.d.ts +1 -1
- package/build/providers/vinejs_provider.js +20 -66
- package/build/services/ace.js +2 -17
- package/build/services/app.js +2 -21
- package/build/services/config.js +2 -13
- package/build/services/dumper.js +5 -21
- package/build/services/emitter.js +2 -14
- package/build/services/encryption.js +2 -14
- package/build/services/hash.js +2 -14
- package/build/services/logger.js +2 -14
- package/build/services/repl.js +2 -14
- package/build/services/router.js +2 -14
- package/build/services/server.js +2 -14
- package/build/services/test_utils.js +2 -17
- package/build/services/url_builder.js +5 -17
- package/build/src/exceptions.js +2 -49
- package/build/src/helpers/assert.js +2 -55
- package/build/src/helpers/http.d.ts +20 -0
- package/build/src/helpers/http.js +2 -0
- package/build/src/helpers/is.js +3 -31
- package/build/src/helpers/main.d.ts +1 -5
- package/build/src/helpers/main.js +5 -56
- package/build/src/helpers/string.js +2 -60
- package/build/src/helpers/types.js +26 -135
- package/build/src/helpers/verification_token.js +2 -120
- package/build/src/test_utils/main.js +5 -77
- package/build/src/types.d.ts +1 -0
- package/build/src/types.js +0 -8
- package/build/src/utils.d.ts +1 -1
- package/build/src/vine.js +2 -97
- package/build/types/ace.js +2 -9
- package/build/types/app.js +2 -9
- package/build/types/bodyparser.js +2 -9
- package/build/types/common.js +2 -9
- package/build/types/container.js +2 -9
- package/build/types/encryption.js +2 -9
- package/build/types/events.js +2 -9
- package/build/types/hash.js +2 -9
- package/build/types/health.js +2 -9
- package/build/types/helpers.d.ts +20 -0
- package/build/types/helpers.js +0 -8
- package/build/types/http.js +2 -9
- package/build/types/logger.js +2 -9
- package/build/types/repl.js +2 -9
- package/build/types/transformers.js +2 -9
- package/package.json +88 -30
- package/build/modules/ace/commands.js +0 -157
- package/build/modules/ace/create_kernel.js +0 -91
- package/build/modules/ace/kernel.js +0 -40
- package/build/modules/dumper/define_config.js +0 -36
- package/build/modules/dumper/dumper.js +0 -256
- package/build/modules/dumper/errors.js +0 -119
- package/build/modules/hash/define_config.js +0 -125
- package/build/modules/http/request_validator.js +0 -100
- package/build/src/assembler_hooks/index_entities.js +0 -106
- package/build/src/cli_formatters/routes_list.js +0 -381
- package/build/src/config_provider.js +0 -71
- package/build/src/debug.js +0 -25
- package/build/src/ignitor/ace.js +0 -102
- package/build/src/ignitor/http.js +0 -146
- package/build/src/ignitor/main.js +0 -124
- package/build/src/ignitor/test.js +0 -66
- package/build/src/test_utils/http.js +0 -82
- package/build/src/utils.js +0 -104
- package/build/stubs/main.js +0 -9
- package/build/toolkit/commands/index_commands.js +0 -30
- package/build/toolkit/main.js +0 -27
|
@@ -1,374 +1,222 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
this.emit('error', error);
|
|
224
|
-
action.failed(error.message);
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Register a new Vite plugin in the `vite.config.ts` file
|
|
229
|
-
*/
|
|
230
|
-
async registerVitePlugin(...params) {
|
|
231
|
-
const transformer = await this.#getCodeTransformer();
|
|
232
|
-
if (!transformer) {
|
|
233
|
-
this.#cliLogger.warning('Cannot update "vite.config.ts" file. Install "@adonisjs/assembler" to modify source files');
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
const action = this.#cliLogger.action('update vite.config.ts file');
|
|
237
|
-
try {
|
|
238
|
-
await transformer.addVitePlugin(...params);
|
|
239
|
-
action.succeeded();
|
|
240
|
-
}
|
|
241
|
-
catch (error) {
|
|
242
|
-
this.emit('error', error);
|
|
243
|
-
action.failed(error.message);
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* Register a new Japa plugin in the `tests/bootstrap.ts` file
|
|
248
|
-
*/
|
|
249
|
-
async registerJapaPlugin(...params) {
|
|
250
|
-
const transformer = await this.#getCodeTransformer();
|
|
251
|
-
if (!transformer) {
|
|
252
|
-
this.#cliLogger.warning('Cannot update "tests/bootstrap.ts" file. Install "@adonisjs/assembler" to modify source files');
|
|
253
|
-
return;
|
|
254
|
-
}
|
|
255
|
-
const action = this.#cliLogger.action('update tests/bootstrap.ts file');
|
|
256
|
-
try {
|
|
257
|
-
await transformer.addJapaPlugin(...params);
|
|
258
|
-
action.succeeded();
|
|
259
|
-
}
|
|
260
|
-
catch (error) {
|
|
261
|
-
this.emit('error', error);
|
|
262
|
-
action.failed(error.message);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Generate a file using a stub template
|
|
267
|
-
*
|
|
268
|
-
* @param stubsRoot - Root directory containing stub files
|
|
269
|
-
* @param stubPath - Path to the specific stub file
|
|
270
|
-
* @param stubState - Template variables for stub generation
|
|
271
|
-
*
|
|
272
|
-
* @example
|
|
273
|
-
* ```ts
|
|
274
|
-
* const result = await codemods.makeUsingStub(
|
|
275
|
-
* './stubs',
|
|
276
|
-
* 'controller.stub',
|
|
277
|
-
* {
|
|
278
|
-
* filename: 'UserController',
|
|
279
|
-
* entity: { name: 'User', modelName: 'User' },
|
|
280
|
-
* resourceful: true
|
|
281
|
-
* }
|
|
282
|
-
* )
|
|
283
|
-
* ```
|
|
284
|
-
*/
|
|
285
|
-
async makeUsingStub(stubsRoot, stubPath, stubState) {
|
|
286
|
-
const stubs = await this.#app.stubs.create();
|
|
287
|
-
const stub = await stubs.build(stubPath, { source: stubsRoot });
|
|
288
|
-
const output = await stub.generate({ force: this.overwriteExisting, ...stubState });
|
|
289
|
-
const entityFileName = stringHelpers.toUnixSlash(this.#app.relativePath(output.destination));
|
|
290
|
-
const result = { ...output, relativeFileName: entityFileName };
|
|
291
|
-
if (output.status === 'skipped') {
|
|
292
|
-
this.#cliLogger.action(`create ${entityFileName}`).skipped(output.skipReason);
|
|
293
|
-
return result;
|
|
294
|
-
}
|
|
295
|
-
this.#cliLogger.action(`create ${entityFileName}`).succeeded();
|
|
296
|
-
return result;
|
|
297
|
-
}
|
|
298
|
-
/**
|
|
299
|
-
* Install packages using the correct package manager
|
|
300
|
-
* You can specify version of each package by setting it in the
|
|
301
|
-
* name like :
|
|
302
|
-
*
|
|
303
|
-
* ```
|
|
304
|
-
* this.installPackages([{ name: '@adonisjs/lucid@next', isDevDependency: false }])
|
|
305
|
-
* ```
|
|
306
|
-
*/
|
|
307
|
-
async installPackages(packages, packageManager) {
|
|
308
|
-
const transformer = await this.#getCodeTransformer();
|
|
309
|
-
const appPath = this.#app.makePath();
|
|
310
|
-
const colors = this.#cliLogger.getColors();
|
|
311
|
-
const devDependencies = packages.filter((pkg) => pkg.isDevDependency).map(({ name }) => name);
|
|
312
|
-
const dependencies = packages.filter((pkg) => !pkg.isDevDependency).map(({ name }) => name);
|
|
313
|
-
if (!transformer) {
|
|
314
|
-
this.#cliLogger.warning('Cannot install packages. Install "@adonisjs/assembler" or manually install following packages');
|
|
315
|
-
this.#cliLogger.log(`devDependencies: ${devDependencies.join(',')}`);
|
|
316
|
-
this.#cliLogger.log(`dependencies: ${dependencies.join(',')}`);
|
|
317
|
-
return false;
|
|
318
|
-
}
|
|
319
|
-
packageManager = packageManager ?? (await transformer.detectPackageManager(appPath)) ?? 'npm';
|
|
320
|
-
const spinner = this.#cliLogger.await(`installing dependencies using ${packageManager} `);
|
|
321
|
-
const silentLogs = !this.verboseInstallOutput;
|
|
322
|
-
if (silentLogs) {
|
|
323
|
-
spinner.start();
|
|
324
|
-
}
|
|
325
|
-
try {
|
|
326
|
-
if (dependencies.length) {
|
|
327
|
-
await transformer.installPackage(dependencies, {
|
|
328
|
-
cwd: appPath,
|
|
329
|
-
silent: silentLogs,
|
|
330
|
-
packageManager,
|
|
331
|
-
});
|
|
332
|
-
}
|
|
333
|
-
if (devDependencies.length) {
|
|
334
|
-
await transformer.installPackage(devDependencies, {
|
|
335
|
-
dev: true,
|
|
336
|
-
cwd: appPath,
|
|
337
|
-
silent: silentLogs,
|
|
338
|
-
packageManager,
|
|
339
|
-
});
|
|
340
|
-
}
|
|
341
|
-
if (silentLogs) {
|
|
342
|
-
spinner.stop();
|
|
343
|
-
}
|
|
344
|
-
this.#cliLogger.success('Packages installed');
|
|
345
|
-
this.#cliLogger.log(devDependencies.map((dependency) => ` ${colors.dim('dev')} ${dependency} `).join('\n'));
|
|
346
|
-
this.#cliLogger.log(dependencies.map((dependency) => ` ${colors.dim('prod')} ${dependency} `).join('\n'));
|
|
347
|
-
return true;
|
|
348
|
-
}
|
|
349
|
-
catch (error) {
|
|
350
|
-
if (silentLogs) {
|
|
351
|
-
spinner.update('unable to install dependencies');
|
|
352
|
-
spinner.stop();
|
|
353
|
-
}
|
|
354
|
-
this.#cliLogger.fatal(error);
|
|
355
|
-
this.emit('error', error);
|
|
356
|
-
return false;
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
/**
|
|
360
|
-
* List the packages one should install before using the packages
|
|
361
|
-
*/
|
|
362
|
-
async listPackagesToInstall(packages) {
|
|
363
|
-
const appPath = this.#app.makePath();
|
|
364
|
-
const devDependencies = packages.filter((pkg) => pkg.isDevDependency).map(({ name }) => name);
|
|
365
|
-
const dependencies = packages.filter((pkg) => !pkg.isDevDependency).map(({ name }) => name);
|
|
366
|
-
let packageManager = null;
|
|
367
|
-
const transformer = await this.#getCodeTransformer();
|
|
368
|
-
if (transformer)
|
|
369
|
-
packageManager = await transformer.detectPackageManager(appPath);
|
|
370
|
-
this.#cliLogger.log('Please install following packages');
|
|
371
|
-
this.#cliLogger.log(this.#getInstallationCommands(devDependencies, packageManager || 'npm', true));
|
|
372
|
-
this.#cliLogger.log(this.#getInstallationCommands(dependencies, packageManager || 'npm', false));
|
|
373
|
-
}
|
|
374
|
-
}
|
|
1
|
+
import { t as string_default } from "../../string-CJ7ewUFq.js";
|
|
2
|
+
import { EnvEditor } from "@adonisjs/env/editor";
|
|
3
|
+
import { EventEmitter } from "node:events";
|
|
4
|
+
var Codemods = class extends EventEmitter {
|
|
5
|
+
#codeTransformer;
|
|
6
|
+
#app;
|
|
7
|
+
#cliLogger;
|
|
8
|
+
overwriteExisting = false;
|
|
9
|
+
verboseInstallOutput = false;
|
|
10
|
+
constructor(app, cliLogger) {
|
|
11
|
+
super();
|
|
12
|
+
this.#app = app;
|
|
13
|
+
this.#cliLogger = cliLogger;
|
|
14
|
+
}
|
|
15
|
+
async #getCodeTransformer() {
|
|
16
|
+
try {
|
|
17
|
+
if (!this.#codeTransformer) {
|
|
18
|
+
const { CodeTransformer } = await import("@adonisjs/assembler/code_transformer");
|
|
19
|
+
this.#codeTransformer = new CodeTransformer(this.#app.appRoot);
|
|
20
|
+
}
|
|
21
|
+
return this.#codeTransformer;
|
|
22
|
+
} catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
#getInstallationCommands(packages, packageManager, isDev) {
|
|
27
|
+
if (!packages.length) return "";
|
|
28
|
+
const colors = this.#cliLogger.getColors();
|
|
29
|
+
const devFlag = isDev ? " -D" : "";
|
|
30
|
+
switch (packageManager) {
|
|
31
|
+
case "yarn":
|
|
32
|
+
case "yarn@berry": return `${colors.yellow(`yarn add${devFlag}`)} ${packages.join(" ")}`;
|
|
33
|
+
case "pnpm": return `${colors.yellow(`pnpm add${devFlag}`)} ${packages.join(" ")}`;
|
|
34
|
+
case "npm":
|
|
35
|
+
default: return `${colors.yellow(`npm i${devFlag}`)} ${packages.join(" ")}`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async defineEnvVariables(environmentVariables, options) {
|
|
39
|
+
const editor = new EnvEditor(this.#app.appRoot);
|
|
40
|
+
await editor.load();
|
|
41
|
+
Object.keys(environmentVariables).forEach((key) => {
|
|
42
|
+
const value = environmentVariables[key];
|
|
43
|
+
editor.add(key, value, options?.omitFromExample?.includes(key));
|
|
44
|
+
});
|
|
45
|
+
await editor.save();
|
|
46
|
+
this.#cliLogger.action("update .env file").succeeded();
|
|
47
|
+
}
|
|
48
|
+
async getTsMorphProject() {
|
|
49
|
+
const transformer = await this.#getCodeTransformer();
|
|
50
|
+
if (!transformer) {
|
|
51
|
+
this.#cliLogger.warning("Cannot create CodeTransformer. Install \"@adonisjs/assembler\" to modify source files");
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
return transformer.project;
|
|
55
|
+
}
|
|
56
|
+
async defineEnvValidations(validations) {
|
|
57
|
+
const transformer = await this.#getCodeTransformer();
|
|
58
|
+
if (!transformer) {
|
|
59
|
+
this.#cliLogger.warning("Cannot update \"start/env.ts\" file. Install \"@adonisjs/assembler\" to modify source files");
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const action = this.#cliLogger.action("update start/env.ts file");
|
|
63
|
+
try {
|
|
64
|
+
await transformer.defineEnvValidations(validations);
|
|
65
|
+
action.succeeded();
|
|
66
|
+
} catch (error) {
|
|
67
|
+
this.emit("error", error);
|
|
68
|
+
action.failed(error.message);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async registerMiddleware(stack, middleware) {
|
|
72
|
+
const transformer = await this.#getCodeTransformer();
|
|
73
|
+
if (!transformer) {
|
|
74
|
+
this.#cliLogger.warning("Cannot update \"start/kernel.ts\" file. Install \"@adonisjs/assembler\" to modify source files");
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const action = this.#cliLogger.action("update start/kernel.ts file");
|
|
78
|
+
try {
|
|
79
|
+
await transformer.addMiddlewareToStack(stack, middleware);
|
|
80
|
+
action.succeeded();
|
|
81
|
+
} catch (error) {
|
|
82
|
+
this.emit("error", error);
|
|
83
|
+
action.failed(error.message);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async registerPolicies(policies) {
|
|
87
|
+
const transformer = await this.#getCodeTransformer();
|
|
88
|
+
if (!transformer) {
|
|
89
|
+
this.#cliLogger.warning("Cannot update \"app/policies/main.ts\" file. Install \"@adonisjs/assembler\" to modify source files");
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const action = this.#cliLogger.action("update app/policies/main.ts file");
|
|
93
|
+
try {
|
|
94
|
+
await transformer.addPolicies(policies);
|
|
95
|
+
action.succeeded();
|
|
96
|
+
} catch (error) {
|
|
97
|
+
this.emit("error", error);
|
|
98
|
+
action.failed(error.message);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async updateRcFile(...params) {
|
|
102
|
+
const transformer = await this.#getCodeTransformer();
|
|
103
|
+
if (!transformer) {
|
|
104
|
+
this.#cliLogger.warning("Cannot update \"adonisrc.ts\" file. Install \"@adonisjs/assembler\" to modify source files");
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const action = this.#cliLogger.action("update adonisrc.ts file");
|
|
108
|
+
try {
|
|
109
|
+
await transformer.updateRcFile(...params);
|
|
110
|
+
action.succeeded();
|
|
111
|
+
} catch (error) {
|
|
112
|
+
this.emit("error", error);
|
|
113
|
+
action.failed(error.message);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async registerVitePlugin(...params) {
|
|
117
|
+
const transformer = await this.#getCodeTransformer();
|
|
118
|
+
if (!transformer) {
|
|
119
|
+
this.#cliLogger.warning("Cannot update \"vite.config.ts\" file. Install \"@adonisjs/assembler\" to modify source files");
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const action = this.#cliLogger.action("update vite.config.ts file");
|
|
123
|
+
try {
|
|
124
|
+
await transformer.addVitePlugin(...params);
|
|
125
|
+
action.succeeded();
|
|
126
|
+
} catch (error) {
|
|
127
|
+
this.emit("error", error);
|
|
128
|
+
action.failed(error.message);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
async registerJapaPlugin(...params) {
|
|
132
|
+
const transformer = await this.#getCodeTransformer();
|
|
133
|
+
if (!transformer) {
|
|
134
|
+
this.#cliLogger.warning("Cannot update \"tests/bootstrap.ts\" file. Install \"@adonisjs/assembler\" to modify source files");
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const action = this.#cliLogger.action("update tests/bootstrap.ts file");
|
|
138
|
+
try {
|
|
139
|
+
await transformer.addJapaPlugin(...params);
|
|
140
|
+
action.succeeded();
|
|
141
|
+
} catch (error) {
|
|
142
|
+
this.emit("error", error);
|
|
143
|
+
action.failed(error.message);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
async makeUsingStub(stubsRoot, stubPath, stubState) {
|
|
147
|
+
const output = await (await (await this.#app.stubs.create()).build(stubPath, { source: stubsRoot })).generate({
|
|
148
|
+
force: this.overwriteExisting,
|
|
149
|
+
...stubState
|
|
150
|
+
});
|
|
151
|
+
const entityFileName = string_default.toUnixSlash(this.#app.relativePath(output.destination));
|
|
152
|
+
const result = {
|
|
153
|
+
...output,
|
|
154
|
+
relativeFileName: entityFileName
|
|
155
|
+
};
|
|
156
|
+
if (output.status === "skipped") {
|
|
157
|
+
this.#cliLogger.action(`create ${entityFileName}`).skipped(output.skipReason);
|
|
158
|
+
return result;
|
|
159
|
+
}
|
|
160
|
+
this.#cliLogger.action(`create ${entityFileName}`).succeeded();
|
|
161
|
+
return result;
|
|
162
|
+
}
|
|
163
|
+
async installPackages(packages, packageManager) {
|
|
164
|
+
const transformer = await this.#getCodeTransformer();
|
|
165
|
+
const appPath = this.#app.makePath();
|
|
166
|
+
const colors = this.#cliLogger.getColors();
|
|
167
|
+
const devDependencies = packages.filter((pkg) => pkg.isDevDependency).map(({ name }) => {
|
|
168
|
+
return name.startsWith("@adonisjs/") ? `${name}@next` : name;
|
|
169
|
+
});
|
|
170
|
+
const dependencies = packages.filter((pkg) => !pkg.isDevDependency).map(({ name }) => {
|
|
171
|
+
return name.startsWith("@adonisjs/") ? `${name}@next` : name;
|
|
172
|
+
});
|
|
173
|
+
if (!transformer) {
|
|
174
|
+
this.#cliLogger.warning("Cannot install packages. Install \"@adonisjs/assembler\" or manually install following packages");
|
|
175
|
+
this.#cliLogger.log(`devDependencies: ${devDependencies.join(",")}`);
|
|
176
|
+
this.#cliLogger.log(`dependencies: ${dependencies.join(",")}`);
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
packageManager = packageManager ?? await transformer.detectPackageManager(appPath) ?? "npm";
|
|
180
|
+
const spinner = this.#cliLogger.await(`installing dependencies using ${packageManager} `);
|
|
181
|
+
const silentLogs = !this.verboseInstallOutput;
|
|
182
|
+
if (silentLogs) spinner.start();
|
|
183
|
+
try {
|
|
184
|
+
if (dependencies.length) await transformer.installPackage(dependencies, {
|
|
185
|
+
cwd: appPath,
|
|
186
|
+
silent: silentLogs,
|
|
187
|
+
packageManager
|
|
188
|
+
});
|
|
189
|
+
if (devDependencies.length) await transformer.installPackage(devDependencies, {
|
|
190
|
+
dev: true,
|
|
191
|
+
cwd: appPath,
|
|
192
|
+
silent: silentLogs,
|
|
193
|
+
packageManager
|
|
194
|
+
});
|
|
195
|
+
if (silentLogs) spinner.stop();
|
|
196
|
+
this.#cliLogger.success("Packages installed");
|
|
197
|
+
this.#cliLogger.log(devDependencies.map((dependency) => ` ${colors.dim("dev")} ${dependency} `).join("\n"));
|
|
198
|
+
this.#cliLogger.log(dependencies.map((dependency) => ` ${colors.dim("prod")} ${dependency} `).join("\n"));
|
|
199
|
+
return true;
|
|
200
|
+
} catch (error) {
|
|
201
|
+
if (silentLogs) {
|
|
202
|
+
spinner.update("unable to install dependencies");
|
|
203
|
+
spinner.stop();
|
|
204
|
+
}
|
|
205
|
+
this.#cliLogger.fatal(error);
|
|
206
|
+
this.emit("error", error);
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
async listPackagesToInstall(packages) {
|
|
211
|
+
const appPath = this.#app.makePath();
|
|
212
|
+
const devDependencies = packages.filter((pkg) => pkg.isDevDependency).map(({ name }) => name);
|
|
213
|
+
const dependencies = packages.filter((pkg) => !pkg.isDevDependency).map(({ name }) => name);
|
|
214
|
+
let packageManager = null;
|
|
215
|
+
const transformer = await this.#getCodeTransformer();
|
|
216
|
+
if (transformer) packageManager = await transformer.detectPackageManager(appPath);
|
|
217
|
+
this.#cliLogger.log("Please install following packages");
|
|
218
|
+
this.#cliLogger.log(this.#getInstallationCommands(devDependencies, packageManager || "npm", true));
|
|
219
|
+
this.#cliLogger.log(this.#getInstallationCommands(dependencies, packageManager || "npm", false));
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
export { Codemods };
|
|
@@ -1,3 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ace command line interface module for AdonisJS applications.
|
|
3
|
+
* Provides the kernel, base commands, and utilities for building CLI applications.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* // Create and use the Ace kernel
|
|
7
|
+
* import { Kernel, BaseCommand } from '@adonisjs/core/ace'
|
|
8
|
+
*
|
|
9
|
+
* const kernel = new Kernel(app)
|
|
10
|
+
* await kernel.handle(['make:controller', 'UserController'])
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // Create a custom command
|
|
14
|
+
* import { BaseCommand, args, flags } from '@adonisjs/core/ace'
|
|
15
|
+
*
|
|
16
|
+
* export default class MakeUser extends BaseCommand {
|
|
17
|
+
* static commandName = 'make:user'
|
|
18
|
+
* static description = 'Create a new user'
|
|
19
|
+
*
|
|
20
|
+
* @args.string({ description: 'Name of the user' })
|
|
21
|
+
* declare name: string
|
|
22
|
+
*
|
|
23
|
+
* @flags.boolean({ description: 'Create admin user' })
|
|
24
|
+
* declare admin: boolean
|
|
25
|
+
*
|
|
26
|
+
* async run() {
|
|
27
|
+
* this.logger.info(`Creating user: ${this.name}`)
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
*/
|
|
1
31
|
export { Kernel } from './kernel.ts';
|
|
2
32
|
export { BaseCommand, ListCommand } from './commands.ts';
|
|
3
33
|
export { args, flags, errors, Parser, FsLoader, ListLoader, cliHelpers, HelpCommand, IndexGenerator, tracingChannels, } from '@adonisjs/ace';
|
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* (c) AdonisJS
|
|
5
|
-
*
|
|
6
|
-
* For the full copyright and license information, please view the LICENSE
|
|
7
|
-
* file that was distributed with this source code.
|
|
8
|
-
*/
|
|
9
|
-
export { Kernel } from "./kernel.js";
|
|
10
|
-
export { BaseCommand, ListCommand } from "./commands.js";
|
|
11
|
-
export { args, flags, errors, Parser, FsLoader, ListLoader, cliHelpers, HelpCommand, IndexGenerator, tracingChannels, } from '@adonisjs/ace';
|
|
1
|
+
import { a as Parser, c as errors, d as Kernel, f as BaseCommand, i as ListLoader, l as flags, n as HelpCommand, o as args, p as ListCommand, r as IndexGenerator, s as cliHelpers, t as FsLoader, u as tracingChannels } from "../../main-Cn_x9YY5.js";
|
|
2
|
+
export { BaseCommand, FsLoader, HelpCommand, IndexGenerator, Kernel, ListCommand, ListLoader, Parser, args, cliHelpers, errors, flags, tracingChannels };
|