@darkstar-cli/cli 0.0.12 → 0.0.14

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/README.md ADDED
@@ -0,0 +1,400 @@
1
+ > [!CAUTION]
2
+ > ## ⚠️ ALPHA VERSION — DO NOT USE IN PRODUCTION
3
+ > DarkStar is in **early alpha**. APIs will change without notice. The package is not stable — use at your own risk.
4
+
5
+ > [!WARNING]
6
+ > ## 🧪 CUSTOM ORM — NO RELATIONSHIP SUPPORT
7
+ > DarkStar uses a **custom ORM** inspired by Eloquent, built from scratch for Node.js. It is **not Prisma, TypeORM or Sequelize**. Relationships (`hasOne`, `hasMany`, `belongsTo`), eager loading and transactions are **not yet implemented**. Check the Known Limitations section before using.
8
+
9
+ > [!NOTE]
10
+ > 📦 DarkStar is published on npm as **`@darkstar-cli/cli`**. Install with `npm install -g @darkstar-cli/cli`.
11
+
12
+ # 🪐 DarkStar — Backend Framework for Node.js
13
+
14
+ > *"Forged in the void. Built to last."*
15
+
16
+ > Inspired by the elegance of **Laravel** — reimagined for the **Node.js** universe.
17
+
18
+ ---
19
+
20
+ ## Why does DarkStar exist?
21
+
22
+ I'm a PHP fan. The first time I saw Laravel I couldn't wrap my head around it — but once I did, I thought: *"this is brilliant"*.
23
+
24
+ NestJS tries to bring that experience to Node, but in practice it's verbose, decorator-heavy and hard to read. Plain Express is too flexible — you end up building the same boilerplate from scratch on every project.
25
+
26
+ **DarkStar** was born to solve this: a Node.js framework with the clarity and productivity of Laravel, without the ecosystem mess.
27
+
28
+ ---
29
+
30
+ ## Philosophy
31
+
32
+ - **Convention over configuration** — ready-made structure, no unnecessary decisions
33
+ - **MVC as a first-class citizen** — Controller → Service → Repository is the standard, not an opinion
34
+ - **CLI that does the heavy lifting** — one command generates the entire layer
35
+ - **Centralized dependencies** — you update DarkStar, not 40 separate packages
36
+ - **Expressive custom ORM** — fluent Eloquent-style query builder, built from scratch for Node.js, no decorators
37
+
38
+ ---
39
+
40
+ ## Installation
41
+
42
+ ```bash
43
+ npm install -g @darkstar-cli/cli
44
+ ```
45
+
46
+ ---
47
+
48
+ ## Creating a project
49
+
50
+ ```bash
51
+ darkstar new my-project
52
+ ```
53
+
54
+ The CLI will ask:
55
+ - Which database? (MySQL · PostgreSQL)
56
+
57
+ Generated structure:
58
+
59
+ ```
60
+ my-project/
61
+ ├── src/
62
+ │ ├── controllers/
63
+ │ ├── services/
64
+ │ ├── repositories/
65
+ │ ├── models/
66
+ │ ├── routes/
67
+ │ ├── schemas/
68
+ │ ├── middlewares/
69
+ │ ├── utils/
70
+ │ └── core/
71
+ │ └── app.ts
72
+ ├── database/
73
+ │ ├── migrations/
74
+ │ └── seeders/
75
+ │ ├── Seeder.ts
76
+ │ └── DatabaseSeeder.ts
77
+ ├── .env
78
+ ├── darkstar.config.ts
79
+ └── package.json
80
+ ```
81
+
82
+ ---
83
+
84
+ ## CLI — DarkStar Forge
85
+
86
+ | Command | Description |
87
+ |---|---|
88
+ | `darkstar new <name>` | Creates a new project |
89
+ | `darkstar serve` | Starts the development server |
90
+ | `darkstar forge make:api <Name>` | Generates controller + service + repository + model + routes + schema + middleware |
91
+ | `darkstar forge make:controller <Name>` | Generates a Controller |
92
+ | `darkstar forge make:service <Name>` | Generates a Service |
93
+ | `darkstar forge make:repository <Name>` | Generates a Repository |
94
+ | `darkstar forge make:model <Name>` | Generates a Model |
95
+ | `darkstar forge make:migration <Name>` | Generates a Migration |
96
+ | `darkstar forge make:seeder <Name>` | Generates a Seeder (automatically reads fields from the migration) |
97
+ | `darkstar forge make:schema <Name>` | Generates a Schema |
98
+ | `darkstar forge make:middleware <Name>` | Generates a Middleware |
99
+ | `darkstar forge make:util <Name>` | Generates omitPassword and twoFactor utils |
100
+ | `darkstar forge make:security` | Generates RateLimitMiddleware with ready-made limiters |
101
+ | `darkstar forge db:create` | Creates the database |
102
+ | `darkstar forge db:migrate` | Runs pending migrations |
103
+ | `darkstar forge db:rollback` | Rolls back the last migration |
104
+ | `darkstar forge db:seed` | Seeds the database |
105
+
106
+ ---
107
+
108
+ ## Recommended workflow from scratch
109
+
110
+ ```bash
111
+ # 1. Create the database
112
+ darkstar forge db:create
113
+
114
+ # 2. Generate the migration
115
+ darkstar forge make:migration CreateUsersTable
116
+
117
+ # 3. Edit the generated file in database/migrations/ with the desired fields
118
+
119
+ # 4. Run the migration
120
+ darkstar forge db:migrate
121
+
122
+ # 5. Generate the full API
123
+ darkstar forge make:api User
124
+
125
+ # 6. Generate the seeder (automatically reads fields from the migration)
126
+ darkstar forge make:seeder User
127
+
128
+ # 7. Seed the database
129
+ darkstar forge db:seed
130
+
131
+ # 8. Generate utils
132
+ darkstar forge make:util User
133
+
134
+ # 9. Generate security rate limiters
135
+ darkstar forge make:security
136
+
137
+ # 10. Start the server
138
+ darkstar serve
139
+ ```
140
+
141
+ ---
142
+
143
+ ## Structure generated by `make:api`
144
+
145
+ A single `darkstar forge make:api User` command generates the entire MVC chain:
146
+
147
+ **`UserController.ts`**
148
+
149
+ ```typescript
150
+ import { DarkstarRequest, DarkstarResponse } from '@darkstar-cli/core'
151
+ import { UserService } from '../services/UserService'
152
+
153
+ export class UserController {
154
+ constructor(private userService: UserService) {}
155
+
156
+ async index(req: DarkstarRequest, res: DarkstarResponse) {
157
+ const data = await this.userService.findAll()
158
+ return res.ok(data)
159
+ }
160
+
161
+ async show(req: DarkstarRequest, res: DarkstarResponse) {
162
+ const data = await this.userService.findById(req.param('id')!)
163
+ if (!data) return res.notFound('User not found')
164
+ return res.ok(data)
165
+ }
166
+
167
+ async store(req: DarkstarRequest, res: DarkstarResponse) {
168
+ const data = await this.userService.create(req.all())
169
+ return res.created(data)
170
+ }
171
+
172
+ async update(req: DarkstarRequest, res: DarkstarResponse) {
173
+ const data = await this.userService.update(req.param('id')!, req.all())
174
+ return res.ok(data)
175
+ }
176
+
177
+ async destroy(req: DarkstarRequest, res: DarkstarResponse) {
178
+ await this.userService.delete(req.param('id')!)
179
+ return res.noContent()
180
+ }
181
+ }
182
+ ```
183
+
184
+ **`UserService.ts`**
185
+
186
+ ```typescript
187
+ import { UserRepository } from '../repositories/UserRepository'
188
+
189
+ export class UserService {
190
+ constructor(private userRepository: UserRepository) {}
191
+
192
+ findAll() { return this.userRepository.findAll() }
193
+ findById(id: string) { return this.userRepository.findById(id) }
194
+ create(data: Record<string, any>) { return this.userRepository.create(data) }
195
+ update(id: string, data: Record<string, any>) { return this.userRepository.update(id, data) }
196
+ delete(id: string) { return this.userRepository.delete(id) }
197
+ }
198
+ ```
199
+
200
+ **`UserRepository.ts`**
201
+
202
+ ```typescript
203
+ import { User } from '../models/User'
204
+
205
+ export class UserRepository {
206
+ findAll() { return User.all() }
207
+ findById(id: string) { return User.find(id) }
208
+ create(data: Record<string, any>) { return User.create(data) }
209
+ update(id: string, data: Record<string, any>) { return User.where('id', id).update(data) }
210
+ delete(id: string) { return User.where('id', id).delete() }
211
+ }
212
+ ```
213
+
214
+ **`User.ts`**
215
+
216
+ ```typescript
217
+ import { Model } from '@darkstar-cli/orm'
218
+
219
+ export class User extends Model {
220
+ static table = 'users'
221
+ }
222
+ ```
223
+
224
+ **`UserSchema.ts`**
225
+
226
+ ```typescript
227
+ export const UserSchema = {}
228
+ ```
229
+
230
+ **`UserMiddleware.ts`**
231
+
232
+ ```typescript
233
+ import { DarkstarRequest, DarkstarResponse, NextFunction } from '@darkstar-cli/core'
234
+
235
+ export class UserMiddleware {
236
+ handle(req: DarkstarRequest, res: DarkstarResponse, next: NextFunction) {
237
+ next()
238
+ }
239
+ }
240
+ ```
241
+
242
+ ---
243
+
244
+ ## Utils — `make:util`
245
+
246
+ The `darkstar forge make:util User` command generates ready-made utilities in `src/utils/user/`:
247
+
248
+ **`omitPassword.ts`**
249
+
250
+ Strips the `password` field from any object before returning it to the client — useful in service and controller responses.
251
+
252
+ ```typescript
253
+ export function omitUserPassword<T extends Record<string, any>>(obj: T): Omit<T, 'password'> {
254
+ const { password, ...rest } = obj
255
+ return rest
256
+ }
257
+ ```
258
+
259
+ **`twoFactor.ts`**
260
+
261
+ Generates and validates a 6-digit numeric code. See Known Limitations for production caveats.
262
+
263
+ ```typescript
264
+ import * as crypto from 'crypto'
265
+
266
+ export function generateUserTwoFactorCode(): string {
267
+ const code = crypto.randomInt(100000, 999999)
268
+ return code.toString()
269
+ }
270
+
271
+ export function validateUserTwoFactorCode(inputCode: string, expectedCode: string): boolean {
272
+ return inputCode.trim() === expectedCode.trim()
273
+ }
274
+ ```
275
+
276
+ ---
277
+
278
+ ## Security — `make:security`
279
+
280
+ The `darkstar forge make:security` command generates `src/middlewares/RateLimitMiddleware.ts` with 22 ready-made limiters covering:
281
+
282
+ - **Auth** — login, register, forgot/reset password, refresh token, verify email, two-factor
283
+ - **CRUD** — read, write, delete
284
+ - **Files** — upload, download
285
+ - **Real-time** — SSE, WebSocket
286
+ - **Communication** — email, SMS, webhook
287
+ - **Search & reports** — search, stats, report
288
+ - **Admin** — general and destructive actions
289
+ - **Payments** — checkout, refund
290
+
291
+ Usage in routes:
292
+
293
+ ```typescript
294
+ import { loginLimiter, registerLimiter, globalLimiter } from '../middlewares/RateLimitMiddleware'
295
+
296
+ router.post('/auth/login', loginLimiter, ...)
297
+ router.post('/auth/register', registerLimiter, ...)
298
+ router.use('/api', globalLimiter)
299
+ ```
300
+
301
+ ---
302
+
303
+ ## Routes
304
+
305
+ All routes are prefixed with `/api` by default. Example with `make:api User`:
306
+
307
+ ```
308
+ GET /api/users
309
+ GET /api/users/:id
310
+ POST /api/users
311
+ PUT /api/users/:id
312
+ DELETE /api/users/:id
313
+ ```
314
+
315
+ The prefix can be changed when booting the application:
316
+
317
+ ```typescript
318
+ await app.boot('/') // no prefix
319
+ await app.boot('/v1') // versioned
320
+ ```
321
+
322
+ ---
323
+
324
+ ## Custom ORM — Eloquent-style Query Builder
325
+
326
+ > [!WARNING]
327
+ > DarkStar's ORM is an independent package (`@darkstar-cli/orm`), built from scratch. Do not confuse it with Prisma, TypeORM or Sequelize. Check the Known Limitations section before using in production.
328
+
329
+ ```typescript
330
+ // fetch all
331
+ const users = await User.all()
332
+
333
+ // fetch by id
334
+ const user = await User.find(1)
335
+
336
+ // chained filters
337
+ const admins = await User
338
+ .where('role', 'admin')
339
+ .where('active', true)
340
+ .orderBy('name')
341
+ .get()
342
+
343
+ // create
344
+ const user = await User.create({ name: 'Test', email: 'test@email.com' })
345
+
346
+ // update
347
+ await User.where('id', 1).update({ name: 'Test' })
348
+
349
+ // delete
350
+ await User.where('id', 1).delete()
351
+ ```
352
+
353
+ ---
354
+
355
+ ## Known Limitations
356
+
357
+ DarkStar is in **early alpha**. The limitations below are known and will be addressed in future releases.
358
+
359
+ ### ORM
360
+
361
+ - **No relationship support** — `hasOne`, `hasMany`, `belongsTo`, `belongsToMany` are not implemented. Queries with JOINs must be written in raw SQL for now.
362
+ - **Schema builder is MySQL/MariaDB only** — `Schema.create()`, `hasTable()`, `addColumn()` and `dropColumn()` generate MySQL syntax. PostgreSQL and SQLite migrations must use raw SQL inside the `up()` function.
363
+ - **No eager loading** — there is no equivalent to Laravel's `with()`. Related models must be fetched in separate queries.
364
+ - **`update()` returns the number of affected rows, not the updated record** — `Model.update(id, data)` returns `number`, not the updated instance. Re-fetch the record after updating if you need the new values.
365
+ - **No transaction API** — there is no `DB.transaction(callback)` helper. Transactions must be managed manually through the raw driver.
366
+ - **SQLite has no advisory locks** — `db:migrate` uses `GET_LOCK` (MySQL) and `pg_advisory_lock` (PostgreSQL) to prevent concurrent migrations. SQLite has no equivalent, so running migrations in parallel on SQLite is unsafe.
367
+ - **`hasTable()` uses `SHOW TABLES`, which is MySQL only** — will fail on PostgreSQL and SQLite.
368
+
369
+ ### IoC Container
370
+
371
+ - **Dependency resolution is based on constructor parameter names** — the container parses the constructor source code as a string to infer dependencies. This breaks when code is minified, bundled or compiled in a way that renames parameters. Do not use with bundlers that mangle variable names (e.g. esbuild with `minifyIdentifiers: true`).
372
+ - **No circular dependency detection** — circular dependencies will cause a stack overflow with no useful error message.
373
+
374
+ ### CLI
375
+
376
+ - **`darkstar new` uses local `file:` paths** — the generated `package.json` references `@darkstar-cli/core` and `@darkstar-cli/orm` as `file:` paths pointing to the monorepo. This will be updated to npm versions on release.
377
+ - **`make:model` generates a stub with `createModel` that does not exist in `@darkstar-cli/orm`** — the standalone `make:model` command generates `import { createModel, Model }`, which is not exported by the ORM. Use `make:api` instead or copy the model stub from it.
378
+ - **`make:middleware` generates imports with `TanisRequest`/`TanisResponse`** — the standalone `make:middleware` command still uses the old `Tanis*` aliases. They work at runtime but are inconsistent with the `Darkstar*` naming used everywhere else.
379
+ - **`darkstar serve` runs `npm run dev`** — assumes the project has a `dev` script in `package.json`. If you rename it, `darkstar serve` will fail.
380
+ - **Automatic seeder registration depends on the comment `// register your seeders here`** — if this comment is removed or modified in `DatabaseSeeder.ts`, `make:seeder` will not register the new seeder automatically.
381
+
382
+ ### Validation
383
+
384
+ - **`UserSchema` is an empty object** — schemas generated by `make:schema` and `make:api` are stubs with no validation logic. Integrate [Zod](https://zod.dev) or [Joi](https://joi.dev) manually for now.
385
+
386
+ ### Two-Factor Authentication
387
+
388
+ - **`twoFactor.ts` is not RFC 6238 compliant** — the generated util uses `crypto.randomInt` to produce a one-time code, but has no time window, HMAC or shared secret. It is suitable only as a placeholder. For production 2FA, use [`otplib`](https://github.com/yeojz/otplib).
389
+
390
+ ---
391
+
392
+ ## Inspirations
393
+
394
+ - **Laravel** — for the elegance and productivity
395
+ - **Pandorum** — for the idea of forging something new in the void of space
396
+ - **Constellation CLI** — same spirit of automating what is repetitive
397
+
398
+ ---
399
+
400
+ > 🪐 DarkStar — Open Source
@@ -125,7 +125,7 @@ async function runNew(name) {
125
125
  error(`A pasta "${name}" já existe.`);
126
126
  process.exit(1);
127
127
  }
128
- const templatePath = path.resolve(__dirname, '../../templates/project');
128
+ const templatePath = path.resolve(__dirname, '../../../templates/project');
129
129
  info('Copiando estrutura do projeto...');
130
130
  copyTemplate(templatePath, projectPath);
131
131
  success('Estrutura criada');
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@darkstar-cli/cli",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "description": "CLI do framework DarkStar — backend Node.js inspirado no Laravel",
5
5
  "license": "MIT",
6
6
  "author": "Albertaodasmassa",