@veloxts/core 0.4.7 → 0.4.10

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/dist/app.d.ts CHANGED
@@ -6,6 +6,7 @@
6
6
  import { type FastifyInstance } from 'fastify';
7
7
  import { type Container } from './di/index.js';
8
8
  import type { PluginOptions, VeloxPlugin } from './plugin.js';
9
+ import type { StaticOptions } from './plugins/static.js';
9
10
  import type { ShutdownHandler } from './types.js';
10
11
  import type { FrozenVeloxAppConfig, VeloxAppConfig } from './utils/config.js';
11
12
  /**
@@ -195,6 +196,31 @@ export declare class VeloxApp {
195
196
  * ```
196
197
  */
197
198
  routes(registrar: (server: FastifyInstance) => void): this;
199
+ /**
200
+ * Serve static files from a directory
201
+ *
202
+ * @param path - Directory containing static files
203
+ * @param options - Serving configuration
204
+ * @returns The app instance for method chaining
205
+ *
206
+ * @example
207
+ * ```typescript
208
+ * // Simple static serving
209
+ * await app.serveStatic('./public');
210
+ *
211
+ * // SPA with client-side routing
212
+ * await app.serveStatic('./dist', { spa: true });
213
+ *
214
+ * // Production configuration
215
+ * await app.serveStatic('./dist', {
216
+ * spa: true,
217
+ * prefix: '/assets',
218
+ * cache: { maxAge: '1y', immutable: true },
219
+ * exclude: ['/api', '/trpc'],
220
+ * });
221
+ * ```
222
+ */
223
+ serveStatic(path: string, options?: StaticOptions): Promise<this>;
198
224
  /**
199
225
  * Starts the server and begins listening for requests
200
226
  *
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAgB,EAAE,KAAK,eAAe,EAA6B,MAAM,SAAS,CAAC;AAInF,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAI9E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAuB;IAEvC;;;;;OAKG;gBACS,MAAM,EAAE,cAAc;IAkClC;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,oBAAoB,CAEjC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAE3B;IAED;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAWrB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;;;;;;;;;;;;;;;OAgBG;IACG,QAAQ,CAAC,OAAO,SAAS,aAAa,EAC1C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAC5B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;;;;;OAOG;IACG,GAAG,CAAC,OAAO,SAAS,aAAa,EACrC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAC5B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAK1D;;;;;;;;;;;;;;;;;OAiBG;IACG,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCtD;;;;;;;;;;;;;;;OAeG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3B;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI9C;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;CAG3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,QAAQ,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAI7E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,iBAAW,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/app.js CHANGED
@@ -9,6 +9,7 @@ import { createContext } from './context.js';
9
9
  import { container } from './di/index.js';
10
10
  import { isVeloxError, VeloxError } from './errors.js';
11
11
  import { validatePluginMetadata } from './plugin.js';
12
+ import { registerStatic } from './plugins/static.js';
12
13
  import { printBanner } from './utils/banner.js';
13
14
  import { mergeConfig, validateConfig } from './utils/config.js';
14
15
  import { LifecycleManager } from './utils/lifecycle.js';
@@ -176,6 +177,32 @@ export class VeloxApp {
176
177
  _setupErrorHandling() {
177
178
  this._server.setErrorHandler(async (error, request, reply) => {
178
179
  try {
180
+ // Handle ZodError (validation errors) - return 400
181
+ if (error instanceof Error && error.name === 'ZodError' && 'issues' in error) {
182
+ const zodError = error;
183
+ return reply.status(400).send({
184
+ error: 'ValidationError',
185
+ message: 'Validation failed',
186
+ statusCode: 400,
187
+ details: zodError.issues.map((issue) => ({
188
+ field: issue.path.join('.'),
189
+ message: issue.message,
190
+ })),
191
+ });
192
+ }
193
+ // Handle Prisma unique constraint errors - return 409 Conflict
194
+ if (error instanceof Error &&
195
+ error.name === 'PrismaClientKnownRequestError' &&
196
+ 'code' in error &&
197
+ error.code === 'P2002') {
198
+ const prismaError = error;
199
+ const fields = prismaError.meta?.target?.join(', ') ?? 'field';
200
+ return reply.status(409).send({
201
+ error: 'ConflictError',
202
+ message: `A record with this ${fields} already exists`,
203
+ statusCode: 409,
204
+ });
205
+ }
179
206
  // Only log server errors (5xx), not client errors (4xx)
180
207
  const statusCode = isVeloxError(error)
181
208
  ? error.statusCode
@@ -299,6 +326,34 @@ export class VeloxApp {
299
326
  registrar(this._server);
300
327
  return this;
301
328
  }
329
+ /**
330
+ * Serve static files from a directory
331
+ *
332
+ * @param path - Directory containing static files
333
+ * @param options - Serving configuration
334
+ * @returns The app instance for method chaining
335
+ *
336
+ * @example
337
+ * ```typescript
338
+ * // Simple static serving
339
+ * await app.serveStatic('./public');
340
+ *
341
+ * // SPA with client-side routing
342
+ * await app.serveStatic('./dist', { spa: true });
343
+ *
344
+ * // Production configuration
345
+ * await app.serveStatic('./dist', {
346
+ * spa: true,
347
+ * prefix: '/assets',
348
+ * cache: { maxAge: '1y', immutable: true },
349
+ * exclude: ['/api', '/trpc'],
350
+ * });
351
+ * ```
352
+ */
353
+ async serveStatic(path, options = {}) {
354
+ await registerStatic(this._server, path, options);
355
+ return this;
356
+ }
302
357
  /**
303
358
  * Starts the server and begins listening for requests
304
359
  *
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/errors/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,aAAa,CAAC;AAMrD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IAEd,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IAEpB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,sCAAsC;IACtC,GAAG,CAAC,EAAE;QACJ,mCAAmC;QACnC,UAAU,EAAE,MAAM,CAAC;QACnB,8CAA8C;QAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAqc3D,CAAC;AAMF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAG/D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE3D"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/errors/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,aAAa,CAAC;AAMrD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IAEd,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IAEpB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,sCAAsC;IACtC,GAAG,CAAC,EAAE;QACJ,mCAAmC;QACnC,UAAU,EAAE,MAAM,CAAC;QACnB,8CAA8C;QAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CA0e3D,CAAC;AAMF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAG/D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE3D"}
@@ -206,6 +206,41 @@ const updateUser = procedure()
206
206
  },
207
207
  docsUrl: 'https://veloxts.dev/errors/VELOX-2005',
208
208
  },
209
+ 'VELOX-2006': {
210
+ code: 'VELOX-2006',
211
+ title: 'No Procedures Provided',
212
+ description: 'serve() was called without any procedure collections.',
213
+ statusCode: 500,
214
+ fix: {
215
+ suggestion: 'Pass at least one procedure collection to serve().',
216
+ example: `// Define your procedures
217
+ const userProcedures = defineProcedures('users', {
218
+ getUser: procedure()...,
219
+ });
220
+
221
+ // Pass them to serve()
222
+ const router = await serve(app, [userProcedures]);`,
223
+ },
224
+ docsUrl: 'https://veloxts.dev/errors/VELOX-2006',
225
+ },
226
+ 'VELOX-2007': {
227
+ code: 'VELOX-2007',
228
+ title: 'No Endpoints Enabled',
229
+ description: 'serve() was called with both api and rpc disabled.',
230
+ statusCode: 500,
231
+ fix: {
232
+ suggestion: 'Enable at least one endpoint type (api or rpc).',
233
+ example: `// Enable REST API
234
+ await serve(app, procedures, { api: '/api', rpc: false });
235
+
236
+ // Or enable tRPC
237
+ await serve(app, procedures, { api: false, rpc: '/trpc' });
238
+
239
+ // Or enable both (default)
240
+ await serve(app, procedures);`,
241
+ },
242
+ docsUrl: 'https://veloxts.dev/errors/VELOX-2007',
243
+ },
209
244
  // ==========================================================================
210
245
  // AUTH ERRORS (3XXX)
211
246
  // ==========================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/errors/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/errors/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Elegant Error Creation API
3
+ *
4
+ * Laravel-inspired `fail()` function for throwing catalog-driven errors
5
+ * with minimal ceremony and maximum helpfulness.
6
+ *
7
+ * @module errors/fail
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Zero ceremony - catalog provides everything
12
+ * throw fail('VELOX-2006');
13
+ *
14
+ * // With interpolation variables
15
+ * throw fail('VELOX-3005', { length: 12, required: 32 });
16
+ *
17
+ * // Override message with context
18
+ * throw fail('VELOX-3005').because('Secret has weak entropy');
19
+ *
20
+ * // Full fluent customization
21
+ * throw fail('VELOX-3005')
22
+ * .because('Your secret has only ${unique} unique characters')
23
+ * .with({ unique: 8 })
24
+ * .suggest('Use: openssl rand -base64 32');
25
+ * ```
26
+ */
27
+ import { ERROR_CATALOG, type ErrorCatalogEntry } from './catalog.js';
28
+ /**
29
+ * Valid error codes from the catalog
30
+ */
31
+ export type ErrorCode = keyof typeof ERROR_CATALOG;
32
+ /**
33
+ * Variables for template interpolation
34
+ */
35
+ export type InterpolationVars = Record<string, string | number | boolean | undefined>;
36
+ /**
37
+ * Fluent error builder that provides catalog-driven errors
38
+ * with optional customization.
39
+ *
40
+ * This class is not typically instantiated directly.
41
+ * Use the `fail()` function instead.
42
+ */
43
+ export declare class VeloxFailure extends Error {
44
+ /** The catalog error code */
45
+ readonly code: string;
46
+ /** HTTP status code */
47
+ readonly statusCode: number;
48
+ /** The full catalog entry */
49
+ readonly entry: ErrorCatalogEntry;
50
+ /** Custom message override */
51
+ private _customMessage?;
52
+ /** Interpolation variables */
53
+ private _vars;
54
+ /** Custom suggestion override */
55
+ private _customSuggestion?;
56
+ constructor(code: string, entry: ErrorCatalogEntry);
57
+ /**
58
+ * Override the catalog message with context-specific details
59
+ *
60
+ * @param message - Custom message (supports ${var} interpolation)
61
+ * @returns this for chaining
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * throw fail('VELOX-3005').because('Secret "${name}" is too weak');
66
+ * ```
67
+ */
68
+ because(message: string): this;
69
+ /**
70
+ * Provide variables for template interpolation
71
+ *
72
+ * @param vars - Object with values to interpolate into the message
73
+ * @returns this for chaining
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * throw fail('VELOX-3005', { length: 12 });
78
+ * // Or chained
79
+ * throw fail('VELOX-3005').with({ length: 12, required: 32 });
80
+ * ```
81
+ */
82
+ with(vars: InterpolationVars): this;
83
+ /**
84
+ * Override the catalog fix suggestion
85
+ *
86
+ * @param suggestion - Custom suggestion for fixing the error
87
+ * @returns this for chaining
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * throw fail('VELOX-3005').suggest('Use environment variable SESSION_SECRET');
92
+ * ```
93
+ */
94
+ suggest(suggestion: string): this;
95
+ /**
96
+ * Get the fix suggestion (custom or from catalog)
97
+ */
98
+ get suggestion(): string | undefined;
99
+ /**
100
+ * Get the code example from catalog
101
+ */
102
+ get example(): string | undefined;
103
+ /**
104
+ * Get the documentation URL
105
+ */
106
+ get docsUrl(): string | undefined;
107
+ /**
108
+ * Get related error codes
109
+ */
110
+ get seeAlso(): string[] | undefined;
111
+ /**
112
+ * Convert to JSON for API responses
113
+ */
114
+ toJSON(): {
115
+ error: string;
116
+ message: string;
117
+ statusCode: number;
118
+ code: string;
119
+ fix?: string;
120
+ docs?: string;
121
+ };
122
+ /**
123
+ * Interpolate variables into a template string
124
+ */
125
+ private interpolate;
126
+ /**
127
+ * Update the error message with interpolation
128
+ */
129
+ private updateMessage;
130
+ }
131
+ /**
132
+ * Create and throw a catalog-driven error with zero ceremony
133
+ *
134
+ * This is the recommended way to throw errors in VeloxTS.
135
+ * The catalog provides the message, suggestion, and documentation.
136
+ *
137
+ * @param code - Error code from the catalog (e.g., 'VELOX-2006')
138
+ * @param vars - Optional interpolation variables
139
+ * @returns VeloxFailure instance (throw it!)
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * // Simplest usage - one line, zero boilerplate
144
+ * throw fail('VELOX-2006');
145
+ *
146
+ * // With template variables
147
+ * throw fail('VELOX-3005', { length: 12, required: 32 });
148
+ *
149
+ * // Fluent customization when needed
150
+ * throw fail('VELOX-3005')
151
+ * .because('Secret "${name}" has insufficient entropy')
152
+ * .with({ name: 'SESSION_SECRET' })
153
+ * .suggest('Generate with: openssl rand -base64 32');
154
+ * ```
155
+ */
156
+ export declare function fail(code: string, vars?: InterpolationVars): VeloxFailure;
157
+ /**
158
+ * Check if an error is a VeloxFailure from fail()
159
+ *
160
+ * @param error - Error to check
161
+ * @returns true if error is a VeloxFailure
162
+ */
163
+ export declare function isVeloxFailure(error: unknown): error is VeloxFailure;
164
+ //# sourceMappingURL=fail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fail.d.ts","sourceRoot":"","sources":["../../src/errors/fail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAMrE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAMtF;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,uBAAuB;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,6BAA6B;IAC7B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAElC,8BAA8B;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAS;IAEhC,8BAA8B;IAC9B,OAAO,CAAC,KAAK,CAAyB;IAEtC,iCAAiC;IACjC,OAAO,CAAC,iBAAiB,CAAC,CAAS;gBAEvB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB;IAalD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM9B;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;IAMnC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKjC;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,EAAE,GAAG,SAAS,CAElC;IAED;;OAEG;IACH,MAAM,IAAI;QACR,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;IA4BD;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,OAAO,CAAC,aAAa;CAItB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAmBzE;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE"}
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Elegant Error Creation API
3
+ *
4
+ * Laravel-inspired `fail()` function for throwing catalog-driven errors
5
+ * with minimal ceremony and maximum helpfulness.
6
+ *
7
+ * @module errors/fail
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Zero ceremony - catalog provides everything
12
+ * throw fail('VELOX-2006');
13
+ *
14
+ * // With interpolation variables
15
+ * throw fail('VELOX-3005', { length: 12, required: 32 });
16
+ *
17
+ * // Override message with context
18
+ * throw fail('VELOX-3005').because('Secret has weak entropy');
19
+ *
20
+ * // Full fluent customization
21
+ * throw fail('VELOX-3005')
22
+ * .because('Your secret has only ${unique} unique characters')
23
+ * .with({ unique: 8 })
24
+ * .suggest('Use: openssl rand -base64 32');
25
+ * ```
26
+ */
27
+ import { ERROR_CATALOG } from './catalog.js';
28
+ // ============================================================================
29
+ // VeloxFailure Class
30
+ // ============================================================================
31
+ /**
32
+ * Fluent error builder that provides catalog-driven errors
33
+ * with optional customization.
34
+ *
35
+ * This class is not typically instantiated directly.
36
+ * Use the `fail()` function instead.
37
+ */
38
+ export class VeloxFailure extends Error {
39
+ /** The catalog error code */
40
+ code;
41
+ /** HTTP status code */
42
+ statusCode;
43
+ /** The full catalog entry */
44
+ entry;
45
+ /** Custom message override */
46
+ _customMessage;
47
+ /** Interpolation variables */
48
+ _vars = {};
49
+ /** Custom suggestion override */
50
+ _customSuggestion;
51
+ constructor(code, entry) {
52
+ super(entry.title);
53
+ this.name = 'VeloxError';
54
+ this.code = code;
55
+ this.statusCode = entry.statusCode;
56
+ this.entry = entry;
57
+ // Maintains proper stack trace
58
+ if (Error.captureStackTrace) {
59
+ Error.captureStackTrace(this, VeloxFailure);
60
+ }
61
+ }
62
+ /**
63
+ * Override the catalog message with context-specific details
64
+ *
65
+ * @param message - Custom message (supports ${var} interpolation)
66
+ * @returns this for chaining
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * throw fail('VELOX-3005').because('Secret "${name}" is too weak');
71
+ * ```
72
+ */
73
+ because(message) {
74
+ this._customMessage = message;
75
+ this.updateMessage();
76
+ return this;
77
+ }
78
+ /**
79
+ * Provide variables for template interpolation
80
+ *
81
+ * @param vars - Object with values to interpolate into the message
82
+ * @returns this for chaining
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * throw fail('VELOX-3005', { length: 12 });
87
+ * // Or chained
88
+ * throw fail('VELOX-3005').with({ length: 12, required: 32 });
89
+ * ```
90
+ */
91
+ with(vars) {
92
+ this._vars = { ...this._vars, ...vars };
93
+ this.updateMessage();
94
+ return this;
95
+ }
96
+ /**
97
+ * Override the catalog fix suggestion
98
+ *
99
+ * @param suggestion - Custom suggestion for fixing the error
100
+ * @returns this for chaining
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * throw fail('VELOX-3005').suggest('Use environment variable SESSION_SECRET');
105
+ * ```
106
+ */
107
+ suggest(suggestion) {
108
+ this._customSuggestion = suggestion;
109
+ return this;
110
+ }
111
+ /**
112
+ * Get the fix suggestion (custom or from catalog)
113
+ */
114
+ get suggestion() {
115
+ return this._customSuggestion ?? this.entry.fix?.suggestion;
116
+ }
117
+ /**
118
+ * Get the code example from catalog
119
+ */
120
+ get example() {
121
+ return this.entry.fix?.example;
122
+ }
123
+ /**
124
+ * Get the documentation URL
125
+ */
126
+ get docsUrl() {
127
+ return this.entry.docsUrl;
128
+ }
129
+ /**
130
+ * Get related error codes
131
+ */
132
+ get seeAlso() {
133
+ return this.entry.seeAlso;
134
+ }
135
+ /**
136
+ * Convert to JSON for API responses
137
+ */
138
+ toJSON() {
139
+ const json = {
140
+ error: this.name,
141
+ message: this.message,
142
+ statusCode: this.statusCode,
143
+ code: this.code,
144
+ };
145
+ // Include fix in development
146
+ if (process.env.NODE_ENV !== 'production' && this.suggestion) {
147
+ json.fix = this.suggestion;
148
+ }
149
+ // Always include docs URL
150
+ if (this.docsUrl) {
151
+ json.docs = this.docsUrl;
152
+ }
153
+ return json;
154
+ }
155
+ /**
156
+ * Interpolate variables into a template string
157
+ */
158
+ interpolate(template) {
159
+ return template.replace(/\$\{(\w+)\}/g, (_, key) => {
160
+ const value = this._vars[key];
161
+ return value !== undefined ? String(value) : `\${${key}}`;
162
+ });
163
+ }
164
+ /**
165
+ * Update the error message with interpolation
166
+ */
167
+ updateMessage() {
168
+ const template = this._customMessage ?? this.entry.description;
169
+ this.message = this.interpolate(template);
170
+ }
171
+ }
172
+ // ============================================================================
173
+ // Main Function
174
+ // ============================================================================
175
+ /**
176
+ * Create and throw a catalog-driven error with zero ceremony
177
+ *
178
+ * This is the recommended way to throw errors in VeloxTS.
179
+ * The catalog provides the message, suggestion, and documentation.
180
+ *
181
+ * @param code - Error code from the catalog (e.g., 'VELOX-2006')
182
+ * @param vars - Optional interpolation variables
183
+ * @returns VeloxFailure instance (throw it!)
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * // Simplest usage - one line, zero boilerplate
188
+ * throw fail('VELOX-2006');
189
+ *
190
+ * // With template variables
191
+ * throw fail('VELOX-3005', { length: 12, required: 32 });
192
+ *
193
+ * // Fluent customization when needed
194
+ * throw fail('VELOX-3005')
195
+ * .because('Secret "${name}" has insufficient entropy')
196
+ * .with({ name: 'SESSION_SECRET' })
197
+ * .suggest('Generate with: openssl rand -base64 32');
198
+ * ```
199
+ */
200
+ export function fail(code, vars) {
201
+ const entry = ERROR_CATALOG[code];
202
+ if (!entry) {
203
+ // Unknown code - create a helpful error about the unknown code
204
+ throw new Error(`Unknown error code: ${code}. ` +
205
+ 'Check ERROR_CATALOG in @veloxts/core for valid codes, ' +
206
+ 'or add a new entry for this error.');
207
+ }
208
+ const error = new VeloxFailure(code, entry);
209
+ if (vars) {
210
+ error.with(vars);
211
+ }
212
+ return error;
213
+ }
214
+ // ============================================================================
215
+ // Type Guard
216
+ // ============================================================================
217
+ /**
218
+ * Check if an error is a VeloxFailure from fail()
219
+ *
220
+ * @param error - Error to check
221
+ * @returns true if error is a VeloxFailure
222
+ */
223
+ export function isVeloxFailure(error) {
224
+ return error instanceof VeloxFailure;
225
+ }
226
+ //# sourceMappingURL=fail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fail.js","sourceRoot":"","sources":["../../src/errors/fail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,cAAc,CAAC;AAgBrE,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,6BAA6B;IACpB,IAAI,CAAS;IAEtB,uBAAuB;IACd,UAAU,CAAS;IAE5B,6BAA6B;IACpB,KAAK,CAAoB;IAElC,8BAA8B;IACtB,cAAc,CAAU;IAEhC,8BAA8B;IACtB,KAAK,GAAsB,EAAE,CAAC;IAEtC,iCAAiC;IACzB,iBAAiB,CAAU;IAEnC,YAAY,IAAY,EAAE,KAAwB;QAChD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,+BAA+B;QAC/B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAe;QACrB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,IAAuB;QAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,UAAkB;QACxB,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM;QAQJ,MAAM,IAAI,GAON;YACF,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QAEF,6BAA6B;QAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,CAAC;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,QAAgB;QAClC,OAAO,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,IAAwB;IACzD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,+DAA+D;QAC/D,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,IAAI;YAC7B,wDAAwD;YACxD,oCAAoC,CACvC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE5C,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,YAAY,YAAY,CAAC;AACvC,CAAC"}
@@ -10,5 +10,6 @@
10
10
  * @module errors
