arikajs 0.10.5 β†’ 0.10.7

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 CHANGED
@@ -15,7 +15,7 @@
15
15
  [![GitHub issues](https://img.shields.io/github/issues/arikajs/arikajs.svg?style=flat-square)](https://github.com/arikajs/arikajs/issues)
16
16
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/arikajs/arikajs/pulls)
17
17
 
18
- [Quick Start](#quick-start) | [Examples](https://github.com/arikajs/examples) | [Community](https://discord.gg/arikajs)
18
+ [Quick Start](#quick-start) | [Core Modules](#-the-arikajs-ecosystem) | [Documentation](https://arikajs.com) | [Discord](https://discord.gg/arikajs)
19
19
 
20
20
  </div>
21
21
 
@@ -23,435 +23,120 @@
23
23
 
24
24
  ## πŸš€ What is ArikaJS?
25
25
 
26
- ArikaJS is a **modern, elegant, and powerful** Node.js framework that brings enterprise-grade features and developer-friendly patterns to the TypeScript/JavaScript ecosystem. Built from the ground up with TypeScript, ArikaJS provides a robust foundation for building scalable web applications and APIs with an intuitive, expressive syntax.
27
-
28
- ### ✨ Key Features
29
-
30
- - 🎯 **Elegant Syntax** - Clean, expressive code that's a joy to write
31
- - πŸ”₯ **TypeScript First** - Full TypeScript support with excellent type inference
32
- - πŸ›£οΈ **Powerful Routing** - Intuitive routing with implicit model binding
33
- - πŸ’‰ **Dependency Injection** - Built-in IoC container for clean architecture
34
- - πŸ—„οΈ **Active Record ORM** - Eloquent-inspired database layer
35
- - πŸ” **Authentication & Authorization** - Built-in auth system with guards and policies
36
- - βœ… **Validation** - Comprehensive request validation
37
- - πŸ“§ **Mail & Notifications** - Easy email and notification system
38
- - πŸ”„ **Queue System** - Background job processing
39
- - πŸ“¦ **Service Providers** - Modular application architecture
40
- - 🎨 **Template Engine** - Flexible view rendering
41
- - ⚑ **Event System** - Decouple your application with powerful events and listeners
42
- - πŸ§ͺ **Testing Ready** - Built with testing in mind
43
- - πŸ› οΈ **Global Helpers** - Intuitive functions like `app()`, `config()`, and `route()`
26
+ ArikaJS is a **modern, elegant, and powerful** full-stack framework for Node.js. It is designed to provide an unparalleled developer experience by bringing enterprise-grade architecture patterns (inspired by Laravel and NestJS) into a native, high-performance TypeScript environment.
44
27
 
45
- ---
46
-
47
- ## πŸ“¦ Installation
48
-
49
- ### Option 1: Quick Start (Using npx)
50
-
51
- The fastest way to create a new ArikaJS project is using `npx`. No installation required!
52
-
53
- ```bash
54
- # Create a new project
55
- npx @arikajs/cli new my-app
56
-
57
- # Navigate to your project
58
- cd my-app
28
+ Whether you're building a simple REST API or a complex enterprise monolith, ArikaJS provides the tools you needβ€”from a powerful ORM and background queues to expressive routing and real-time event broadcasting.
59
29
 
60
- # Start developing
61
- npm run dev
62
- ```
30
+ ---
63
31
 
64
- ### Option 2: Global Installation
32
+ ## ✨ Key Features
65
33
 
66
- If you prefer to have the `arika` command available everywhere, you can install the CLI globally:
34
+ - 🎯 **Elegant Syntax** - Expressive, readable code that minimizes boilerplate.
35
+ - πŸ”₯ **TypeScript First** - Deeply integrated type safety with zero-config setup.
36
+ - πŸ›οΈ **Modular Monorepo** - Built as a collection of decoupled, high-quality packages.
37
+ - πŸ—„οΈ **Active Record ORM** - An intuitive, Fluent interface for database interactions.
38
+ - πŸ’‰ **IoC & Dependency Injection** - Powerful service container for decoupled architecture.
39
+ - πŸ” **Auth & Authorization** - Guards, Policies, and multi-provider authentication.
40
+ - πŸ”„ **Queue & Scheduler** - Background jobs and Cron-like task scheduling.
41
+ - 🌍 **Localization (i18n)** - Built-in support for multi-language applications.
42
+ - πŸ“… **Carbon Date API** - Elegant date and time manipulation.
43
+ - 🎨 **Templating** - Lightning-fast Arika View engine with layout support.
44
+ - πŸ§ͺ **First-Class Testing** - Built-in testing helpers and assertions.
67
45
 
68
- ```bash
69
- # Install the CLI globally
70
- npm install -g @arikajs/cli
71
-
72
- # Create a new project
73
- arika new my-app
74
- ```
46
+ ---
75
47
 
76
- # Install dependencies
77
- npm install
48
+ ## πŸ“¦ The ArikaJS Ecosystem
49
+
50
+ ArikaJS is composed of specialized modules that can be used together or independently.
51
+
52
+ | Package | Purpose |
53
+ | :--- | :--- |
54
+ | **`arikajs`** | The core framework wrapper and "glue" |
55
+ | **`@arikajs/cli`** | Scaffolding, migrations, and local development |
56
+ | **`@arikajs/database`** | Database layer, Schema builder, and ORM |
57
+ | **`@arikajs/auth`** | Authentication (Web Session, JWT, API tokens) |
58
+ | **`@arikajs/queue`** | Redis/Database/Sync background job processing |
59
+ | **`@arikajs/scheduler`** | Fluid task scheduling for your application |
60
+ | **`@arikajs/carbon`** | Powerful, fluent date manipulation (Carbon JS) |
61
+ | **`@arikajs/view`** | Expressive template engine (Blade-inspired) |
62
+ | **`@arikajs/cache`** | High-performance multi-driver caching |
63
+ | **`@arikajs/mail`** | Fluent email API with SMTP, Log, and SES support |
64
+ | **`@arikajs/events`** | Event-driven architecture with listeners |
65
+ | **`@arikajs/validation`** | Powerful, schema-based request validation |
78
66
 
79
- # Start the development server
80
- npm run dev
81
- ```
67
+ ---
82
68
 
83
- Your application will be running at `http://localhost:8000` πŸŽ‰
69
+ ## 🚦 Quick Start
84
70
 
85
- ### Manual Installation
71
+ Create your first ArikaJS project in seconds:
86
72
 
87
73
  ```bash
88
- # Create a new project directory
89
- mkdir my-app && cd my-app
90
-
91
- # Initialize npm
92
- npm init -y
93
-
94
- # Install ArikaJS
95
- npm install arikajs
74
+ # Scaffold a new application
75
+ npx @arikajs/cli@latest new my-app
96
76
 
97
- # Install dev dependencies
98
- npm install -D @arikajs/cli typescript tsx @types/node
99
- ```
100
-
101
- ---
102
-
103
- ## πŸ—οΈ Project Structure
77
+ # Navigate into the project
78
+ cd my-app
104
79
 
105
- ```
106
- my-app/
107
- β”œβ”€β”€ app/
108
- β”‚ β”œβ”€β”€ Controllers/ # HTTP controllers
109
- β”‚ β”œβ”€β”€ Models/ # Database models
110
- β”‚ β”œβ”€β”€ Middleware/ # Custom middleware
111
- β”‚ └── Http/
112
- β”‚ └── Kernel.ts # HTTP kernel configuration
113
- β”œβ”€β”€ bootstrap/
114
- β”‚ └── app.ts # Application bootstrap
115
- β”œβ”€β”€ config/ # Configuration files
116
- β”‚ β”œβ”€β”€ app.ts
117
- β”‚ β”œβ”€β”€ database.ts
118
- β”‚ └── logging.ts
119
- β”œβ”€β”€ database/
120
- β”‚ └── migrations/ # Database migrations
121
- β”œβ”€β”€ routes/
122
- β”‚ └── web.ts # Route definitions
123
- β”œβ”€β”€ server.ts # Application entry point
124
- β”œβ”€β”€ .env # Environment variables
125
- └── package.json
80
+ # Install dependencies and start development
81
+ npm install && arika serve --dev
126
82
  ```
127
83
 
128
84
  ---
129
85
 
130
- ## πŸ“š Basic Usage
131
-
132
- ### Routing
133
-
134
- Define routes with an elegant, expressive syntax:
86
+ ## πŸ“– Basic Examples
135
87
 
88
+ ### Expressive Routing
136
89
  ```typescript
137
90
  import { Route } from 'arikajs';
138
91
 
139
- // Simple route
140
- Route.get('/', () => {
141
- return { message: 'Welcome to ArikaJS!' };
142
- });
143
-
144
- // Route with parameters
145
- Route.get('/users/{id}', (request, id) => {
146
- return { userId: id };
147
- });
92
+ Route.get('/', () => 'Hello World');
148
93
 
149
- // Route groups with middleware
150
- Route.group({ middleware: 'auth' }, () => {
151
- Route.get('/dashboard', [DashboardController, 'index']);
152
- Route.post('/posts', [PostController, 'store']);
94
+ Route.group({ prefix: 'api', middleware: 'auth' }, () => {
95
+ Route.get('/profile', [ProfileController, 'show']);
153
96
  });
154
97
  ```
155
98
 
156
- ### Implicit Model Binding
157
-
158
- Automatically resolve models from route parameters:
159
-
99
+ ### Powerful ORM (Active Record)
160
100
  ```typescript
161
- import { Route } from 'arikajs';
162
- import User from './app/Models/User';
163
-
164
- // Register model binding
165
- Route.model('user', User);
166
-
167
- // The {user} parameter will automatically resolve to a User instance
168
- Route.get('/users/{user}', (request, user: User) => {
169
- return {
170
- message: 'User found!',
171
- user: user
172
- };
173
- });
174
- ```
175
-
176
- ### Controllers
177
-
178
- Create clean, organized controllers:
101
+ const user = await User.where('email', 'prakash@example.com').first();
179
102
 
180
- ```typescript
181
- import { Request, Response } from 'arikajs';
182
- import User from '../Models/User';
183
-
184
- export class UserController {
185
- async index(request: Request, response: Response) {
186
- const users = await User.all();
187
- return response.json(users);
188
- }
189
-
190
- async show(request: Request, response: Response) {
191
- const user = await User.findOrFail(request.params.id);
192
- return response.json(user);
193
- }
194
-
195
- async store(request: Request, response: Response) {
196
- const user = await User.create(request.body);
197
- return response.status(201).json(user);
198
- }
199
- }
103
+ const posts = await user.posts().latest().get();
200
104
  ```
201
105
 
202
- ### Models (Active Record)
203
-
204
- Work with databases using an elegant ORM:
205
-
106
+ ### Background Jobs
206
107
  ```typescript
207
- import { Model } from 'arikajs';
108
+ import { dispatch } from '@arikajs/dispatcher';
208
109
 
209
- export default class User extends Model {
210
- protected static tableName = 'users';
211
-
212
- // Define relationships
213
- posts() {
214
- return this.hasMany(Post);
215
- }
216
-
217
- // Custom methods
218
- async sendWelcomeEmail() {
219
- // Send email logic
220
- }
221
- }
222
-
223
- // Usage
224
- const user = await User.find(1);
225
- const posts = await user.posts().get();
226
-
227
- const newUser = await User.create({
228
- name: 'John Doe',
229
- email: 'john@example.com'
230
- });
110
+ await dispatch(new ProcessVideoJob(videoPath));
231
111
  ```
232
112
 
233
- ### Middleware
234
-
235
- Create custom middleware for request processing:
236
-
113
+ ### Fluent Date Handling (Carbon)
237
114
  ```typescript
238
- import { MiddlewareHandler, Request, Response } from 'arikajs';
115
+ import { Carbon } from '@arikajs/carbon';
239
116
 
240
- export default class AuthMiddleware implements MiddlewareHandler {
241
- async handle(request: Request, response: Response, next: Function) {
242
- if (!request.headers.authorization) {
243
- return response.status(401).json({ error: 'Unauthorized' });
244
- }
245
-
246
- return next();
247
- }
248
- }
249
- ```
250
-
251
- ### Service Providers
252
-
253
- Organize your application with service providers:
254
-
255
- ```typescript
256
- import { ServiceProvider } from 'arikajs';
257
- import { PaymentService } from './Services/PaymentService';
258
-
259
- export class PaymentServiceProvider extends ServiceProvider {
260
- async register() {
261
- this.app.singleton('payment', () => {
262
- return new PaymentService(this.app.config().get('payment'));
263
- });
264
- }
265
-
266
- async boot() {
267
- // Bootstrap logic
268
- }
269
- }
270
- ```
271
-
272
- ### πŸ› οΈ Global Helpers
273
-
274
- ArikaJS provides several global helper functions to make your code more concise:
275
-
276
- ```typescript
277
- import { app, config, route } from 'arikajs';
278
-
279
- // Access the application container
280
- const userService = app().make(UserService);
281
-
282
- // Get configuration values with defaults
283
- const debug = config('app.debug', false);
284
-
285
- // Generate URLs for named routes
286
- const profileUrl = route('users.show', { id: 1 });
287
- ```
288
-
289
- ### Database Migrations
290
-
291
- Manage your database schema with migrations:
292
-
293
- ```typescript
294
- import { Migration, SchemaBuilder } from 'arikajs';
295
-
296
- export default class CreateUsersTable extends Migration {
297
- async up(schema: SchemaBuilder) {
298
- await schema.create('users', (table) => {
299
- table.increments('id');
300
- table.string('name');
301
- table.string('email').unique();
302
- table.string('password');
303
- table.timestamps();
304
- });
305
- }
306
-
307
- async down(schema: SchemaBuilder) {
308
- await schema.dropIfExists('users');
309
- }
310
- }
117
+ const nextWeek = Carbon.now().addWeek().toDateTimeString();
118
+ const diff = Carbon.parse(user.created_at).diffForHumans();
311
119
  ```
312
120
 
313
121
  ---
314
122
 
315
- ## πŸ”§ Configuration
123
+ ## πŸ› οΈ CLI Commands
316
124
 
317
- Configure your application in the `config/` directory:
318
-
319
- **config/app.ts**
320
- ```typescript
321
- export default {
322
- name: process.env.APP_NAME || 'ArikaJS',
323
- env: process.env.NODE_ENV || 'development',
324
- key: process.env.APP_KEY,
325
- timezone: 'UTC',
326
- };
327
- ```
328
-
329
- **config/database.ts**
330
- ```typescript
331
- export default {
332
- default: 'mysql',
333
- connections: {
334
- mysql: {
335
- driver: 'mysql',
336
- host: process.env.DB_HOST || 'localhost',
337
- port: parseInt(process.env.DB_PORT || '3306'),
338
- database: process.env.DB_DATABASE,
339
- username: process.env.DB_USERNAME,
340
- password: process.env.DB_PASSWORD,
341
- },
342
- },
343
- };
344
- ```
345
-
346
- ---
347
-
348
- ## 🎨 CLI Commands
349
-
350
- ArikaJS comes with a powerful CLI for common tasks:
125
+ The ArikaJS CLI is your best friend during development.
351
126
 
352
127
  ```bash
353
- # Create a new application
354
- arika new my-app
355
-
356
- # Start development server
357
- arika serve --dev
358
-
359
- # Generate application key
360
- arika key:generate
361
-
362
- # Database migrations
363
- arika migrate
364
- arika migrate:rollback
365
-
366
- # Create migration
367
- arika make:migration create_posts_table
128
+ arika list # List all available commands
129
+ arika help <command> # Show detailed help for a specific command
130
+ arika make:model # Interactive menu to generate models/migrations
131
+ arika migrate # Run pending database migrations
132
+ arika queue:work # Start the background worker
368
133
  ```
369
134
 
370
135
  ---
371
136
 
372
- ## πŸ§ͺ Testing
373
-
374
- ArikaJS is built with testing in mind:
375
-
376
- ```typescript
377
- import { describe, it } from 'node:test';
378
- import assert from 'node:assert';
379
- import app from './bootstrap/app';
380
-
381
- describe('User API', () => {
382
- it('should return all users', async () => {
383
- const response = await app.get('/api/users');
384
- assert.strictEqual(response.status, 200);
385
- });
386
- });
387
- ```
388
-
389
- ---
390
-
391
- ## πŸ“– Documentation
392
-
393
- Comprehensive documentation is available in the [GitHub repository](https://github.com/arikajs/arikajs).
394
-
395
- For guides and examples, check out:
396
- - [Installation Guide](https://github.com/arikajs/arikajs#installation)
397
- - [Routing](https://github.com/arikajs/arikajs#routing)
398
- - [Controllers](https://github.com/arikajs/arikajs#controllers)
399
- - [Database & ORM](https://github.com/arikajs/arikajs#models-active-record)
400
- - [Examples](https://github.com/arikajs/examples)
401
-
402
- ---
403
-
404
- ## πŸ— Architecture
405
-
406
- ```text
407
- arikajs/
408
- β”œβ”€β”€ src/
409
- β”‚ β”œβ”€β”€ Contracts
410
- β”‚ β”‚ └── Application.ts
411
- β”‚ β”œβ”€β”€ http
412
- β”‚ β”‚ β”œβ”€β”€ Middleware
413
- β”‚ β”‚ β”‚ β”œβ”€β”€ RequestLoggingMiddleware.ts
414
- β”‚ β”‚ β”‚ β”œβ”€β”€ ValidateRequestMiddleware.ts
415
- β”‚ β”‚ β”‚ └── ViewMiddleware.ts
416
- β”‚ β”‚ β”œβ”€β”€ Handler.ts
417
- β”‚ β”‚ └── Kernel.ts
418
- β”‚ β”œβ”€β”€ providers
419
- β”‚ β”‚ β”œβ”€β”€ AuthServiceProvider.ts
420
- β”‚ β”‚ β”œβ”€β”€ DatabaseServiceProvider.ts
421
- β”‚ β”‚ β”œβ”€β”€ EventsServiceProvider.ts
422
- β”‚ β”‚ β”œβ”€β”€ FrameworkServiceProvider.ts
423
- β”‚ β”‚ β”œβ”€β”€ HttpServiceProvider.ts
424
- β”‚ β”‚ β”œβ”€β”€ LoggingServiceProvider.ts
425
- β”‚ β”‚ β”œβ”€β”€ SchedulerServiceProvider.ts
426
- β”‚ β”‚ β”œβ”€β”€ ValidationServiceProvider.ts
427
- β”‚ β”‚ └── ViewServiceProvider.ts
428
- β”‚ β”œβ”€β”€ Application.ts
429
- β”‚ β”œβ”€β”€ createApp.ts
430
- β”‚ β”œβ”€β”€ helpers.ts
431
- β”‚ └── index.ts
432
- β”œβ”€β”€ tests/
433
- β”œβ”€β”€ package.json
434
- β”œβ”€β”€ tsconfig.json
435
- └── README.md
436
- ```
437
-
438
137
  ## 🀝 Contributing
439
138
 
440
- We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
441
-
442
- ```bash
443
- # Clone the repository
444
- git clone https://github.com/arikajs/arikajs.git
445
-
446
- # Install dependencies
447
- npm install
448
-
449
- # Run tests
450
- npm test
451
-
452
- # Build the project
453
- npm run build
454
- ```
139
+ We love our community! Please see our [Contributing Guide](CONTRIBUTING.md) to learn how you can help make ArikaJS even better.
455
140
 
456
141
  ---
457
142
 
@@ -459,13 +144,11 @@ npm run build
459
144
 
460
145
  ArikaJS is open-sourced software licensed under the [MIT license](LICENSE).
461
146
 
462
- ---
463
-
464
- ## πŸ™ Acknowledgments
147
+ <div align="center">
465
148
 
466
- ArikaJS draws inspiration from the best practices and patterns of modern web frameworks, including elegant API design, developer experience focus, and enterprise-grade architecture.
149
+ **Built with ❀️ by [Prakash Tank](https://github.com/prakashtank) & The ArikaJS Team**
467
150
 
468
- ---
151
+ </div>
469
152
 
470
153
  ## πŸ’¬ Community & Support
471
154
 
@@ -6,6 +6,7 @@ export declare class Application extends FoundationApplication implements Applic
6
6
  protected router: Router;
7
7
  protected server?: any;
8
8
  protected isTerminating: boolean;
9
+ protected _commands: any[];
9
10
  constructor(basePath?: string);
10
11
  boot(): Promise<void>;
11
12
  version(): string;
@@ -41,6 +42,14 @@ export declare class Application extends FoundationApplication implements Applic
41
42
  * Gracefully terminate the application.
42
43
  */
43
44
  terminate(): Promise<void>;
45
+ /**
46
+ * Register CLI commands with the application.
47
+ */
48
+ registerCommands(commands: any[]): void;
49
+ /**
50
+ * Get all registered commands.
51
+ */
52
+ getCommands(): any[];
44
53
  /**
45
54
  * Get the router instance.
46
55
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAS,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG7E,qBAAa,WAAY,SAAQ,qBAAsB,YAAW,mBAAmB;IACjF,WAAkB,OAAO,IAAI,MAAM,CAYlC;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IACvB,SAAS,CAAC,aAAa,EAAE,OAAO,CAAS;gBAE7B,QAAQ,GAAE,MAAsB;IAc/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,OAAO,IAAI,MAAM;IAIxB;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIrC;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAItC;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAI9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIvC;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIjC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIlC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAI1D;;OAEG;IACU,MAAM,CAAC,IAAI,GAAE,MAAa;IA4BvC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;IAgBpC;;OAEG;IACI,WAAW,KAmBN,KAAK,GAAG,EAAE,KAAK,GAAG;IAwB9B;;OAEG;IACU,SAAS;IAuDtB;;OAEG;IACI,SAAS,IAAI,MAAM;CAG7B"}
1
+ {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAS,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG7E,qBAAa,WAAY,SAAQ,qBAAsB,YAAW,mBAAmB;IACjF,WAAkB,OAAO,IAAI,MAAM,CAYlC;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IACvB,SAAS,CAAC,aAAa,EAAE,OAAO,CAAS;IACzC,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,CAAM;gBAEpB,QAAQ,GAAE,MAAsB;IAc/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,OAAO,IAAI,MAAM;IAIxB;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIrC;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAItC;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAI9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIvC;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIjC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIlC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAI1D;;OAEG;IACU,MAAM,CAAC,IAAI,GAAE,MAAa;IA4BvC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;IAgBpC;;OAEG;IACI,WAAW,KAmBN,KAAK,GAAG,EAAE,KAAK,GAAG;IAwB9B;;OAEG;IACU,SAAS;IAuDtB;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;IAIvC;;OAEG;IACI,WAAW,IAAI,GAAG,EAAE;IAI3B;;OAEG;IACI,SAAS,IAAI,MAAM;CAG7B"}
@@ -58,6 +58,7 @@ class Application extends foundation_1.Application {
58
58
  constructor(basePath = process.cwd()) {
59
59
  super(basePath);
60
60
  this.isTerminating = false;
61
+ this._commands = [];
61
62
  (0, helpers_1.setApp)(this);
62
63
  // Initialize Core Components
63
64
  this.router = new router_1.Router(this.getContainer());
@@ -235,6 +236,18 @@ class Application extends foundation_1.Application {
235
236
  }, 50);
236
237
  }
237
238
  }
239
+ /**
240
+ * Register CLI commands with the application.
241
+ */
242
+ registerCommands(commands) {
243
+ this._commands = [...this._commands, ...commands];
244
+ }
245
+ /**
246
+ * Get all registered commands.
247
+ */
248
+ getCommands() {
249
+ return this._commands;
250
+ }
238
251
  /**
239
252
  * Get the router instance.
240
253
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export interface Application extends HttpApplicationContract {
15
15
  tagged<T = any>(tag: string): T[];
16
16
  extend<T = any>(token: any, callback: (instance: T) => T): void;
17
17
  register(provider: any): void;
18
+ registerCommands(commands: any[]): void;
19
+ getCommands(): any[];
18
20
  boot(): Promise<void>;
19
21
  run(): Promise<void>;
20
22
  terminate(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/Contracts/Application.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,IAAI,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAEvE,MAAM,WAAW,WAAY,SAAQ,uBAAuB;IACxD,SAAS,IAAI,MAAM,CAAC;IACpB,YAAY,IAAI,GAAG,CAAC;IACpB,WAAW,IAAI,MAAM,CAAC;IACtB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC;IAC7B,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC9C,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC;IAChC,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC;IACzB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IACpC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;IAClC,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,IAAI,OAAO,CAAC;CACvB"}
1
+ {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/Contracts/Application.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,IAAI,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAEvE,MAAM,WAAW,WAAY,SAAQ,uBAAuB;IACxD,SAAS,IAAI,MAAM,CAAC;IACpB,YAAY,IAAI,GAAG,CAAC;IACpB,WAAW,IAAI,MAAM,CAAC;IACtB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC;IAC7B,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC9C,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC;IAChC,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC;IACzB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IACpC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;IAClC,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IAC9B,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,WAAW,IAAI,GAAG,EAAE,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,IAAI,OAAO,CAAC;CACvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../src/http/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAiB,MAAM,eAAe,CAAC;AAGjE,qBAAa,OAAO;IAChB;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAAM;IAEjC;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAa;IAE1G;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAU/B;;OAEG;IACU,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkDxF;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAI3C;;OAEG;IACH,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAQrD;;;OAGG;cACa,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqErH;;OAEG;cACa,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqU7E;;OAEG;IACI,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAKpD;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI;IAKrG;;OAEG;IACI,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI;IAI5G;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;CAMjC"}
1
+ {"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../src/http/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAiB,MAAM,eAAe,CAAC;AAGjE,qBAAa,OAAO;IAChB;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAAM;IAEjC;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAa;IAE1G;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAU/B;;OAEG;IACU,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkDxF;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAI3C;;OAEG;IACH,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAQrD;;;OAGG;cACa,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqErH;;OAEG;cACa,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuV7E;;OAEG;IACI,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAKpD;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI;IAKrG;;OAEG;IACI,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI;IAI5G;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;CAMjC"}
@@ -248,12 +248,26 @@ class Handler {
248
248
  let highlighted = code
249
249
  .replace(/&/g, '&amp;')
250
250
  .replace(/</g, '&lt;')
251
- .replace(/>/g, '&gt;')
252
- .replace(/(static|public|protected|private|async|await|class|interface|export|import|from|const|let|var|return|if|else|for|while|await|async|try|catch|new|this|throw|new)/g, '<span style="color:#0ea5e9">$1</span>')
251
+ .replace(/>/g, '&gt;');
252
+ // Process strings first to avoid matching keywords inside them
253
+ highlighted = highlighted
253
254
  .replace(/('[^']*')/g, '<span style="color:#d946ef">$1</span>')
254
255
  .replace(/("[^"]*")/g, '<span style="color:#d946ef">$1</span>')
255
- .replace(/(`[^`]*`)/g, '<span style="color:#d946ef">$1</span>')
256
- .replace(/(\/\/.+)/g, '<span style="color:#94a3b8">$1</span>');
256
+ .replace(/(`[^`]*`)/g, '<span style="color:#d946ef">$1</span>');
257
+ // Process keywords next, using word boundaries to avoid matching inside tags or larger words
258
+ const keywords = ['static', 'public', 'protected', 'private', 'async', 'await', 'class', 'interface', 'export', 'import', 'from', 'const', 'let', 'var', 'return', 'if', 'else', 'for', 'while', 'try', 'catch', 'new', 'this', 'throw'];
259
+ const keywordRegex = new RegExp(`\\b(${keywords.join('|')})\\b`, 'g');
260
+ highlighted = highlighted.replace(keywordRegex, (match, p1, offset, string) => {
261
+ // Check if we are inside an HTML tag (very basic check)
262
+ const before = string.substring(0, offset);
263
+ const openTags = (before.match(/<span/g) || []).length;
264
+ const closeTags = (before.match(/<\/span>/g) || []).length;
265
+ if (openTags > closeTags)
266
+ return match; // Skip if inside a span
267
+ return `<span style="color:#0ea5e9">${match}</span>`;
268
+ });
269
+ // Comments last
270
+ highlighted = highlighted.replace(/(\/\/.+)/g, '<span style="color:#94a3b8">$1</span>');
257
271
  return `
258
272
  <div style="display:flex; background:${isErrorLine ? '#fef2f2' : 'transparent'}; border-left: 3px solid ${isErrorLine ? '#ef4444' : 'transparent'}">
259
273
  <span style="width:40px; text-align:right; padding-right:15px; color:#94a3b8; user-select:none; font-size:12px;">${currentLine}</span>
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../src/http/Handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../src/http/Handler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arikajs",
3
- "version": "0.10.5",
3
+ "version": "0.10.7",
4
4
  "description": "The ArikaJS Framework.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -13,28 +13,29 @@
13
13
  "@types/serve-static": "^2.2.0",
14
14
  "busboy": "^1.6.0",
15
15
  "serve-static": "^2.2.1",
16
- "@arikajs/auth": "0.10.5",
17
- "@arikajs/authorization": "0.10.5",
18
- "@arikajs/cache": "0.10.5",
19
- "@arikajs/carbon": "^0.10.5",
20
- "@arikajs/console": "0.10.5",
21
- "@arikajs/dispatcher": "0.10.5",
22
- "@arikajs/events": "0.10.5",
23
- "@arikajs/encryption": "0.10.5",
24
- "@arikajs/foundation": "0.10.5",
25
- "@arikajs/http": "0.10.5",
26
- "@arikajs/localization": "0.10.5",
27
- "@arikajs/logging": "0.10.5",
28
- "@arikajs/mail": "0.10.5",
29
- "@arikajs/middleware": "0.10.5",
30
- "@arikajs/queue": "0.10.5",
31
- "@arikajs/router": "0.10.5",
32
- "@arikajs/scheduler": "0.10.5",
33
- "@arikajs/session": "0.10.5",
34
- "@arikajs/storage": "0.10.5",
35
- "@arikajs/validation": "0.10.5",
36
- "@arikajs/database": "0.10.5",
37
- "@arikajs/view": "0.10.5"
16
+ "@arikajs/auth": "0.10.7",
17
+ "@arikajs/cache": "0.10.7",
18
+ "@arikajs/authorization": "0.10.7",
19
+ "@arikajs/carbon": "^0.10.7",
20
+ "@arikajs/config": "0.10.7",
21
+ "@arikajs/console": "0.10.7",
22
+ "@arikajs/database": "0.10.7",
23
+ "@arikajs/dispatcher": "0.10.7",
24
+ "@arikajs/encryption": "0.10.7",
25
+ "@arikajs/events": "0.10.7",
26
+ "@arikajs/foundation": "0.10.7",
27
+ "@arikajs/localization": "0.10.7",
28
+ "@arikajs/http": "0.10.7",
29
+ "@arikajs/logging": "0.10.7",
30
+ "@arikajs/mail": "0.10.7",
31
+ "@arikajs/middleware": "0.10.7",
32
+ "@arikajs/queue": "0.10.7",
33
+ "@arikajs/router": "0.10.7",
34
+ "@arikajs/scheduler": "0.10.7",
35
+ "@arikajs/session": "0.10.7",
36
+ "@arikajs/storage": "0.10.7",
37
+ "@arikajs/validation": "0.10.7",
38
+ "@arikajs/view": "0.10.7"
38
39
  },
39
40
  "devDependencies": {
40
41
  "@types/node": "^20.11.24",
@@ -1,301 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Application = void 0;
37
- const foundation_1 = require("@arikajs/foundation");
38
- const router_1 = require("@arikajs/router");
39
- const FrameworkServiceProvider_1 = require("./providers/FrameworkServiceProvider");
40
- const logging_1 = require("@arikajs/logging");
41
- const helpers_1 = require("./helpers");
42
- class Application extends foundation_1.Application {
43
- constructor(basePath = process.cwd()) {
44
- super(basePath);
45
- this.isTerminating = false;
46
- (0, helpers_1.setApp)(this);
47
- // Initialize Core Components
48
- this.router = new router_1.Router(this.getContainer());
49
- // Register within container
50
- this.instance(router_1.Router, this.router);
51
- // Register Core Framework Provider
52
- this.register(FrameworkServiceProvider_1.FrameworkServiceProvider);
53
- }
54
- version() {
55
- return Application.VERSION;
56
- }
57
- /**
58
- * Map a GET route.
59
- */
60
- get(path, handler) {
61
- return router_1.Route.get(path, handler);
62
- }
63
- /**
64
- * Map a POST route.
65
- */
66
- post(path, handler) {
67
- return router_1.Route.post(path, handler);
68
- }
69
- /**
70
- * Map a PUT route.
71
- */
72
- put(path, handler) {
73
- return router_1.Route.put(path, handler);
74
- }
75
- patch(path, handler) {
76
- return router_1.Route.patch(path, handler);
77
- }
78
- /**
79
- * Map a DELETE route.
80
- */
81
- delete(path, handler) {
82
- return router_1.Route.delete(path, handler);
83
- }
84
- options(path, handler) {
85
- return router_1.Route.options(path, handler);
86
- }
87
- match(methods, path, handler) {
88
- return router_1.Route.match(methods, path, handler);
89
- }
90
- /**
91
- * Start the HTTP server.
92
- */
93
- async listen(port = 3000) {
94
- if (!this.isBooted()) {
95
- await this.boot();
96
- }
97
- const http = await Promise.resolve().then(() => __importStar(require('node:http')));
98
- const { Request: ArikaRequest, Response: ArikaResponse } = await Promise.resolve().then(() => __importStar(require('@arikajs/http')));
99
- const { Kernel } = await Promise.resolve().then(() => __importStar(require('./http/Kernel')));
100
- const { ObjectPool } = await Promise.resolve().then(() => __importStar(require('@arikajs/foundation')));
101
- // Resolve Kernel
102
- const kernel = this.make(Kernel);
103
- // Initialize Object Pools
104
- const requestPool = new ObjectPool(() => new ArikaRequest(this, null), (obj) => obj.reset(null));
105
- const responsePool = new ObjectPool(() => new ArikaResponse(null), (obj) => obj.reset(null));
106
- const { RawResponse } = await Promise.resolve().then(() => __importStar(require('@arikajs/http')));
107
- this.server = http.createServer((req, res) => {
108
- // ── ULTRA FAST PATH ──
109
- const router = this.getRouter();
110
- const matched = router.match(req.method, req.url);
111
- if (matched) {
112
- const dispatcher = router.getDispatcher();
113
- const plan = dispatcher.executionPlans.get(matched.route);
114
- // Routes with no middleware and no parameter binders
115
- if (plan && !plan.hasMiddleware && dispatcher.parameterBinders.size === 0) {
116
- const result = plan.handler(null, null, matched.params);
117
- // Optimization: Use RawResponse to bypass ServerResponse machinery
118
- const raw = new RawResponse(res);
119
- const buffer = dispatcher.responseResolver.bufferCache.get(plan.route);
120
- if (buffer) {
121
- raw.sendUltra(buffer);
122
- }
123
- else {
124
- // Fallback to standard resolver for first-time or complex results
125
- const response = responsePool.acquire();
126
- response.reset(res);
127
- dispatcher.responseResolver.resolve(result, response, plan.route);
128
- responsePool.release(response);
129
- }
130
- return;
131
- }
132
- }
133
- // ── STANDARD PATH (Kernel/DI/Middleware) ──
134
- const request = requestPool.acquire();
135
- const response = responsePool.acquire();
136
- request.reset(req);
137
- response.reset(res);
138
- const handleRequest = async () => {
139
- try {
140
- const finalResponse = await kernel.handle(request, response);
141
- kernel.terminate(request, finalResponse);
142
- }
143
- catch (error) {
144
- if (!res.headersSent) {
145
- res.writeHead(500, { 'Content-Type': 'application/json' });
146
- res.end(JSON.stringify({ error: 'Internal Server Error', message: error.message }));
147
- }
148
- }
149
- finally {
150
- requestPool.release(request);
151
- responsePool.release(response);
152
- }
153
- };
154
- handleRequest();
155
- });
156
- // Graceful shutdown
157
- const shutdown = () => this.terminate();
158
- process.on('SIGINT', shutdown);
159
- process.on('SIGTERM', shutdown);
160
- return new Promise((resolve) => {
161
- this.server.listen(port, () => {
162
- this.displayBanner(port);
163
- resolve();
164
- });
165
- });
166
- }
167
- displayBanner(port) {
168
- const env = this.config().get('app.env', 'development');
169
- console.log(`\x1b[38;5;99m
170
- _ _ _ _ ____
171
- / \\ _ __(_) | ____ _ | / ___|
172
- / _ \\ | '__| | |/ / _\` | | \\___ \\
173
- / ___ \\| | | | < (_| | __| |___) |
174
- /_/ \\_\\_| |_|_|\\_\\__,_| |____|____/
175
- \x1b[0m`);
176
- console.log(` \x1b[1mArikaJS Framework\x1b[0m \x1b[38;5;99mv${this.version()}\x1b[0m`);
177
- console.log(` \x1b[90mEnvironment:\x1b[0m \x1b[33m${env}\x1b[0m`);
178
- console.log(` \x1b[90mLocal URL:\x1b[0m \x1b[36mhttp://localhost:${port}\x1b[0m`);
179
- console.log('');
180
- }
181
- /**
182
- * Get the HTTP server callback for raw http.createServer() usage.
183
- */
184
- getCallback() {
185
- if (!this.isBooted()) {
186
- throw new Error('Application must be booted before calling getCallback()');
187
- }
188
- const { Kernel } = require('./http/Kernel');
189
- const kernel = this.make(Kernel);
190
- const { ObjectPool } = require('@arikajs/foundation');
191
- const { Request: ArikaRequest, Response: ArikaResponse, RawResponse } = require('@arikajs/http');
192
- const requestPool = new ObjectPool(() => new ArikaRequest(this, null), (obj) => obj.reset(null));
193
- const responsePool = new ObjectPool(() => new ArikaResponse(null), (obj) => obj.reset(null));
194
- return (req, res) => {
195
- // ── ULTRA FAST PATH ──
196
- const router = this.getRouter();
197
- const matched = router.match(req.method, req.url);
198
- if (matched) {
199
- const dispatcher = router.getDispatcher();
200
- const plan = dispatcher.executionPlans.get(matched.route);
201
- if (plan && !plan.hasMiddleware && dispatcher.parameterBinders.size === 0) {
202
- const result = plan.handler(null, null, matched.params);
203
- const raw = new RawResponse(res);
204
- const buffer = dispatcher.responseResolver.bufferCache.get(plan.route);
205
- if (buffer) {
206
- raw.sendUltra(buffer);
207
- }
208
- else {
209
- const response = responsePool.acquire();
210
- response.reset(res);
211
- dispatcher.responseResolver.resolve(result, response, plan.route);
212
- responsePool.release(response);
213
- }
214
- return;
215
- }
216
- }
217
- // ── STANDARD PATH ──
218
- const request = requestPool.acquire();
219
- const response = responsePool.acquire();
220
- request.reset(req);
221
- response.reset(res);
222
- const handleRequest = async () => {
223
- try {
224
- const finalResponse = await kernel.handle(request, response);
225
- kernel.terminate(request, finalResponse);
226
- }
227
- catch (error) {
228
- if (!res.headersSent) {
229
- res.writeHead(500, { 'Content-Type': 'application/json' });
230
- res.end(JSON.stringify({ error: 'Internal Server Error', message: error.message }));
231
- }
232
- }
233
- finally {
234
- requestPool.release(request);
235
- responsePool.release(response);
236
- }
237
- };
238
- handleRequest();
239
- };
240
- }
241
- /**
242
- * Gracefully terminate the application.
243
- */
244
- async terminate() {
245
- if (this.isTerminating)
246
- return;
247
- this.isTerminating = true;
248
- if (this.server) {
249
- // Close all active connections to speed up shutdown (Node 18.2+)
250
- if (typeof this.server.closeAllConnections === 'function') {
251
- this.server.closeAllConnections();
252
- }
253
- // Force close idle connections
254
- if (typeof this.server.closeIdleConnections === 'function') {
255
- this.server.closeIdleConnections();
256
- }
257
- await new Promise((resolve) => {
258
- // Set a timeout to force resolve if server doesn't close in time
259
- const timeout = setTimeout(() => {
260
- logging_1.Log.warning('HTTP server forced to close due to timeout.');
261
- resolve();
262
- }, 1000);
263
- this.server.close(() => {
264
- clearTimeout(timeout);
265
- logging_1.Log.info('HTTP server closed.');
266
- resolve();
267
- });
268
- });
269
- }
270
- // Close database connections
271
- if (this.has('db')) {
272
- try {
273
- const db = this.make('db');
274
- if (typeof db.closeAll === 'function') {
275
- await db.closeAll();
276
- }
277
- }
278
- catch (e) { }
279
- }
280
- // Potential for other service termination (Queues, etc.)
281
- // Remove signal listeners to prevent double triggers during exit
282
- process.removeAllListeners('SIGINT');
283
- process.removeAllListeners('SIGTERM');
284
- // If we are in a testing or specific environment, we might not want to exit
285
- if (process.env.NODE_ENV !== 'test') {
286
- // Give a short delay for logs to flush before exiting
287
- setTimeout(() => {
288
- process.exit(0);
289
- }, 50);
290
- }
291
- }
292
- /**
293
- * Get the router instance.
294
- */
295
- getRouter() {
296
- return this.router;
297
- }
298
- }
299
- exports.Application = Application;
300
- Application.VERSION = '0.0.4';
301
- //# sourceMappingURL=Application.js.map