@asenajs/ergenecore 1.2.0 → 1.3.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 (47) hide show
  1. package/README.md +17 -17
  2. package/dist/lib/Ergenecore.d.ts +13 -0
  3. package/dist/lib/Ergenecore.js +136 -58
  4. package/dist/lib/Ergenecore.js.map +1 -1
  5. package/dist/lib/ErgenecoreContextWrapper.d.ts +44 -4
  6. package/dist/lib/ErgenecoreContextWrapper.js +115 -7
  7. package/dist/lib/ErgenecoreContextWrapper.js.map +1 -1
  8. package/dist/lib/ErgenecoreWebsocketAdapter.d.ts +2 -16
  9. package/dist/lib/ErgenecoreWebsocketAdapter.js +20 -48
  10. package/dist/lib/ErgenecoreWebsocketAdapter.js.map +1 -1
  11. package/dist/lib/defaults/ConfigService.d.ts +5 -2
  12. package/dist/lib/defaults/ConfigService.js +1 -1
  13. package/dist/lib/defaults/ConfigService.js.map +1 -1
  14. package/dist/lib/defaults/MiddlewareService.d.ts +1 -1
  15. package/dist/lib/defaults/MiddlewareService.js +1 -1
  16. package/dist/lib/defaults/StaticServeService.d.ts +1 -1
  17. package/dist/lib/defaults/StaticServeService.js +1 -1
  18. package/dist/lib/defaults/ValidationService.d.ts +1 -1
  19. package/dist/lib/defaults/ValidationService.js +1 -1
  20. package/dist/lib/errors.d.ts +24 -5
  21. package/dist/lib/errors.js +15 -4
  22. package/dist/lib/errors.js.map +1 -1
  23. package/dist/lib/index.d.ts +5 -1
  24. package/dist/lib/index.js +6 -0
  25. package/dist/lib/index.js.map +1 -1
  26. package/dist/lib/middlewares/CorsMiddleware.d.ts +1 -1
  27. package/dist/lib/middlewares/CorsMiddleware.js +1 -1
  28. package/dist/lib/middlewares/RateLimiterMiddleware.d.ts +1 -1
  29. package/dist/lib/middlewares/RateLimiterMiddleware.js +5 -2
  30. package/dist/lib/middlewares/RateLimiterMiddleware.js.map +1 -1
  31. package/dist/lib/stream/SSEStreamWriter.d.ts +9 -0
  32. package/dist/lib/stream/SSEStreamWriter.js +18 -0
  33. package/dist/lib/stream/SSEStreamWriter.js.map +1 -0
  34. package/dist/lib/stream/StreamWriter.d.ts +24 -0
  35. package/dist/lib/stream/StreamWriter.js +72 -0
  36. package/dist/lib/stream/StreamWriter.js.map +1 -0
  37. package/dist/lib/stream/index.d.ts +2 -0
  38. package/dist/lib/stream/index.js +3 -0
  39. package/dist/lib/stream/index.js.map +1 -0
  40. package/dist/lib/types/SendPingStrategy.d.ts +4 -0
  41. package/dist/lib/types/SendPingStrategy.js +2 -0
  42. package/dist/lib/types/SendPingStrategy.js.map +1 -0
  43. package/dist/lib/types/Validation.d.ts +3 -3
  44. package/dist/lib/types/index.d.ts +1 -0
  45. package/dist/lib/types/index.js +2 -0
  46. package/dist/lib/types/index.js.map +1 -1
  47. package/package.json +11 -11
package/README.md CHANGED
@@ -70,8 +70,8 @@ await server.start();
70
70
  ### Controller Example
71
71
 
72
72
  ```typescript
73
- import { Controller } from '@asenajs/asena/server';
74
- import { Get, Post, Put, Delete } from '@asenajs/asena/web';
73
+ import { Controller } from '@asenajs/asena/decorators';
74
+ import { Get, Post, Put, Delete } from '@asenajs/asena/decorators/http';
75
75
  import type { Context } from '@asenajs/ergenecore/types';
76
76
 
77
77
  @Controller('/users')
@@ -225,9 +225,9 @@ const session = context.getCookie('session');
225
225
  #### Custom Middleware
226
226
 
227
227
  ```typescript