11
11
  */
12
12
  export { ERROR_CATALOG, ERROR_DOMAINS, type ErrorCatalogEntry, type ErrorDomain, getDocsUrl, getErrorEntry, getErrorsByDomain, isKnownErrorCode, } from './catalog.js';
13
+ export { type ErrorCode, fail, type InterpolationVars, isVeloxFailure, VeloxFailure, } from './fail.js';
13
14
  export { type ErrorLocation, extractErrorLocation, type FormatErrorOptions, formatError, formatErrorForApi, formatErrorOneLine, logDeprecation, logError, logWarning, } from './formatter.js';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,aAAa,EAClB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,UAAU,GACX,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,SAAS,EACd,IAAI,EACJ,KAAK,iBAAiB,EACtB,cAAc,EACd,YAAY,GACb,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,KAAK,aAAa,EAClB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,UAAU,GACX,MAAM,gBAAgB,CAAC"}
@@ -11,6 +11,8 @@
11
11
  */
12
12
  // Re-export catalog
13
13
  export { ERROR_CATALOG, ERROR_DOMAINS, getDocsUrl, getErrorEntry, getErrorsByDomain, isKnownErrorCode, } from './catalog.js';
14
+ // Re-export fail() - the elegant error creation API
15
+ export { fail, isVeloxFailure, VeloxFailure, } from './fail.js';
14
16
  // Re-export formatter
