alepha 0.11.2 → 0.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/api/files.d.ts +1 -439
  2. package/api/jobs.d.ts +1 -218
  3. package/api/notifications.d.ts +1 -264
  4. package/api/users.d.ts +1 -924
  5. package/batch.d.ts +1 -585
  6. package/bucket.d.ts +1 -507
  7. package/cache/redis.d.ts +1 -40
  8. package/cache.d.ts +1 -288
  9. package/command.d.ts +1 -238
  10. package/core.d.ts +1 -1563
  11. package/datetime.d.ts +5 -3
  12. package/devtools.d.ts +1 -368
  13. package/email.d.ts +1 -144
  14. package/fake.cjs +8 -0
  15. package/fake.d.ts +1 -0
  16. package/fake.js +1 -0
  17. package/file.d.ts +1 -53
  18. package/lock/redis.d.ts +1 -24
  19. package/lock.d.ts +1 -552
  20. package/logger.d.ts +1 -284
  21. package/package.json +57 -50
  22. package/postgres.d.ts +1 -1931
  23. package/queue/redis.d.ts +1 -29
  24. package/queue.d.ts +1 -760
  25. package/react/auth.d.ts +1 -499
  26. package/react/form.d.ts +1 -188
  27. package/react/head.d.ts +1 -120
  28. package/react/i18n.d.ts +1 -118
  29. package/react.d.ts +1 -929
  30. package/redis.d.ts +1 -82
  31. package/scheduler.d.ts +1 -145
  32. package/security.d.ts +1 -586
  33. package/server/cache.d.ts +1 -163
  34. package/server/compress.d.ts +1 -32
  35. package/server/cookies.d.ts +1 -144
  36. package/server/cors.d.ts +1 -27
  37. package/server/health.d.ts +1 -59
  38. package/server/helmet.d.ts +1 -69
  39. package/server/links.d.ts +1 -316
  40. package/server/metrics.d.ts +1 -35
  41. package/server/multipart.d.ts +1 -42
  42. package/server/proxy.d.ts +1 -234
  43. package/server/security.d.ts +1 -87
  44. package/server/static.d.ts +1 -119
  45. package/server/swagger.d.ts +1 -148
  46. package/server.d.ts +1 -849
  47. package/topic/redis.d.ts +1 -42
  48. package/topic.d.ts +1 -819
  49. package/ui.d.ts +1 -619
  50. package/vite.d.ts +1 -197