228
- import { Middleware } from '@asenajs/asena/server';
229
- import { Controller } from '@asenajs/asena/server';
230
- import { Get } from '@asenajs/asena/web';
228
+ import { Middleware } from '@asenajs/asena/decorators';
229
+ import { Controller } from '@asenajs/asena/decorators';
230
+ import { Get } from '@asenajs/asena/decorators/http';
231
231
  import { MiddlewareService, type Context } from '@asenajs/ergenecore';
232
232
 
233
233
  @Middleware()
@@ -262,7 +262,7 @@ export class AdminController {
262
262
  Ergenecore comes with a built-in CORS middleware for handling Cross-Origin Resource Sharing:
263
263
 
264
264
  ```typescript
265
- import { Middleware } from '@asenajs/asena/server';
265
+ import { Middleware } from '@asenajs/asena/decorators';
266
266
  import { CorsMiddleware } from '@asenajs/ergenecore';
267
267
 
268
268
  // Allow all origins (default)
@@ -303,7 +303,7 @@ export class DynamicCors extends CorsMiddleware {
303
303
  }
304
304
 
305
305
  // Use globally in server config
306
- import { Config } from '@asenajs/asena/server';
306
+ import { Config } from '@asenajs/asena/decorators';
307
307
  import { ConfigService } from '@asenajs/ergenecore';
308
308
 
309
309
  @Config()
@@ -326,7 +326,7 @@ export class ApiController {
326
326
  Ergenecore includes a Token Bucket-based rate limiter for controlling request rates and preventing abuse:
327
327
 
328
328
  ```typescript
329
- import { Middleware } from '@asenajs/asena/server';
329
+ import { Middleware } from '@asenajs/asena/decorators';
330
330
  import { RateLimiterMiddleware } from '@asenajs/ergenecore';
331
331
 
332
332
  // General API rate limiter (100 requests per minute)
@@ -381,7 +381,7 @@ export class CustomRateLimiter extends RateLimiterMiddleware {
381
381
  }
382
382
 
383
383
  // Use globally
384
- import { Config } from '@asenajs/asena/server';
384
+ import { Config } from '@asenajs/asena/decorators';
385
385
  import { ConfigService } from '@asenajs/ergenecore';
386
386
 
387
387
  @Config()
@@ -432,8 +432,8 @@ The middleware automatically sets standard rate limit headers:
432
432
  ### Validation with Zod
433
433
 
434
434
  ```typescript
435
- import { Controller, Middleware } from '@asenajs/asena/server';
436
- import { Post } from '@asenajs/asena/web';
435
+ import { Controller, Middleware } from '@asenajs/asena/decorators';
436
+ import { Post } from '@asenajs/asena/decorators/http';
437
437
  import { ValidationService, type Context, type ValidationSchema, type ValidationSchemaWithHook } from '@asenajs/ergenecore';
438
438
  import { z } from 'zod';
439
439
 
@@ -471,8 +471,8 @@ async json(): Promise<ValidationSchema | ValidationSchemaWithHook> {
471
471
  ### Combining Middleware and Validation
472
472
 
473
473
  ```typescript
474
- import { Controller, Middleware } from '@asenajs/asena/server';
475
- import { Post } from '@asenajs/asena/web';
474
+ import { Controller, Middleware } from '@asenajs/asena/decorators';
475
+ import { Post } from '@asenajs/asena/decorators/http';
476
476
  import {
477
477
  MiddlewareService,
478
478
  ValidationService,
@@ -556,8 +556,8 @@ export class ChatSocket extends AsenaWebSocketService<void> {
556
556
  ### Static File Serving
557
557
 
558
558
  ```typescript
559
- import { Controller } from '@asenajs/asena/server';
560
- import { Get } from '@asenajs/asena/web';
559
+ import { Controller } from '@asenajs/asena/decorators';
560
+ import { Get } from '@asenajs/asena/decorators/http';
561
561
  import { StaticServe, StaticServeService } from '@asenajs/asena/static';
562
562
  import type { Context } from '@asenajs/ergenecore/types';
563
563
 
@@ -587,8 +587,8 @@ export class StaticController {
587
587
  ### Error Handling
588
588
 
589
589
  ```typescript
590
- import { Config } from '@asenajs/asena/server';
591
- import { Inject } from '@asenajs/asena/ioc';
590
+ import { Config } from '@asenajs/asena/decorators';
591
+ import { Inject } from '@asenajs/asena/decorators/ioc';
592
592
  import { ConfigService, type Context } from '@asenajs/ergenecore';
593
593
 
594
594
  @Config()
@@ -56,6 +56,11 @@ export declare class Ergenecore extends AsenaAdapter<Context, ValidationSchemaWi
56
56
  * Config is optional - if not provided, middleware applies to all routes
57
57
  */
58
58
  private globalMiddlewares;
59
+ /**
60
+ * HTML routes for FrontendController pages
61
+ * Stored separately and merged into Bun.serve() routes at start time
62
+ */
63
+ private htmlRoutes;
59
64
  private options;
60
65
  /**
61
66
  * Creates a new CoreAdapter instance
@@ -107,6 +112,14 @@ export declare class Ergenecore extends AsenaAdapter<Context, ValidationSchemaWi
107
112
  * });
108
113
  * ```
109
114
  */
115
+ /**
116
+ * Registers an HTML route for FrontendController pages.
117
+ * HTML routes bypass the middleware chain and are served directly by Bun.serve().
118
+ *
119
+ * @param path - Full URL path (e.g., '/ui/home')
120
+ * @param htmlBundle - The HTML bundle returned by importing an .html file
121
+ */
122
+ registerHTMLRoute(path: string, htmlBundle: unknown): void;
110
123
  use(middleware: BaseMiddleware<Context>, config?: GlobalMiddlewareConfig['routes']): void;
111
124
  /**
112
125
  * Registers a route (deferred registration)
@@ -1,11 +1,11 @@
1
1
  import { AsenaAdapter, VALIDATOR_METHODS, } from '@asenajs/asena/adapter';
2
2
  import { blue, green, red, yellow } from '@asenajs/asena/logger';
3
- import { shouldApplyMiddleware } from '@asenajs/asena/utlis';
4
3
  import { ErgenecoreWebsocketAdapter } from './ErgenecoreWebsocketAdapter';
5
4
  import { ErgenecoreContextWrapper } from './ErgenecoreContextWrapper';
6
5
  import * as Bun from 'bun';
7
6
  import * as path from 'path';
8
7
  import { HttpException, MiddlewareResponseError } from './errors';
8
+ import { shouldApplyMiddleware } from '@asenajs/asena/utils';
9
9
  /**
10
10
  * Static response headers for performance
11
11
  *
@@ -63,6 +63,11 @@ export class Ergenecore extends AsenaAdapter {
63
63
  * Config is optional - if not provided, middleware applies to all routes
64
64
  */
65
65
  globalMiddlewares = [];
66
+ /**
67
+ * HTML routes for FrontendController pages
68
+ * Stored separately and merged into Bun.serve() routes at start time
69
+ */
70
+ htmlRoutes = new Map();
66
71
  options = {};
67
72
  /**
68
73
  * Creates a new CoreAdapter instance
@@ -126,6 +131,27 @@ export class Ergenecore extends AsenaAdapter {
126
131
  * });
127
132
  * ```
128
133
  */
134
+ /**
135
+ * Registers an HTML route for FrontendController pages.
136
+ * HTML routes bypass the middleware chain and are served directly by Bun.serve().
137
+ *
138
+ * @param path - Full URL path (e.g., '/ui/home')
139
+ * @param htmlBundle - The HTML bundle returned by importing an .html file
140
+ */
141
+ registerHTMLRoute(path, htmlBundle) {
142
+ if (this.htmlRoutes.has(path)) {
143
+ throw new Error(`Duplicate HTML route: "${path}" is already registered.`);
144
+ }
145
+ this.htmlRoutes.set(path, htmlBundle);
146
+ // Register trailing slash variant for consistent routing
147
+ // e.g., /ui → also register /ui/ (or vice versa)
148
+ if (path !== '/' && !path.endsWith('/')) {
149
+ this.htmlRoutes.set(`${path}/`, htmlBundle);
150
+ }
151
+ else if (path !== '/' && path.endsWith('/')) {
152
+ this.htmlRoutes.set(path.slice(0, -1), htmlBundle);
153
+ }
154
+ }
129
155
  use(middleware, config) {
130
156
  this.globalMiddlewares.push({ middleware, config });
131
157
  }
@@ -178,6 +204,13 @@ export class Ergenecore extends AsenaAdapter {
178
204
  this.checkPathCollisions(httpRoutes, wsRoutes);
179
205
  // 4. Merge routes
180
206
  const finalRoutes = this.mergeRoutes(httpRoutes, wsRoutes);
207
+ // 4.5. Merge HTML routes (FrontendController pages)
208
+ for (const [htmlPath, htmlBundle] of this.htmlRoutes) {
209
+ if (finalRoutes[htmlPath]) {
210
+ throw new Error(`HTML route collision at "${htmlPath}": path already registered as an API or WebSocket route.`);
211
+ }
212
+ finalRoutes[htmlPath] = htmlBundle;
213
+ }
181
214
  // 5. Prepare WebSocket before starting server
182
215
  await this.websocketAdapter.prepareWebSocket(this.options.wsOptions);
183
216
  const serverPort = port ?? this.port;
@@ -275,7 +308,15 @@ export class Ergenecore extends AsenaAdapter {
275
308
  }
276
309
  // Build Bun router object for each path
277
310
  for (const [path, pathRoutes] of routesByPath) {
278
- routes[path] = {};
311
+ // Normalize trailing slash to support both variants
312
+ // This ensures /users and /users/ both work with query params
313
+ const normalizedPath = path.endsWith('/') && path !== '/' ? path.slice(0, -1) : path;
314
+ const pathWithSlash = normalizedPath === '/' ? '/' : `${normalizedPath}/`;
315
+ // Initialize both path variants (skip duplicate for root path)
316
+ routes[normalizedPath] = routes[normalizedPath] || {};
317
+ if (normalizedPath !== '/') {
318
+ routes[pathWithSlash] = routes[pathWithSlash] || {};
319
+ }
279
320
  for (const route of pathRoutes) {
280
321
  const method = route.method.toUpperCase();
281
322
  // Fast Path Optimization with Pattern Matching
@@ -286,19 +327,48 @@ export class Ergenecore extends AsenaAdapter {
286
327
  (!route.middlewares || route.middlewares.length === 0) &&
287
328
  !route.validator &&
288
329
  !route.staticServe;
289
- if (isSimpleRoute) {
290
- // Use fast path handler for simple routes (minimal overhead)
291
- routes[path][method] = this.createFastPathHandler(route);
330
+ // Create handler based on route complexity
331
+ const handler = isSimpleRoute
332
+ ? this.createFastPathHandler(route)
333
+ : this.createRouteHandler(route, commonMiddlewares);
334
+ // Register handler to both path variants for trailing slash support
335
+ if (method === 'ALL') {
336
+ // Bun native: direct handler function matches all HTTP methods
337
+ routes[normalizedPath] = handler;
338
+ if (normalizedPath !== '/') {
339
+ routes[pathWithSlash] = handler;
340
+ }
292
341
  }
293
342
  else {
294
- // Use full-featured handler for complex routes
295
- routes[path][method] = this.createRouteHandler(route, commonMiddlewares);
343
+ routes[normalizedPath][method] = handler;
344
+ if (normalizedPath !== '/') {
345
+ routes[pathWithSlash][method] = handler;
346
+ }
296
347
  }
297
348
  }
298
349
  }
299
350
  }
300
- // Add 404 handler with static headers
301
- routes['/*'] = () => {
351
+ // Catch-all handler for unmatched routes (including OPTIONS preflight)
352
+ // Runs global middlewares so CORS and other cross-cutting concerns work for all requests
353
+ routes['/*'] = async (req) => {
354
+ const context = new ErgenecoreContextWrapper(req, this.server);
355
+ const requestPath = new URL(req.url).pathname;
356
+ // Filter and run applicable global middlewares
357
+ const applicableMiddlewares = this.globalMiddlewares
358
+ .filter(({ config }) => shouldApplyMiddleware(requestPath, config))
359
+ .map(({ middleware }) => middleware);
360
+ if (applicableMiddlewares.length > 0) {
361
+ const result = await this.executeMiddlewares(context, applicableMiddlewares);
362
+ if (result instanceof Response)
363
+ return result;
364
+ if (result === false) {
365
+ return new Response('Forbidden', { status: 403 });
366
+ }
367
+ }
368
+ // No middleware handled the request → error handler or 404
369
+ if (this.errorHandler) {
370
+ return this.errorHandler(new Error('Not Found'), context);
371
+ }
302
372
  return new Response(JSON.stringify({ error: 'Not Found' }), {
303
373
  status: 404,
304
374
  headers: STATIC_JSON_HEADERS,
@@ -363,15 +433,24 @@ export class Ergenecore extends AsenaAdapter {
363
433
  * }
364
434
  * ```
365
435
  */
366
- async executeMiddlewares(context, middlewares, index = 0) {
436
+ async executeMiddlewares(context, middlewares, index = 0, onComplete) {
367
437
  // Base case: all middlewares executed successfully
368
438
  if (index >= middlewares.length) {
439
+ if (onComplete) {
440
+ const result = await onComplete();
441
+ if (result instanceof Response)
442
+ return result;
443
+ if (result === false)
444
+ return false;
445
+ }
369
446
  return true;
370
447
  }
371
448
  const middleware = middlewares[index];
449
+ let nextCalled = false;
372
450
  // Create next() function that executes the next middleware in chain
373
451
  const next = async () => {
374
- const result = await this.executeMiddlewares(context, middlewares, index + 1);
452
+ nextCalled = true;
453
+ const result = await this.executeMiddlewares(context, middlewares, index + 1, onComplete);
375
454
  // If next middleware returned Response, throw MiddlewareResponseError to propagate it
376
455
  if (result instanceof Response) {
377
456
  throw new MiddlewareResponseError(result);
@@ -392,7 +471,11 @@ export class Ergenecore extends AsenaAdapter {
392
471
  if (result === false) {
393
472
  return false;
394
473
  }
395
- // Middleware executed successfully
474
+ // If middleware returned true/void without calling next(), auto-continue the chain
475
+ if (!nextCalled) {
476
+ return await this.executeMiddlewares(context, middlewares, index + 1, onComplete);
477
+ }
478
+ // Middleware called next() and completed successfully
396
479
  return true;
397
480
  }
398
481
  catch (error) {
@@ -442,7 +525,7 @@ export class Ergenecore extends AsenaAdapter {
442
525
  return async (req) => {
443
526
  try {
444
527
  // Create context wrapper
445
- const context = new ErgenecoreContextWrapper(req);
528
+ const context = new ErgenecoreContextWrapper(req, this.server);
446
529
  // Execute filtered global middlewares with real next() chain
447
530
  if (applicableGlobalMiddlewares.length > 0) {
448
531
  const result = await this.executeMiddlewares(context, applicableGlobalMiddlewares);
@@ -583,7 +666,7 @@ export class Ergenecore extends AsenaAdapter {
583
666
  // If no error handler is set, use ultra-minimal version with default error handling
584
667
  if (!this.errorHandler) {
585
668
  return async (req) => {
586
- const context = new ErgenecoreContextWrapper(req);
669
+ const context = new ErgenecoreContextWrapper(req, this.server);
587
670
  try {
588
671
  // Inject Bun's native route params if present
589
672
  // @ts-expect-error - Bun adds params to Request
@@ -624,7 +707,7 @@ export class Ergenecore extends AsenaAdapter {
624
707
  }
625
708
  // With error handler (minimal try-catch)
626
709
  return async (req) => {
627
- const context = new ErgenecoreContextWrapper(req);
710
+ const context = new ErgenecoreContextWrapper(req, this.server);
628
711
  try {
629
712
  // Inject Bun's native route params if present
630
713
  // @ts-expect-error - Bun adds params to Request
@@ -676,7 +759,7 @@ export class Ergenecore extends AsenaAdapter {
676
759
  const applicableGlobalMiddlewares = this.getGlobalMiddlewaresForPath(route.path);
677
760
  return async (req) => {
678
761
  // Create context wrapper outside try block so it's accessible in catch
679
- const context = new ErgenecoreContextWrapper(req);
762
+ const context = new ErgenecoreContextWrapper(req, this.server);
680
763
  // Inject Bun's native route params
681
764
  // @ts-expect-error - Bun adds params to Request
682
765
  if (req.params) {
@@ -687,53 +770,48 @@ export class Ergenecore extends AsenaAdapter {
687
770
  }
688
771
  }
689
772
  try {
690
- // Execute filtered global middlewares with real next() chain
691
- if (applicableGlobalMiddlewares.length > 0) {
692
- const result = await this.executeMiddlewares(context, applicableGlobalMiddlewares);
693
- // If middleware returned a custom response, return it
694
- if (result instanceof Response) {
695
- return result;
696
- }
697
- // If middleware returned false, return 403
698
- if (result === false) {
699
- return new Response('Forbidden', { status: 403 });
773
+ // Combine global + route middlewares into a single chain
774
+ const allMiddlewares = [
775
+ ...applicableGlobalMiddlewares,
776
+ ...(route.middlewares || []),
777
+ ];
778
+ // Execute middleware chain with handler as onComplete callback
779
+ // This ensures the handler runs INSIDE the middleware async context
780
+ const result = await this.executeMiddlewares(context, allMiddlewares, 0, async () => {
781
+ // Execute validation
782
+ if (route.validator) {
783
+ const validationResult = await this.validateRequest(context, route.validator);
784
+ if (validationResult)
785
+ return validationResult;
700
786
  }
701
- }
702
- // Execute route middlewares with real next() chain
703
- if (route.middlewares && route.middlewares.length > 0) {
704
- const result = await this.executeMiddlewares(context, route.middlewares);
705
- // If middleware returned a custom response, return it
706
- if (result instanceof Response) {
707
- return result;
787
+ // Handle static file serving
788
+ if (route.staticServe) {
789
+ const staticResponse = await this.serveStaticFile(req, context, route.staticServe);
790
+ if (staticResponse)
791
+ return staticResponse;
708
792
  }
709
- // If middleware returned false, return 403
710
- if (result === false) {
711
- return new Response('Forbidden', { status: 403 });
793
+ // Execute route handler
794
+ const response = await route.handler(context);
795
+ // If handler returns Response, return it directly
796
+ if (response instanceof Response) {
797
+ return response;
712
798
  }
799
+ // Otherwise, wrap in Response
800
+ return new Response(JSON.stringify(response), {
801
+ status: 200,
802
+ headers: { 'Content-Type': 'application/json' },
803
+ });
804
+ });
805
+ // If middleware chain returned a custom response, return it
806
+ if (result instanceof Response) {
807
+ return result;
713
808
  }
714
- // Execute validation
715
- if (route.validator) {
716
- const validationResult = await this.validateRequest(context, route.validator);
717
- if (validationResult)
718
- return validationResult;
719
- }
720
- // Handle static file serving
721
- if (route.staticServe) {
722
- const staticResponse = await this.serveStaticFile(req, context, route.staticServe);
723
- if (staticResponse)
724
- return staticResponse;
809
+ // If middleware chain returned false (stopped), return 403
810
+ if (result === false) {
811
+ return new Response('Forbidden', { status: 403 });
725
812
  }
726
- // Execute route handler
727
- const response = await route.handler(context);
728
- // If handler returns Response, return it directly
729
- if (response instanceof Response) {
730
- return response;
731
- }
732
- // Otherwise, wrap in Response
733
- return new Response(JSON.stringify(response), {
734
- status: 200,
735
- headers: { 'Content-Type': 'application/json' },
736
- });
813
+ // Default: result is true (should not happen with onComplete, but just in case)
814
+ return new Response(null, { status: 204 });
737
815
  }
738
816
  catch (error) {
739
817
  // If handler or middleware threw HttpException, convert to Response
@@ -1 +1 @@
1
- {"version":3,"file":"Ergenecore.js","sourceRoot":"","sources":["../../lib/Ergenecore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Ergenecore.js","sourceRoot":"","sources":["../../lib/Ergenecore.ts"],"names":[],"mappings":"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"}