15
17
  export { extractErrorLocation, formatError, formatErrorForApi, formatErrorOneLine, logDeprecation, logError, logWarning, } from './formatter.js';
16
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,aAAa,EAGb,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,sBAAsB;AACtB,OAAO,EAEL,oBAAoB,EAEpB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,UAAU,GACX,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,aAAa,EAGb,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,oDAAoD;AACpD,OAAO,EAEL,IAAI,EAEJ,cAAc,EACd,YAAY,GACb,MAAM,WAAW,CAAC;AACnB,sBAAsB;AACtB,OAAO,EAEL,oBAAoB,EAEpB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,UAAU,GACX,MAAM,gBAAgB,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * Provides base error classes with HTTP status codes and discriminated unions
4
4
  * @module errors
5
5
  */
6
- export { ERROR_CATALOG, ERROR_DOMAINS, type ErrorCatalogEntry, type ErrorDomain, type ErrorLocation, extractErrorLocation, type FormatErrorOptions, formatError, formatErrorForApi, formatErrorOneLine, getDocsUrl, getErrorEntry, getErrorsByDomain, isKnownErrorCode, logDeprecation, logError, logWarning, } from './errors/index.js';
6
+ export { ERROR_CATALOG, ERROR_DOMAINS, type ErrorCatalogEntry, type ErrorCode, type ErrorDomain, type ErrorLocation, extractErrorLocation, type FormatErrorOptions, fail, formatError, formatErrorForApi, formatErrorOneLine, getDocsUrl, getErrorEntry, getErrorsByDomain, type InterpolationVars, isKnownErrorCode, isVeloxFailure, logDeprecation, logError, logWarning, VeloxFailure, } from './errors/index.js';
7
7
  /**
8
8
  * Known error codes in the VeloxTS framework core
9
9
  * Can be extended via declaration merging by plugins
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -6,8 +6,8 @@
6
6
  // Import catalog for use in error classes
7
7
  import { ERROR_CATALOG } from './errors/catalog.js';
8
8
  import { formatError as _formatError } from './errors/formatter.js';
9
- // Re-export the enhanced error catalog and formatter
10
- export { ERROR_CATALOG, ERROR_DOMAINS, extractErrorLocation, formatError, formatErrorForApi, formatErrorOneLine, getDocsUrl, getErrorEntry, getErrorsByDomain, isKnownErrorCode, logDeprecation, logError, logWarning, } from './errors/index.js';
9
+ // Re-export the enhanced error catalog, formatter, and fail()
10
+ export { ERROR_CATALOG, ERROR_DOMAINS, extractErrorLocation, fail, formatError, formatErrorForApi, formatErrorOneLine, getDocsUrl, getErrorEntry, getErrorsByDomain, isKnownErrorCode, isVeloxFailure, logDeprecation, logError, logWarning, VeloxFailure, } from './errors/index.js';
11
11
  /**
12
12
  * Type guard for validation error responses
13
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -18,17 +18,20 @@
18
18
  import 'reflect-metadata';
19
19
  /** VeloxTS framework version */
