@engjts/nexus 0.1.10 → 0.1.13

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 (50) hide show
  1. package/dist/advanced/playground/generatePlaygroundHTML.js +38 -38
  2. package/dist/advanced/playground/generatePlaygroundHTML.js.map +1 -1
  3. package/dist/advanced/playground/playground.d.ts.map +1 -1
  4. package/dist/advanced/playground/playground.js +73 -5
  5. package/dist/advanced/playground/playground.js.map +1 -1
  6. package/dist/advanced/postman/postman.d.ts.map +1 -1
  7. package/dist/advanced/postman/postman.js +10 -4
  8. package/dist/advanced/postman/postman.js.map +1 -1
  9. package/dist/advanced/swagger/swagger.d.ts.map +1 -1
  10. package/dist/advanced/swagger/swagger.js +24 -2
  11. package/dist/advanced/swagger/swagger.js.map +1 -1
  12. package/dist/advanced/template/engines.d.ts +90 -0
  13. package/dist/advanced/template/engines.d.ts.map +1 -0
  14. package/dist/advanced/template/engines.js +153 -0
  15. package/dist/advanced/template/engines.js.map +1 -0
  16. package/dist/advanced/template/index.d.ts +10 -0
  17. package/dist/advanced/template/index.d.ts.map +1 -0
  18. package/dist/advanced/template/index.js +16 -0
  19. package/dist/advanced/template/index.js.map +1 -0
  20. package/dist/core/application.d.ts +10 -0
  21. package/dist/core/application.d.ts.map +1 -1
  22. package/dist/core/application.js +64 -1
  23. package/dist/core/application.js.map +1 -1
  24. package/dist/core/middleware.d.ts +3 -1
  25. package/dist/core/middleware.d.ts.map +1 -1
  26. package/dist/core/middleware.js +49 -11
  27. package/dist/core/middleware.js.map +1 -1
  28. package/dist/core/router/file-router.d.ts.map +1 -1
  29. package/dist/core/router/file-router.js +4 -1
  30. package/dist/core/router/file-router.js.map +1 -1
  31. package/dist/core/router/index.d.ts +9 -1
  32. package/dist/core/router/index.d.ts.map +1 -1
  33. package/dist/core/router/index.js +11 -3
  34. package/dist/core/router/index.js.map +1 -1
  35. package/dist/core/router/radix-tree.d.ts +10 -3
  36. package/dist/core/router/radix-tree.d.ts.map +1 -1
  37. package/dist/core/router/radix-tree.js +118 -10
  38. package/dist/core/router/radix-tree.js.map +1 -1
  39. package/dist/core/types.d.ts +106 -0
  40. package/dist/core/types.d.ts.map +1 -1
  41. package/dist/core/types.js +186 -0
  42. package/dist/core/types.js.map +1 -1
  43. package/dist/index.d.ts +1 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +7 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/security/headers.d.ts.map +1 -1
  48. package/dist/security/headers.js +5 -2
  49. package/dist/security/headers.js.map +1 -1
  50. package/package.json +2 -1
@@ -3,6 +3,39 @@
3
3
  * Core type definitions for the Nexus Framework
4
4
  * Provides type-safe interfaces for requests, responses, middleware, and routing
5
5
  */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
6
39
  Object.defineProperty(exports, "__esModule", { value: true });
7
40
  exports.Route = void 0;
8
41
  exports.isRouteClass = isRouteClass;
@@ -46,6 +79,43 @@ exports.isRouteClass = isRouteClass;
46
79
  */
