canxjs 1.6.4 → 1.7.1

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/cli/create.ts CHANGED
@@ -249,7 +249,7 @@ function getDatabaseConfig() {
249
249
  return `import type { DatabaseConfig } from 'canxjs';
250
250
 
251
251
  const config: DatabaseConfig = {
252
- driver: 'mysql',
252
+ driver: process.env.DB_CONNECTION || 'mysql',
253
253
  host: process.env.DB_HOST || 'localhost',
254
254
  port: Number(process.env.DB_PORT) || 3306,
255
255
  database: process.env.DB_NAME || 'canxjs_app',
@@ -9,12 +9,17 @@ export declare class Canx implements CanxApplication {
9
9
  router: Router;
10
10
  private server;
11
11
  private pipeline;
12
+ private postPipeline;
12
13
  private plugins;
13
14
  constructor(config?: ServerConfig);
14
15
  /**
15
16
  * Register global middleware
16
17
  */
17
18
  use(middleware: MiddlewareHandler): this;
19
+ /**
20
+ * Register global post-middleware (runs after route middleware)
21
+ */
22
+ usePost(middleware: MiddlewareHandler): this;
18
23
  /**
19
24
  * Register routes
20
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/Application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/Application.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export class Canx {
11
11
  router;
12
12
  server = null;
13
13
  pipeline;
14
+ postPipeline;
14
15
  plugins = [];
15
16
  constructor(config = {}) {
16
17
  this.config = {
@@ -24,6 +25,7 @@ export class Canx {
24
25
  // Bind Router to Container for global helpers
25
26
  container.instance('Router', this.router);
26
27
  this.pipeline = new MiddlewarePipeline();
28
+ this.postPipeline = new MiddlewarePipeline();
27
29
  }
28
30
  /**
29
31
  * Register global middleware
@@ -32,6 +34,13 @@ export class Canx {
32
34
  this.pipeline.use(middleware);
33
35
  return this;
34
36
  }
37
+ /**
38
+ * Register global post-middleware (runs after route middleware)
39
+ */
40
+ usePost(middleware) {
41
+ this.postPipeline.use(middleware);
42
+ return this;
43
+ }
35
44
  /**
36
45
  * Register routes
37
46
  */
@@ -102,7 +111,25 @@ export class Canx {
102
111
  // Update params
103
112
  Object.assign(req.params, match.params);
104
113
  // Execute middleware pipeline and handler
105
- const result = await this.pipeline.execute(req, res, match.middlewares, () => match.handler(req, res));
114
+ // Flow: Global Pre -> Route -> Global Post -> Handler (Wait, post should be wrapped? Or appended?)
115
+ // Actually, if we append Post middleware to the list, they run BEFORE handler if we treat handler as terminal.
116
+ // But if we want them to run AFTER handler (like logging response), they must 'await next()'.
117
+ // But if we want them to be OUTER layers, they should be PREPENDED to the chain?
118
+ // No, "Post middleware" usually implies "Runs after handler returns". In onion model, that means they are the OUTERMOST layers.
119
+ // So app.use() (Global Pre) -> app.usePost() (Global Post).
120
+ // If Pre is outer, it runs first. Post is ???
121
+ // User request: "Global middleware yang dijalankan SETELAH route handler".
122
+ // If I wrap everything: PostMiddleware( PreMiddleware( RouteMiddleware( Handler ) ) )
123
+ // Then PostMiddleware starts first, calls next(), calls Pre... Handler returns... PostMiddleware resumes.
124
+ // So "Post Middleware" is just a middleware that wraps the whole stack?
125
+ // Or does user mean a list that is appended to route middleware?
126
+ // "Global middlewares selalu di-prepend ke route middleware".
127
+ // Implies user wants [Global, ...Route, Post].
128
+ // If we do that: Global(next=Route) -> Route(next=Post) -> Post(next=Handler).
129
+ // If Post is `(req, res, next) => { handle(); await next(); }`, then it works.
130
+ const postMiddlewares = this.postPipeline.middlewares || [];
131
+ const allMiddlewares = [...match.middlewares, ...postMiddlewares];
132
+ const result = await this.pipeline.execute(req, res, allMiddlewares, () => match.handler(req, res));
106
133
  // If handler returns string (e.g., from View()), wrap in HTML Response
107
134
  if (typeof result === 'string') {
108
135
  return res.html(result);
@@ -15,6 +15,8 @@ interface JWTConfig {
15
15
  secret: string;
16
16
  expiresIn?: number;
17
17
  algorithm?: 'HS256' | 'HS384' | 'HS512';
18
+ kid?: string;
19
+ keys?: Record<string, string>;
18
20
  }
19
21
  export declare function signJWT(payload: Omit<JWTPayload, 'iat' | 'exp'> & {
20
22
  sub: string | number;
@@ -45,6 +47,8 @@ export interface SessionDriver {
45
47
  }
46
48
  export declare class MemorySessionDriver implements SessionDriver {
47
49
  private sessions;
50
+ private interval;
51
+ constructor();
48
52
  generateId(): string;
49
53
  create(userId: string | number, data?: Record<string, unknown>, maxAge?: number): Session;
50
54
  get(id: string): Session | null;
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/auth/Auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../../../src/auth/Auth.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,9 @@ export async function signJWT(payload, config) {
33
33
  const alg = config.algorithm || 'HS256';
34
34
  const hashAlg = alg === 'HS256' ? 'SHA-256' : alg === 'HS384' ? 'SHA-384' : 'SHA-512';
35
35
  const header = { alg, typ: 'JWT' };
36
+ if (config.kid) {
37
+ header.kid = config.kid;
38
+ }
36
39
  const now = Math.floor(Date.now() / 1000);
37
40
  const fullPayload = {
38
41
  ...payload,
@@ -42,7 +45,12 @@ export async function signJWT(payload, config) {
42
45
  const headerB64 = base64UrlEncode(JSON.stringify(header));
43
46
  const payloadB64 = base64UrlEncode(JSON.stringify(fullPayload));
44
47
  const data = `${headerB64}.${payloadB64}`;
45
- const key = await createHmacKey(config.secret, hashAlg);
48
+ // Select secret: if keys is provided and kid matches, use that. Else default secret.
49
+ let secret = config.secret;
50
+ if (config.keys && config.kid && config.keys[config.kid]) {
51
+ secret = config.keys[config.kid];
52
+ }
53
+ const key = await createHmacKey(secret, hashAlg);
46
54
  const signature = await crypto.subtle.sign('HMAC', key, encoder.encode(data));
47
55
  const signatureB64 = base64UrlEncode(new Uint8Array(signature).reduce((s, b) => s + String.fromCharCode(b), ''));
48
56
  return `${data}.${signatureB64}`;
@@ -58,12 +66,24 @@ export async function verifyJWT(token, config) {
58
66
  // Security: Enforce allowed algorithm
59
67
  const allowedAlg = config.algorithm || 'HS256';
60
68
  if (alg !== allowedAlg) {
61
- // Silent fail or return null for security (avoid enumeration)
62
69
  return null;
63
70
  }
64
71
  const hashAlg = allowedAlg === 'HS256' ? 'SHA-256' : allowedAlg === 'HS384' ? 'SHA-384' : 'SHA-512';
72
+ // Select key based on kid in header
73
+ let secret = config.secret;
74
+ if (header.kid && config.keys && config.keys[header.kid]) {
75
+ secret = config.keys[header.kid];
76
+ }
77
+ else if (header.kid && config.keys && !config.keys[header.kid]) {
78
+ // Kid present but not found in keys -> Fail? Or fallback?
79
+ // Secure default: if kid is explicitly unknown, fail.
80
+ // But if standard secret is provided, maybe we allow?
81
+ // Best practice: if kid is there, use it. If not found, fail.
82
+ // If kid is NOT there, use default secret.
83
+ return null;
84
+ }
65
85
  // Verify signature
66
- const key = await createHmacKey(config.secret, hashAlg);
86
+ const key = await createHmacKey(secret, hashAlg);
67
87
  const data = `${headerB64}.${payloadB64}`;
68
88
  const signature = Uint8Array.from(base64UrlDecode(signatureB64), c => c.charCodeAt(0));
69
89
  const valid = await crypto.subtle.verify('HMAC', key, signature, encoder.encode(data));
@@ -148,6 +168,20 @@ export function roles(...allowedRoles) {
148
168
  }
149
169
  export class MemorySessionDriver {
150
170
  sessions = new Map();
171
+ interval = null; // Use Timer type or any
172
+ constructor() {
173
+ // Auto-cleanup every minute (lottery or interval)
174
+ // Using interval to ensure no leaks
175
+ // Note: This prevents process exit if not unref'ed. Bun/Node supports unref.
176
+ // In Bun: setInterval().unref() is valid? Or just let it be.
177
+ // We'll use a simple interval and hope it doesn't block.
178
+ // Actually, maybe better to run cleanup on create() probabilistically?
179
+ // User requested "automatic mechanism".
180
+ this.interval = setInterval(() => this.cleanup(), 60000);
181
+ if (this.interval && typeof this.interval.unref === 'function') {
182
+ this.interval.unref();
183
+ }
184
+ }
151
185
  generateId() {
152
186
  return `sess_${Date.now().toString(36)}_${crypto.randomUUID().replace(/-/g, '')}`;
153
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,OAAO,EAAE,CAAC;AAkBxB,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAmC;;IA6CnD,QAAQ,CAAC,OAAO,EAAE,OAAO;IAKnB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE;IAwCxB,QAAQ;CA0CT;AAED,eAAO,MAAM,GAAG,SAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,OAAO,EAAE,CAAC;AAkBxB,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAmC;;IA6CnD,QAAQ,CAAC,OAAO,EAAE,OAAO;IAKnB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE;IA4DxB,QAAQ;CA0CT;AAED,eAAO,MAAM,GAAG,SAAgB,CAAC"}
@@ -76,15 +76,35 @@ export class Console {
76
76
  const params = args.slice(1);
77
77
  const flags = {};
78
78
  const commandArgs = [];
79
- for (const arg of params) {
79
+ // Enhanced flag parser to support space-separated flags (--flag value)
80
+ for (let i = 0; i < params.length; i++) {
81
+ const arg = params[i];
80
82
  if (arg.startsWith('--')) {
81
- const [key, val] = arg.slice(2).split('=');
82
- flags[key] = val || true;
83
+ // Case: --flag or --flag=value
84
+ if (arg.includes('=')) {
85
+ const [key, val] = arg.slice(2).split('=');
86
+ flags[key] = val;
87
+ }
88
+ else {
89
+ // Case: --flag value OR --flag (boolean)
90
+ const key = arg.slice(2);
91
+ const nextArg = params[i + 1];
92
+ // If next arg exists and is NOT a flag, consume it as value
93
+ if (nextArg && !nextArg.startsWith('-')) {
94
+ flags[key] = nextArg;
95
+ i++; // Skip next arg
96
+ }
97
+ else {
98
+ flags[key] = true;
99
+ }
100
+ }
83
101
  }
84
102
  else if (arg.startsWith('-')) {
103
+ // Short flag -x
85
104
  flags[arg.slice(1)] = true;
86
105
  }
87
106
  else {
107
+ // Positional arg
88
108
  commandArgs.push(arg);
89
109
  }
90
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/core/ErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAiG3D,qBAAa,YAAY;IACvB;;OAEG;WACU,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4C1G;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;IAmBvB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B;;OAEG;mBACkB,eAAe;IAoTpC;;OAEG;mBACkB,cAAc;IAgCnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;CAQ1B"}
1
+ {"version":3,"file":"ErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/core/ErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAiG3D,qBAAa,YAAY;IACvB;;OAEG;WACU,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4C1G;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;IAmBvB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B;;OAEG;mBACkB,eAAe;IAuZpC;;OAEG;mBACkB,cAAc;IAgCnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;CAQ1B"}
@@ -190,12 +190,93 @@ ${dim}${error.stack?.split('\n').filter(l => !l.includes('node_modules')).slice(
190
190
  <meta charset="UTF-8">
191
191
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
192
192
  <title>${config.icon} ${status} - ${config.title}</title>
193
- <link rel="preconnect" href="https://fonts.googleapis.com">
194
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
195
- <script src="https://cdn.tailwindcss.com"></script>
196
193
  <style>
197
- * { font-family: 'Inter', sans-serif; }
198
- code, pre, .mono { font-family: 'JetBrains Mono', monospace; }
194
+ /* Reset & Base */
195
+ :root {
196
+ --bg-color: #0a0f1a;
197
+ --text-color: #d1d5db;
198
+ --glass-bg: rgba(30, 41, 59, 0.8);
199
+ --glass-border: rgba(255, 255, 255, 0.1);
200
+ }
201
+ body { margin: 0; padding: 0; background-color: var(--bg-color); color: var(--text-color); font-family: system-ui, -apple-system, sans-serif; line-height: 1.5; }
202
+ *, *::before, *::after { box-sizing: border-box; }
203
+
204
+ /* Utilities */
205
+ .dark { color-scheme: dark; }
206
+ .min-h-screen { min-height: 100vh; }
207
+ .relative { position: relative; }
208
+ .fixed { position: fixed; }
209
+ .absolute { position: absolute; }
210
+ .inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
211
+ .overflow-hidden { overflow: hidden; }
212
+ .pointer-events-none { pointer-events: none; }
213
+ .flex { display: flex; }
214
+ .grid { display: grid; }
215
+ .items-center { align-items: center; }
216
+ .justify-center { justify-content: center; }
217
+ .justify-between { justify-content: space-between; }
218
+ .gap-2 { gap: 0.5rem; }
219
+ .gap-3 { gap: 0.75rem; }
220
+ .gap-4 { gap: 1rem; }
221
+ .gap-6 { gap: 1.5rem; }
222
+ .p-3 { padding: 0.75rem; }
223
+ .p-4 { padding: 1rem; }
224
+ .p-5 { padding: 1.25rem; }
225
+ .p-6 { padding: 1.5rem; }
226
+ .p-8 { padding: 2rem; }
227
+ .px-4 { padding-left: 1rem; padding-right: 1rem; }
228
+ .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
229
+ .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
230
+ .py-8 { padding-top: 2rem; padding-bottom: 2rem; }
231
+ .mb-1 { margin-bottom: 0.25rem; }
232
+ .mb-2 { margin-bottom: 0.5rem; }
233
+ .mb-3 { margin-bottom: 0.75rem; }
234
+ .mb-4 { margin-bottom: 1rem; }
235
+ .mb-6 { margin-bottom: 1.5rem; }
236
+ .mt-2 { margin-top: 0.5rem; }
237
+ .mt-6 { margin-top: 1.5rem; }
238
+ .ml-2 { margin-left: 0.5rem; }
239
+ .mr-2 { margin-right: 0.5rem; }
240
+ .w-full { width: 100%; }
241
+ .max-w-6xl { max-width: 72rem; }
242
+ .max-w-md { max-width: 28rem; }
243
+ .mx-auto { margin-left: auto; margin-right: auto; }
244
+ .rounded { border-radius: 0.25rem; }
245
+ .rounded-lg { border-radius: 0.5rem; }
246
+ .rounded-xl { border-radius: 0.75rem; }
247
+ .rounded-2xl { border-radius: 1rem; }
248
+ .rounded-full { border-radius: 9999px; }
249
+ .border { border-width: 1px; border-style: solid; border-color: var(--glass-border); }
250
+ .border-b { border-bottom-width: 1px; border-bottom-style: solid; border-color: var(--glass-border); }
251
+ .border-l-2 { border-left-width: 2px; border-left-style: solid; }
252
+ .shadow-xl { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); }
253
+ .shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }
254
+
255
+ /* Typography */
256
+ .text-xs { font-size: 0.75rem; }
257
+ .text-sm { font-size: 0.875rem; }
258
+ .text-lg { font-size: 1.125rem; }
259
+ .text-2xl { font-size: 1.5rem; }
260
+ .text-3xl { font-size: 1.875rem; }
261
+ .font-medium { font-weight: 500; }
262
+ .font-semibold { font-weight: 600; }
263
+ .font-bold { font-weight: 700; }
264
+ .uppercase { text-transform: uppercase; }
265
+ .truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
266
+ .break-all { word-break: break-all; }
267
+ .text-center { text-align: center; }
268
+ .text-right { text-align: right; }
269
+
270
+ /* Colors */
271
+ .bg-white { background-color: #ffffff; }
272
+ .text-white { color: #ffffff; }
273
+ .text-gray-300 { color: #d1d5db; }
274
+ .text-gray-400 { color: #9ca3af; }
275
+ .text-gray-500 { color: #6b7280; }
276
+ .text-gray-600 { color: #4b5563; }
277
+
278
+ /* Custom Components */
279
+ .mono { font-family: monospace; }
199
280
  .code-line { counter-increment: line; }
200
281
  .code-line::before {
201
282
  content: counter(line);
@@ -208,12 +289,12 @@ ${dim}${error.stack?.split('\n').filter(l => !l.includes('node_modules')).slice(
208
289
  user-select: none;
209
290
  }
210
291
  .highlight {
211
- background: linear-gradient(90deg, rgba(239,68,68,0.2) 0%, rgba(239,68,68,0.05) 100%);
292
+ background: rgba(239,68,68,0.1);
212
293
  border-left: 3px solid #ef4444;
213
294
  margin-left: -3px;
214
295
  }
215
296
  .glass {
216
- background: rgba(30, 41, 59, 0.8);
297
+ background: var(--glass-bg);
217
298
  backdrop-filter: blur(10px);
218
299
  }
219
300
  .gradient-border {
@@ -221,12 +302,30 @@ ${dim}${error.stack?.split('\n').filter(l => !l.includes('node_modules')).slice(
221
302
  padding: 1px;
222
303
  border-radius: 16px;
223
304
  }
224
- .animate-pulse-slow { animation: pulse 3s ease-in-out infinite; }
225
- @keyframes float {
226
- 0%, 100% { transform: translateY(0); }
227
- 50% { transform: translateY(-10px); }
305
+
306
+ /* Colors mapping for dynamic classes */
307
+ .text-yellow-400 { color: #facc15; }
308
+ .bg-yellow-500\\/10 { background-color: rgba(234, 179, 8, 0.1); }
309
+ .border-yellow-500\\/30 { border-color: rgba(234, 179, 8, 0.3); }
310
+
311
+ .text-red-400 { color: #f87171; }
312
+ .text-red-500 { color: #ef4444; }
313
+ .bg-red-500\\/10 { background-color: rgba(239, 68, 68, 0.1); }
314
+ .border-red-500\\/30 { border-color: rgba(239, 68, 68, 0.3); }
315
+
316
+ .text-blue-400 { color: #60a5fa; }
317
+ .bg-blue-500\\/5 { background-color: rgba(59, 130, 246, 0.05); }
318
+ .bg-blue-500\\/10 { background-color: rgba(59, 130, 246, 0.1); }
319
+ .border-blue-500\\/30 { border-color: rgba(59, 130, 246, 0.3); }
320
+
321
+ .text-green-400 { color: #4ade80; }
322
+
323
+ /* Responsive */
324
+ @media (min-width: 1024px) {
325
+ .lg\\:p-10 { padding: 2.5rem; }
326
+ .lg\\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
327
+ .lg\\:col-span-2 { grid-column: span 2 / span 2; }
228
328
  }
229
- .float { animation: float 6s ease-in-out infinite; }
230
329
  </style>
231
330
  </head>
232
331
  <body class="bg-[#0a0f1a] text-gray-300 min-h-screen relative overflow-x-hidden">
@@ -61,7 +61,7 @@ export class Router {
61
61
  if (!path)
62
62
  throw new Error(`Route "${name}" not found.`);
63
63
  for (const [key, value] of Object.entries(params)) {
64
- path = path.replace(`:${key}`, String(value));
64
+ path = path.replace(`:${key}`, encodeURIComponent(String(value)));
65
65
  // Also handle optional params? For V1, simplicity.
66
66
  }
67
67
  return path;
@@ -1 +1 @@
1
- {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../../src/core/Server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EAEZ,WAAW,EAIZ,MAAM,UAAU,CAAC;AAgDlB;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,MAAM,GAAE,WAAgB,GACvB,WAAW,CAmGb;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAuOjD;AAkDD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,cAAc,CAAiD;gBAGrE,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ;IAczD;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI7C;;OAEG;IACG,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAmHlD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;OAEG;IACH,IAAI,QAAQ,+BAEX;CACF;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../../src/core/Server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EAEZ,WAAW,EAIZ,MAAM,UAAU,CAAC;AAgDlB;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,MAAM,GAAE,WAAgB,GACvB,WAAW,CAmGb;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAuOjD;AAkDD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,cAAc,CAAiD;gBAGrE,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ;IAczD;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI7C;;OAEG;IACG,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA0HlD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;OAEG;IACH,IAAI,QAAQ,+BAEX;CACF;AAED,eAAe,MAAM,CAAC"}
@@ -440,10 +440,16 @@ export class Server {
440
440
  if (this.config.static) {
441
441
  const url = new URL(req.url);
442
442
  if (url.pathname.startsWith('/static/')) {
443
- const filePath = `${this.config.static}${url.pathname.replace('/static', '')}`;
444
- const file = Bun.file(filePath);
445
- if (await file.exists()) {
446
- return new Response(file);
443
+ const path = await import('path');
444
+ // Secure path resolution
445
+ const staticRoot = path.resolve(this.config.static);
446
+ const requestedPath = path.resolve(staticRoot, '.' + url.pathname.replace('/static', ''));
447
+ // Ensure the resolved path is within the static root
448
+ if (requestedPath.startsWith(staticRoot)) {
449
+ const file = Bun.file(requestedPath);
450
+ if (await file.exists()) {
451
+ return new Response(file);
452
+ }
447
453
  }
448
454
  }
449
455
  }
@@ -9,7 +9,7 @@ export { Canx, createApp, defineConfig, createApplication, Application } from '.
9
9
  export { Action } from './core/Action';
10
10
  export type { ServerConfig } from './types';
11
11
  export { ErrorHandler } from './core/ErrorHandler';
12
- export type { CanxRequest, CanxResponse, HttpMethod, CanxApplication, CastType, NextFunction } from './types';
12
+ export type { CanxRequest, CanxResponse, HttpMethod, CanxApplication, CastType, NextFunction, DatabaseConfig, RouterInstance } from './types';
13
13
  export { MiddlewarePipeline, cors, logger, bodyParser, rateLimit, compress, serveStatic, createMiddlewarePipeline } from './core/Middleware';
14
14
  export { security } from './middlewares/SecurityMiddleware';
15
15
  export { validateSchema } from './middlewares/ValidationMiddleware';
@@ -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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"}
@@ -97,12 +97,14 @@ export declare class QueryBuilderImpl<T> implements QueryBuilder<T> {
97
97
  to: number;
98
98
  }>;
99
99
  }
100
- export declare abstract class Model {
100
+ export declare abstract class Model<T = any> {
101
101
  protected static tableName: string;
102
102
  protected static primaryKey: string;
103
103
  protected static timestamps: boolean;
104
104
  protected static softDeletes: boolean;
105
105
  protected static deletedAtColumn: string;
106
+ protected static fillable: string[];
107
+ protected static guarded: string[];
106
108
  protected static observers: ModelObserver[];
107
109
  protected casts: Record<string, CastType>;
108
110
  [key: string]: any;
@@ -1 +1 @@
1
- {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../src/mvc/Model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../src/mvc/Model.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,8 @@ export async function initDatabase(config) {
22
22
  connectionLimit: config.pool?.max || 10,
23
23
  queueLimit: 0,
24
24
  });
25
- console.log('[CanxJS] MySQL connection pool created');
25
+ if (config.logging)
26
+ console.log('[CanxJS] MySQL connection pool created');
26
27
  }
27
28
  else if (config.driver === 'postgresql') {
28
29
  const { Pool } = await import('pg');
@@ -35,12 +36,14 @@ export async function initDatabase(config) {
35
36
  max: config.pool?.max || 10,
36
37
  idleTimeoutMillis: config.pool?.idle || 30000,
37
38
  });
38
- console.log('[CanxJS] PostgreSQL connection pool created');
39
+ if (config.logging)
40
+ console.log('[CanxJS] PostgreSQL connection pool created');
39
41
  }
40
42
  else if (config.driver === 'sqlite') {
41
43
  const { Database } = await import('bun:sqlite');
42
44
  sqliteDb = new Database(config.database);
43
- console.log('[CanxJS] SQLite database connected');
45
+ if (config.logging)
46
+ console.log('[CanxJS] SQLite database connected');
44
47
  }
45
48
  }
46
49
  export async function closeDatabase() {
@@ -475,6 +478,9 @@ export class Model {
475
478
  static timestamps = true;
476
479
  static softDeletes = false;
477
480
  static deletedAtColumn = 'deleted_at';
481
+ // Mass Assignment Protection
482
+ static fillable = [];
483
+ static guarded = ['id', 'created_at', 'updated_at', 'deleted_at'];
478
484
  // Observers
479
485
  static observers = [];
480
486
  // Casting
@@ -562,9 +568,23 @@ export class Model {
562
568
  return value;
563
569
  }
564
570
  }
565
- // Override fill to handle casting
571
+ // Override fill to handle casting and mass assignment protection
566
572
  fill(data) {
573
+ const Ctor = this.constructor;
574
+ const fillable = Ctor.fillable;
575
+ const guarded = Ctor.guarded;
576
+ // Check if fillable is defined and not empty (allow-list mode)
577
+ const isFillableMode = fillable.length > 0;
567
578
  for (const key in data) {
579
+ // Filter keys
580
+ if (isFillableMode) {
581
+ if (!fillable.includes(key))
582
+ continue;
583
+ }
584
+ else {
585
+ if (guarded.includes(key))
586
+ continue;
587
+ }
568
588
  this[key] = this.castAttribute(key, data[key]);
569
589
  }
570
590
  return this;
@@ -31,9 +31,9 @@ export interface CanxRequest {
31
31
  /** Request headers */
32
32
  headers: Headers;
33
33
  /** Parsed request body */
34
- body: <T = unknown>() => Promise<T>;
34
+ body: <T = any>() => Promise<T>;
35
35
  /** Get JSON body */
36
- json: <T = unknown>() => Promise<T>;
36
+ json: <T = any>() => Promise<T>;
37
37
  /** Get form data */
38
38
  formData: () => Promise<FormData>;
39
39
  /** Get raw text */
@@ -301,7 +301,7 @@ export interface HotWireStream {
301
301
  close: () => void;
302
302
  onClose: (callback: () => void) => void;
303
303
  }
304
- export type ValidationRule = 'required' | 'string' | 'number' | 'boolean' | 'email' | 'url' | 'uuid' | 'date' | 'array' | 'object' | `min:${number}` | `max:${number}` | `length:${number}` | `regex:${string}` | `in:${string}` | `notIn:${string}` | `same:${string}` | `different:${string}`;
304
+ export type ValidationRule = 'required' | 'string' | 'number' | 'boolean' | 'email' | 'url' | 'uuid' | 'date' | 'array' | 'object' | `min:${number}` | `max:${number}` | `length:${number}` | `regex:${string}` | `in:${string}` | `notIn:${string}` | `same:${string}` | `different:${string}` | string;
305
305
  export interface ValidationSchema {
306
306
  [field: string]: ValidationRule | ValidationRule[] | string | {
307
307
  rules: ValidationRule[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "canxjs",
3
- "version": "1.6.4",
3
+ "version": "1.7.1",
4
4
  "description": "Ultra-fast async-first MVC backend framework for Bun runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -14,6 +14,7 @@ export class Canx implements CanxApplication {
14
14
  router: Router;
15
15
  private server: Server | null = null;
16
16
  private pipeline: MiddlewarePipeline;
17
+ private postPipeline: MiddlewarePipeline;
17
18
  private plugins: Plugin[] = [];
18
19
 
19
20
  constructor(config: ServerConfig = {}) {
@@ -30,6 +31,7 @@ export class Canx implements CanxApplication {
30
31
  container.instance('Router', this.router);
31
32
 
32
33
  this.pipeline = new MiddlewarePipeline();
34
+ this.postPipeline = new MiddlewarePipeline();
33
35
  }
34
36
 
35
37
  /**
@@ -40,6 +42,14 @@ export class Canx implements CanxApplication {
40
42
  return this;
41
43
  }
42
44
 
45
+ /**
46
+ * Register global post-middleware (runs after route middleware)
47
+ */
48
+ usePost(middleware: MiddlewareHandler): this {
49
+ this.postPipeline.use(middleware);
50
+ return this;
51
+ }
52
+
43
53
  /**
44
54
  * Register routes
45
55
  */
@@ -125,7 +135,26 @@ export class Canx implements CanxApplication {
125
135
  Object.assign(req.params, match.params);
126
136
 
127
137
  // Execute middleware pipeline and handler
128
- const result = await this.pipeline.execute(req, res, match.middlewares, () => match.handler(req, res));
138
+ // Flow: Global Pre -> Route -> Global Post -> Handler (Wait, post should be wrapped? Or appended?)
139
+ // Actually, if we append Post middleware to the list, they run BEFORE handler if we treat handler as terminal.
140
+ // But if we want them to run AFTER handler (like logging response), they must 'await next()'.
141
+ // But if we want them to be OUTER layers, they should be PREPENDED to the chain?
142
+ // No, "Post middleware" usually implies "Runs after handler returns". In onion model, that means they are the OUTERMOST layers.
143
+ // So app.use() (Global Pre) -> app.usePost() (Global Post).
144
+ // If Pre is outer, it runs first. Post is ???
145
+ // User request: "Global middleware yang dijalankan SETELAH route handler".
146
+ // If I wrap everything: PostMiddleware( PreMiddleware( RouteMiddleware( Handler ) ) )
147
+ // Then PostMiddleware starts first, calls next(), calls Pre... Handler returns... PostMiddleware resumes.
148
+ // So "Post Middleware" is just a middleware that wraps the whole stack?
149
+ // Or does user mean a list that is appended to route middleware?
150
+ // "Global middlewares selalu di-prepend ke route middleware".
151
+ // Implies user wants [Global, ...Route, Post].
152
+ // If we do that: Global(next=Route) -> Route(next=Post) -> Post(next=Handler).
153
+ // If Post is `(req, res, next) => { handle(); await next(); }`, then it works.
154
+
155
+ const postMiddlewares = (this.postPipeline as any).middlewares || [];
156
+ const allMiddlewares = [...match.middlewares, ...postMiddlewares];
157
+ const result = await this.pipeline.execute(req, res, allMiddlewares, () => match.handler(req, res));
129
158
 
130
159
  // If handler returns string (e.g., from View()), wrap in HTML Response
131
160
  if (typeof result === 'string') {
package/src/auth/Auth.ts CHANGED
@@ -36,6 +36,8 @@ interface JWTConfig {
36
36
  secret: string;
37
37
  expiresIn?: number; // seconds, default 24 hours
38
38
  algorithm?: 'HS256' | 'HS384' | 'HS512';
39
+ kid?: string;
40
+ keys?: Record<string, string>; // Map of kid: secret
39
41
  }
40
42
 
41
43
  const encoder = new TextEncoder();
@@ -65,7 +67,11 @@ export async function signJWT(payload: Omit<JWTPayload, 'iat' | 'exp'> & { sub:
65
67
  const alg = config.algorithm || 'HS256';
66
68
  const hashAlg = alg === 'HS256' ? 'SHA-256' : alg === 'HS384' ? 'SHA-384' : 'SHA-512';
67
69
 
68
- const header = { alg, typ: 'JWT' };
70
+ const header: any = { alg, typ: 'JWT' };
71
+ if (config.kid) {
72
+ header.kid = config.kid;
73
+ }
74
+
69
75
  const now = Math.floor(Date.now() / 1000);
70
76
  const fullPayload: JWTPayload = {
71
77
  ...payload,
@@ -77,7 +83,13 @@ export async function signJWT(payload: Omit<JWTPayload, 'iat' | 'exp'> & { sub:
77
83
  const payloadB64 = base64UrlEncode(JSON.stringify(fullPayload));
78
84
  const data = `${headerB64}.${payloadB64}`;
79
85
 
80
- const key = await createHmacKey(config.secret, hashAlg);
86
+ // Select secret: if keys is provided and kid matches, use that. Else default secret.
87
+ let secret = config.secret;
88
+ if (config.keys && config.kid && config.keys[config.kid]) {
89
+ secret = config.keys[config.kid];
90
+ }
91
+
92
+ const key = await createHmacKey(secret, hashAlg);
81
93
  const signature = await crypto.subtle.sign('HMAC', key, encoder.encode(data));
82
94
  const signatureB64 = base64UrlEncode(new Uint8Array(signature).reduce((s, b) => s + String.fromCharCode(b), ''));
83
95
 
@@ -96,14 +108,26 @@ export async function verifyJWT(token: string, config: JWTConfig): Promise<JWTPa
96
108
  // Security: Enforce allowed algorithm
97
109
  const allowedAlg = config.algorithm || 'HS256';
98
110
  if (alg !== allowedAlg) {
99
- // Silent fail or return null for security (avoid enumeration)
100
111
  return null;
101
112
  }
102
113
 
103
114
  const hashAlg = allowedAlg === 'HS256' ? 'SHA-256' : allowedAlg === 'HS384' ? 'SHA-384' : 'SHA-512';
104
115
 
116
+ // Select key based on kid in header
117
+ let secret = config.secret;
118
+ if (header.kid && config.keys && config.keys[header.kid]) {
119
+ secret = config.keys[header.kid];
120
+ } else if (header.kid && config.keys && !config.keys[header.kid]) {
121
+ // Kid present but not found in keys -> Fail? Or fallback?
122
+ // Secure default: if kid is explicitly unknown, fail.
123
+ // But if standard secret is provided, maybe we allow?
124
+ // Best practice: if kid is there, use it. If not found, fail.
125
+ // If kid is NOT there, use default secret.
126
+ return null;
127
+ }
128
+
105
129
  // Verify signature
106
- const key = await createHmacKey(config.secret, hashAlg);
130
+ const key = await createHmacKey(secret, hashAlg);
107
131
  const data = `${headerB64}.${payloadB64}`;
108
132
  const signature = Uint8Array.from(base64UrlDecode(signatureB64), c => c.charCodeAt(0));
109
133
 
@@ -235,6 +259,21 @@ export interface SessionDriver {
235
259
 
236
260
  export class MemorySessionDriver implements SessionDriver {
237
261
  private sessions: Map<string, Session> = new Map();
262
+ private interval: Timer | null = null; // Use Timer type or any
263
+
264
+ constructor() {
265
+ // Auto-cleanup every minute (lottery or interval)
266
+ // Using interval to ensure no leaks
267
+ // Note: This prevents process exit if not unref'ed. Bun/Node supports unref.
268
+ // In Bun: setInterval().unref() is valid? Or just let it be.
269
+ // We'll use a simple interval and hope it doesn't block.
270
+ // Actually, maybe better to run cleanup on create() probabilistically?
271
+ // User requested "automatic mechanism".
272
+ this.interval = setInterval(() => this.cleanup(), 60000) as any;
273
+ if (this.interval && typeof (this.interval as any).unref === 'function') {
274
+ (this.interval as any).unref();
275
+ }
276
+ }
238
277
 
239
278
  generateId(): string {
240
279
  return `sess_${Date.now().toString(36)}_${crypto.randomUUID().replace(/-/g, '')}`;
package/src/cli/index.ts CHANGED
@@ -90,15 +90,35 @@ export class Console {
90
90
  const flags: Record<string, any> = {};
91
91
  const commandArgs: string[] = [];
92
92
 
93
- for (const arg of params) {
94
- if (arg.startsWith('--')) {
95
- const [key, val] = arg.slice(2).split('=');
96
- flags[key] = val || true;
97
- } else if (arg.startsWith('-')) {
98
- flags[arg.slice(1)] = true;
99
- } else {
100
- commandArgs.push(arg);
101
- }
93
+ // Enhanced flag parser to support space-separated flags (--flag value)
94
+ for (let i = 0; i < params.length; i++) {
95
+ const arg = params[i];
96
+
97
+ if (arg.startsWith('--')) {
98
+ // Case: --flag or --flag=value
99
+ if (arg.includes('=')) {
100
+ const [key, val] = arg.slice(2).split('=');
101
+ flags[key] = val;
102
+ } else {
103
+ // Case: --flag value OR --flag (boolean)
104
+ const key = arg.slice(2);
105
+ const nextArg = params[i + 1];
106
+
107
+ // If next arg exists and is NOT a flag, consume it as value
108
+ if (nextArg && !nextArg.startsWith('-')) {
109
+ flags[key] = nextArg;
110
+ i++; // Skip next arg
111
+ } else {
112
+ flags[key] = true;
113
+ }
114
+ }
115
+ } else if (arg.startsWith('-')) {
116
+ // Short flag -x
117
+ flags[arg.slice(1)] = true;
118
+ } else {
119
+ // Positional arg
120
+ commandArgs.push(arg);
121
+ }
102
122
  }
103
123
 
104
124
  try {
@@ -223,12 +223,93 @@ ${dim}${error.stack?.split('\n').filter(l => !l.includes('node_modules')).slice(
223
223
  <meta charset="UTF-8">
224
224
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
225
225
  <title>${config.icon} ${status} - ${config.title}</title>
226
- <link rel="preconnect" href="https://fonts.googleapis.com">
227
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
228
- <script src="https://cdn.tailwindcss.com"></script>
229
226
  <style>
230
- * { font-family: 'Inter', sans-serif; }
231
- code, pre, .mono { font-family: 'JetBrains Mono', monospace; }
227
+ /* Reset & Base */
228
+ :root {
229
+ --bg-color: #0a0f1a;
230
+ --text-color: #d1d5db;
231
+ --glass-bg: rgba(30, 41, 59, 0.8);
232
+ --glass-border: rgba(255, 255, 255, 0.1);
233
+ }
234
+ body { margin: 0; padding: 0; background-color: var(--bg-color); color: var(--text-color); font-family: system-ui, -apple-system, sans-serif; line-height: 1.5; }
235
+ *, *::before, *::after { box-sizing: border-box; }
236
+
237
+ /* Utilities */
238
+ .dark { color-scheme: dark; }
239
+ .min-h-screen { min-height: 100vh; }
240
+ .relative { position: relative; }
241
+ .fixed { position: fixed; }
242
+ .absolute { position: absolute; }
243
+ .inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
244
+ .overflow-hidden { overflow: hidden; }
245
+ .pointer-events-none { pointer-events: none; }
246
+ .flex { display: flex; }
247
+ .grid { display: grid; }
248
+ .items-center { align-items: center; }
249
+ .justify-center { justify-content: center; }
250
+ .justify-between { justify-content: space-between; }
251
+ .gap-2 { gap: 0.5rem; }
252
+ .gap-3 { gap: 0.75rem; }
253
+ .gap-4 { gap: 1rem; }
254
+ .gap-6 { gap: 1.5rem; }
255
+ .p-3 { padding: 0.75rem; }
256
+ .p-4 { padding: 1rem; }
257
+ .p-5 { padding: 1.25rem; }
258
+ .p-6 { padding: 1.5rem; }
259
+ .p-8 { padding: 2rem; }
260
+ .px-4 { padding-left: 1rem; padding-right: 1rem; }
261
+ .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
262
+ .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
263
+ .py-8 { padding-top: 2rem; padding-bottom: 2rem; }
264
+ .mb-1 { margin-bottom: 0.25rem; }
265
+ .mb-2 { margin-bottom: 0.5rem; }
266
+ .mb-3 { margin-bottom: 0.75rem; }
267
+ .mb-4 { margin-bottom: 1rem; }
268
+ .mb-6 { margin-bottom: 1.5rem; }
269
+ .mt-2 { margin-top: 0.5rem; }
270
+ .mt-6 { margin-top: 1.5rem; }
271
+ .ml-2 { margin-left: 0.5rem; }
272
+ .mr-2 { margin-right: 0.5rem; }
273
+ .w-full { width: 100%; }
274
+ .max-w-6xl { max-width: 72rem; }
275
+ .max-w-md { max-width: 28rem; }
276
+ .mx-auto { margin-left: auto; margin-right: auto; }
277
+ .rounded { border-radius: 0.25rem; }
278
+ .rounded-lg { border-radius: 0.5rem; }
279
+ .rounded-xl { border-radius: 0.75rem; }
280
+ .rounded-2xl { border-radius: 1rem; }
281
+ .rounded-full { border-radius: 9999px; }
282
+ .border { border-width: 1px; border-style: solid; border-color: var(--glass-border); }
283
+ .border-b { border-bottom-width: 1px; border-bottom-style: solid; border-color: var(--glass-border); }
284
+ .border-l-2 { border-left-width: 2px; border-left-style: solid; }
285
+ .shadow-xl { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); }
286
+ .shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }
287
+
288
+ /* Typography */
289
+ .text-xs { font-size: 0.75rem; }
290
+ .text-sm { font-size: 0.875rem; }
291
+ .text-lg { font-size: 1.125rem; }
292
+ .text-2xl { font-size: 1.5rem; }
293
+ .text-3xl { font-size: 1.875rem; }
294
+ .font-medium { font-weight: 500; }
295
+ .font-semibold { font-weight: 600; }
296
+ .font-bold { font-weight: 700; }
297
+ .uppercase { text-transform: uppercase; }
298
+ .truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
299
+ .break-all { word-break: break-all; }
300
+ .text-center { text-align: center; }
301
+ .text-right { text-align: right; }
302
+
303
+ /* Colors */
304
+ .bg-white { background-color: #ffffff; }
305
+ .text-white { color: #ffffff; }
306
+ .text-gray-300 { color: #d1d5db; }
307
+ .text-gray-400 { color: #9ca3af; }
308
+ .text-gray-500 { color: #6b7280; }
309
+ .text-gray-600 { color: #4b5563; }
310
+
311
+ /* Custom Components */
312
+ .mono { font-family: monospace; }
232
313
  .code-line { counter-increment: line; }
233
314
  .code-line::before {
234
315
  content: counter(line);
@@ -241,12 +322,12 @@ ${dim}${error.stack?.split('\n').filter(l => !l.includes('node_modules')).slice(
241
322
  user-select: none;
242
323
  }
243
324
  .highlight {
244
- background: linear-gradient(90deg, rgba(239,68,68,0.2) 0%, rgba(239,68,68,0.05) 100%);
325
+ background: rgba(239,68,68,0.1);
245
326
  border-left: 3px solid #ef4444;
246
327
  margin-left: -3px;
247
328
  }
248
329
  .glass {
249
- background: rgba(30, 41, 59, 0.8);
330
+ background: var(--glass-bg);
250
331
  backdrop-filter: blur(10px);
251
332
  }
252
333
  .gradient-border {
@@ -254,12 +335,30 @@ ${dim}${error.stack?.split('\n').filter(l => !l.includes('node_modules')).slice(
254
335
  padding: 1px;
255
336
  border-radius: 16px;
256
337
  }
257
- .animate-pulse-slow { animation: pulse 3s ease-in-out infinite; }
258
- @keyframes float {
259
- 0%, 100% { transform: translateY(0); }
260
- 50% { transform: translateY(-10px); }
338
+
339
+ /* Colors mapping for dynamic classes */
340
+ .text-yellow-400 { color: #facc15; }
341
+ .bg-yellow-500\\/10 { background-color: rgba(234, 179, 8, 0.1); }
342
+ .border-yellow-500\\/30 { border-color: rgba(234, 179, 8, 0.3); }
343
+
344
+ .text-red-400 { color: #f87171; }
345
+ .text-red-500 { color: #ef4444; }
346
+ .bg-red-500\\/10 { background-color: rgba(239, 68, 68, 0.1); }
347
+ .border-red-500\\/30 { border-color: rgba(239, 68, 68, 0.3); }
348
+
349
+ .text-blue-400 { color: #60a5fa; }
350
+ .bg-blue-500\\/5 { background-color: rgba(59, 130, 246, 0.05); }
351
+ .bg-blue-500\\/10 { background-color: rgba(59, 130, 246, 0.1); }
352
+ .border-blue-500\\/30 { border-color: rgba(59, 130, 246, 0.3); }
353
+
354
+ .text-green-400 { color: #4ade80; }
355
+
356
+ /* Responsive */
357
+ @media (min-width: 1024px) {
358
+ .lg\\:p-10 { padding: 2.5rem; }
359
+ .lg\\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
360
+ .lg\\:col-span-2 { grid-column: span 2 / span 2; }
261
361
  }
262
- .float { animation: float 6s ease-in-out infinite; }
263
362
  </style>
264
363
  </head>
265
364
  <body class="bg-[#0a0f1a] text-gray-300 min-h-screen relative overflow-x-hidden">
@@ -98,7 +98,7 @@ export class Router implements RouterInstance {
98
98
  if (!path) throw new Error(`Route "${name}" not found.`);
99
99
 
100
100
  for (const [key, value] of Object.entries(params)) {
101
- path = path.replace(`:${key}`, String(value));
101
+ path = path.replace(`:${key}`, encodeURIComponent(String(value)));
102
102
  // Also handle optional params? For V1, simplicity.
103
103
  }
104
104
  return path;
@@ -517,10 +517,17 @@ export class Server {
517
517
  if (this.config.static) {
518
518
  const url = new URL(req.url);
519
519
  if (url.pathname.startsWith('/static/')) {
520
- const filePath = `${this.config.static}${url.pathname.replace('/static', '')}`;
521
- const file = Bun.file(filePath);
522
- if (await file.exists()) {
523
- return new Response(file);
520
+ const path = await import('path');
521
+ // Secure path resolution
522
+ const staticRoot = path.resolve(this.config.static);
523
+ const requestedPath = path.resolve(staticRoot, '.' + url.pathname.replace('/static', ''));
524
+
525
+ // Ensure the resolved path is within the static root
526
+ if (requestedPath.startsWith(staticRoot)) {
527
+ const file = Bun.file(requestedPath);
528
+ if (await file.exists()) {
529
+ return new Response(file);
530
+ }
524
531
  }
525
532
  }
526
533
  }
package/src/index.ts CHANGED
@@ -15,7 +15,7 @@ export { Canx, createApp, defineConfig, createApplication, Application } from '.
15
15
  export { Action } from './core/Action';
16
16
  export type { ServerConfig } from './types';
17
17
  export { ErrorHandler } from './core/ErrorHandler';
18
- export type { CanxRequest, CanxResponse, HttpMethod, CanxApplication, CastType, NextFunction } from './types';
18
+ export type { CanxRequest, CanxResponse, HttpMethod, CanxApplication, CastType, NextFunction, DatabaseConfig, RouterInstance } from './types';
19
19
  // ============================================
20
20
  // Middleware Exports
21
21
  // ============================================
package/src/mvc/Model.ts CHANGED
@@ -27,7 +27,8 @@ export async function initDatabase(config: DatabaseConfig): Promise<void> {
27
27
  connectionLimit: config.pool?.max || 10,
28
28
  queueLimit: 0,
29
29
  });
30
- console.log('[CanxJS] MySQL connection pool created');
30
+
31
+ if (config.logging) console.log('[CanxJS] MySQL connection pool created');
31
32
  } else if (config.driver === 'postgresql') {
32
33
  const { Pool } = await import('pg');
33
34
  pgPool = new Pool({
@@ -39,11 +40,13 @@ export async function initDatabase(config: DatabaseConfig): Promise<void> {
39
40
  max: config.pool?.max || 10,
40
41
  idleTimeoutMillis: config.pool?.idle || 30000,
41
42
  });
42
- console.log('[CanxJS] PostgreSQL connection pool created');
43
+
44
+ if (config.logging) console.log('[CanxJS] PostgreSQL connection pool created');
43
45
  } else if (config.driver === 'sqlite') {
44
46
  const { Database } = await import('bun:sqlite');
45
47
  sqliteDb = new Database(config.database);
46
- console.log('[CanxJS] SQLite database connected');
48
+
49
+ if (config.logging) console.log('[CanxJS] SQLite database connected');
47
50
  }
48
51
  }
49
52
 
@@ -544,12 +547,16 @@ export class QueryBuilderImpl<T> implements QueryBuilder<T> {
544
547
  }
545
548
 
546
549
  // Base Model class
547
- export abstract class Model {
550
+ export abstract class Model<T = any> {
548
551
  protected static tableName: string;
549
552
  protected static primaryKey: string = 'id';
550
553
  protected static timestamps: boolean = true;
551
554
  protected static softDeletes: boolean = false;
552
555
  protected static deletedAtColumn: string = 'deleted_at';
556
+
557
+ // Mass Assignment Protection
558
+ protected static fillable: string[] = [];
559
+ protected static guarded: string[] = ['id', 'created_at', 'updated_at', 'deleted_at'];
553
560
 
554
561
  // Observers
555
562
  protected static observers: ModelObserver[] = [];
@@ -652,9 +659,23 @@ export abstract class Model {
652
659
  }
653
660
  }
654
661
 
655
- // Override fill to handle casting
662
+ // Override fill to handle casting and mass assignment protection
656
663
  fill(data: any): this {
664
+ const Ctor = this.constructor as typeof Model;
665
+ const fillable = Ctor.fillable;
666
+ const guarded = Ctor.guarded;
667
+
668
+ // Check if fillable is defined and not empty (allow-list mode)
669
+ const isFillableMode = fillable.length > 0;
670
+
657
671
  for (const key in data) {
672
+ // Filter keys
673
+ if (isFillableMode) {
674
+ if (!fillable.includes(key)) continue;
675
+ } else {
676
+ if (guarded.includes(key)) continue;
677
+ }
678
+
658
679
  this[key] = this.castAttribute(key, data[key]);
659
680
  }
660
681
  return this;
@@ -43,9 +43,9 @@ export interface CanxRequest {
43
43
  /** Request headers */
44
44
  headers: Headers;
45
45
  /** Parsed request body */
46
- body: <T = unknown>() => Promise<T>;
46
+ body: <T = any>() => Promise<T>;
47
47
  /** Get JSON body */
48
- json: <T = unknown>() => Promise<T>;
48
+ json: <T = any>() => Promise<T>;
49
49
  /** Get form data */
50
50
  formData: () => Promise<FormData>;
51
51
  /** Get raw text */
@@ -398,7 +398,8 @@ export type ValidationRule =
398
398
  | `in:${string}`
399
399
  | `notIn:${string}`
400
400
  | `same:${string}`
401
- | `different:${string}`;
401
+ | `different:${string}`
402
+ | string;
402
403
 
403
404
  export interface ValidationSchema {
404
405
  [field: string]: ValidationRule | ValidationRule[] | string | {