20
20
  export declare const VELOX_VERSION: string;
21
- export { createVeloxApp, VeloxApp, veloxApp } from './app.js';
22
21
  export type { StartOptions } from './app.js';
22
+ export { createVeloxApp, VeloxApp, veloxApp } from './app.js';
23
23
  export type { BaseContext } from './context.js';
24
24
  export { createContext, isContext, setupTestContext } from './context.js';
25
25
  export type { AbstractClass, ClassConstructor, ClassProvider, ContainerOptions, ExistingProvider, FactoryProvider, InjectableOptions, InjectionToken, Provider, ResolutionContext, StringToken, SymbolToken, TokenType, ValueProvider, } from './di/index.js';
26
26
  export { asClass, asExisting, asFactory, asValue, Container, container, createContainer, createStringToken, createSymbolToken, factory, getConstructorTokens, getExplicitInjectTokens, getInjectableScope, getOptionalParams, getTokenName, Inject, Injectable, isClassProvider, isClassToken, isExistingProvider, isFactoryProvider, isInjectable, isStringToken, isSymbolToken, isValueProvider, makeInjectable, Optional, Scope, ScopeManager, scoped, setInjectTokens, singleton, token, transient, validateProvider, validateToken, value, } from './di/index.js';
27
- export type { ErrorResponse, GenericErrorResponse, NotFoundErrorResponse, ValidationErrorResponse, VeloxCoreErrorCode, VeloxErrorCode, VeloxErrorCodeRegistry, } from './errors.js';
28
- export { assertNever, ConfigurationError, isConfigurationError, isNotFoundError, isNotFoundErrorResponse, isValidationError, isValidationErrorResponse, isVeloxError, NotFoundError, ValidationError, VeloxError, } from './errors.js';
27
+ export type { ErrorCode, ErrorResponse, GenericErrorResponse, InterpolationVars, NotFoundErrorResponse, ValidationErrorResponse, VeloxCoreErrorCode, VeloxErrorCode, VeloxErrorCodeRegistry, } from './errors.js';
28
+ export { assertNever, ConfigurationError, fail, isConfigurationError, isNotFoundError, isNotFoundErrorResponse, isValidationError, isValidationErrorResponse, isVeloxError, isVeloxFailure, logDeprecation, logWarning, NotFoundError, ValidationError, VeloxError, VeloxFailure, } from './errors.js';
29
29
  export type { InferPluginOptions, PluginMetadata, PluginOptions, VeloxPlugin } from './plugin.js';