47
80
  class Route {
48
81
  pathName;
82
+ /**
83
+ * Template engines registry (static, shared across all routes)
84
+ * @private
85
+ */
86
+ static templateEngines = new Map();
87
+ /**
88
+ * Register a custom template engine
89
+ * @param engine - Template engine implementation
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * import Handlebars from 'handlebars';
94
+ *
95
+ * Route.registerEngine({
96
+ * name: 'handlebars',
97
+ * extensions: ['.hbs', '.handlebars'],
98
+ * render: (template, data) => {
99
+ * const compiled = Handlebars.compile(template);
100
+ * return compiled(data);
101
+ * }
102
+ * });
103
+ * ```
104
+ */
105
+ static registerEngine(engine) {
106
+ Route.templateEngines.set(engine.name, engine);
107
+ // Also register by file extensions for auto-detection
108
+ for (const ext of engine.extensions) {
109
+ Route.templateEngines.set(ext, engine);
110
+ }
111
+ }
112
+ /**
113
+ * Get registered template engine by name or extension
114
+ * @private
115
+ */
116
+ static getEngine(nameOrExt) {
117
+ return Route.templateEngines.get(nameOrExt);
118
+ }
49
119
  // ─────────────────────────────────────────────────────────────────────────
50
120
  // Helper Methods for cleaner response handling
51
121
  // ─────────────────────────────────────────────────────────────────────────
@@ -85,6 +155,122 @@ class Route {
85
155
  .status(status)
86
156
  .json({ success: false, message, ...(data !== undefined ? { data } : {}) });
87
157
  }
158
+ /**
159
+ * Render a file template with data injection
160
+ * Supports multiple template engines via plugins or simple placeholder syntax by default
161
+ * @param filePath - Path to the template file (relative to project root or absolute)
162
+ * @param data - Data object to inject into template
163
+ * @param options - Render options (engine, status, headers)
164
+ * @returns Response object with rendered HTML/text
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * // Simple placeholder (default): {{ variableName }}
169
+ * return this.render('./views/welcome.html', { name: 'John' });
170
+ *
171
+ * // With Handlebars (auto-detect from .hbs extension)
172
+ * return this.render('./views/profile.hbs', { user });
173
+ *
174
+ * // Force specific engine
175
+ * return this.render('./views/page.html', { data }, { engine: 'ejs' });
176
+ *
177
+ * // With custom status and headers
178
+ * return this.render('./views/error.html', { message }, {
179
+ * status: 500,
180
+ * headers: { 'X-Custom': 'value' }
181
+ * });
182
+ * ```
183
+ */
184
+ async render(filePath, data, options) {
185
+ const fs = await Promise.resolve().then(() => __importStar(require('fs')));
186
+ const path = await Promise.resolve().then(() => __importStar(require('path')));
187
+ // Resolve file path (support both relative and absolute paths)
188
+ const resolvedPath = path.isAbsolute(filePath)
189
+ ? filePath
190
+ : path.resolve(process.cwd(), filePath);
191
+ // Check if file exists
192
+ if (!fs.existsSync(resolvedPath)) {
193
+ throw new Error(`Template file not found: ${filePath}`);
194
+ }
195
+ // Read file content
196
+ let content = fs.readFileSync(resolvedPath, 'utf-8');
197
+ // Determine which engine to use
198
+ const ext = path.extname(filePath).toLowerCase();
199
+ let engine;
200
+ if (options?.engine) {
201
+ // Explicit engine specified
202
+ engine = Route.getEngine(options.engine);
203
+ if (!engine) {
204
+ throw new Error(`Template engine '${options.engine}' not registered. ` +
205
+ `Register it using Route.registerEngine()`);
206
+ }
207
+ }
208
+ else {
209
+ // Auto-detect from file extension
210
+ engine = Route.getEngine(ext);
211
+ }
212
+ // Render with appropriate engine
213
+ if (engine) {
214
+ // Use registered template engine
215
+ content = await engine.render(content, data || {});
216
+ }
217
+ else if (data && Object.keys(data).length > 0) {
218
+ // Fallback to simple placeholder engine (default)
219
+ content = this.injectTemplateData(content, data);
220
+ }
221
+ // Determine content type from file extension
222
+ const contentType = this.getContentTypeFromExtension(ext);
223
+ // Build response headers
224
+ const headers = {
225
+ 'Content-Type': contentType,
226
+ ...(options?.headers || {})
227
+ };
228
+ return {
229
+ statusCode: options?.status || 200,
230
+ headers,
231
+ body: content
232
+ };
233
+ }
234
+ /**
235
+ * Inject data into template string
236
+ * Supports {{ variable }} and {{ object.property }} syntax
237
+ * Automatically JSON.stringify() objects and arrays for use in JavaScript
238
+ * @private
239
+ */
240
+ injectTemplateData(template, data) {
241
+ return template.replace(/\{\{\s*([\w.]+)\s*\}\}/g, (match, key) => {
242
+ // Support nested properties: user.name, user.email, etc.
243
+ const value = key.split('.').reduce((obj, prop) => {
244
+ return obj && obj[prop] !== undefined ? obj[prop] : '';
245
+ }, data);
246
+ if (value === undefined || value === null) {
247
+ return '';
248
+ }
249
+ // If value is object or array, JSON.stringify it for JavaScript usage
250
+ if (typeof value === 'object') {
251
+ return JSON.stringify(value);
252
+ }
253
+ // Primitive values: convert to string
254
+ return String(value);
255
+ });
256
+ }
257
+ /**
258
+ * Get content type from file extension
259
+ * @private
260
+ */
261
+ getContentTypeFromExtension(ext) {
262
+ const mimeTypes = {
263
+ '.html': 'text/html; charset=utf-8',
264
+ '.htm': 'text/html; charset=utf-8',
265
+ '.xml': 'application/xml; charset=utf-8',
266
+ '.txt': 'text/plain; charset=utf-8',
267
+ '.css': 'text/css; charset=utf-8',
268
+ '.js': 'application/javascript; charset=utf-8',
269
+ '.json': 'application/json; charset=utf-8',
270
+ '.svg': 'image/svg+xml',
271
+ };
272
+ return mimeTypes[ext] || 'text/plain; charset=utf-8';
273
+ }
88
274
  /**
89
275
  * HTTP method(s) this route handles - Optional
90
276
  * When using file-based routing, you can also define method handlers (GET, POST, etc.)
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAihBH,oCAOC;AApJD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAsB,KAAK;IACvB,QAAQ,CAAU;IAUlB,4EAA4E;IAC5E,+CAA+C;IAC/C,4EAA4E;IAE5E;;;;;;;;;;OAUG;IACO,EAAE,CAAgC,IAAO;QAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACO,IAAI,CAAC,GAAa,EAAE,MAAc,EAAE,OAAe,EAAE,IAAU;QACrE,OAAQ,GAAe,CAAC,QAAQ;aAC3B,MAAM,CAAC,MAAM,CAAC;aACd,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACH,MAAM,CAA6B;CAyCtC;AAlGD,sBAkGC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAwB;IACjD,OAAO,KAAK,YAAY,KAAK;QACtB,CAAC,OAAQ,KAAe,CAAC,OAAO,KAAK,UAAU;YAC9C,UAAU,IAAI,KAAK;YACnB,CAAC,OAAQ,KAAe,CAAC,QAAQ,KAAK,UAAU;gBAC/C,OAAQ,KAAe,CAAC,OAAO,KAAK,UAAU;gBAC9C,OAAQ,KAAe,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -36,5 +36,6 @@ export { TestClient } from './advanced/testing/harness';
36
36
  export { staticFiles, publicDir, serveStatic } from './advanced/static';
37
37
  export { WebSocketGateway, type WebSocketContext, type WebSocketRoute, type WebSocketRouteConfig } from './advanced/realtime/websocket';
38
38
  export { MultiTierCache, InMemoryCacheStore, RedisCacheStore, createRedisCache, type CacheStore, type CacheEntry, type CacheSetOptions, type CacheTierConfig, type CacheWrapOptions, type MemoizeOptions, type RedisCacheConfig, type RedisClientLike } from './advanced/cache';
39
+ export { HandlebarsEngine, EJSEngine, PugEngine, MustacheEngine } from './advanced/template';
39
40
  export { z } from 'zod';
40
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.createGracefulShutdown = exports.GracefulShutdownManager = exports.withSpan = exports.setExtra = exports.setTag = exports.setUser = exports.addBreadcrumb = exports.captureMessage = exports.captureException = exports.createSentryErrorHandler = exports.createSentryMiddleware = exports.getSentry = exports.initSentry = exports.SentryClient = exports.createObservabilityMiddleware = exports.ObservabilityCenter = exports.CommonSchemas = exports.SerializerRegistry = exports.serializerRegistry = exports.serialize = exports.createArraySerializer = exports.createSerializer = exports.PerformanceMonitor = exports.MiddlewareOptimizer = exports.StreamUtils = exports.BufferPool = exports.AdapterRegistry = exports.createPlugin = exports.definePlugin = exports.PluginBuilder = exports.PluginManager = exports.createStoreRegistry = exports.RequestStoreRegistry = exports.StoreRegistry = exports.RequestStore = exports.ContextStore = exports.ContextPool = exports.parseBody = exports.ContextImpl = exports.errorHandler = exports.cors = exports.logger = exports.MiddlewareExecutor = exports.useFileRoutes = exports.createFileRouter = exports.FileRouter = exports.Router = exports.createApp = exports.Nexus = exports.Application = void 0;
23
- exports.z = exports.createRedisCache = exports.RedisCacheStore = exports.InMemoryCacheStore = exports.MultiTierCache = exports.WebSocketGateway = exports.serveStatic = exports.publicDir = exports.staticFiles = exports.TestClient = exports.playground = exports.postman = exports.createSwagger = exports.SwaggerGenerator = exports.swagger = exports.generateDockerFiles = exports.createDocker = exports.DockerGenerator = exports.requireEnv = exports.env = exports.defineConfig = exports.ConfigManager = exports.runClustered = exports.createCluster = exports.ClusterManager = void 0;
23
+ exports.z = exports.MustacheEngine = exports.PugEngine = exports.EJSEngine = exports.HandlebarsEngine = exports.createRedisCache = exports.RedisCacheStore = exports.InMemoryCacheStore = exports.MultiTierCache = exports.WebSocketGateway = exports.serveStatic = exports.publicDir = exports.staticFiles = exports.TestClient = exports.playground = exports.postman = exports.createSwagger = exports.SwaggerGenerator = exports.swagger = exports.generateDockerFiles = exports.createDocker = exports.DockerGenerator = exports.requireEnv = exports.env = exports.defineConfig = exports.ConfigManager = exports.runClustered = exports.createCluster = exports.ClusterManager = void 0;
24
24
  // =============================================================================
25
25
  // CORE
26
26
  // =============================================================================
@@ -178,6 +178,12 @@ Object.defineProperty(exports, "MultiTierCache", { enumerable: true, get: functi
178
178
  Object.defineProperty(exports, "InMemoryCacheStore", { enumerable: true, get: function () { return cache_1.InMemoryCacheStore; } });
179
179
  Object.defineProperty(exports, "RedisCacheStore", { enumerable: true, get: function () { return cache_1.RedisCacheStore; } });
180
180
  Object.defineProperty(exports, "createRedisCache", { enumerable: true, get: function () { return cache_1.createRedisCache; } });
181
+ // Template Engines
182
+ var template_1 = require("./advanced/template");
183
+ Object.defineProperty(exports, "HandlebarsEngine", { enumerable: true, get: function () { return template_1.HandlebarsEngine; } });
184
+ Object.defineProperty(exports, "EJSEngine", { enumerable: true, get: function () { return template_1.EJSEngine; } });
185
+ Object.defineProperty(exports, "PugEngine", { enumerable: true, get: function () { return template_1.PugEngine; } });
186
+ Object.defineProperty(exports, "MustacheEngine", { enumerable: true, get: function () { return template_1.MustacheEngine; } });
181
187
  // =============================================================================
182
188
  // UTILITIES
183
189
  // =============================================================================
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/security/headers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGxD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC3B,MAAM,GAAE,qBAA0B,EAClC,OAAO,CAAC,EAAE,sBAAsB,GACjC,UAAU,CAoCZ;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAAG,UAAU,CAkBnG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAAG,UAAU,CAarG"}
1
+ {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/security/headers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGxD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC3B,MAAM,GAAE,qBAA0B,EAClC,OAAO,CAAC,EAAE,sBAAsB,GACjC,UAAU,CAuCZ;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAAG,UAAU,CAkBnG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAAG,UAAU,CAarG"}
@@ -46,9 +46,12 @@ function securityHeaders(config = {}, adapter) {
46
46
  const headers = adapterInstance.generateHeaders(ctx, config);
47
47
  // Execute handler
48
48
  const response = await next(ctx);
49
- // Apply headers to response
49
+ // Apply headers to response (don't override if already set)
50
50
  for (const [name, value] of Object.entries(headers)) {
51
- response.headers[name] = value;
51
+ // Skip if response already has this header (e.g., playground sets its own CSP)
52
+ if (!response.headers[name]) {
53
+ response.headers[name] = value;
54
+ }
52
55
  }
53
56
  return response;
54
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/security/headers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/security/headers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@engjts/nexus",
3
- "version": "0.1.10",
3
+ "version": "0.1.13",
4
4
  "description": "Nexus framework async-first web framework with type-safety and security built-in",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -141,6 +141,7 @@
141
141
  "author": "",
142
142
  "license": "MIT",
143
143
  "dependencies": {
144
+ "ejs": "^3.1.10",
144
145
  "fast-json-stringify": "^6.1.1",
145
146
  "fast-querystring": "^1.1.2",
146
147
  "mysql2": "^3.15.3",