package/logger.d.ts CHANGED
@@ -1,284 +1 @@
1
- import * as _alepha_core0 from "alepha";
2
- import { Alepha, KIND, LogLevel, LoggerInterface, Static } from "alepha";
3
- import { DateTime, DateTimeProvider } from "alepha/datetime";
4
- import * as typebox0 from "typebox";
5
- import * as dayjs0 from "dayjs";
6
-
7
- //#region src/schemas/logEntrySchema.d.ts
8
- declare const logEntrySchema: typebox0.TObject<{
9
- level: typebox0.TUnsafe<"SILENT" | "TRACE" | "DEBUG" | "INFO" | "WARN" | "ERROR">;
10
- message: typebox0.TString;
11
- service: typebox0.TString;
12
- module: typebox0.TString;
13
- context: typebox0.TOptional<typebox0.TString>;
14
- app: typebox0.TOptional<typebox0.TString>;
15
- data: typebox0.TOptional<typebox0.TAny>;
16
- timestamp: typebox0.TCodec<typebox0.TString, dayjs0.Dayjs>;
17
- }>;
18
- type LogEntry = Static<typeof logEntrySchema>;
19
- //#endregion
20
- //#region src/providers/LogDestinationProvider.d.ts
21
- declare abstract class LogDestinationProvider {
22
- abstract write(message: string, entry: LogEntry): void;
23
- }
24
- //#endregion
25
- //#region src/providers/LogFormatterProvider.d.ts
26
- declare abstract class LogFormatterProvider {
27
- abstract format(entry: LogEntry): string;
28
- }
29
- //#endregion
30
- //#region src/services/Logger.d.ts
31
- declare class Logger implements LoggerInterface {
32
- protected readonly alepha: Alepha;
33
- protected readonly formatter: LogFormatterProvider;
34
- protected readonly destination: LogDestinationProvider;
35
- protected readonly dateTimeProvider: DateTimeProvider;
36
- protected readonly levels: Record<string, number>;
37
- protected readonly service: string;
38
- protected readonly module: string;
39
- protected readonly app?: string;
40
- protected appLogLevel: string;
41
- protected logLevel: LogLevel;
42
- constructor(service: string, module: string);
43
- get context(): string | undefined;
44
- get level(): string;
45
- parseLevel(level: string, app: string): LogLevel;
46
- private matchesPattern;
47
- asLogLevel(something: string): LogLevel;
48
- error(message: string, data?: unknown): void;
49
- warn(message: string, data?: unknown): void;
50
- info(message: string, data?: unknown): void;
51
- debug(message: string, data?: unknown): void;
52
- trace(message: string, data?: unknown): void;
53
- protected log(level: LogLevel, message: string, data?: unknown): void;
54
- }
55
- //#endregion
56
- //#region src/descriptors/$logger.d.ts
57
- /**
58
- * Create a logger.
59
- *
60
- * `name` is optional, by default it will use the name of the service.
61
- *
62
- * @example
63
- * ```ts
64
- * import { $logger } from "alepha";
65
- *
66
- * class MyService {
67
- * log = $logger();
68
- *
69
- * constructor() {
70
- * this.log.info("Service initialized");
71
- * // print something like '[23:45:53.326] INFO <app.MyService>: Service initialized'
72
- * }
73
- * }
74
- * ```
75
- */
76
- declare const $logger: {
77
- (options?: LoggerDescriptorOptions): Logger;
78
- [KIND]: typeof Logger;
79
- };
80
- interface LoggerDescriptorOptions {
81
- name?: string;
82
- }
83
- //#endregion
84
- //#region src/providers/ConsoleColorProvider.d.ts
85
- declare class ConsoleColorProvider {
86
- static readonly COLORS: {
87
- RESET: string;
88
- BLACK: string;
89
- RED: string;
90
- GREEN: string;
91
- ORANGE: string;
92
- BLUE: string;
93
- PURPLE: string;
94
- CYAN: string;
95
- GREY_LIGHT: string;
96
- GREY_LIGHT_BOLD: string;
97
- GREY_DARK: string;
98
- GREY_DARK_BOLD: string;
99
- WHITE: string;
100
- WHITE_BOLD: string;
101
- SILENT: string;
102
- ERROR: string;
103
- WARN: string;
104
- INFO: string;
105
- DEBUG: string;
106
- TRACE: string;
107
- };
108
- protected readonly env: {
109
- NO_COLOR?: string | undefined;
110
- FORCE_COLOR?: string | undefined;
111
- };
112
- protected readonly alepha: Alepha;
113
- protected enabled: boolean;
114
- constructor();
115
- isEnabled(): boolean;
116
- set(color: keyof typeof ConsoleColorProvider.COLORS, text: string, reset?: string): string;
117
- }
118
- //#endregion
119
- //#region src/providers/ConsoleDestinationProvider.d.ts
120
- declare class ConsoleDestinationProvider extends LogDestinationProvider {
121
- write(message: string): void;
122
- }
123
- //#endregion
124
- //#region src/providers/JsonFormatterProvider.d.ts
125
- declare class JsonFormatterProvider extends LogFormatterProvider {
126
- format(entry: LogEntry): string;
127
- protected formatJsonError(error: Error): object;
128
- }
129
- //#endregion
130
- //#region src/providers/MemoryDestinationProvider.d.ts
131
- declare class MemoryDestinationProvider extends LogDestinationProvider {
132
- protected entries: Array<LogEntry & {
133
- formatted: string;
134
- }>;
135
- readonly options: {
136
- maxEntries: number;
137
- };
138
- write(formatted: string, entry: LogEntry): void;
139
- get logs(): ({
140
- context?: string | undefined;
141
- app?: string | undefined;
142
- data?: any;
143
- level: "SILENT" | "TRACE" | "DEBUG" | "INFO" | "WARN" | "ERROR";
144
- message: string;
145
- service: string;
146
- module: string;
147
- timestamp: dayjs0.Dayjs;
148
- } & {
149
- formatted: string;
150
- })[];
151
- clear(): void;
152
- }
153
- //#endregion
154
- //#region src/providers/SimpleFormatterProvider.d.ts
155
- declare class SimpleFormatterProvider extends LogFormatterProvider {
156
- protected color: ConsoleColorProvider;
157
- protected alepha: Alepha;
158
- format(entry: LogEntry): string;
159
- formatTimestamp(iso: DateTime): string;
160
- protected pad2: (n: number) => string;
161
- protected pad3: (n: number) => string;
162
- /**
163
- * Avoid to display the whole UUID in development mode
164
- */
165
- protected formatContext(context: string): string;
166
- protected formatError(error: Error): string;
167
- }
168
- //#endregion
169
- //#region src/index.d.ts
170
- /**
171
- * Minimalist logger module for Alepha.
172
- *
173
- * It offers a global logger interface (info, warn, ...) via the `$logger` descriptor.
174
- *
175
- * ```ts
176
- * import { $logger } from "alepha/logger";
177
- *
178
- * class App {
179
- * log = $logger();
180
- * }
181
- * ```
182
- *
183
- * ### Formatting and Destinations
184
- *
185
- * `AlephaLogger` is **extensible**, destinations and formatters can be added or replaced.
186
- *
187
- * Default log destinations are:
188
- * - ConsoleDestinationProvider: logs to the console.
189
- * - MemoryDestinationProvider: stores logs in memory for later retrieval.
190
- *
191
- * Default log formatters are:
192
- * - JsonFormatterProvider: formats logs as JSON.
193
- * - SimpleFormatterProvider: formats logs as simple text (with colors when possible).
194
- * - RawFormatterProvider: formats logs as raw text without any formatting.
195
- *
196
- * ### Event Emission
197
- *
198
- * The logger emits 'log' events that can be listened to by external code, allowing for custom log processing and destinations.
199
- *
200
- * ```ts
201
- * class CustomDestination {
202
- * onLog = $hook({
203
- * on: "log",
204
- * handler: (ev) => {
205
- * // ev.message (formatted message)
206
- * // ev.entry (level, raw message, ...)
207
- * }
208
- * });
209
- * }
210
- * ```
211
- *
212
- * ### Log Level
213
- *
214
- * You can configure the log level and format via environment variables:
215
- *
216
- * - `LOG_LEVEL`: Sets the default log level for the application.
217
- * - `LOG_FORMAT`: Sets the default log format for the application.
218
- *
219
- * ```bash
220
- * LOG_LEVEL=debug LOG_FORMAT=json node src/index.ts
221
- * ```
222
- *
223
- * Log level is also available in the state as `logLevel`, which can be used to dynamically change the log level at runtime.
224
- * ```ts
225
- * alepha.state.set("logLevel", "debug");
226
- * ```
227
- *
228
- * Log level is $module aware, meaning you can set different log levels for different modules.
229
- *
230
- * **Module-specific configuration:**
231
- * - `LOG_LEVEL=my.module.name:debug,info` - debug for `my.module.name` (and submodules), info for others
232
- * - `LOG_LEVEL=alepha:trace,my.app:error,info` - trace for alepha modules, error for my.app modules, info for others
233
- *
234
- * **Wildcard patterns (NEW):**
235
- * - `LOG_LEVEL=alepha.*:debug,info` - debug for all alepha submodules
236
- * - `LOG_LEVEL=*.test:silent,*.core:trace,info` - silent for test modules, trace for core modules
237
- *
238
- * **Robust parsing:**
239
- * - Empty parts are gracefully skipped: `LOG_LEVEL=",,debug,,"` works fine
240
- * - Better error messages: "Invalid log level 'bad' for module pattern 'alepha'"
241
- */
242
- declare const AlephaLogger: _alepha_core0.Service<_alepha_core0.Module<{}>>;
243
- declare const envSchema: _alepha_core0.TObject<{
244
- /**
245
- * Default log level for the application.
246
- *
247
- * Default by environment:
248
- * - dev = info
249
- * - prod = info
250
- * - test = error
251
- *
252
- * Levels are: "trace" | "debug" | "info" | "warn" | "error" | "silent"
253
- *
254
- * Level can be set for a specific module:
255
- *
256
- * @example
257
- * LOG_LEVEL=my.module.name:debug,info # Set debug level for my.module.name and info for all other modules
258
- * LOG_LEVEL=alepha:trace, info # Set trace level for all alepha modules and info for all other modules
259
- */
260
- LOG_LEVEL: _alepha_core0.TOptional<_alepha_core0.TString>;
261
- /**
262
- * Built-in log formats.
263
- * - "json" - JSON format, useful for structured logging and log aggregation. {@link JsonFormatterProvider}
264
- * - "text" - Simple text format, human-readable, with colors. {@link SimpleFormatterProvider}
265
- * - "raw" - Raw format, no formatting, just the message. {@link RawFormatterProvider}
266
- */
267
- LOG_FORMAT: _alepha_core0.TOptional<_alepha_core0.TUnsafe<"json" | "text" | "raw">>;
268
- }>;
269
- declare module "alepha" {
270
- interface Env extends Partial<Static<typeof envSchema>> {}
271
- interface State {
272
- logLevel?: string;
273
- }
274
- interface Hooks {
275
- log: {
276
- message: string;
277
- entry: LogEntry;
278
- };
279
- }
280
- }
281
- //# sourceMappingURL=index.d.ts.map
282
- //#endregion
283
- export { $logger, AlephaLogger, ConsoleColorProvider, ConsoleDestinationProvider, JsonFormatterProvider, LogDestinationProvider, LogEntry, LogFormatterProvider, Logger, LoggerDescriptorOptions, MemoryDestinationProvider, SimpleFormatterProvider, logEntrySchema };
284
- //# sourceMappingURL=index.d.ts.map
1
+ export * from '@alepha/logger';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alepha",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22.0.0"
@@ -15,55 +15,56 @@
15
15
  "main": "./core.js",