30
30
  export { definePlugin, isVeloxPlugin, validatePluginMetadata } from './plugin.js';
31
31
  export type { AsyncHandler, JsonArray, JsonObject, JsonPrimitive, JsonValue, LifecycleHook, ShutdownHandler, SyncHandler, } from './types.js';
32
32
  export type { FrozenVeloxAppConfig, ValidHost, ValidPort, VeloxAppConfig, VeloxFastifyOptions, } from './utils/config.js';
33
33
  export { isValidHost, isValidPort } from './utils/config.js';
34
+ export type { AuthContextExtension, CombineContexts, ContextExtension, CoreContext, DbContextExtension, defineContext, MergeContext, SessionContextExtension, } from './typed-context.js';
35
+ export type { CacheControl, StaticOptions } from './plugins/static.js';
36
+ export { registerStatic } from './plugins/static.js';
34
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,kBAAkB,CAAC;AAQ1B,gCAAgC;AAChC,eAAO,MAAM,aAAa,EAAE,MAA+C,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EAEb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAEf,iBAAiB,EAEjB,cAAc,EAEd,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAEL,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO,EAEP,SAAS,EACT,SAAS,EACT,eAAe,EAEf,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EAEN,UAAU,EAEV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EAEjB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ,EAER,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe,EAEf,SAAS,EAET,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAElF,YAAY,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,cAAc,EACd,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,kBAAkB,CAAC;AAQ1B,gCAAgC;AAChC,eAAO,MAAM,aAAa,EAAE,MAA+C,CAAC;AAE5E,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9D,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EAEb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAEf,iBAAiB,EAEjB,cAAc,EAEd,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAEL,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO,EAEP,SAAS,EACT,SAAS,EACT,eAAe,EAEf,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EAEN,UAAU,EAEV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EAEjB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ,EAER,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe,EAEf,SAAS,EAET,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,kBAAkB,EAElB,IAAI,EACJ,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,cAAc,EAEd,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAElF,YAAY,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,cAAc,EACd,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAM7D,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAM5B,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -46,8 +46,13 @@ Scope, ScopeManager, scoped, setInjectTokens,
46
46
  singleton,
