alepha 0.10.6 → 0.11.0
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/api/files.d.ts +336 -175
- package/api/jobs.d.ts +139 -195
- package/api/notifications.cjs +8 -0
- package/api/notifications.d.ts +264 -0
- package/api/notifications.js +1 -0
- package/api/users.d.ts +790 -261
- package/api/verifications.cjs +8 -0
- package/api/verifications.d.ts +1 -0
- package/api/verifications.js +1 -0
- package/batch.d.ts +1 -1
- package/bucket.d.ts +1 -195
- package/cache.d.ts +1 -1
- package/core.d.ts +301 -189
- package/datetime.d.ts +41 -10
- package/email.d.ts +41 -225
- package/logger.d.ts +19 -10
- package/package.json +70 -62
- package/postgres.d.ts +624 -1284
- package/react/auth.d.ts +1 -1
- package/react/form.d.ts +19 -8
- package/react/i18n.d.ts +8 -5
- package/react.d.ts +30 -10
- package/scheduler.d.ts +12 -2
- package/server/cache.d.ts +86 -11
- package/server/health.d.ts +31 -8
- package/server/multipart.d.ts +2 -2
- package/server/swagger.d.ts +6 -1
- package/server.d.ts +43 -29
- package/ui.cjs +8 -0
- package/ui.d.ts +619 -0
- package/ui.js +1 -0
- package/vite.d.ts +12 -5
package/datetime.d.ts
CHANGED
|
@@ -1,28 +1,45 @@
|
|
|
1
1
|
import * as _alepha_core1 from "alepha";
|
|
2
|
-
import { Alepha, Descriptor, KIND } from "alepha";
|
|
2
|
+
import { Alepha, Descriptor, KIND, TStringOptions } from "alepha";
|
|
3
3
|
import "dayjs/plugin/relativeTime.js";
|
|
4
4
|
import dayjsDuration from "dayjs/plugin/duration.js";
|
|
5
|
-
import
|
|
5
|
+
import "dayjs/plugin/utc.js";
|
|
6
|
+
import "dayjs/plugin/timezone.js";
|
|
7
|
+
import "dayjs/plugin/localizedFormat.js";
|
|
8
|
+
import "dayjs/locale/ar.js";
|
|
9
|
+
import "dayjs/locale/fr.js";
|
|
10
|
+
import DayjsApi, { Dayjs, ManipulateType, PluginFunc } from "dayjs";
|
|
11
|
+
import * as typebox0 from "typebox";
|
|
12
|
+
import * as dayjs_plugin_duration0 from "dayjs/plugin/duration";
|
|
6
13
|
|
|
14
|
+
//#region src/providers/DateTimeTypeProvider.d.ts
|
|
15
|
+
declare const datetime: (options?: TStringOptions) => typebox0.TCodec<typebox0.TString, DayjsApi.Dayjs>;
|
|
16
|
+
declare const date: (options?: TStringOptions) => typebox0.TCodec<typebox0.TString, DayjsApi.Dayjs>;
|
|
17
|
+
declare const time: (options?: TStringOptions) => typebox0.TCodec<typebox0.TString, DayjsApi.Dayjs>;
|
|
18
|
+
declare const duration: (options?: TStringOptions) => typebox0.TCodec<typebox0.TString, dayjs_plugin_duration0.Duration>;
|
|
19
|
+
declare const isDateTimeSchema: (schema: unknown) => schema is ReturnType<typeof datetime>;
|
|
20
|
+
declare const isDateSchema: (schema: unknown) => schema is ReturnType<typeof date>;
|
|
21
|
+
declare const isTimeSchema: (schema: unknown) => schema is ReturnType<typeof time>;
|
|
22
|
+
declare const isDurationSchema: (schema: unknown) => schema is ReturnType<typeof duration>;
|
|
23
|
+
//#endregion
|
|
7
24
|
//#region src/providers/DateTimeProvider.d.ts
|
|
8
25
|
type DateTimeApi = typeof dayjs;
|
|
9
|
-
type DateTime =
|
|
26
|
+
type DateTime = DayjsApi.Dayjs;
|
|
10
27
|
type Duration = dayjsDuration.Duration;
|
|
11
28
|
type DurationLike = number | dayjsDuration.Duration | [number, ManipulateType];
|
|
29
|
+
declare const dayjs: typeof DayjsApi;
|
|
12
30
|
declare class DateTimeProvider {
|
|
31
|
+
static PLUGINS: Array<PluginFunc<any>>;
|
|
13
32
|
protected alepha: Alepha;
|
|
14
33
|
protected ref: DateTime | null;
|
|
15
34
|
protected readonly timeouts: Timeout[];
|
|
16
35
|
protected readonly intervals: Interval[];
|
|
17
36
|
constructor();
|
|
37
|
+
protected readonly onStart: _alepha_core1.HookDescriptor<"start">;
|
|
38
|
+
protected readonly onStop: _alepha_core1.HookDescriptor<"stop">;
|
|
18
39
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* You can override this method to add custom plugins.
|
|
40
|
+
* Create a new UTC DateTime instance.
|
|
22
41
|
*/
|
|
23
|
-
|
|
24
|
-
protected readonly start: _alepha_core1.HookDescriptor<"start">;
|
|
25
|
-
protected readonly stop: _alepha_core1.HookDescriptor<"stop">;
|
|
42
|
+
utc(date: string | number | Date | Dayjs | null | undefined): DateTime;
|
|
26
43
|
/**
|
|
27
44
|
* Create a new DateTime instance.
|
|
28
45
|
*/
|
|
@@ -130,7 +147,21 @@ declare class IntervalDescriptor extends Descriptor<IntervalDescriptorOptions> {
|
|
|
130
147
|
}
|
|
131
148
|
//#endregion
|
|
132
149
|
//#region src/index.d.ts
|
|
150
|
+
declare module "alepha" {
|
|
151
|
+
interface TypeProvider {
|
|
152
|
+
datetime: typeof datetime;
|
|
153
|
+
date: typeof date;
|
|
154
|
+
time: typeof time;
|
|
155
|
+
duration: typeof duration;
|
|
156
|
+
}
|
|
157
|
+
interface TypeGuard {
|
|
158
|
+
isDateTime: typeof isDateTimeSchema;
|
|
159
|
+
isDate: typeof isDateSchema;
|
|
160
|
+
isTime: typeof isTimeSchema;
|
|
161
|
+
isDuration: typeof isDurationSchema;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
133
164
|
declare const AlephaDateTime: _alepha_core1.Service<_alepha_core1.Module<{}>>;
|
|
134
165
|
//#endregion
|
|
135
|
-
export { $interval, AlephaDateTime, DateTime, DateTimeApi, DateTimeProvider, Duration, DurationLike, Interval, IntervalDescriptor, IntervalDescriptorOptions, Timeout };
|
|
166
|
+
export { $interval, AlephaDateTime, DateTime, DateTimeApi, DateTimeProvider, Duration, DurationLike, Interval, IntervalDescriptor, IntervalDescriptorOptions, Timeout, date, datetime, dayjs, duration, isDateSchema, isDateTimeSchema, isDurationSchema, isTimeSchema, time };
|
|
136
167
|
//# sourceMappingURL=index.d.ts.map
|
package/email.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as _alepha_core1 from "alepha";
|
|
2
|
-
import { Descriptor, KIND, Service, Static, TSchema } from "alepha";
|
|
3
2
|
import * as _alepha_logger0 from "alepha/logger";
|
|
4
3
|
import { Transporter } from "nodemailer";
|
|
5
4
|
|
|
@@ -13,230 +12,15 @@ declare abstract class EmailProvider {
|
|
|
13
12
|
/**
|
|
14
13
|
* Send an email.
|
|
15
14
|
*
|
|
16
|
-
* @param to The recipient email address.
|
|
17
|
-
* @param subject The email subject.
|
|
18
|
-
* @param body The email body (HTML content).
|
|
19
|
-
*
|
|
20
15
|
* @return Promise that resolves when the email is sent.
|
|
21
16
|
*/
|
|
22
|
-
abstract send(
|
|
17
|
+
abstract send(options: EmailSendOptions): Promise<void>;
|
|
23
18
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
interface EmailRecord {
|
|
27
|
-
to: string;
|
|
19
|
+
type EmailSendOptions = {
|
|
20
|
+
to: string | string[];
|
|
28
21
|
subject: string;
|
|
29
22
|
body: string;
|
|
30
|
-
sentAt: Date;
|
|
31
|
-
}
|
|
32
|
-
declare class MemoryEmailProvider implements EmailProvider {
|
|
33
|
-
protected readonly log: _alepha_logger0.Logger;
|
|
34
|
-
protected emails: EmailRecord[];
|
|
35
|
-
send(to: string, subject: string, body: string): Promise<void>;
|
|
36
|
-
/**
|
|
37
|
-
* Get all emails sent through this provider (for testing purposes).
|
|
38
|
-
*/
|
|
39
|
-
getEmails(): EmailRecord[];
|
|
40
|
-
/**
|
|
41
|
-
* Clear all stored emails (for testing purposes).
|
|
42
|
-
*/
|
|
43
|
-
clearEmails(): void;
|
|
44
|
-
/**
|
|
45
|
-
* Get the last email sent (for testing purposes).
|
|
46
|
-
*/
|
|
47
|
-
getLastEmail(): EmailRecord | undefined;
|
|
48
|
-
}
|
|
49
|
-
//#endregion
|
|
50
|
-
//#region src/services/TemplateService.d.ts
|
|
51
|
-
/**
|
|
52
|
-
* Minimal template service with Handlebars-like syntax for email templating.
|
|
53
|
-
* Supports simple variable substitution with {{variableName}} syntax.
|
|
54
|
-
*/
|
|
55
|
-
declare class TemplateService {
|
|
56
|
-
/**
|
|
57
|
-
* Compile a template string with the provided values.
|
|
58
|
-
*
|
|
59
|
-
* @param template Template string with {{variableName}} placeholders
|
|
60
|
-
* @param values Object containing values to substitute
|
|
61
|
-
* @returns Compiled template string with values substituted
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* ```ts
|
|
65
|
-
* const service = new TemplateService();
|
|
66
|
-
* const result = service.compile("Hello {{name}}!", { name: "John" });
|
|
67
|
-
* // Result: "Hello John!"
|
|
68
|
-
* ```
|
|
69
|
-
*/
|
|
70
|
-
compile(template: string, values: Record<string, unknown>): string;
|
|
71
|
-
/**
|
|
72
|
-
* Validate that all required template variables are provided.
|
|
73
|
-
*
|
|
74
|
-
* @param template Template string
|
|
75
|
-
* @param values Values object
|
|
76
|
-
* @returns Array of missing variable names
|
|
77
|
-
*/
|
|
78
|
-
validateTemplate(template: string, values: Record<string, unknown>): string[];
|
|
79
|
-
/**
|
|
80
|
-
* Extract all variable names from a template.
|
|
81
|
-
*
|
|
82
|
-
* @param template Template string
|
|
83
|
-
* @returns Array of variable names found in the template
|
|
84
|
-
*/
|
|
85
|
-
extractVariables(template: string): string[];
|
|
86
|
-
}
|
|
87
|
-
//#endregion
|
|
88
|
-
//#region src/descriptors/$email.d.ts
|
|
89
|
-
/**
|
|
90
|
-
* Creates an email descriptor for sending type-safe templated emails.
|
|
91
|
-
*
|
|
92
|
-
* The $email descriptor provides a powerful templating system for creating and sending emails
|
|
93
|
-
* with full type safety and validation. It supports multiple email providers, template variable
|
|
94
|
-
* validation, and automatic HTML rendering.
|
|
95
|
-
*
|
|
96
|
-
* **Template Engine**
|
|
97
|
-
* - Simple {{variable}} syntax for dynamic content
|
|
98
|
-
* - Automatic template variable validation at runtime
|
|
99
|
-
* - Support for nested object properties in templates
|
|
100
|
-
* - HTML email support with rich formatting
|
|
101
|
-
*
|
|
102
|
-
* **Type Safety**
|
|
103
|
-
* - Full TypeScript support with schema validation using TypeBox
|
|
104
|
-
* - Compile-time type checking for template variables
|
|
105
|
-
* - Runtime validation of email data before sending
|
|
106
|
-
* - Automatic type inference from schema definitions
|
|
107
|
-
*
|
|
108
|
-
* **Provider Flexibility**
|
|
109
|
-
* - Memory provider for development and testing
|
|
110
|
-
* - Support for SMTP, SendGrid, AWS SES, and other providers
|
|
111
|
-
* - Custom provider implementation for specialized services
|
|
112
|
-
* - Automatic fallback and error handling
|
|
113
|
-
*
|
|
114
|
-
* **Template Management**
|
|
115
|
-
* - Reusable email templates across your application
|
|
116
|
-
* - Centralized template configuration and maintenance
|
|
117
|
-
* - Template variable documentation through schemas
|
|
118
|
-
* - Easy testing and preview capabilities
|
|
119
|
-
*
|
|
120
|
-
* **Development Experience**
|
|
121
|
-
* - Clear error messages for missing template variables
|
|
122
|
-
* - Comprehensive logging for debugging email delivery
|
|
123
|
-
* - Memory provider captures emails for testing
|
|
124
|
-
* - Template validation before sending
|
|
125
|
-
*
|
|
126
|
-
* @example Welcome email template
|
|
127
|
-
* ```typescript
|
|
128
|
-
* const welcomeEmail = $email({
|
|
129
|
-
* subject: "Welcome to {{companyName}}, {{firstName}}!",
|
|
130
|
-
* body: `
|
|
131
|
-
* <h1>Welcome {{firstName}} {{lastName}}!</h1>
|
|
132
|
-
* <p>Thank you for joining {{companyName}}.</p>
|
|
133
|
-
* <p>Your account role is: <strong>{{role}}</strong></p>
|
|
134
|
-
* <p>Get started by visiting your <a href="{{dashboardUrl}}">dashboard</a>.</p>
|
|
135
|
-
* `,
|
|
136
|
-
* schema: t.object({
|
|
137
|
-
* firstName: t.text(),
|
|
138
|
-
* lastName: t.text(),
|
|
139
|
-
* companyName: t.text(),
|
|
140
|
-
* role: t.enum(["admin", "user", "manager"]),
|
|
141
|
-
* dashboardUrl: t.text()
|
|
142
|
-
* })
|
|
143
|
-
* });
|
|
144
|
-
*
|
|
145
|
-
* // Send with full type safety
|
|
146
|
-
* await welcomeEmail.send("user@example.com", {
|
|
147
|
-
* firstName: "John",
|
|
148
|
-
* lastName: "Doe",
|
|
149
|
-
* companyName: "Acme Corp",
|
|
150
|
-
* role: "user",
|
|
151
|
-
* dashboardUrl: "https://app.acme.com/dashboard"
|
|
152
|
-
* });
|
|
153
|
-
* ```
|
|
154
|
-
*
|
|
155
|
-
* @example Order confirmation email
|
|
156
|
-
* ```typescript
|
|
157
|
-
* const orderConfirmation = $email({
|
|
158
|
-
* subject: "Order #{{orderNumber}} confirmed - {{totalAmount}}",
|
|
159
|
-
* body: `
|
|
160
|
-
* <h1>Order Confirmed!</h1>
|
|
161
|
-
* <p>Hi {{customerName}},</p>
|
|
162
|
-
* <p>Your order #{{orderNumber}} has been confirmed.</p>
|
|
163
|
-
* <h2>Order Details:</h2>
|
|
164
|
-
* <p><strong>Total: {{totalAmount}}</strong></p>
|
|
165
|
-
* <p>Estimated delivery: {{deliveryDate}}</p>
|
|
166
|
-
* `,
|
|
167
|
-
* schema: t.object({
|
|
168
|
-
* customerName: t.text(),
|
|
169
|
-
* orderNumber: t.text(),
|
|
170
|
-
* totalAmount: t.text(),
|
|
171
|
-
* deliveryDate: t.text()
|
|
172
|
-
* })
|
|
173
|
-
* });
|
|
174
|
-
* ```
|
|
175
|
-
*
|
|
176
|
-
* @example Development with memory provider
|
|
177
|
-
* ```typescript
|
|
178
|
-
* const testEmail = $email({
|
|
179
|
-
* subject: "Test: {{subject}}",
|
|
180
|
-
* body: "<p>{{message}}</p>",
|
|
181
|
-
* provider: "memory", // Captures emails for testing
|
|
182
|
-
* schema: t.object({
|
|
183
|
-
* subject: t.text(),
|
|
184
|
-
* message: t.text()
|
|
185
|
-
* })
|
|
186
|
-
* });
|
|
187
|
-
*
|
|
188
|
-
* // In tests - emails are captured, not actually sent
|
|
189
|
-
* await testEmail.send("test@example.com", {
|
|
190
|
-
* subject: "Unit Test",
|
|
191
|
-
* message: "This email was captured for testing"
|
|
192
|
-
* });
|
|
193
|
-
* ```
|
|
194
|
-
*/
|
|
195
|
-
declare const $email: {
|
|
196
|
-
<T extends TSchema>(options: EmailDescriptorOptions<T>): EmailDescriptor<T>;
|
|
197
|
-
[KIND]: typeof EmailDescriptor;
|
|
198
23
|
};
|
|
199
|
-
interface EmailDescriptorOptions<T extends TSchema> {
|
|
200
|
-
/**
|
|
201
|
-
* Email subject template. Supports {{variableName}} syntax.
|
|
202
|
-
*/
|
|
203
|
-
subject: string;
|
|
204
|
-
/**
|
|
205
|
-
* Email body template (HTML content). Supports {{variableName}} syntax.
|
|
206
|
-
*/
|
|
207
|
-
body: string;
|
|
208
|
-
/**
|
|
209
|
-
* Schema defining the structure of template variables.
|
|
210
|
-
*/
|
|
211
|
-
schema: T;
|
|
212
|
-
/**
|
|
213
|
-
* Optional name of the email template.
|
|
214
|
-
* @default Descriptor key
|
|
215
|
-
*/
|
|
216
|
-
name?: string;
|
|
217
|
-
/**
|
|
218
|
-
* Optional description of the email template.
|
|
219
|
-
*/
|
|
220
|
-
description?: string;
|
|
221
|
-
/**
|
|
222
|
-
* Email provider to use. If not provided, the default provider will be used.
|
|
223
|
-
*/
|
|
224
|
-
provider?: Service<EmailProvider> | "memory";
|
|
225
|
-
}
|
|
226
|
-
declare class EmailDescriptor<T extends TSchema> extends Descriptor<EmailDescriptorOptions<T>> {
|
|
227
|
-
protected readonly log: _alepha_logger0.Logger;
|
|
228
|
-
protected readonly templateService: TemplateService;
|
|
229
|
-
readonly provider: EmailProvider | MemoryEmailProvider;
|
|
230
|
-
get name(): string;
|
|
231
|
-
/**
|
|
232
|
-
* Send an email using the template with the provided values.
|
|
233
|
-
*
|
|
234
|
-
* @param to Recipient email address
|
|
235
|
-
* @param values Template variable values
|
|
236
|
-
*/
|
|
237
|
-
send(to: string, values: Static<T>): Promise<void>;
|
|
238
|
-
protected $provider(): EmailProvider | MemoryEmailProvider;
|
|
239
|
-
}
|
|
240
24
|
//#endregion
|
|
241
25
|
//#region src/errors/EmailError.d.ts
|
|
242
26
|
declare class EmailError extends Error {
|
|
@@ -247,7 +31,7 @@ declare class EmailError extends Error {
|
|
|
247
31
|
interface LocalEmailProviderOptions {
|
|
248
32
|
/**
|
|
249
33
|
* Directory to save email files.
|
|
250
|
-
* @default "email" (relative to project root)
|
|
34
|
+
* @default "node_modules/.email" (relative to project root)
|
|
251
35
|
*/
|
|
252
36
|
directory?: string;
|
|
253
37
|
}
|
|
@@ -255,9 +39,30 @@ declare class LocalEmailProvider implements EmailProvider {
|
|
|
255
39
|
protected readonly log: _alepha_logger0.Logger;
|
|
256
40
|
protected readonly directory: string;
|
|
257
41
|
constructor(options?: LocalEmailProviderOptions);
|
|
258
|
-
send(
|
|
259
|
-
|
|
260
|
-
|
|
42
|
+
send(options: EmailSendOptions): Promise<void>;
|
|
43
|
+
createEmailHtml(options: {
|
|
44
|
+
to: string;
|
|
45
|
+
subject: string;
|
|
46
|
+
body: string;
|
|
47
|
+
}): string;
|
|
48
|
+
escapeHtml(text: string): string;
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/providers/MemoryEmailProvider.d.ts
|
|
52
|
+
interface EmailRecord {
|
|
53
|
+
to: string;
|
|
54
|
+
subject: string;
|
|
55
|
+
body: string;
|
|
56
|
+
sentAt: Date;
|
|
57
|
+
}
|
|
58
|
+
declare class MemoryEmailProvider implements EmailProvider {
|
|
59
|
+
protected readonly log: _alepha_logger0.Logger;
|
|
60
|
+
records: EmailRecord[];
|
|
61
|
+
send(options: EmailSendOptions): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Get the last email sent (for testing purposes).
|
|
64
|
+
*/
|
|
65
|
+
get last(): EmailRecord | undefined;
|
|
261
66
|
}
|
|
262
67
|
//#endregion
|
|
263
68
|
//#region src/providers/NodemailerEmailProvider.d.ts
|
|
@@ -297,7 +102,7 @@ declare class NodemailerEmailProvider implements EmailProvider {
|
|
|
297
102
|
protected fromAddress: string;
|
|
298
103
|
readonly options: NodemailerEmailProviderOptions;
|
|
299
104
|
constructor();
|
|
300
|
-
send(
|
|
105
|
+
send(options: EmailSendOptions): Promise<void>;
|
|
301
106
|
protected createTransporter(): Transporter;
|
|
302
107
|
/**
|
|
303
108
|
* Verify the connection to the email server.
|
|
@@ -312,6 +117,17 @@ declare class NodemailerEmailProvider implements EmailProvider {
|
|
|
312
117
|
}
|
|
313
118
|
//#endregion
|
|
314
119
|
//#region src/index.d.ts
|
|
120
|
+
declare module "alepha" {
|
|
121
|
+
interface Hooks {
|
|
122
|
+
"email:sending": {
|
|
123
|
+
to: string | string[];
|
|
124
|
+
template: string;
|
|
125
|
+
variables: Record<string, unknown>;
|
|
126
|
+
provider: EmailProvider;
|
|
127
|
+
abort(): void;
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
315
131
|
/**
|
|
316
132
|
* Provides email sending capabilities for Alepha applications with multiple provider backends.
|
|
317
133
|
*
|
|
@@ -324,5 +140,5 @@ declare class NodemailerEmailProvider implements EmailProvider {
|
|
|
324
140
|
*/
|
|
325
141
|
declare const AlephaEmail: _alepha_core1.Service<_alepha_core1.Module<{}>>;
|
|
326
142
|
//#endregion
|
|
327
|
-
export {
|
|
143
|
+
export { AlephaEmail, EmailError, EmailProvider, EmailRecord, EmailSendOptions, LocalEmailProvider, LocalEmailProviderOptions, MemoryEmailProvider, NodemailerEmailProvider, NodemailerEmailProviderOptions };
|
|
328
144
|
//# sourceMappingURL=index.d.ts.map
|
package/logger.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as _alepha_core0 from "alepha";
|
|
2
2
|
import { Alepha, KIND, LogLevel, LoggerInterface, Static } from "alepha";
|
|
3
|
-
import { DateTimeProvider } from "alepha/datetime";
|
|
3
|
+
import { DateTime, DateTimeProvider } from "alepha/datetime";
|
|
4
4
|
import * as typebox0 from "typebox";
|
|
5
|
+
import * as dayjs0 from "dayjs";
|
|
5
6
|
|
|
6
7
|
//#region src/schemas/logEntrySchema.d.ts
|
|
7
8
|
declare const logEntrySchema: typebox0.TObject<{
|
|
@@ -12,7 +13,7 @@ declare const logEntrySchema: typebox0.TObject<{
|
|
|
12
13
|
context: typebox0.TOptional<typebox0.TString>;
|
|
13
14
|
app: typebox0.TOptional<typebox0.TString>;
|
|
14
15
|
data: typebox0.TOptional<typebox0.TAny>;
|
|
15
|
-
timestamp: typebox0.TString
|
|
16
|
+
timestamp: typebox0.TCodec<typebox0.TString, dayjs0.Dayjs>;
|
|
16
17
|
}>;
|
|
17
18
|
type LogEntry = Static<typeof logEntrySchema>;
|
|
18
19
|
//#endregion
|
|
@@ -84,14 +85,19 @@ interface LoggerDescriptorOptions {
|
|
|
84
85
|
declare class ConsoleColorProvider {
|
|
85
86
|
static readonly COLORS: {
|
|
86
87
|
RESET: string;
|
|
87
|
-
|
|
88
|
+
BLACK: string;
|
|
88
89
|
RED: string;
|
|
89
|
-
ORANGE: string;
|
|
90
90
|
GREEN: string;
|
|
91
|
+
ORANGE: string;
|
|
91
92
|
BLUE: string;
|
|
92
|
-
|
|
93
|
+
PURPLE: string;
|
|
93
94
|
CYAN: string;
|
|
94
|
-
|
|
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;
|
|
95
101
|
SILENT: string;
|
|
96
102
|
ERROR: string;
|
|
97
103
|
WARN: string;
|
|
@@ -138,7 +144,7 @@ declare class MemoryDestinationProvider extends LogDestinationProvider {
|
|
|
138
144
|
message: string;
|
|
139
145
|
service: string;
|
|
140
146
|
module: string;
|
|
141
|
-
timestamp:
|
|
147
|
+
timestamp: dayjs0.Dayjs;
|
|
142
148
|
} & {
|
|
143
149
|
formatted: string;
|
|
144
150
|
})[];
|
|
@@ -150,9 +156,13 @@ declare class SimpleFormatterProvider extends LogFormatterProvider {
|
|
|
150
156
|
protected color: ConsoleColorProvider;
|
|
151
157
|
protected alepha: Alepha;
|
|
152
158
|
format(entry: LogEntry): string;
|
|
153
|
-
formatTimestamp(iso:
|
|
159
|
+
formatTimestamp(iso: DateTime): string;
|
|
154
160
|
protected pad2: (n: number) => string;
|
|
155
161
|
protected pad3: (n: number) => string;
|
|
162
|
+
/**
|
|
163
|
+
* Avoid to display the whole UUID in development mode
|
|
164
|
+
*/
|
|
165
|
+
protected formatContext(context: string): string;
|
|
156
166
|
protected formatError(error: Error): string;
|
|
157
167
|
}
|
|
158
168
|
//#endregion
|
|
@@ -254,7 +264,7 @@ declare const envSchema: _alepha_core0.TObject<{
|
|
|
254
264
|
* - "text" - Simple text format, human-readable, with colors. {@link SimpleFormatterProvider}
|
|
255
265
|
* - "raw" - Raw format, no formatting, just the message. {@link RawFormatterProvider}
|
|
256
266
|
*/
|
|
257
|
-
LOG_FORMAT: _alepha_core0.TOptional<
|
|
267
|
+
LOG_FORMAT: _alepha_core0.TOptional<_alepha_core0.TUnsafe<"json" | "text" | "raw">>;
|
|
258
268
|
}>;
|
|
259
269
|
declare module "alepha" {
|
|
260
270
|
interface Env extends Partial<Static<typeof envSchema>> {}
|
|
@@ -269,7 +279,6 @@ declare module "alepha" {
|
|
|
269
279
|
}
|
|
270
280
|
}
|
|
271
281
|
//# sourceMappingURL=index.d.ts.map
|
|
272
|
-
|
|
273
282
|
//#endregion
|
|
274
283
|
export { $logger, AlephaLogger, ConsoleColorProvider, ConsoleDestinationProvider, JsonFormatterProvider, LogDestinationProvider, LogEntry, LogFormatterProvider, Logger, LoggerDescriptorOptions, MemoryDestinationProvider, SimpleFormatterProvider, logEntrySchema };
|
|
275
284
|
//# sourceMappingURL=index.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "alepha",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22.0.0"
|
|
@@ -15,55 +15,57 @@
|
|
|
15
15
|
"main": "./core.js",
|
|
16
16
|
"types": "./core.d.ts",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@alepha/api-files": "0.
|
|
19
|
-
"@alepha/api-jobs": "0.
|
|
20
|
-
"@alepha/api-
|
|
21
|
-
"@alepha/
|
|
22
|
-
"@alepha/
|
|
23
|
-
"@alepha/
|
|
24
|
-
"@alepha/
|
|
25
|
-
"@alepha/
|
|
26
|
-
"@alepha/
|
|
27
|
-
"@alepha/
|
|
28
|
-
"@alepha/
|
|
29
|
-
"@alepha/
|
|
30
|
-
"@alepha/
|
|
31
|
-
"@alepha/
|
|
32
|
-
"@alepha/
|
|
33
|
-
"@alepha/
|
|
34
|
-
"@alepha/
|
|
35
|
-
"@alepha/
|
|
36
|
-
"@alepha/
|
|
37
|
-
"@alepha/
|
|
38
|
-
"@alepha/
|
|
39
|
-
"@alepha/react
|
|
40
|
-
"@alepha/react-
|
|
41
|
-
"@alepha/react-
|
|
42
|
-
"@alepha/
|
|
43
|
-
"@alepha/
|
|
44
|
-
"@alepha/
|
|
45
|
-
"@alepha/
|
|
46
|
-
"@alepha/
|
|
47
|
-
"@alepha/
|
|
48
|
-
"@alepha/
|
|
49
|
-
"@alepha/server
|
|
50
|
-
"@alepha/server-
|
|
51
|
-
"@alepha/server-
|
|
52
|
-
"@alepha/server-
|
|
53
|
-
"@alepha/server-
|
|
54
|
-
"@alepha/server-
|
|
55
|
-
"@alepha/server-
|
|
56
|
-
"@alepha/server-
|
|
57
|
-
"@alepha/server-
|
|
58
|
-
"@alepha/server-
|
|
59
|
-
"@alepha/server-
|
|
60
|
-
"@alepha/server-
|
|
61
|
-
"@alepha/
|
|
62
|
-
"@alepha/
|
|
63
|
-
"@alepha/
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
"
|
|
18
|
+
"@alepha/api-files": "0.11.0",
|
|
19
|
+
"@alepha/api-jobs": "0.11.0",
|
|
20
|
+
"@alepha/api-notifications": "0.11.0",
|
|
21
|
+
"@alepha/api-users": "0.11.0",
|
|
22
|
+
"@alepha/api-verifications": "0.11.0",
|
|
23
|
+
"@alepha/batch": "0.11.0",
|
|
24
|
+
"@alepha/bucket": "0.11.0",
|
|
25
|
+
"@alepha/cache": "0.11.0",
|
|
26
|
+
"@alepha/cache-redis": "0.11.0",
|
|
27
|
+
"@alepha/command": "0.11.0",
|
|
28
|
+
"@alepha/core": "0.11.0",
|
|
29
|
+
"@alepha/datetime": "0.11.0",
|
|
30
|
+
"@alepha/devtools": "0.11.0",
|
|
31
|
+
"@alepha/email": "0.11.0",
|
|
32
|
+
"@alepha/file": "0.11.0",
|
|
33
|
+
"@alepha/lock": "0.11.0",
|
|
34
|
+
"@alepha/lock-redis": "0.11.0",
|
|
35
|
+
"@alepha/logger": "0.11.0",
|
|
36
|
+
"@alepha/postgres": "0.11.0",
|
|
37
|
+
"@alepha/queue": "0.11.0",
|
|
38
|
+
"@alepha/queue-redis": "0.11.0",
|
|
39
|
+
"@alepha/react": "0.11.0",
|
|
40
|
+
"@alepha/react-auth": "0.11.0",
|
|
41
|
+
"@alepha/react-form": "0.11.0",
|
|
42
|
+
"@alepha/react-head": "0.11.0",
|
|
43
|
+
"@alepha/react-i18n": "0.11.0",
|
|
44
|
+
"@alepha/redis": "0.11.0",
|
|
45
|
+
"@alepha/retry": "0.11.0",
|
|
46
|
+
"@alepha/router": "0.11.0",
|
|
47
|
+
"@alepha/scheduler": "0.11.0",
|
|
48
|
+
"@alepha/security": "0.11.0",
|
|
49
|
+
"@alepha/server": "0.11.0",
|
|
50
|
+
"@alepha/server-cache": "0.11.0",
|
|
51
|
+
"@alepha/server-compress": "0.11.0",
|
|
52
|
+
"@alepha/server-cookies": "0.11.0",
|
|
53
|
+
"@alepha/server-cors": "0.11.0",
|
|
54
|
+
"@alepha/server-health": "0.11.0",
|
|
55
|
+
"@alepha/server-helmet": "0.11.0",
|
|
56
|
+
"@alepha/server-links": "0.11.0",
|
|
57
|
+
"@alepha/server-metrics": "0.11.0",
|
|
58
|
+
"@alepha/server-multipart": "0.11.0",
|
|
59
|
+
"@alepha/server-proxy": "0.11.0",
|
|
60
|
+
"@alepha/server-security": "0.11.0",
|
|
61
|
+
"@alepha/server-static": "0.11.0",
|
|
62
|
+
"@alepha/server-swagger": "0.11.0",
|
|
63
|
+
"@alepha/topic": "0.11.0",
|
|
64
|
+
"@alepha/topic-redis": "0.11.0",
|
|
65
|
+
"@alepha/ui": "0.11.0",
|
|
66
|
+
"@alepha/vite": "0.11.0",
|
|
67
|
+
"react": "^19.2.0",
|
|
68
|
+
"react-dom": "^19.2.0"
|
|
67
69
|
},
|
|
68
70
|
"scripts": {
|
|
69
71
|
"build": "node build.ts"
|
|
@@ -73,18 +75,6 @@
|
|
|
73
75
|
"**/*.cjs",
|
|
74
76
|
"**/*.d.ts"
|
|
75
77
|
],
|
|
76
|
-
"peerDependencies": {
|
|
77
|
-
"react": "*",
|
|
78
|
-
"react-dom": "*"
|
|
79
|
-
},
|
|
80
|
-
"peerDependenciesMeta": {
|
|
81
|
-
"react": {
|
|
82
|
-
"optional": true
|
|
83
|
-
},
|
|
84
|
-
"react-dom": {
|
|
85
|
-
"optional": true
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
78
|
"exports": {
|
|
89
79
|
".": {
|
|
90
80
|
"import": "./core.js",
|
|
@@ -101,11 +91,21 @@
|
|
|
101
91
|
"require": "./api/jobs.cjs",
|
|
102
92
|
"types": "./api/jobs.d.ts"
|
|
103
93
|
},
|
|
94
|
+
"./api/notifications": {
|
|
95
|
+
"import": "./api/notifications.js",
|
|
96
|
+
"require": "./api/notifications.cjs",
|
|
97
|
+
"types": "./api/notifications.d.ts"
|
|
98
|
+
},
|
|
104
99
|
"./api/users": {
|
|
105
100
|
"import": "./api/users.js",
|
|
106
101
|
"require": "./api/users.cjs",
|
|
107
102
|
"types": "./api/users.d.ts"
|
|
108
103
|
},
|
|
104
|
+
"./api/verifications": {
|
|
105
|
+
"import": "./api/verifications.js",
|
|
106
|
+
"require": "./api/verifications.cjs",
|
|
107
|
+
"types": "./api/verifications.d.ts"
|
|
108
|
+
},
|
|
109
109
|
"./batch": {
|
|
110
110
|
"import": "./batch.js",
|
|
111
111
|
"require": "./batch.cjs",
|
|
@@ -316,6 +316,11 @@
|
|
|
316
316
|
"require": "./topic/redis.cjs",
|
|
317
317
|
"types": "./topic/redis.d.ts"
|
|
318
318
|
},
|
|
319
|
+
"./ui": {
|
|
320
|
+
"import": "./ui.js",
|
|
321
|
+
"require": "./ui.cjs",
|
|
322
|
+
"types": "./ui.d.ts"
|
|
323
|
+
},
|
|
319
324
|
"./vite": {
|
|
320
325
|
"import": "./vite.js",
|
|
321
326
|
"require": "./vite.cjs",
|
|
@@ -326,7 +331,9 @@
|
|
|
326
331
|
"alepha",
|
|
327
332
|
"api-files",
|
|
328
333
|
"api-jobs",
|
|
334
|
+
"api-notifications",
|
|
329
335
|
"api-users",
|
|
336
|
+
"api-verifications",
|
|
330
337
|
"batch",
|
|
331
338
|
"bucket",
|
|
332
339
|
"cache",
|
|
@@ -369,6 +376,7 @@
|
|
|
369
376
|
"server-swagger",
|
|
370
377
|
"topic",
|
|
371
378
|
"topic-redis",
|
|
379
|
+
"ui",
|
|
372
380
|
"vite"
|
|
373
381
|
]
|
|
374
382
|
}
|