16
16
  "types": "./core.d.ts",
17
17
  "dependencies": {
18
- "@alepha/api-files": "0.11.2",
19
- "@alepha/api-jobs": "0.11.2",
20
- "@alepha/api-notifications": "0.11.2",
21
- "@alepha/api-users": "0.11.2",
22
- "@alepha/api-verifications": "0.11.2",
23
- "@alepha/batch": "0.11.2",
24
- "@alepha/bucket": "0.11.2",
25
- "@alepha/cache": "0.11.2",
26
- "@alepha/cache-redis": "0.11.2",
27
- "@alepha/command": "0.11.2",
28
- "@alepha/core": "0.11.2",
29
- "@alepha/datetime": "0.11.2",
30
- "@alepha/devtools": "0.11.2",
31
- "@alepha/email": "0.11.2",
32
- "@alepha/file": "0.11.2",
33
- "@alepha/lock": "0.11.2",
34
- "@alepha/lock-redis": "0.11.2",
35
- "@alepha/logger": "0.11.2",
36
- "@alepha/postgres": "0.11.2",
37
- "@alepha/queue": "0.11.2",
38
- "@alepha/queue-redis": "0.11.2",
39
- "@alepha/react": "0.11.2",
40
- "@alepha/react-auth": "0.11.2",
41
- "@alepha/react-form": "0.11.2",
42
- "@alepha/react-head": "0.11.2",
43
- "@alepha/react-i18n": "0.11.2",
44
- "@alepha/redis": "0.11.2",
45
- "@alepha/retry": "0.11.2",
46
- "@alepha/router": "0.11.2",
47
- "@alepha/scheduler": "0.11.2",
48
- "@alepha/security": "0.11.2",
49
- "@alepha/server": "0.11.2",
50
- "@alepha/server-cache": "0.11.2",
51
- "@alepha/server-compress": "0.11.2",
52
- "@alepha/server-cookies": "0.11.2",
53
- "@alepha/server-cors": "0.11.2",
54
- "@alepha/server-health": "0.11.2",
55
- "@alepha/server-helmet": "0.11.2",
56
- "@alepha/server-links": "0.11.2",
57
- "@alepha/server-metrics": "0.11.2",
58
- "@alepha/server-multipart": "0.11.2",
59
- "@alepha/server-proxy": "0.11.2",
60
- "@alepha/server-security": "0.11.2",
61
- "@alepha/server-static": "0.11.2",
62
- "@alepha/server-swagger": "0.11.2",
63
- "@alepha/topic": "0.11.2",
64
- "@alepha/topic-redis": "0.11.2",
65
- "@alepha/ui": "0.11.2",
66
- "@alepha/vite": "0.11.2",
18
+ "@alepha/api-files": "0.11.4",
19
+ "@alepha/api-jobs": "0.11.4",
20
+ "@alepha/api-notifications": "0.11.4",
21
+ "@alepha/api-users": "0.11.4",
22
+ "@alepha/api-verifications": "0.11.4",
23
+ "@alepha/batch": "0.11.4",
24
+ "@alepha/bucket": "0.11.4",
25
+ "@alepha/cache": "0.11.4",
26
+ "@alepha/cache-redis": "0.11.4",
27
+ "@alepha/command": "0.11.4",
28
+ "@alepha/core": "0.11.4",
29
+ "@alepha/datetime": "0.11.4",
30
+ "@alepha/devtools": "0.11.4",
31
+ "@alepha/email": "0.11.4",
32
+ "@alepha/fake": "0.11.4",
33
+ "@alepha/file": "0.11.4",
34
+ "@alepha/lock": "0.11.4",
35
+ "@alepha/lock-redis": "0.11.4",
36
+ "@alepha/logger": "0.11.4",
37
+ "@alepha/postgres": "0.11.4",
38
+ "@alepha/queue": "0.11.4",
39
+ "@alepha/queue-redis": "0.11.4",
40
+ "@alepha/react": "0.11.4",
41
+ "@alepha/react-auth": "0.11.4",
42
+ "@alepha/react-form": "0.11.4",
43
+ "@alepha/react-head": "0.11.4",
44
+ "@alepha/react-i18n": "0.11.4",
45
+ "@alepha/redis": "0.11.4",
46
+ "@alepha/retry": "0.11.4",
47
+ "@alepha/router": "0.11.4",
48
+ "@alepha/scheduler": "0.11.4",
49
+ "@alepha/security": "0.11.4",
50
+ "@alepha/server": "0.11.4",
51
+ "@alepha/server-cache": "0.11.4",
52
+ "@alepha/server-compress": "0.11.4",
53
+ "@alepha/server-cookies": "0.11.4",
54
+ "@alepha/server-cors": "0.11.4",
55
+ "@alepha/server-health": "0.11.4",
56
+ "@alepha/server-helmet": "0.11.4",
57
+ "@alepha/server-links": "0.11.4",
58
+ "@alepha/server-metrics": "0.11.4",
59
+ "@alepha/server-multipart": "0.11.4",
60
+ "@alepha/server-proxy": "0.11.4",
61
+ "@alepha/server-security": "0.11.4",
62
+ "@alepha/server-static": "0.11.4",
63
+ "@alepha/server-swagger": "0.11.4",
64
+ "@alepha/topic": "0.11.4",
65
+ "@alepha/topic-redis": "0.11.4",
66
+ "@alepha/ui": "0.11.4",
67
+ "@alepha/vite": "0.11.4",
67
68
  "react": "^19.2.0",
68
69
  "react-dom": "^19.2.0"
69
70
  },
@@ -151,6 +152,11 @@
151
152
  "require": "./email.cjs",
152
153
  "types": "./email.d.ts"
153
154
  },
155
+ "./fake": {
156
+ "import": "./fake.js",
157
+ "require": "./fake.cjs",
158
+ "types": "./fake.d.ts"
159
+ },
154
160
  "./file": {
155
161
  "import": "./file.js",
156
162
  "require": "./file.cjs",
@@ -343,6 +349,7 @@
343
349
  "datetime",
344
350
  "devtools",
345
351
  "email",
352
+ "fake",
346
353
  "file",
347
354
  "lock",
348
355
  "lock-redis",