47
47
  // Tokens (succinct API)
48
48
  token, transient, validateProvider, validateToken, value, } from './di/index.js';
49
- export { assertNever, ConfigurationError, isConfigurationError, isNotFoundError, isNotFoundErrorResponse, isValidationError, isValidationErrorResponse, isVeloxError, NotFoundError, ValidationError, VeloxError, } from './errors.js';
49
+ export { assertNever, ConfigurationError,
50
+ // Elegant error creation API
51
+ fail, isConfigurationError, isNotFoundError, isNotFoundErrorResponse, isValidationError, isValidationErrorResponse, isVeloxError, isVeloxFailure,
52
+ // Developer experience utilities
53
+ logDeprecation, logWarning, NotFoundError, ValidationError, VeloxError, VeloxFailure, } from './errors.js';
50
54
  // Plugin system
51
55
  export { definePlugin, isVeloxPlugin, validatePluginMetadata } from './plugin.js';
52
56
  export { isValidHost, isValidPort } from './utils/config.js';
57
+ export { registerStatic } from './plugins/static.js';
53
58
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,gDAAgD;AAChD,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAW,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC;AAE5E,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAI9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAqB1E,uBAAuB;AACvB,OAAO;AACL,4BAA4B;AAC5B,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO;AACP,YAAY;AACZ,SAAS,EACT,SAAS,EACT,eAAe;AACf,+BAA+B;AAC/B,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,MAAM;AACN,aAAa;AACb,UAAU;AACV,uBAAuB;AACvB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB;AACjB,sBAAsB;AACtB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ;AACR,QAAQ;AACR,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe;AACf,kCAAkC;AAClC,SAAS;AACT,wBAAwB;AACxB,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC;AAWvB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAoBlF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,gDAAgD;AAChD,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAW,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC;AAG5E,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAqB1E,uBAAuB;AACvB,OAAO;AACL,4BAA4B;AAC5B,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO;AACP,YAAY;AACZ,SAAS,EACT,SAAS,EACT,eAAe;AACf,+BAA+B;AAC/B,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,MAAM;AACN,aAAa;AACb,UAAU;AACV,uBAAuB;AACvB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB;AACjB,sBAAsB;AACtB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ;AACR,QAAQ;AACR,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe;AACf,kCAAkC;AAClC,SAAS;AACT,wBAAwB;AACxB,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC;AAavB,OAAO,EACL,WAAW,EACX,kBAAkB;AAClB,6BAA6B;AAC7B,IAAI,EACJ,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,cAAc;AACd,iCAAiC;AACjC,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAoBlF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAsB7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Static File Serving Plugin
3
+ *
4
+ * Provides elegant static file serving with SPA support.
5
+ * Zero-configuration defaults with powerful customization.
6
+ *
7
+ * @module plugins/static
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Zero-ceremony common case
12
+ * await app.serveStatic('./public');
13
+ *
14
+ * // SPA with client-side routing
15
+ * await app.serveStatic('./dist', { spa: true });
16
+ *
17
+ * // Full configuration
18
+ * await app.serveStatic('./dist', {
19
+ * spa: true,
20
+ * prefix: '/assets',
21
+ * cache: { maxAge: '1y', immutable: true },
22
+ * exclude: ['/api', '/trpc'],
23
+ * });
24
+ * ```
25
+ */
26
+ import type { FastifyInstance } from 'fastify';
27
+ /**
28
+ * Cache control configuration for served files
29
+ */
30
+ export interface CacheControl {
31
+ /**
32
+ * How long browsers should cache files
33
+ *
34
+ * Accepts human-readable durations: '1d', '1y', '30m'
35
+ * Or seconds as a number
36
+ *
37
+ * @default '1d'
38
+ */
39
+ maxAge?: string | number;
40
+ /**
41
+ * Mark as immutable (for fingerprinted assets)
42
+ *
43
+ * @default false
44
+ */
45
+ immutable?: boolean;
46
+ }
47
+ /**
48
+ * Configuration for static file serving
49
+ */
50
+ export interface StaticOptions {
51
+ /**
52
+ * Enable SPA mode for client-side routing
53
+ *
54
+ * @default false
55
+ */
56
+ spa?: boolean;
57
+ /**
58
+ * URL prefix for all static files
59
+ *
60
+ * @example '/assets' serves files at /assets/style.css
61
+ * @default '/'
62
+ */
63
+ prefix?: string;
64
+ /**
65
+ * Cache control settings
66
+ *
67
+ * @default { maxAge: '1d' }
68
+ */
69
+ cache?: CacheControl;
70
+ /**
71
+ * URL prefixes to exclude from static serving
72
+ *
73
+ * @example ['/api', '/trpc']
74
+ * @default []
75
+ */
76
+ exclude?: string[];
77
+ /**
78
+ * Directory index file
79
+ *
80
+ * @default 'index.html'
81
+ */
82
+ index?: string;
83
+ }
84
+ /**
85
+ * Register static file serving on a Fastify instance
86
+ *
87
+ * Uses @fastify/static for efficient file serving with:
88
+ * - Streaming support for large files
89
+ * - ETag generation
90
+ * - Last-Modified headers
91
+ * - Range requests (resumable downloads)
92
+ *
93
+ * @param server - Fastify server instance
94
+ * @param path - Directory containing static files
95
+ * @param options - Serving configuration
96
+ */
97
+ export declare function registerStatic(server: FastifyInstance, path: string, options?: StaticOptions): Promise<void>;
98
+ //# sourceMappingURL=static.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../../src/plugins/static.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAM7E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAwDD;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA0Df"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Static File Serving Plugin
3
+ *
4
+ * Provides elegant static file serving with SPA support.
5
+ * Zero-configuration defaults with powerful customization.
6
+ *
7
+ * @module plugins/static
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Zero-ceremony common case
12
+ * await app.serveStatic('./public');
13
+ *
14
+ * // SPA with client-side routing
15
+ * await app.serveStatic('./dist', { spa: true });
16
+ *
17
+ * // Full configuration
18
+ * await app.serveStatic('./dist', {
19
+ * spa: true,
20
+ * prefix: '/assets',
21
+ * cache: { maxAge: '1y', immutable: true },
22
+ * exclude: ['/api', '/trpc'],
23
+ * });
24
+ * ```
25
+ */
26
+ import { resolve } from 'node:path';
27
+ // ============================================================================
28
+ // Cache Duration Parser
29
+ // ============================================================================
30
+ /**
31
+ * Parse human-readable duration to seconds
32
+ *
33
+ * @internal
34
+ */
35
+ function parseDuration(duration) {
36
+ if (typeof duration === 'number') {
37
+ return duration;
38
+ }
39
+ const match = duration.match(/^(\d+)([smhdwy])$/);
40
+ if (!match) {
41
+ return 86400; // Default: 1 day
42
+ }
43
+ const value = Number.parseInt(match[1], 10);
44
+ const unit = match[2];
45
+ const multipliers = {
46
+ s: 1,
47
+ m: 60,
48
+ h: 3600,
49
+ d: 86400,
50
+ w: 604800,
51
+ y: 31536000,
52
+ };
53
+ return value * (multipliers[unit] ?? 86400);
54
+ }
55
+ /**
56
+ * Build Cache-Control header value
57
+ *
58
+ * @internal
59
+ */
60
+ function buildCacheControl(options) {
61
+ const maxAge = parseDuration(options.maxAge ?? '1d');
62
+ const parts = [`public`, `max-age=${maxAge}`];
63
+ if (options.immutable) {
64
+ parts.push('immutable');
65
+ }
66
+ return parts.join(', ');
67
+ }
68
+ // ============================================================================
69
+ // Static File Handler
70
+ // ============================================================================
71
+ /**
72
+ * Register static file serving on a Fastify instance
73
+ *
74
+ * Uses @fastify/static for efficient file serving with:
75
+ * - Streaming support for large files
76
+ * - ETag generation
77
+ * - Last-Modified headers
78
+ * - Range requests (resumable downloads)
79
+ *
80
+ * @param server - Fastify server instance
81
+ * @param path - Directory containing static files
82
+ * @param options - Serving configuration
83
+ */
84
+ export async function registerStatic(server, path, options = {}) {
85
+ const { spa = false, prefix = '/', cache = {}, exclude = [], index = 'index.html' } = options;
86
+ // Resolve to absolute path
87
+ const absoluteRoot = resolve(process.cwd(), path);
88
+ // Dynamically import @fastify/static (optional peer dependency)
89
+ let fastifyStatic;
90
+ try {
91
+ const module = await import('@fastify/static');
92
+ fastifyStatic = module.default;
93
+ }
94
+ catch {
95
+ throw new Error('To serve static files, please install @fastify/static:\n\n pnpm add @fastify/static');
96
+ }
97
+ // Build cache control header
98
+ const cacheControl = buildCacheControl(cache);
99
+ // Register static plugin
100
+ await server.register(fastifyStatic, {
101
+ root: absoluteRoot,
102
+ prefix,
103
+ index,
104
+ decorateReply: !server.hasDecorator('sendFile'),
105
+ setHeaders: (res) => {
106
+ res.setHeader('Cache-Control', cacheControl);
107
+ },
108
+ });
109
+ // SPA fallback: serve index.html for non-file routes
110
+ if (spa) {
111
+ server.setNotFoundHandler(async (request, reply) => {
112
+ // Skip excluded paths (API routes, etc.)
113
+ for (const excludePath of exclude) {
114
+ if (request.url.startsWith(excludePath)) {
115
+ return reply.status(404).send({
116
+ error: 'NotFound',
117
+ message: `Route ${request.method} ${request.url} not found`,
118
+ statusCode: 404,
119
+ });
120
+ }
121
+ }
122
+ // Skip requests for files (have extensions)
123
+ if (/\.\w+$/.test(request.url)) {
124
+ return reply.status(404).send({
125
+ error: 'NotFound',
126
+ message: 'File not found',
127
+ statusCode: 404,
128
+ });
129
+ }
130
+ // Serve index.html for SPA routes
131
+ return reply.sendFile(index, absoluteRoot);
132
+ });
133
+ }
134
+ }
135
+ //# sourceMappingURL=static.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/plugins/static.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Typed Context Utilities
3
+ *
4
+ * Provides an alternative to declaration merging that is more discoverable
5
+ * and provides better IDE support for context typing.
6
+ *
7
+ * @module typed-context
8
+ */
9
+ import type { FastifyReply, FastifyRequest } from 'fastify';
10
+ /**
11
+ * Base properties always available in context
12
+ */
13
+ export interface CoreContext {
14
+ request: FastifyRequest;
15
+ reply: FastifyReply;
16
+ }
17
+ /**
18
+ * Type for context extensions provided by plugins
19
+ */
20
+ export type ContextExtension = Record<string, unknown>;
21
+ /**
22
+ * Helper to convert union to intersection
23
+ */
24
+ type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
25
+ /**
26
+ * Merges core context with plugin extensions
27
+ */
28
+ export type MergeContext<TExtensions extends ContextExtension[]> = CoreContext & UnionToIntersection<TExtensions[number]>;
29
+ /**
30
+ * Combines multiple context extensions into one
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * type AppContext = CombineContexts<[
35
+ * { db: PrismaClient },
36
+ * { auth?: { user?: User } },
37
+ * { session?: Session },
38
+ * ]>;
39
+ * // Result: CoreContext & { db: PrismaClient } & { auth?: ... } & { session?: ... }
40
+ * ```
41
+ */
42
+ export type CombineContexts<T extends ContextExtension[]> = MergeContext<T>;
43
+ /**
44
+ * Defines application context type from plugin extensions
45
+ *
46
+ * This is the primary way to create a typed context without declaration merging.
47
+ * Define once in your app's context file, use everywhere.
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * // In your app's context.ts
52
+ * import type { defineContext, DbContextExtension } from '@veloxts/core';
53
+ * import type { PrismaClient } from './generated/prisma/client.js';
54
+ *
55
+ * export type AppContext = defineContext<[
56
+ * DbContextExtension<PrismaClient>,
57
+ * ]>;
58
+ *
59
+ * // AppContext = {
60
+ * // request: FastifyRequest;
61
+ * // reply: FastifyReply;
62
+ * // db: PrismaClient;
63
+ * // }
64
+ * ```
65
+ */
66
+ export type defineContext<T extends ContextExtension[]> = MergeContext<T>;
67
+ /**
68
+ * Context extension type for ORM plugin
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * import type { DbContextExtension } from '@veloxts/core';
73
+ * import type { PrismaClient } from './generated/prisma/client.js';
74
+ *
75
+ * type AppContext = defineContext<[
76
+ * DbContextExtension<PrismaClient>,
77
+ * ]>;
78
+ * ```
79
+ */
80
+ export type DbContextExtension<TClient> = {
81
+ db: TClient;
82
+ };
83
+ /**
84
+ * Context extension type for Auth plugin
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * import type { AuthContextExtension } from '@veloxts/core';
89
+ * import type { User } from './types.js';
90
+ *
91
+ * type AppContext = defineContext<[
92
+ * AuthContextExtension<User>,
93
+ * ]>;
94
+ * ```
95
+ */
96
+ export type AuthContextExtension<TUser> = {
97
+ auth?: {
98
+ user?: TUser;
99
+ isAuthenticated: boolean;
100
+ };
101
+ };
102
+ /**
103
+ * Context extension type for Session plugin
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * import type { SessionContextExtension } from '@veloxts/core';
108
+ *
109
+ * type AppContext = defineContext<[
110
+ * SessionContextExtension<{ cart: string[] }>,
111
+ * ]>;
112
+ * ```
113
+ */
114
+ export type SessionContextExtension<TSessionData = Record<string, unknown>> = {
115
+ session?: {
116
+ id: string;
117
+ data: TSessionData;
118
+ get: <K extends keyof TSessionData>(key: K) => TSessionData[K] | undefined;
119
+ set: <K extends keyof TSessionData>(key: K, value: TSessionData[K]) => void;
120
+ };
121
+ };
122
+ export {};
123
+ //# sourceMappingURL=typed-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-context.d.ts","sourceRoot":"","sources":["../src/typed-context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAM5D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAMvD;;GAEG;AACH,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CACjF,CAAC,EAAE,MAAM,CAAC,KACP,IAAI,GACL,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,WAAW,GAC5E,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,gBAAgB,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AAM5E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,gBAAgB,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AAM1E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,IAAI;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI;IACxC,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,uBAAuB,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC5E,OAAO,CAAC,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,YAAY,CAAC;QACnB,GAAG,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC3E,GAAG,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;KAC7E,CAAC;CACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Typed Context Utilities
3
+ *
4
+ * Provides an alternative to declaration merging that is more discoverable
5
+ * and provides better IDE support for context typing.
6
+ *
7
+ * @module typed-context
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=typed-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-context.js","sourceRoot":"","sources":["../src/typed-context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veloxts/core",
3
- "version": "0.4.7",
3
+ "version": "0.4.10",
4
4
  "description": "Fastify wrapper, DI container, and plugin system for VeloxTS framework",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -31,7 +31,16 @@
31
31
  "picocolors": "1.1.1",
32
32
  "reflect-metadata": "0.2.2"
33
33
  },
34
+ "peerDependencies": {
35
+ "@fastify/static": ">=8.0.0"
36
+ },
37
+ "peerDependenciesMeta": {
38
+ "@fastify/static": {
39
+ "optional": true
40
+ }
41
+ },
34
42
  "devDependencies": {
43
+ "@fastify/static": "8.1.0",
35
44
  "@types/node": "25.0.0",
36
45
  "@vitest/coverage-v8": "4.0.15",
37
46
  "typescript": "5.9.3",