alepha 0.9.2 → 0.9.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.
- package/README.md +46 -0
- package/batch.d.ts +5 -8
- package/bucket.d.ts +9 -16
- package/cache/redis.d.ts +10 -10
- package/cache.d.ts +3 -7
- package/command.d.ts +19 -17
- package/core.d.ts +188 -340
- package/datetime.d.ts +6 -10
- package/file.d.ts +0 -3
- package/lock/redis.d.ts +3 -6
- package/lock.d.ts +9 -16
- package/{testing.cjs → logger.cjs} +1 -1
- package/logger.d.ts +222 -0
- package/logger.js +1 -0
- package/package.json +50 -49
- package/postgres.d.ts +273 -315
- package/queue/redis.d.ts +1 -3
- package/queue.d.ts +11 -19
- package/react/auth.d.ts +453 -146
- package/react/form.d.ts +119 -69
- package/react/head.d.ts +49 -18
- package/react/i18n.d.ts +61 -27
- package/react.d.ts +304 -212
- package/redis.d.ts +15 -15
- package/retry.d.ts +0 -4
- package/router.d.ts +0 -1
- package/scheduler.d.ts +6 -10
- package/security.d.ts +140 -138
- package/server/cache.d.ts +11 -11
- package/server/compress.d.ts +1 -4
- package/server/cookies.d.ts +45 -19
- package/server/cors.d.ts +4 -8
- package/server/health.d.ts +1 -4
- package/server/helmet.d.ts +28 -28
- package/server/links.d.ts +147 -45
- package/server/metrics.d.ts +5 -9
- package/server/multipart.d.ts +1 -3
- package/server/proxy.d.ts +5 -9
- package/server/security.d.ts +12 -15
- package/server/static.d.ts +6 -10
- package/server/swagger.d.ts +4 -8
- package/server.d.ts +75 -91
- package/topic/redis.d.ts +5 -8
- package/topic.d.ts +4 -12
- package/vite.d.ts +59 -30
- package/testing.d.ts +0 -1
- package/testing.js +0 -1
package/datetime.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as _alepha_core0 from "alepha";
|
|
1
|
+
import * as _alepha_core1 from "alepha";
|
|
3
2
|
import { Alepha, Descriptor, KIND } from "alepha";
|
|
3
|
+
import * as _alepha_logger0 from "alepha/logger";
|
|
4
4
|
import dayjs, { Dayjs, ManipulateType } from "dayjs";
|
|
5
5
|
import dayjsDuration from "dayjs/plugin/duration.js";
|
|
6
6
|
|
|
@@ -11,7 +11,7 @@ type Duration = dayjsDuration.Duration;
|
|
|
11
11
|
type DurationLike = number | dayjsDuration.Duration | [number, ManipulateType];
|
|
12
12
|
declare class DateTimeProvider {
|
|
13
13
|
protected alepha: Alepha;
|
|
14
|
-
protected log:
|
|
14
|
+
protected log: _alepha_logger0.Logger;
|
|
15
15
|
protected ref: DateTime | null;
|
|
16
16
|
protected readonly timeouts: Timeout[];
|
|
17
17
|
protected readonly intervals: Interval[];
|
|
@@ -22,8 +22,8 @@ declare class DateTimeProvider {
|
|
|
22
22
|
* You can override this method to add custom plugins.
|
|
23
23
|
*/
|
|
24
24
|
protected plugins(api: DateTimeApi): void;
|
|
25
|
-
protected readonly start:
|
|
26
|
-
protected readonly stop:
|
|
25
|
+
protected readonly start: _alepha_core1.HookDescriptor<"start">;
|
|
26
|
+
protected readonly stop: _alepha_core1.HookDescriptor<"stop">;
|
|
27
27
|
/**
|
|
28
28
|
* Create a new DateTime instance.
|
|
29
29
|
*/
|
|
@@ -103,7 +103,6 @@ interface Timeout {
|
|
|
103
103
|
callback: () => void;
|
|
104
104
|
clear: () => void;
|
|
105
105
|
}
|
|
106
|
-
//# sourceMappingURL=DateTimeProvider.d.ts.map
|
|
107
106
|
//#endregion
|
|
108
107
|
//#region src/descriptors/$interval.d.ts
|
|
109
108
|
/**
|
|
@@ -130,12 +129,9 @@ declare class IntervalDescriptor extends Descriptor<IntervalDescriptorOptions> {
|
|
|
130
129
|
called: number;
|
|
131
130
|
protected onInit(): void;
|
|
132
131
|
}
|
|
133
|
-
//# sourceMappingURL=$interval.d.ts.map
|
|
134
132
|
//#endregion
|
|
135
133
|
//#region src/index.d.ts
|
|
136
|
-
declare const AlephaDateTime:
|
|
137
|
-
//# sourceMappingURL=index.d.ts.map
|
|
138
|
-
|
|
134
|
+
declare const AlephaDateTime: _alepha_core1.Service<_alepha_core1.Module>;
|
|
139
135
|
//#endregion
|
|
140
136
|
export { $interval, AlephaDateTime, DateTime, DateTimeApi, DateTimeProvider, Duration, DurationLike, Interval, IntervalDescriptor, IntervalDescriptorOptions, Timeout };
|
|
141
137
|
//# sourceMappingURL=index.d.ts.map
|
package/file.d.ts
CHANGED
|
@@ -35,7 +35,6 @@ declare const streamToBuffer: (streamLike: StreamLike) => Promise<Buffer>;
|
|
|
35
35
|
*/
|
|
36
36
|
declare const bufferToArrayBuffer: (buffer: Buffer) => ArrayBuffer;
|
|
37
37
|
declare const isReadableStream: (obj: unknown) => obj is NodeJS.ReadableStream;
|
|
38
|
-
//# sourceMappingURL=createFile.d.ts.map
|
|
39
38
|
//#endregion
|
|
40
39
|
//#region src/helpers/getContentType.d.ts
|
|
41
40
|
/**
|
|
@@ -49,8 +48,6 @@ declare const mimeMap: Record<string, string>;
|
|
|
49
48
|
* @see {mimeMap}
|
|
50
49
|
*/
|
|
51
50
|
declare const getContentType: (filename: string) => string;
|
|
52
|
-
//# sourceMappingURL=getContentType.d.ts.map
|
|
53
|
-
|
|
54
51
|
//#endregion
|
|
55
52
|
export { bufferToArrayBuffer, createFile, createFileFromBuffer, createFileFromStream, createFileFromUrl, createFileFromWebFile, getContentType, isReadableStream, mimeMap, streamToBuffer };
|
|
56
53
|
//# sourceMappingURL=index.d.ts.map
|
package/lock/redis.d.ts
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import * as _alepha_core0 from "alepha";
|
|
2
|
-
import { Logger } from "alepha";
|
|
3
2
|
import { LockProvider } from "alepha/lock";
|
|
3
|
+
import * as _alepha_logger0 from "alepha/logger";
|
|
4
4
|
import { RedisProvider } from "alepha/redis";
|
|
5
5
|
|
|
6
6
|
//#region src/providers/RedisLockProvider.d.ts
|
|
7
7
|
declare class RedisLockProvider implements LockProvider {
|
|
8
|
-
protected readonly log: Logger;
|
|
8
|
+
protected readonly log: _alepha_logger0.Logger;
|
|
9
9
|
protected readonly redisProvider: RedisProvider;
|
|
10
10
|
set(key: string, value: string, nx?: boolean, px?: number): Promise<string>;
|
|
11
11
|
del(...keys: string[]): Promise<void>;
|
|
12
12
|
}
|
|
13
|
-
//# sourceMappingURL=RedisLockProvider.d.ts.map
|
|
14
13
|
//#endregion
|
|
15
14
|
//#region src/index.d.ts
|
|
16
15
|
/**
|
|
@@ -19,9 +18,7 @@ declare class RedisLockProvider implements LockProvider {
|
|
|
19
18
|
* @see {@link RedisLockProvider}
|
|
20
19
|
* @module alepha.lock.redis
|
|
21
20
|
*/
|
|
22
|
-
declare const AlephaLockRedis: _alepha_core0.
|
|
23
|
-
//# sourceMappingURL=index.d.ts.map
|
|
24
|
-
|
|
21
|
+
declare const AlephaLockRedis: _alepha_core0.Service<_alepha_core0.Module>;
|
|
25
22
|
//#endregion
|
|
26
23
|
export { AlephaLockRedis, RedisLockProvider };
|
|
27
24
|
//# sourceMappingURL=index.d.ts.map
|
package/lock.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as _alepha_core5 from "alepha";
|
|
3
|
-
import * as _alepha_core0 from "alepha";
|
|
1
|
+
import * as _alepha_core1 from "alepha";
|
|
4
2
|
import { AsyncFn, Descriptor, KIND, Static } from "alepha";
|
|
5
3
|
import * as _alepha_topic0 from "alepha/topic";
|
|
6
4
|
import { TopicProvider } from "alepha/topic";
|
|
7
5
|
import { DateTime, DateTimeProvider, DurationLike, Timeout } from "alepha/datetime";
|
|
6
|
+
import * as _alepha_logger0 from "alepha/logger";
|
|
8
7
|
import * as dayjs_plugin_duration0 from "dayjs/plugin/duration";
|
|
9
8
|
|
|
10
9
|
//#region src/providers/LockProvider.d.ts
|
|
@@ -28,7 +27,6 @@ declare abstract class LockProvider {
|
|
|
28
27
|
*/
|
|
29
28
|
abstract del(...keys: string[]): Promise<void>;
|
|
30
29
|
}
|
|
31
|
-
//# sourceMappingURL=LockProvider.d.ts.map
|
|
32
30
|
//#endregion
|
|
33
31
|
//#region src/descriptors/$lock.d.ts
|
|
34
32
|
/**
|
|
@@ -89,14 +87,14 @@ interface LockDescriptorOptions<TFunc extends AsyncFn> {
|
|
|
89
87
|
*/
|
|
90
88
|
gracePeriod?: ((...args: Parameters<TFunc>) => DurationLike | undefined) | DurationLike;
|
|
91
89
|
}
|
|
92
|
-
declare const envSchema:
|
|
93
|
-
LOCK_PREFIX_KEY:
|
|
90
|
+
declare const envSchema: _alepha_core1.TObject<{
|
|
91
|
+
LOCK_PREFIX_KEY: _alepha_core1.TString;
|
|
94
92
|
}>;
|
|
95
93
|
declare module "alepha" {
|
|
96
94
|
interface Env extends Partial<Static<typeof envSchema>> {}
|
|
97
95
|
}
|
|
98
96
|
declare class LockDescriptor<TFunc extends AsyncFn> extends Descriptor<LockDescriptorOptions<TFunc>> {
|
|
99
|
-
protected readonly log:
|
|
97
|
+
protected readonly log: _alepha_logger0.Logger;
|
|
100
98
|
protected readonly provider: LockProvider;
|
|
101
99
|
protected readonly env: {
|
|
102
100
|
LOCK_PREFIX_KEY: string;
|
|
@@ -105,8 +103,8 @@ declare class LockDescriptor<TFunc extends AsyncFn> extends Descriptor<LockDescr
|
|
|
105
103
|
protected readonly id: `${string}-${string}-${string}-${string}-${string}`;
|
|
106
104
|
readonly maxDuration: dayjs_plugin_duration0.Duration;
|
|
107
105
|
protected readonly topicLockEnd: _alepha_topic0.TopicDescriptor<{
|
|
108
|
-
payload:
|
|
109
|
-
name:
|
|
106
|
+
payload: _alepha_core1.TObject<{
|
|
107
|
+
name: _alepha_core1.TString;
|
|
110
108
|
}>;
|
|
111
109
|
}>;
|
|
112
110
|
run(...args: Parameters<TFunc>): Promise<void>;
|
|
@@ -128,8 +126,6 @@ interface LockResult {
|
|
|
128
126
|
//#endregion
|
|
129
127
|
//#region src/providers/LockTopicProvider.d.ts
|
|
130
128
|
declare abstract class LockTopicProvider extends TopicProvider {}
|
|
131
|
-
//# sourceMappingURL=LockTopicProvider.d.ts.map
|
|
132
|
-
|
|
133
129
|
//#endregion
|
|
134
130
|
//#region src/providers/MemoryLockProvider.d.ts
|
|
135
131
|
/**
|
|
@@ -137,7 +133,7 @@ declare abstract class LockTopicProvider extends TopicProvider {}
|
|
|
137
133
|
*/
|
|
138
134
|
declare class MemoryLockProvider implements LockProvider {
|
|
139
135
|
protected readonly dateTimeProvider: DateTimeProvider;
|
|
140
|
-
protected readonly log:
|
|
136
|
+
protected readonly log: _alepha_logger0.Logger;
|
|
141
137
|
/**
|
|
142
138
|
* The in-memory store.
|
|
143
139
|
*/
|
|
@@ -150,7 +146,6 @@ declare class MemoryLockProvider implements LockProvider {
|
|
|
150
146
|
del(...keys: string[]): Promise<void>;
|
|
151
147
|
private ttl;
|
|
152
148
|
}
|
|
153
|
-
//# sourceMappingURL=MemoryLockProvider.d.ts.map
|
|
154
149
|
//#endregion
|
|
155
150
|
//#region src/index.d.ts
|
|
156
151
|
/**
|
|
@@ -162,9 +157,7 @@ declare class MemoryLockProvider implements LockProvider {
|
|
|
162
157
|
* @see {@link $lock}
|
|
163
158
|
* @module alepha.lock
|
|
164
159
|
*/
|
|
165
|
-
declare const AlephaLock:
|
|
166
|
-
//# sourceMappingURL=index.d.ts.map
|
|
167
|
-
|
|
160
|
+
declare const AlephaLock: _alepha_core1.Service<_alepha_core1.Module>;
|
|
168
161
|
//#endregion
|
|
169
162
|
export { $lock, AlephaLock, LockDescriptor, LockDescriptorOptions, LockProvider, LockResult, LockTopicProvider, MemoryLockProvider };
|
|
170
163
|
//# sourceMappingURL=index.d.ts.map
|
package/logger.d.ts
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import * as _alepha_core0 from "alepha";
|
|
2
|
+
import { Alepha, KIND, LogLevel, LoggerInterface, Static } from "alepha";
|
|
3
|
+
import * as _sinclair_typebox0 from "@sinclair/typebox";
|
|
4
|
+
|
|
5
|
+
//#region src/providers/LogDestinationProvider.d.ts
|
|
6
|
+
declare abstract class LogDestinationProvider {
|
|
7
|
+
abstract write(message: string, entry: LogEntry): void;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/providers/LogFormatterProvider.d.ts
|
|
11
|
+
declare abstract class LogFormatterProvider {
|
|
12
|
+
abstract format(entry: LogEntry): string;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/services/Logger.d.ts
|
|
16
|
+
declare class Logger implements LoggerInterface {
|
|
17
|
+
protected readonly alepha: Alepha;
|
|
18
|
+
protected readonly formatter: LogFormatterProvider;
|
|
19
|
+
protected readonly destination: LogDestinationProvider;
|
|
20
|
+
protected readonly levels: Record<string, number>;
|
|
21
|
+
protected readonly service: string;
|
|
22
|
+
protected readonly module: string;
|
|
23
|
+
protected readonly app?: string;
|
|
24
|
+
protected appLogLevel: string;
|
|
25
|
+
protected logLevel: LogLevel;
|
|
26
|
+
constructor(service: string, module: string);
|
|
27
|
+
get context(): string | undefined;
|
|
28
|
+
get level(): string;
|
|
29
|
+
parseLevel(level: string, app: string): LogLevel;
|
|
30
|
+
asLogLevel(something: string): LogLevel;
|
|
31
|
+
error(message: string, data?: unknown): void;
|
|
32
|
+
warn(message: string, data?: unknown): void;
|
|
33
|
+
info(message: string, data?: unknown): void;
|
|
34
|
+
debug(message: string, data?: unknown): void;
|
|
35
|
+
trace(message: string, data?: unknown): void;
|
|
36
|
+
protected log(level: LogLevel, message: string, data?: unknown): void;
|
|
37
|
+
}
|
|
38
|
+
interface LogEntry {
|
|
39
|
+
level: LogLevel;
|
|
40
|
+
message: string;
|
|
41
|
+
service: string;
|
|
42
|
+
module: string;
|
|
43
|
+
context?: string;
|
|
44
|
+
data?: object | Error | string;
|
|
45
|
+
app?: string;
|
|
46
|
+
timestamp: Date;
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/descriptors/$logger.d.ts
|
|
50
|
+
/**
|
|
51
|
+
* Create a logger.
|
|
52
|
+
*
|
|
53
|
+
* `name` is optional, by default it will use the name of the service.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* import { $logger } from "alepha";
|
|
58
|
+
*
|
|
59
|
+
* class MyService {
|
|
60
|
+
* log = $logger();
|
|
61
|
+
*
|
|
62
|
+
* constructor() {
|
|
63
|
+
* // print something like '[23:45:53.326] INFO <app.App>: App is ready!'
|
|
64
|
+
* this.log.info("Service initialized");
|
|
65
|
+
* }
|
|
66
|
+
* }
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
declare const $logger: {
|
|
70
|
+
(options?: LoggerDescriptorOptions): Logger;
|
|
71
|
+
[KIND]: typeof Logger;
|
|
72
|
+
};
|
|
73
|
+
interface LoggerDescriptorOptions {
|
|
74
|
+
name?: string;
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
//#region src/providers/ConsoleColorProvider.d.ts
|
|
78
|
+
declare class ConsoleColorProvider {
|
|
79
|
+
protected env: {
|
|
80
|
+
NO_COLOR?: string | undefined;
|
|
81
|
+
FORCE_COLOR?: string | undefined;
|
|
82
|
+
};
|
|
83
|
+
readonly colors: {
|
|
84
|
+
reset: string;
|
|
85
|
+
grey: string;
|
|
86
|
+
red: string;
|
|
87
|
+
orange: string;
|
|
88
|
+
green: string;
|
|
89
|
+
blue: string;
|
|
90
|
+
white: string;
|
|
91
|
+
cyan: string;
|
|
92
|
+
darkGrey: string;
|
|
93
|
+
silent: string;
|
|
94
|
+
error: string;
|
|
95
|
+
warn: string;
|
|
96
|
+
info: string;
|
|
97
|
+
debug: string;
|
|
98
|
+
trace: string;
|
|
99
|
+
};
|
|
100
|
+
protected enabled: boolean;
|
|
101
|
+
constructor();
|
|
102
|
+
colorize(color: keyof typeof (void 0).colors, text: string, reset?: string): string;
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/providers/ConsoleDestinationProvider.d.ts
|
|
106
|
+
declare class ConsoleDestinationProvider extends LogDestinationProvider {
|
|
107
|
+
write(message: string): void;
|
|
108
|
+
}
|
|
109
|
+
//#endregion
|
|
110
|
+
//#region src/providers/JsonFormatterProvider.d.ts
|
|
111
|
+
declare class JsonFormatterProvider extends LogFormatterProvider {
|
|
112
|
+
format(entry: LogEntry): string;
|
|
113
|
+
protected formatJsonError(error: Error): object;
|
|
114
|
+
}
|
|
115
|
+
//#endregion
|
|
116
|
+
//#region src/providers/MemoryDestinationProvider.d.ts
|
|
117
|
+
declare class MemoryDestinationProvider extends LogDestinationProvider {
|
|
118
|
+
protected entries: Array<LogEntry & {
|
|
119
|
+
formatted: string;
|
|
120
|
+
}>;
|
|
121
|
+
readonly options: {
|
|
122
|
+
maxEntries: number;
|
|
123
|
+
};
|
|
124
|
+
write(formatted: string, entry: LogEntry): void;
|
|
125
|
+
get logs(): (LogEntry & {
|
|
126
|
+
formatted: string;
|
|
127
|
+
})[];
|
|
128
|
+
clear(): void;
|
|
129
|
+
}
|
|
130
|
+
//#endregion
|
|
131
|
+
//#region src/providers/SimpleFormatterProvider.d.ts
|
|
132
|
+
declare class SimpleFormatterProvider extends LogFormatterProvider {
|
|
133
|
+
protected color: ConsoleColorProvider;
|
|
134
|
+
format(entry: LogEntry): string;
|
|
135
|
+
formatTimestamp(d: Date): string;
|
|
136
|
+
protected pad2: (n: number) => string;
|
|
137
|
+
protected pad3: (n: number) => string;
|
|
138
|
+
protected formatError(error: Error): string;
|
|
139
|
+
}
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region src/index.d.ts
|
|
142
|
+
declare const envSchema: _alepha_core0.TObject<{
|
|
143
|
+
/**
|
|
144
|
+
* Default log level for the application.
|
|
145
|
+
*
|
|
146
|
+
* Default by environment:
|
|
147
|
+
* - dev = info
|
|
148
|
+
* - prod = info
|
|
149
|
+
* - test = error
|
|
150
|
+
*
|
|
151
|
+
* Levels are: "trace" | "debug" | "info" | "warn" | "error" | "silent"
|
|
152
|
+
*
|
|
153
|
+
* Level can be set for a specific module:
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* LOG_LEVEL=my.module.name:debug,info # Set debug level for my.module.name and info for all other modules
|
|
157
|
+
* LOG_LEVEL=alepha:trace, info # Set trace level for all alepha modules and info for all other modules
|
|
158
|
+
*/
|
|
159
|
+
LOG_LEVEL: _alepha_core0.TOptional<_alepha_core0.TString>;
|
|
160
|
+
/**
|
|
161
|
+
* Built-in log formats.
|
|
162
|
+
* - "json" - JSON format, useful for structured logging and log aggregation. {@link JsonFormatterProvider}
|
|
163
|
+
* - "text" - Simple text format, human-readable, with colors. {@link SimpleFormatterProvider}
|
|
164
|
+
* - "raw" - Raw format, no formatting, just the message. {@link RawFormatterProvider}
|
|
165
|
+
*/
|
|
166
|
+
LOG_FORMAT: _alepha_core0.TOptional<_sinclair_typebox0.TUnsafe<"json" | "text" | "raw">>;
|
|
167
|
+
}>;
|
|
168
|
+
declare module "alepha" {
|
|
169
|
+
interface Env extends Partial<Static<typeof envSchema>> {}
|
|
170
|
+
interface State {
|
|
171
|
+
logLevel?: string;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Minimalist logger module for Alepha.
|
|
176
|
+
*
|
|
177
|
+
* It offers a global logger interface (info, warn, ...) via the `$logger` descriptor.
|
|
178
|
+
*
|
|
179
|
+
* ```ts
|
|
180
|
+
* import { $logger } from "alepha/logger";
|
|
181
|
+
*
|
|
182
|
+
* class App {
|
|
183
|
+
* log = $logger();
|
|
184
|
+
* }
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* ### Formatting and Destinations
|
|
188
|
+
*
|
|
189
|
+
* `AlephaLogger` is **extensible**, destinations and formatters can be added or replaced.
|
|
190
|
+
*
|
|
191
|
+
* Default log destinations are:
|
|
192
|
+
* - ConsoleDestinationProvider: logs to the console.
|
|
193
|
+
* - MemoryDestinationProvider: stores logs in memory for later retrieval.
|
|
194
|
+
*
|
|
195
|
+
* Default log formatters are:
|
|
196
|
+
* - JsonFormatterProvider: formats logs as JSON.
|
|
197
|
+
* - SimpleFormatterProvider: formats logs as simple text (with colors when possible).
|
|
198
|
+
* - RawFormatterProvider: formats logs as raw text without any formatting.
|
|
199
|
+
*
|
|
200
|
+
* ### Log Level
|
|
201
|
+
*
|
|
202
|
+
* You can configure the log level and format via environment variables:
|
|
203
|
+
*
|
|
204
|
+
* - `LOG_LEVEL`: Sets the default log level for the application.
|
|
205
|
+
* - `LOG_FORMAT`: Sets the default log format for the application.
|
|
206
|
+
*
|
|
207
|
+
* ```bash
|
|
208
|
+
* LOG_LEVEL=debug LOG_FORMAT=json node src/index.ts
|
|
209
|
+
* ```
|
|
210
|
+
*
|
|
211
|
+
* Log level is also available in the state as `logLevel`, which can be used to dynamically change the log level at runtime.
|
|
212
|
+
* ```ts
|
|
213
|
+
* alepha.state("logLevel", "debug");
|
|
214
|
+
* ```
|
|
215
|
+
*
|
|
216
|
+
* Log level is $module aware, meaning you can set different log levels for different modules.
|
|
217
|
+
* For example, you can set `LOG_LEVEL=my.module.name:debug,info` to set the log level to debug for `my.module.name` and info for all other modules.
|
|
218
|
+
*/
|
|
219
|
+
declare const AlephaLogger: _alepha_core0.Service<_alepha_core0.Module>;
|
|
220
|
+
//#endregion
|
|
221
|
+
export { $logger, AlephaLogger, ConsoleColorProvider, ConsoleDestinationProvider, JsonFormatterProvider, LogDestinationProvider, LogEntry, LogFormatterProvider, Logger, LoggerDescriptorOptions, MemoryDestinationProvider, SimpleFormatterProvider };
|
|
222
|
+
//# sourceMappingURL=index.d.ts.map
|
package/logger.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@alepha/logger'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "alepha",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22.0.0"
|
|
@@ -15,50 +15,51 @@
|
|
|
15
15
|
"main": "./core.js",
|
|
16
16
|
"types": "./core.d.ts",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@alepha/batch": "0.9.
|
|
19
|
-
"@alepha/bucket": "0.9.
|
|
20
|
-
"@alepha/cache": "0.9.
|
|
21
|
-
"@alepha/cache-redis": "0.9.
|
|
22
|
-
"@alepha/command": "0.9.
|
|
23
|
-
"@alepha/core": "0.9.
|
|
24
|
-
"@alepha/datetime": "0.9.
|
|
25
|
-
"@alepha/file": "0.9.
|
|
26
|
-
"@alepha/lock": "0.9.
|
|
27
|
-
"@alepha/lock-redis": "0.9.
|
|
28
|
-
"@alepha/
|
|
29
|
-
"@alepha/
|
|
30
|
-
"@alepha/queue
|
|
31
|
-
"@alepha/
|
|
32
|
-
"@alepha/react
|
|
33
|
-
"@alepha/react-
|
|
34
|
-
"@alepha/react-
|
|
35
|
-
"@alepha/react-
|
|
36
|
-
"@alepha/
|
|
37
|
-
"@alepha/
|
|
38
|
-
"@alepha/
|
|
39
|
-
"@alepha/
|
|
40
|
-
"@alepha/
|
|
41
|
-
"@alepha/
|
|
42
|
-
"@alepha/server
|
|
43
|
-
"@alepha/server-
|
|
44
|
-
"@alepha/server-
|
|
45
|
-
"@alepha/server-
|
|
46
|
-
"@alepha/server-
|
|
47
|
-
"@alepha/server-
|
|
48
|
-
"@alepha/server-
|
|
49
|
-
"@alepha/server-
|
|
50
|
-
"@alepha/server-
|
|
51
|
-
"@alepha/server-
|
|
52
|
-
"@alepha/server-
|
|
53
|
-
"@alepha/server-
|
|
54
|
-
"@alepha/server-
|
|
55
|
-
"@alepha/
|
|
56
|
-
"@alepha/topic": "0.9.
|
|
57
|
-
"@alepha/topic-redis": "0.9.
|
|
58
|
-
"@alepha/vite": "0.9.
|
|
18
|
+
"@alepha/batch": "0.9.4",
|
|
19
|
+
"@alepha/bucket": "0.9.4",
|
|
20
|
+
"@alepha/cache": "0.9.4",
|
|
21
|
+
"@alepha/cache-redis": "0.9.4",
|
|
22
|
+
"@alepha/command": "0.9.4",
|
|
23
|
+
"@alepha/core": "0.9.4",
|
|
24
|
+
"@alepha/datetime": "0.9.4",
|
|
25
|
+
"@alepha/file": "0.9.4",
|
|
26
|
+
"@alepha/lock": "0.9.4",
|
|
27
|
+
"@alepha/lock-redis": "0.9.4",
|
|
28
|
+
"@alepha/logger": "0.9.4",
|
|
29
|
+
"@alepha/postgres": "0.9.4",
|
|
30
|
+
"@alepha/queue": "0.9.4",
|
|
31
|
+
"@alepha/queue-redis": "0.9.4",
|
|
32
|
+
"@alepha/react": "0.9.4",
|
|
33
|
+
"@alepha/react-auth": "0.9.4",
|
|
34
|
+
"@alepha/react-form": "0.9.4",
|
|
35
|
+
"@alepha/react-head": "0.9.4",
|
|
36
|
+
"@alepha/react-i18n": "0.9.4",
|
|
37
|
+
"@alepha/redis": "0.9.4",
|
|
38
|
+
"@alepha/retry": "0.9.4",
|
|
39
|
+
"@alepha/router": "0.9.4",
|
|
40
|
+
"@alepha/scheduler": "0.9.4",
|
|
41
|
+
"@alepha/security": "0.9.4",
|
|
42
|
+
"@alepha/server": "0.9.4",
|
|
43
|
+
"@alepha/server-cache": "0.9.4",
|
|
44
|
+
"@alepha/server-compress": "0.9.4",
|
|
45
|
+
"@alepha/server-cookies": "0.9.4",
|
|
46
|
+
"@alepha/server-cors": "0.9.4",
|
|
47
|
+
"@alepha/server-health": "0.9.4",
|
|
48
|
+
"@alepha/server-helmet": "0.9.4",
|
|
49
|
+
"@alepha/server-links": "0.9.4",
|
|
50
|
+
"@alepha/server-metrics": "0.9.4",
|
|
51
|
+
"@alepha/server-multipart": "0.9.4",
|
|
52
|
+
"@alepha/server-proxy": "0.9.4",
|
|
53
|
+
"@alepha/server-security": "0.9.4",
|
|
54
|
+
"@alepha/server-static": "0.9.4",
|
|
55
|
+
"@alepha/server-swagger": "0.9.4",
|
|
56
|
+
"@alepha/topic": "0.9.4",
|
|
57
|
+
"@alepha/topic-redis": "0.9.4",
|
|
58
|
+
"@alepha/vite": "0.9.4",
|
|
59
|
+
"react": "^19.1.1"
|
|
59
60
|
},
|
|
60
61
|
"devDependencies": {
|
|
61
|
-
"tsdown": "^0.
|
|
62
|
+
"tsdown": "^0.14.1"
|
|
62
63
|
},
|
|
63
64
|
"scripts": {
|
|
64
65
|
"build": "node build.ts"
|
|
@@ -124,6 +125,11 @@
|
|
|
124
125
|
"require": "./lock/redis.cjs",
|
|
125
126
|
"types": "./lock/redis.d.ts"
|
|
126
127
|
},
|
|
128
|
+
"./logger": {
|
|
129
|
+
"import": "./logger.js",
|
|
130
|
+
"require": "./logger.cjs",
|
|
131
|
+
"types": "./logger.d.ts"
|
|
132
|
+
},
|
|
127
133
|
"./postgres": {
|
|
128
134
|
"import": "./postgres.js",
|
|
129
135
|
"require": "./postgres.cjs",
|
|
@@ -259,11 +265,6 @@
|
|
|
259
265
|
"require": "./server/swagger.cjs",
|
|
260
266
|
"types": "./server/swagger.d.ts"
|
|
261
267
|
},
|
|
262
|
-
"./testing": {
|
|
263
|
-
"import": "./testing.js",
|
|
264
|
-
"require": "./testing.cjs",
|
|
265
|
-
"types": "./testing.d.ts"
|
|
266
|
-
},
|
|
267
268
|
"./topic": {
|
|
268
269
|
"import": "./topic.js",
|
|
269
270
|
"require": "./topic.cjs",
|
|
@@ -292,6 +293,7 @@
|
|
|
292
293
|
"file",
|
|
293
294
|
"lock",
|
|
294
295
|
"lock-redis",
|
|
296
|
+
"logger",
|
|
295
297
|
"postgres",
|
|
296
298
|
"queue",
|
|
297
299
|
"queue-redis",
|
|
@@ -319,7 +321,6 @@
|
|
|
319
321
|
"server-security",
|
|
320
322
|
"server-static",
|
|
321
323
|
"server-swagger",
|
|
322
|
-
"testing",
|
|
323
324
|
"topic",
|
|
324
325
|
"topic-redis",
|
|
325
326
|
"vite"
|