@tyravel/cli 0.1.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.
- package/dist/bin/tyravel.d.ts +3 -0
- package/dist/bin/tyravel.d.ts.map +1 -0
- package/dist/bin/tyravel.js +5 -0
- package/dist/bin/tyravel.js.map +1 -0
- package/dist/command.d.ts +13 -0
- package/dist/command.d.ts.map +1 -0
- package/dist/command.js +11 -0
- package/dist/command.js.map +1 -0
- package/dist/commands/auth-install.d.ts +8 -0
- package/dist/commands/auth-install.d.ts.map +1 -0
- package/dist/commands/auth-install.js +39 -0
- package/dist/commands/auth-install.js.map +1 -0
- package/dist/commands/make-controller.d.ts +8 -0
- package/dist/commands/make-controller.d.ts.map +1 -0
- package/dist/commands/make-controller.js +31 -0
- package/dist/commands/make-controller.js.map +1 -0
- package/dist/commands/make-event.d.ts +8 -0
- package/dist/commands/make-event.d.ts.map +1 -0
- package/dist/commands/make-event.js +31 -0
- package/dist/commands/make-event.js.map +1 -0
- package/dist/commands/make-job.d.ts +8 -0
- package/dist/commands/make-job.d.ts.map +1 -0
- package/dist/commands/make-job.js +32 -0
- package/dist/commands/make-job.js.map +1 -0
- package/dist/commands/make-listener.d.ts +8 -0
- package/dist/commands/make-listener.d.ts.map +1 -0
- package/dist/commands/make-listener.js +32 -0
- package/dist/commands/make-listener.js.map +1 -0
- package/dist/commands/make-migration.d.ts +8 -0
- package/dist/commands/make-migration.d.ts.map +1 -0
- package/dist/commands/make-migration.js +50 -0
- package/dist/commands/make-migration.js.map +1 -0
- package/dist/commands/make-model.d.ts +8 -0
- package/dist/commands/make-model.d.ts.map +1 -0
- package/dist/commands/make-model.js +31 -0
- package/dist/commands/make-model.js.map +1 -0
- package/dist/commands/make-provider.d.ts +8 -0
- package/dist/commands/make-provider.d.ts.map +1 -0
- package/dist/commands/make-provider.js +32 -0
- package/dist/commands/make-provider.js.map +1 -0
- package/dist/commands/make-subscriber.d.ts +8 -0
- package/dist/commands/make-subscriber.d.ts.map +1 -0
- package/dist/commands/make-subscriber.js +30 -0
- package/dist/commands/make-subscriber.js.map +1 -0
- package/dist/commands/make-test.d.ts +8 -0
- package/dist/commands/make-test.d.ts.map +1 -0
- package/dist/commands/make-test.js +24 -0
- package/dist/commands/make-test.js.map +1 -0
- package/dist/commands/make-view.d.ts +8 -0
- package/dist/commands/make-view.d.ts.map +1 -0
- package/dist/commands/make-view.js +36 -0
- package/dist/commands/make-view.js.map +1 -0
- package/dist/commands/migrate.d.ts +8 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +32 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/new.d.ts +8 -0
- package/dist/commands/new.d.ts.map +1 -0
- package/dist/commands/new.js +57 -0
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/new.test.d.ts +2 -0
- package/dist/commands/new.test.d.ts.map +1 -0
- package/dist/commands/new.test.js +28 -0
- package/dist/commands/new.test.js.map +1 -0
- package/dist/commands/queue-failed.d.ts +20 -0
- package/dist/commands/queue-failed.d.ts.map +1 -0
- package/dist/commands/queue-failed.js +143 -0
- package/dist/commands/queue-failed.js.map +1 -0
- package/dist/commands/queue-table.d.ts +8 -0
- package/dist/commands/queue-table.d.ts.map +1 -0
- package/dist/commands/queue-table.js +38 -0
- package/dist/commands/queue-table.js.map +1 -0
- package/dist/commands/queue-work.d.ts +8 -0
- package/dist/commands/queue-work.d.ts.map +1 -0
- package/dist/commands/queue-work.js +55 -0
- package/dist/commands/queue-work.js.map +1 -0
- package/dist/commands/serve.d.ts +8 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +77 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/version.d.ts +7 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +16 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/console.d.ts +17 -0
- package/dist/console.d.ts.map +1 -0
- package/dist/console.js +114 -0
- package/dist/console.js.map +1 -0
- package/dist/console.test.d.ts +2 -0
- package/dist/console.test.d.ts.map +1 -0
- package/dist/console.test.js +42 -0
- package/dist/console.test.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel.d.ts +3 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +44 -0
- package/dist/kernel.js.map +1 -0
- package/dist/project.d.ts +12 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +34 -0
- package/dist/project.js.map +1 -0
- package/dist/project.test.d.ts +2 -0
- package/dist/project.test.d.ts.map +1 -0
- package/dist/project.test.js +24 -0
- package/dist/project.test.js.map +1 -0
- package/dist/stubs-ecosystem.d.ts +5 -0
- package/dist/stubs-ecosystem.d.ts.map +1 -0
- package/dist/stubs-ecosystem.js +79 -0
- package/dist/stubs-ecosystem.js.map +1 -0
- package/dist/stubs-testing.d.ts +3 -0
- package/dist/stubs-testing.d.ts.map +1 -0
- package/dist/stubs-testing.js +33 -0
- package/dist/stubs-testing.js.map +1 -0
- package/dist/stubs.d.ts +35 -0
- package/dist/stubs.d.ts.map +1 -0
- package/dist/stubs.js +753 -0
- package/dist/stubs.js.map +1 -0
- package/dist/utils.d.ts +9 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +70 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.test.d.ts +2 -0
- package/dist/utils.test.d.ts.map +1 -0
- package/dist/utils.test.js +13 -0
- package/dist/utils.test.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tyravel.d.ts","sourceRoot":"","sources":["../../src/bin/tyravel.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tyravel.js","sourceRoot":"","sources":["../../src/bin/tyravel.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface CommandDefinition {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
usage?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare abstract class Command {
|
|
7
|
+
abstract readonly name: string;
|
|
8
|
+
abstract readonly description: string;
|
|
9
|
+
readonly usage?: string;
|
|
10
|
+
abstract handle(args: string[]): Promise<number>;
|
|
11
|
+
definition(): CommandDefinition;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8BAAsB,OAAO;IAC3B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEhD,UAAU,IAAI,iBAAiB;CAOhC"}
|
package/dist/command.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAMA,MAAM,OAAgB,OAAO;IAGlB,KAAK,CAAU;IAIxB,UAAU;QACR,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '../command.js';
|
|
2
|
+
export declare class AuthInstallCommand extends Command {
|
|
3
|
+
readonly name = "auth:install";
|
|
4
|
+
readonly description = "Scaffold auth (session + API tokens, policies, password reset, OAuth)";
|
|
5
|
+
readonly usage = "tyravel auth:install";
|
|
6
|
+
handle(): Promise<number>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=auth-install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-install.d.ts","sourceRoot":"","sources":["../../src/commands/auth-install.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAkBxC,qBAAa,kBAAmB,SAAQ,OAAO;IAC7C,SAAkB,IAAI,kBAAkB;IACxC,SAAkB,WAAW,2EAC6C;IAC1E,SAAkB,KAAK,0BAA0B;IAE3C,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;CA+ChC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { Command } from '../command.js';
|
|
3
|
+
import { requireProjectRoot } from '../project.js';
|
|
4
|
+
import { appServiceProviderWithAuth, authConfig, authController, authRoutes, mainEntryWithAuth, oauthAccountsMigration, passwordResetTokensMigration, personalAccessTokensMigration, postPolicyStub, sessionsTableMigration, userModel, usersTableMigration, } from '../stubs.js';
|
|
5
|
+
import { projectPath, writeFile } from '../utils.js';
|
|
6
|
+
export class AuthInstallCommand extends Command {
|
|
7
|
+
name = 'auth:install';
|
|
8
|
+
description = 'Scaffold auth (session + API tokens, policies, password reset, OAuth)';
|
|
9
|
+
usage = 'tyravel auth:install';
|
|
10
|
+
async handle() {
|
|
11
|
+
const root = requireProjectRoot();
|
|
12
|
+
const configPath = projectPath(root, 'config/auth.ts');
|
|
13
|
+
if (existsSync(configPath)) {
|
|
14
|
+
console.error('config/auth.ts already exists.');
|
|
15
|
+
return 1;
|
|
16
|
+
}
|
|
17
|
+
writeFile(configPath, authConfig());
|
|
18
|
+
writeFile(projectPath(root, 'src/models/User.ts'), userModel());
|
|
19
|
+
writeFile(projectPath(root, 'src/controllers/AuthController.ts'), authController());
|
|
20
|
+
writeFile(projectPath(root, 'src/routes/auth.ts'), authRoutes());
|
|
21
|
+
writeFile(projectPath(root, 'src/policies/PostPolicy.ts'), postPolicyStub());
|
|
22
|
+
writeFile(projectPath(root, 'src/providers/app-service-provider.ts'), appServiceProviderWithAuth());
|
|
23
|
+
writeFile(projectPath(root, 'database/migrations/20260101000000_create_users_table.ts'), usersTableMigration());
|
|
24
|
+
writeFile(projectPath(root, 'database/migrations/20260101000001_create_sessions_table.ts'), sessionsTableMigration());
|
|
25
|
+
writeFile(projectPath(root, 'database/migrations/20260101000002_create_password_reset_tokens_table.ts'), passwordResetTokensMigration());
|
|
26
|
+
writeFile(projectPath(root, 'database/migrations/20260101000003_create_personal_access_tokens_table.ts'), personalAccessTokensMigration());
|
|
27
|
+
writeFile(projectPath(root, 'database/migrations/20260101000004_create_oauth_accounts_table.ts'), oauthAccountsMigration());
|
|
28
|
+
writeFile(projectPath(root, 'src/main.ts'), mainEntryWithAuth());
|
|
29
|
+
console.log('Auth scaffolding installed.');
|
|
30
|
+
console.log('');
|
|
31
|
+
console.log('Next steps:');
|
|
32
|
+
console.log(' tyravel migrate');
|
|
33
|
+
console.log(' POST /login | POST /tokens (session) | Authorization: Bearer <token> (api guard)');
|
|
34
|
+
console.log(' POST /forgot-password | POST /reset-password');
|
|
35
|
+
console.log(' GET /auth/github/redirect | GET /auth/github/callback');
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=auth-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-install.js","sourceRoot":"","sources":["../../src/commands/auth-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,0BAA0B,EAC1B,UAAU,EACV,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,cAAc,EACd,sBAAsB,EACtB,SAAS,EACT,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,OAAO,kBAAmB,SAAQ,OAAO;IAC3B,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAC3B,uEAAuE,CAAC;IACxD,KAAK,GAAG,sBAAsB,CAAC;IAEjD,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAElC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACvD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QACpC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,mCAAmC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;QACpF,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QACjE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,4BAA4B,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;QAC7E,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,uCAAuC,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAC;QACpG,SAAS,CACP,WAAW,CAAC,IAAI,EAAE,0DAA0D,CAAC,EAC7E,mBAAmB,EAAE,CACtB,CAAC;QACF,SAAS,CACP,WAAW,CAAC,IAAI,EAAE,6DAA6D,CAAC,EAChF,sBAAsB,EAAE,CACzB,CAAC;QACF,SAAS,CACP,WAAW,CAAC,IAAI,EAAE,0EAA0E,CAAC,EAC7F,4BAA4B,EAAE,CAC/B,CAAC;QACF,SAAS,CACP,WAAW,CAAC,IAAI,EAAE,2EAA2E,CAAC,EAC9F,6BAA6B,EAAE,CAChC,CAAC;QACF,SAAS,CACP,WAAW,CAAC,IAAI,EAAE,mEAAmE,CAAC,EACtF,sBAAsB,EAAE,CACzB,CAAC;QACF,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAEjE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;QACtG,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QAEzE,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '../command.js';
|
|
2
|
+
export declare class MakeControllerCommand extends Command {
|
|
3
|
+
readonly name = "make:controller";
|
|
4
|
+
readonly description = "Create a new HTTP controller class";
|
|
5
|
+
readonly usage = "tyravel make:controller <Name>";
|
|
6
|
+
handle(args: string[]): Promise<number>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=make-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-controller.d.ts","sourceRoot":"","sources":["../../src/commands/make-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWxC,qBAAa,qBAAsB,SAAQ,OAAO;IAChD,SAAkB,IAAI,qBAAqB;IAC3C,SAAkB,WAAW,wCAAwC;IACrE,SAAkB,KAAK,oCAAoC;IAErD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAyB9C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { Command } from '../command.js';
|
|
3
|
+
import { requireProjectRoot } from '../project.js';
|
|
4
|
+
import { controller } from '../stubs.js';
|
|
5
|
+
import { parseOptions, positionalArgs, projectPath, toPascalCase, writeFile, } from '../utils.js';
|
|
6
|
+
export class MakeControllerCommand extends Command {
|
|
7
|
+
name = 'make:controller';
|
|
8
|
+
description = 'Create a new HTTP controller class';
|
|
9
|
+
usage = 'tyravel make:controller <Name>';
|
|
10
|
+
async handle(args) {
|
|
11
|
+
parseOptions(args);
|
|
12
|
+
const [rawName] = positionalArgs(args);
|
|
13
|
+
if (!rawName) {
|
|
14
|
+
console.error('Controller name is required.');
|
|
15
|
+
console.error('Usage: tyravel make:controller <Name>');
|
|
16
|
+
return 1;
|
|
17
|
+
}
|
|
18
|
+
const root = requireProjectRoot();
|
|
19
|
+
const name = toPascalCase(rawName.replace(/Controller$/i, ''));
|
|
20
|
+
const fileName = `${name}Controller.ts`;
|
|
21
|
+
const target = projectPath(root, 'src/controllers', fileName);
|
|
22
|
+
if (existsSync(target)) {
|
|
23
|
+
console.error(`Controller already exists: src/controllers/${fileName}`);
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
26
|
+
writeFile(target, controller(name));
|
|
27
|
+
console.log(`Controller created: src/controllers/${fileName}`);
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=make-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-controller.js","sourceRoot":"","sources":["../../src/commands/make-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,qBAAsB,SAAQ,OAAO;IAC9B,IAAI,GAAG,iBAAiB,CAAC;IACzB,WAAW,GAAG,oCAAoC,CAAC;IACnD,KAAK,GAAG,gCAAgC,CAAC;IAE3D,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,GAAG,IAAI,eAAe,CAAC;QACxC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAE9D,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,8CAA8C,QAAQ,EAAE,CAAC,CAAC;YACxE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;QAE/D,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '../command.js';
|
|
2
|
+
export declare class MakeEventCommand extends Command {
|
|
3
|
+
readonly name = "make:event";
|
|
4
|
+
readonly description = "Create a new domain event class";
|
|
5
|
+
readonly usage = "tyravel make:event <Name>";
|
|
6
|
+
handle(args: string[]): Promise<number>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=make-event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-event.d.ts","sourceRoot":"","sources":["../../src/commands/make-event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWxC,qBAAa,gBAAiB,SAAQ,OAAO;IAC3C,SAAkB,IAAI,gBAAgB;IACtC,SAAkB,WAAW,qCAAqC;IAClE,SAAkB,KAAK,+BAA+B;IAEhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAyB9C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { Command } from '../command.js';
|
|
3
|
+
import { requireProjectRoot } from '../project.js';
|
|
4
|
+
import { domainEvent } from '../stubs.js';
|
|
5
|
+
import { parseOptions, positionalArgs, projectPath, toPascalCase, writeFile, } from '../utils.js';
|
|
6
|
+
export class MakeEventCommand extends Command {
|
|
7
|
+
name = 'make:event';
|
|
8
|
+
description = 'Create a new domain event class';
|
|
9
|
+
usage = 'tyravel make:event <Name>';
|
|
10
|
+
async handle(args) {
|
|
11
|
+
parseOptions(args);
|
|
12
|
+
const [rawName] = positionalArgs(args);
|
|
13
|
+
if (!rawName) {
|
|
14
|
+
console.error('Event name is required.');
|
|
15
|
+
console.error('Usage: tyravel make:event <Name>');
|
|
16
|
+
return 1;
|
|
17
|
+
}
|
|
18
|
+
const root = requireProjectRoot();
|
|
19
|
+
const name = toPascalCase(rawName);
|
|
20
|
+
const fileName = `${name}.ts`;
|
|
21
|
+
const target = projectPath(root, 'src/events', fileName);
|
|
22
|
+
if (existsSync(target)) {
|
|
23
|
+
console.error(`Event already exists: src/events/${fileName}`);
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
26
|
+
writeFile(target, domainEvent(name));
|
|
27
|
+
console.log(`Event created: src/events/${fileName}`);
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=make-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-event.js","sourceRoot":"","sources":["../../src/commands/make-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IACzB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,iCAAiC,CAAC;IAChD,KAAK,GAAG,2BAA2B,CAAC;IAEtD,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC;QAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEzD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QAErD,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '../command.js';
|
|
2
|
+
export declare class MakeJobCommand extends Command {
|
|
3
|
+
readonly name = "make:job";
|
|
4
|
+
readonly description = "Create a new queue job class";
|
|
5
|
+
readonly usage = "tyravel make:job <Name>";
|
|
6
|
+
handle(args: string[]): Promise<number>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=make-job.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-job.d.ts","sourceRoot":"","sources":["../../src/commands/make-job.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWxC,qBAAa,cAAe,SAAQ,OAAO;IACzC,SAAkB,IAAI,cAAc;IACpC,SAAkB,WAAW,kCAAkC;IAC/D,SAAkB,KAAK,6BAA6B;IAE9C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CA0B9C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { Command } from '../command.js';
|
|
3
|
+
import { requireProjectRoot } from '../project.js';
|
|
4
|
+
import { job } from '../stubs.js';
|
|
5
|
+
import { parseOptions, positionalArgs, projectPath, toPascalCase, writeFile, } from '../utils.js';
|
|
6
|
+
export class MakeJobCommand extends Command {
|
|
7
|
+
name = 'make:job';
|
|
8
|
+
description = 'Create a new queue job class';
|
|
9
|
+
usage = 'tyravel make:job <Name>';
|
|
10
|
+
async handle(args) {
|
|
11
|
+
parseOptions(args);
|
|
12
|
+
const [rawName] = positionalArgs(args);
|
|
13
|
+
if (!rawName) {
|
|
14
|
+
console.error('Job name is required.');
|
|
15
|
+
console.error('Usage: tyravel make:job <Name>');
|
|
16
|
+
return 1;
|
|
17
|
+
}
|
|
18
|
+
const root = requireProjectRoot();
|
|
19
|
+
const name = toPascalCase(rawName);
|
|
20
|
+
const fileName = `${name}.ts`;
|
|
21
|
+
const target = projectPath(root, 'src/jobs', fileName);
|
|
22
|
+
if (existsSync(target)) {
|
|
23
|
+
console.error(`Job already exists: src/jobs/${fileName}`);
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
26
|
+
writeFile(target, job(name));
|
|
27
|
+
console.log(`Job created: src/jobs/${fileName}`);
|
|
28
|
+
console.log('Register it in AppServiceProvider with jobs.registry.register(...)');
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=make-job.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-job.js","sourceRoot":"","sources":["../../src/commands/make-job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,cAAe,SAAQ,OAAO;IACvB,IAAI,GAAG,UAAU,CAAC;IAClB,WAAW,GAAG,8BAA8B,CAAC;IAC7C,KAAK,GAAG,yBAAyB,CAAC;IAEpD,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC;QAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEvD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAElF,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '../command.js';
|
|
2
|
+
export declare class MakeListenerCommand extends Command {
|
|
3
|
+
readonly name = "make:listener";
|
|
4
|
+
readonly description = "Create a new event listener class";
|
|
5
|
+
readonly usage = "tyravel make:listener <Name>";
|
|
6
|
+
handle(args: string[]): Promise<number>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=make-listener.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-listener.d.ts","sourceRoot":"","sources":["../../src/commands/make-listener.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWxC,qBAAa,mBAAoB,SAAQ,OAAO;IAC9C,SAAkB,IAAI,mBAAmB;IACzC,SAAkB,WAAW,uCAAuC;IACpE,SAAkB,KAAK,kCAAkC;IAEnD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CA0B9C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { Command } from '../command.js';
|
|
3
|
+
import { requireProjectRoot } from '../project.js';
|
|
4
|
+
import { eventListener } from '../stubs.js';
|
|
5
|
+
import { parseOptions, positionalArgs, projectPath, toPascalCase, writeFile, } from '../utils.js';
|
|
6
|
+
export class MakeListenerCommand extends Command {
|
|
7
|
+
name = 'make:listener';
|
|
8
|
+
description = 'Create a new event listener class';
|
|
9
|
+
usage = 'tyravel make:listener <Name>';
|
|
10
|
+
async handle(args) {
|
|
11
|
+
parseOptions(args);
|
|
12
|
+
const [rawName] = positionalArgs(args);
|
|
13
|
+
if (!rawName) {
|
|
14
|
+
console.error('Listener name is required.');
|
|
15
|
+
console.error('Usage: tyravel make:listener <Name>');
|
|
16
|
+
return 1;
|
|
17
|
+
}
|
|
18
|
+
const root = requireProjectRoot();
|
|
19
|
+
const name = toPascalCase(rawName);
|
|
20
|
+
const fileName = `${name}.ts`;
|
|
21
|
+
const target = projectPath(root, 'src/listeners', fileName);
|
|
22
|
+
if (existsSync(target)) {
|
|
23
|
+
console.error(`Listener already exists: src/listeners/${fileName}`);
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
26
|
+
writeFile(target, eventListener(name));
|
|
27
|
+
console.log(`Listener created: src/listeners/${fileName}`);
|
|
28
|
+
console.log('Register it in config/events.ts or with Events.listen(...)');
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=make-listener.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-listener.js","sourceRoot":"","sources":["../../src/commands/make-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,mBAAoB,SAAQ,OAAO;IAC5B,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAAG,mCAAmC,CAAC;IAClD,KAAK,GAAG,8BAA8B,CAAC;IAEzD,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC;QAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QAE5D,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAE1E,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '../command.js';
|
|
2
|
+
export declare class MakeMigrationCommand extends Command {
|
|
3
|
+
readonly name = "make:migration";
|
|
4
|
+
readonly description = "Create a new database migration";
|
|
5
|
+
readonly usage = "tyravel make:migration <name>";
|
|
6
|
+
handle(args: string[]): Promise<number>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=make-migration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-migration.d.ts","sourceRoot":"","sources":["../../src/commands/make-migration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWxC,qBAAa,oBAAqB,SAAQ,OAAO;IAC/C,SAAkB,IAAI,oBAAoB;IAC1C,SAAkB,WAAW,qCAAqC;IAClE,SAAkB,KAAK,mCAAmC;IAEpD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAyB9C"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { Command } from '../command.js';
|
|
3
|
+
import { requireProjectRoot } from '../project.js';
|
|
4
|
+
import { migration } from '../stubs.js';
|
|
5
|
+
import { parseOptions, positionalArgs, projectPath, toPascalCase, writeFile, } from '../utils.js';
|
|
6
|
+
export class MakeMigrationCommand extends Command {
|
|
7
|
+
name = 'make:migration';
|
|
8
|
+
description = 'Create a new database migration';
|
|
9
|
+
usage = 'tyravel make:migration <name>';
|
|
10
|
+
async handle(args) {
|
|
11
|
+
parseOptions(args);
|
|
12
|
+
const [rawName] = positionalArgs(args);
|
|
13
|
+
if (!rawName) {
|
|
14
|
+
console.error('Migration name is required.');
|
|
15
|
+
console.error('Usage: tyravel make:migration <name>');
|
|
16
|
+
return 1;
|
|
17
|
+
}
|
|
18
|
+
const root = requireProjectRoot();
|
|
19
|
+
const className = toPascalCase(rawName);
|
|
20
|
+
const fileName = `${timestamp()}_${snakeCase(rawName)}.ts`;
|
|
21
|
+
const target = projectPath(root, 'database/migrations', fileName);
|
|
22
|
+
if (existsSync(target)) {
|
|
23
|
+
console.error(`Migration already exists: database/migrations/${fileName}`);
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
26
|
+
writeFile(target, migration(className));
|
|
27
|
+
console.log(`Migration created: database/migrations/${fileName}`);
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function timestamp() {
|
|
32
|
+
const now = new Date();
|
|
33
|
+
const pad = (value) => String(value).padStart(2, '0');
|
|
34
|
+
return [
|
|
35
|
+
now.getFullYear(),
|
|
36
|
+
pad(now.getMonth() + 1),
|
|
37
|
+
pad(now.getDate()),
|
|
38
|
+
pad(now.getHours()),
|
|
39
|
+
pad(now.getMinutes()),
|
|
40
|
+
pad(now.getSeconds()),
|
|
41
|
+
].join('_');
|
|
42
|
+
}
|
|
43
|
+
function snakeCase(value) {
|
|
44
|
+
return value
|
|
45
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1_$2')
|
|
46
|
+
.replace(/[^a-zA-Z0-9]+/g, '_')
|
|
47
|
+
.replace(/^_+|_+$/g, '')
|
|
48
|
+
.toLowerCase();
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=make-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-migration.js","sourceRoot":"","sources":["../../src/commands/make-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IAC7B,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,iCAAiC,CAAC;IAChD,KAAK,GAAG,+BAA+B,CAAC;IAE1D,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,GAAG,SAAS,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3D,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QAElE,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,iDAAiD,QAAQ,EAAE,CAAC,CAAC;YAC3E,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;QAElE,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAED,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO;QACL,GAAG,CAAC,WAAW,EAAE;QACjB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACrB,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;KACtB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK;SACT,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,WAAW,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '../command.js';
|
|
2
|
+
export declare class MakeModelCommand extends Command {
|
|
3
|
+
readonly name = "make:model";
|
|
4
|
+
readonly description = "Create a new Eloquent model class";
|
|
5
|
+
readonly usage = "tyravel make:model <Name>";
|
|
6
|
+
handle(args: string[]): Promise<number>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=make-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-model.d.ts","sourceRoot":"","sources":["../../src/commands/make-model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWxC,qBAAa,gBAAiB,SAAQ,OAAO;IAC3C,SAAkB,IAAI,gBAAgB;IACtC,SAAkB,WAAW,uCAAuC;IACpE,SAAkB,KAAK,+BAA+B;IAEhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAyB9C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { Command } from '../command.js';
|
|
3
|
+
import { requireProjectRoot } from '../project.js';
|
|
4
|
+
import { model } from '../stubs.js';
|
|
5
|
+
import { parseOptions, positionalArgs, projectPath, toPascalCase, writeFile, } from '../utils.js';
|
|
6
|
+
export class MakeModelCommand extends Command {
|
|
7
|
+
name = 'make:model';
|
|
8
|
+
description = 'Create a new Eloquent model class';
|
|
9
|
+
usage = 'tyravel make:model <Name>';
|
|
10
|
+
async handle(args) {
|
|
11
|
+
parseOptions(args);
|
|
12
|
+
const [rawName] = positionalArgs(args);
|
|
13
|
+
if (!rawName) {
|
|
14
|
+
console.error('Model name is required.');
|
|
15
|
+
console.error('Usage: tyravel make:model <Name>');
|
|
16
|
+
return 1;
|
|
17
|
+
}
|
|
18
|
+
const root = requireProjectRoot();
|
|
19
|
+
const name = toPascalCase(rawName);
|
|
20
|
+
const fileName = `${name}.ts`;
|
|
21
|
+
const target = projectPath(root, 'src/models', fileName);
|
|
22
|
+
if (existsSync(target)) {
|
|
23
|
+
console.error(`Model already exists: src/models/${fileName}`);
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
26
|
+
writeFile(target, model(name));
|
|
27
|
+
console.log(`Model created: src/models/${fileName}`);
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=make-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-model.js","sourceRoot":"","sources":["../../src/commands/make-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IACzB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,mCAAmC,CAAC;IAClD,KAAK,GAAG,2BAA2B,CAAC;IAEtD,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,GAAG,IAAI,KAAK,CAAC;QAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEzD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QAErD,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '../command.js';
|
|
2
|
+
export declare class MakeProviderCommand extends Command {
|
|
3
|
+
readonly name = "make:provider";
|
|
4
|
+
readonly description = "Create a new service provider class";
|
|
5
|
+
readonly usage = "tyravel make:provider <Name>";
|
|
6
|
+
handle(args: string[]): Promise<number>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=make-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-provider.d.ts","sourceRoot":"","sources":["../../src/commands/make-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWxC,qBAAa,mBAAoB,SAAQ,OAAO;IAC9C,SAAkB,IAAI,mBAAmB;IACzC,SAAkB,WAAW,yCAAyC;IACtE,SAAkB,KAAK,kCAAkC;IAEnD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CA0B9C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { Command } from '../command.js';
|
|
3
|
+
import { requireProjectRoot } from '../project.js';
|
|
4
|
+
import { provider } from '../stubs.js';
|
|
5
|
+
import { parseOptions, positionalArgs, projectPath, toPascalCase, writeFile, } from '../utils.js';
|
|
6
|
+
export class MakeProviderCommand extends Command {
|
|
7
|
+
name = 'make:provider';
|
|
8
|
+
description = 'Create a new service provider class';
|
|
9
|
+
usage = 'tyravel make:provider <Name>';
|
|
10
|
+
async handle(args) {
|
|
11
|
+
parseOptions(args);
|
|
12
|
+
const [rawName] = positionalArgs(args);
|
|
13
|
+
if (!rawName) {
|
|
14
|
+
console.error('Provider name is required.');
|
|
15
|
+
console.error('Usage: tyravel make:provider <Name>');
|
|
16
|
+
return 1;
|
|
17
|
+
}
|
|
18
|
+
const root = requireProjectRoot();
|
|
19
|
+
const name = toPascalCase(rawName.replace(/ServiceProvider$/i, ''));
|
|
20
|
+
const fileName = `${name}ServiceProvider.ts`;
|
|
21
|
+
const target = projectPath(root, 'src/providers', fileName);
|
|
22
|
+
if (existsSync(target)) {
|
|
23
|
+
console.error(`Provider already exists: src/providers/${fileName}`);
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
26
|
+
writeFile(target, provider(name));
|
|
27
|
+
console.log(`Provider created: src/providers/${fileName}`);
|
|
28
|
+
console.log(`Register it in src/main.ts: app.register(${name}ServiceProvider);`);
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=make-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-provider.js","sourceRoot":"","sources":["../../src/commands/make-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,mBAAoB,SAAQ,OAAO;IAC5B,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAAG,qCAAqC,CAAC;IACpD,KAAK,GAAG,8BAA8B,CAAC;IAEzD,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,GAAG,IAAI,oBAAoB,CAAC;QAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QAE5D,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,4CAA4C,IAAI,mBAAmB,CAAC,CAAC;QAEjF,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '../command.js';
|
|
2
|
+
export declare class MakeSubscriberCommand extends Command {
|
|
3
|
+
readonly name = "make:subscriber";
|
|
4
|
+
readonly description = "Create an event subscriber class";
|
|
5
|
+
readonly usage = "tyravel make:subscriber <Name>";
|
|
6
|
+
handle(args: string[]): Promise<number>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=make-subscriber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-subscriber.d.ts","sourceRoot":"","sources":["../../src/commands/make-subscriber.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWxC,qBAAa,qBAAsB,SAAQ,OAAO;IAChD,SAAkB,IAAI,qBAAqB;IAC3C,SAAkB,WAAW,sCAAsC;IACnE,SAAkB,KAAK,oCAAoC;IAErD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAwB9C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { Command } from '../command.js';
|
|
3
|
+
import { requireProjectRoot } from '../project.js';
|
|
4
|
+
import { eventSubscriber } from '../stubs.js';
|
|
5
|
+
import { parseOptions, positionalArgs, projectPath, toPascalCase, writeFile, } from '../utils.js';
|
|
6
|
+
export class MakeSubscriberCommand extends Command {
|
|
7
|
+
name = 'make:subscriber';
|
|
8
|
+
description = 'Create an event subscriber class';
|
|
9
|
+
usage = 'tyravel make:subscriber <Name>';
|
|
10
|
+
async handle(args) {
|
|
11
|
+
parseOptions(args);
|
|
12
|
+
const [name] = positionalArgs(args);
|
|
13
|
+
if (!name) {
|
|
14
|
+
console.error('Subscriber name is required.');
|
|
15
|
+
return 1;
|
|
16
|
+
}
|
|
17
|
+
const className = toPascalCase(name);
|
|
18
|
+
const root = requireProjectRoot();
|
|
19
|
+
const target = projectPath(root, 'src/subscribers', `${className}.ts`);
|
|
20
|
+
if (existsSync(target)) {
|
|
21
|
+
console.error(`Subscriber already exists: src/subscribers/${className}.ts`);
|
|
22
|
+
return 1;
|
|
23
|
+
}
|
|
24
|
+
writeFile(target, eventSubscriber(className));
|
|
25
|
+
console.log(`Subscriber created: src/subscribers/${className}.ts`);
|
|
26
|
+
console.log(`Register it in config/events.ts subscribers: [${className}]`);
|
|
27
|
+
return 0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=make-subscriber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-subscriber.js","sourceRoot":"","sources":["../../src/commands/make-subscriber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,qBAAsB,SAAQ,OAAO;IAC9B,IAAI,GAAG,iBAAiB,CAAC;IACzB,WAAW,GAAG,kCAAkC,CAAC;IACjD,KAAK,GAAG,gCAAgC,CAAC;IAE3D,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;QAEvE,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,8CAA8C,SAAS,KAAK,CAAC,CAAC;YAC5E,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,uCAAuC,SAAS,KAAK,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,iDAAiD,SAAS,GAAG,CAAC,CAAC;QAE3E,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '../command.js';
|
|
2
|
+
export declare class MakeTestCommand extends Command {
|
|
3
|
+
readonly name = "make:test";
|
|
4
|
+
readonly description = "Create a feature test class";
|
|
5
|
+
readonly usage = "tyravel make:test <Name>";
|
|
6
|
+
handle(args: string[]): Promise<number>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=make-test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-test.d.ts","sourceRoot":"","sources":["../../src/commands/make-test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIxC,qBAAa,eAAgB,SAAQ,OAAO;IAC1C,SAAkB,IAAI,eAAe;IACrC,SAAkB,WAAW,iCAAiC;IAC9D,SAAkB,KAAK,8BAA8B;IAE/C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAgB9C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { projectPath, writeFile } from '../utils.js';
|
|
2
|
+
import { Command } from '../command.js';
|
|
3
|
+
import { requireProjectRoot } from '../project.js';
|
|
4
|
+
import { featureTestStub } from '../stubs-testing.js';
|
|
5
|
+
export class MakeTestCommand extends Command {
|
|
6
|
+
name = 'make:test';
|
|
7
|
+
description = 'Create a feature test class';
|
|
8
|
+
usage = 'tyravel make:test <Name>';
|
|
9
|
+
async handle(args) {
|
|
10
|
+
const name = args[0];
|
|
11
|
+
if (!name) {
|
|
12
|
+
console.error('Usage: tyravel make:test <Name>');
|
|
13
|
+
return 1;
|
|
14
|
+
}
|
|
15
|
+
const root = requireProjectRoot();
|
|
16
|
+
const className = name.endsWith('Test') ? name : `${name}Test`;
|
|
17
|
+
const fileName = className.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
|
|
18
|
+
const target = projectPath(root, `tests/feature/${fileName}.ts`);
|
|
19
|
+
writeFile(target, featureTestStub(className));
|
|
20
|
+
console.log(`Created ${target}`);
|
|
21
|
+
return 0;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=make-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-test.js","sourceRoot":"","sources":["../../src/commands/make-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,OAAO,eAAgB,SAAQ,OAAO;IACxB,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,GAAG,6BAA6B,CAAC;IAC5C,KAAK,GAAG,0BAA0B,CAAC;IAErD,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;QAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,iBAAiB,QAAQ,KAAK,CAAC,CAAC;QAEjE,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,CAAC;IACX,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from '../command.js';
|
|
2
|
+
export declare class MakeViewCommand extends Command {
|
|
3
|
+
readonly name = "make:view";
|
|
4
|
+
readonly description = "Create a new Tyr template view";
|
|
5
|
+
readonly usage = "tyravel make:view <name>";
|
|
6
|
+
handle(args: string[]): Promise<number>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=make-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-view.d.ts","sourceRoot":"","sources":["../../src/commands/make-view.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAWxC,qBAAa,eAAgB,SAAQ,OAAO;IAC1C,SAAkB,IAAI,eAAe;IACrC,SAAkB,WAAW,oCAAoC;IACjE,SAAkB,KAAK,8BAA8B;IAE/C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CA6B9C"}
|