@nyalajs/cli 1.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 (37) hide show
  1. package/dist/bin/nyala.d.ts +3 -0
  2. package/dist/bin/nyala.d.ts.map +1 -0
  3. package/dist/bin/nyala.js +190 -0
  4. package/dist/bin/nyala.js.map +1 -0
  5. package/dist/commands/generate.command.d.ts +63 -0
  6. package/dist/commands/generate.command.d.ts.map +1 -0
  7. package/dist/commands/generate.command.js +554 -0
  8. package/dist/commands/generate.command.js.map +1 -0
  9. package/dist/commands/migrate.command.d.ts +15 -0
  10. package/dist/commands/migrate.command.d.ts.map +1 -0
  11. package/dist/commands/migrate.command.js +179 -0
  12. package/dist/commands/migrate.command.js.map +1 -0
  13. package/dist/commands/new.command.d.ts +19 -0
  14. package/dist/commands/new.command.d.ts.map +1 -0
  15. package/dist/commands/new.command.helpers.d.ts +6 -0
  16. package/dist/commands/new.command.helpers.d.ts.map +1 -0
  17. package/dist/commands/new.command.helpers.js +92 -0
  18. package/dist/commands/new.command.helpers.js.map +1 -0
  19. package/dist/commands/new.command.js +515 -0
  20. package/dist/commands/new.command.js.map +1 -0
  21. package/dist/commands/seed.command.d.ts +15 -0
  22. package/dist/commands/seed.command.d.ts.map +1 -0
  23. package/dist/commands/seed.command.js +144 -0
  24. package/dist/commands/seed.command.js.map +1 -0
  25. package/dist/commands/validate.command.d.ts +7 -0
  26. package/dist/commands/validate.command.d.ts.map +1 -0
  27. package/dist/commands/validate.command.js +127 -0
  28. package/dist/commands/validate.command.js.map +1 -0
  29. package/dist/utils/banner.d.ts +5 -0
  30. package/dist/utils/banner.d.ts.map +1 -0
  31. package/dist/utils/banner.js +174 -0
  32. package/dist/utils/banner.js.map +1 -0
  33. package/dist/utils/naming.d.ts +4 -0
  34. package/dist/utils/naming.d.ts.map +1 -0
  35. package/dist/utils/naming.js +33 -0
  36. package/dist/utils/naming.js.map +1 -0
  37. package/package.json +34 -0
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=nyala.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nyala.d.ts","sourceRoot":"","sources":["../../src/bin/nyala.ts"],"names":[],"mappings":""}
@@ -0,0 +1,190 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const commander_1 = require("commander");
5
+ const child_process_1 = require("child_process");
6
+ const new_command_1 = require("../commands/new.command");
7
+ const generate_command_1 = require("../commands/generate.command");
8
+ const validate_command_1 = require("../commands/validate.command");
9
+ const migrate_command_1 = require("../commands/migrate.command");
10
+ const seed_command_1 = require("../commands/seed.command");
11
+ const banner_1 = require("../utils/banner");
12
+ // Print the Nyala 3D logo banner on every CLI invocation
13
+ (0, banner_1.printBanner)();
14
+ const program = new commander_1.Command();
15
+ program
16
+ .name("nyala")
17
+ .description("Nyala Framework CLI")
18
+ .version("0.1.0");
19
+ // New command
20
+ program
21
+ .command("new [name]")
22
+ .description("Generate a new Nyala application")
23
+ .option("-t, --template <template>", "Template to use (mvc, saas, basic)", "mvc")
24
+ .option("-d, --database <driver>", "Database driver (postgres, mysql, sqlite)", "postgres")
25
+ .action(async (name, options) => {
26
+ const cmd = new new_command_1.NewCommand();
27
+ await cmd.execute(name, options);
28
+ });
29
+ // Generate command — artifact types per docs/requirements.md §4.23
30
+ const generate = program
31
+ .command("generate")
32
+ .alias("g")
33
+ .description("Generate framework artifacts");
34
+ generate
35
+ .command("controller <name>")
36
+ .description("Generate a new controller in app/controllers")
37
+ .action(async (name) => {
38
+ await new generate_command_1.GenerateCommand().generateController(name);
39
+ });
40
+ generate
41
+ .command("model <name>")
42
+ .description("Generate a new model in app/models")
43
+ .action(async (name) => {
44
+ await new generate_command_1.GenerateCommand().generateModel(name);
45
+ });
46
+ generate
47
+ .command("migration <name>")
48
+ .description("Generate a new migration in database/migrations")
49
+ .action(async (name) => {
50
+ await new generate_command_1.GenerateCommand().generateMigration(name);
51
+ });
52
+ generate
53
+ .command("service <name>")
54
+ .description("Generate a new service in app/services")
55
+ .action(async (name) => {
56
+ await new generate_command_1.GenerateCommand().generateService(name);
57
+ });
58
+ generate
59
+ .command("repository <name>")
60
+ .description("Generate a new repository in app/repositories")
61
+ .action(async (name) => {
62
+ await new generate_command_1.GenerateCommand().generateRepository(name);
63
+ });
64
+ generate
65
+ .command("request <name>")
66
+ .description("Generate a new request DTO in app/requests")
67
+ .action(async (name) => {
68
+ await new generate_command_1.GenerateCommand().generateRequest(name);
69
+ });
70
+ generate
71
+ .command("policy <name>")
72
+ .description("Generate a new policy in app/policies")
73
+ .action(async (name) => {
74
+ await new generate_command_1.GenerateCommand().generatePolicy(name);
75
+ });
76
+ generate
77
+ .command("middleware <name>")
78
+ .description("Generate a new middleware in app/middleware")
79
+ .action(async (name) => {
80
+ await new generate_command_1.GenerateCommand().generateMiddleware(name);
81
+ });
82
+ generate
83
+ .command("event <name>")
84
+ .description("Generate a new event in app/events")
85
+ .action(async (name) => {
86
+ await new generate_command_1.GenerateCommand().generateEvent(name);
87
+ });
88
+ generate
89
+ .command("listener <name>")
90
+ .description("Generate a new listener in app/listeners")
91
+ .action(async (name) => {
92
+ await new generate_command_1.GenerateCommand().generateListener(name);
93
+ });
94
+ generate
95
+ .command("job <name>")
96
+ .description("Generate a new job in app/jobs")
97
+ .action(async (name) => {
98
+ await new generate_command_1.GenerateCommand().generateJob(name);
99
+ });
100
+ generate
101
+ .command("resource <name>")
102
+ .description("Generate a new resource in app/resources")
103
+ .action(async (name) => {
104
+ await new generate_command_1.GenerateCommand().generateResource(name);
105
+ });
106
+ generate
107
+ .command("plugin <name>")
108
+ .description("Generate a new plugin in plugins/")
109
+ .action(async (name) => {
110
+ await new generate_command_1.GenerateCommand().generatePlugin(name);
111
+ });
112
+ generate
113
+ .command("seeder <name>")
114
+ .description("Generate a new database seeder in database/seeders")
115
+ .action(async (name) => {
116
+ await new generate_command_1.GenerateCommand().generateSeeder(name);
117
+ });
118
+ generate
119
+ .command("factory <name>")
120
+ .description("Generate a new database factory in database/factories")
121
+ .action(async (name) => {
122
+ await new generate_command_1.GenerateCommand().generateFactory(name);
123
+ });
124
+ // Validate command
125
+ program
126
+ .command("validate")
127
+ .description("Validate application architecture")
128
+ .action(async () => {
129
+ const cmd = new validate_command_1.ValidateCommand();
130
+ await cmd.execute();
131
+ });
132
+ // Dev command
133
+ program
134
+ .command("dev")
135
+ .description("Start the application in development mode with hot-reload")
136
+ .action(() => {
137
+ console.log("Starting Nyala development server...\n");
138
+ const result = (0, child_process_1.spawnSync)("npx", ["nodemon", "--exec", "ts-node", "bootstrap/main.ts"], {
139
+ stdio: "inherit",
140
+ });
141
+ if (result.error) {
142
+ console.error("Failed to start dev server:", result.error.message);
143
+ process.exit(1);
144
+ }
145
+ process.exit(result.status ?? 0);
146
+ });
147
+ program
148
+ .command("db:migrate")
149
+ .description("Run pending database migrations (Drizzle ORM)")
150
+ .option("--seed", "Run seeders after migrating")
151
+ .action(async (options) => {
152
+ const command = new migrate_command_1.MigrateCommand();
153
+ await command.handle({ seed: options.seed });
154
+ });
155
+ program
156
+ .command("db:fresh")
157
+ .description("Drop the entire schema, re-run all migrations, and optionally seed")
158
+ .option("--seed", "Run seeders after migrating")
159
+ .action(async () => {
160
+ const command = new migrate_command_1.MigrateCommand();
161
+ await command.fresh();
162
+ });
163
+ program
164
+ .command("db:seed")
165
+ .description("Run database seeders from database/seeders/")
166
+ .option("--class <name>", "Only run the named seeder (partial match)")
167
+ .action(async (options) => {
168
+ const command = new seed_command_1.SeedCommand();
169
+ await command.handle({ class: options.class });
170
+ });
171
+ program
172
+ .command("build")
173
+ .description("Build the application for production (tsc → dist/)")
174
+ .option("--out-dir <dir>", "Output directory", "dist")
175
+ .action((options) => {
176
+ console.log("Building Nyala application...\n");
177
+ const result = (0, child_process_1.spawnSync)("npx", ["tsc", "--outDir", options.outDir, "--skipLibCheck"], {
178
+ stdio: "inherit",
179
+ });
180
+ if (result.error) {
181
+ console.error("Build failed:", result.error.message);
182
+ process.exit(1);
183
+ }
184
+ if (result.status === 0) {
185
+ console.log(`\n✔ Build complete → ${options.outDir}/`);
186
+ }
187
+ process.exit(result.status ?? 0);
188
+ });
189
+ program.parse(process.argv);
190
+ //# sourceMappingURL=nyala.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nyala.js","sourceRoot":"","sources":["../../src/bin/nyala.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Generators for the artifact types listed in docs/requirements.md §4.23 /
3
+ * the source SRS §7 "Code Generation". Every generator writes into the
4
+ * app/<type> convention scaffolded by `nyala new` (see new.command.ts).
5
+ *
6
+ * Names may be passed with or without the conventional suffix — both
7
+ * `nyala generate policy User` and `nyala generate policy UserPolicy`
8
+ * produce `app/policies/user.policy.ts` exporting `UserPolicy`.
9
+ *
10
+ * Some artifact types (model, migration, repository, request, event,
11
+ * listener, job, plugin) depend on framework subsystems that don't exist
12
+ * yet (ORM, validation engine, event bus, queue, plugin loader — see
13
+ * docs/requirements.md §4.6/§4.8-4.10/§4.14-16/§5). Those generators still
14
+ * write a real file in the right place so the CLI surface matches the SRS,
15
+ * but the template is a clearly-marked stub rather than working code.
16
+ */
17
+ export declare class GenerateCommand {
18
+ generateController(name: string): Promise<void>;
19
+ generateService(name: string): Promise<void>;
20
+ generateModel(name: string): Promise<void>;
21
+ generateMigration(name: string): Promise<void>;
22
+ generateRepository(name: string): Promise<void>;
23
+ generateRequest(name: string): Promise<void>;
24
+ generatePolicy(name: string): Promise<void>;
25
+ generateMiddleware(name: string): Promise<void>;
26
+ generateEvent(name: string): Promise<void>;
27
+ generateListener(name: string): Promise<void>;
28
+ generateJob(name: string): Promise<void>;
29
+ generateResource(name: string): Promise<void>;
30
+ generateSeeder(name: string): Promise<void>;
31
+ generateFactory(name: string): Promise<void>;
32
+ generateDto(name: string): Promise<void>;
33
+ generatePlugin(name: string): Promise<void>;
34
+ private specs;
35
+ /**
36
+ * Strips a conventional suffix if the caller already included it, so
37
+ * `policy User` and `policy UserPolicy` both yield `UserPolicy` / `user`
38
+ * instead of stuttering to `UserPolicyPolicy`.
39
+ */
40
+ private normalizeName;
41
+ private writeArtifact;
42
+ private generateAndRegister;
43
+ /** Best-effort: appends the import + array entry to bootstrap/app.module.ts. */
44
+ private registerInAppModule;
45
+ private timestamp;
46
+ private getControllerTemplate;
47
+ private getServiceTemplate;
48
+ private getModelTemplate;
49
+ private getMigrationTemplate;
50
+ private getRepositoryTemplate;
51
+ private getRequestTemplate;
52
+ private getPolicyTemplate;
53
+ private getMiddlewareTemplate;
54
+ private getEventTemplate;
55
+ private getListenerTemplate;
56
+ private getJobTemplate;
57
+ private getResourceTemplate;
58
+ private getPluginTemplate;
59
+ private getSeederTemplate;
60
+ private getFactoryTemplate;
61
+ private getDtoTemplate;
62
+ }
63
+ //# sourceMappingURL=generate.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.command.d.ts","sourceRoot":"","sources":["../../src/commands/generate.command.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAe;IAClB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjD,OAAO,CAAC,KAAK,CAqFX;IAIF;;;;OAIG;IACH,OAAO,CAAC,aAAa;YAWP,aAAa;YAkBb,mBAAmB;IAwBjC,gFAAgF;YAClE,mBAAmB;IAsCjC,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,cAAc;CAMzB"}