alepha 0.15.4 → 0.15.5
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 +26 -11
- package/dist/api/audits/index.d.ts +3 -3
- package/dist/api/audits/index.js +3 -3
- package/dist/api/audits/index.js.map +1 -1
- package/dist/api/files/index.d.ts +3 -3
- package/dist/api/files/index.js +3 -3
- package/dist/api/files/index.js.map +1 -1
- package/dist/api/jobs/index.d.ts +47 -4
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/jobs/index.js +100 -5
- package/dist/api/jobs/index.js.map +1 -1
- package/dist/api/keys/index.d.ts +3 -3
- package/dist/api/keys/index.js +3 -3
- package/dist/api/keys/index.js.map +1 -1
- package/dist/api/notifications/index.d.ts +3 -3
- package/dist/api/notifications/index.js +3 -3
- package/dist/api/notifications/index.js.map +1 -1
- package/dist/api/parameters/index.d.ts +263 -263
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/parameters/index.js +31 -30
- package/dist/api/parameters/index.js.map +1 -1
- package/dist/api/users/index.d.ts +373 -67
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +273 -72
- package/dist/api/users/index.js.map +1 -1
- package/dist/api/verifications/index.d.ts +3 -3
- package/dist/api/verifications/index.js +3 -3
- package/dist/api/verifications/index.js.map +1 -1
- package/dist/batch/index.d.ts +7 -7
- package/dist/batch/index.js +3 -3
- package/dist/batch/index.js.map +1 -1
- package/dist/bucket/index.d.ts +3 -3
- package/dist/bucket/index.js +6 -6
- package/dist/bucket/index.js.map +1 -1
- package/dist/cache/core/index.d.ts +3 -3
- package/dist/cache/core/index.js +3 -3
- package/dist/cache/core/index.js.map +1 -1
- package/dist/cli/index.d.ts +5607 -20
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +103 -89
- package/dist/cli/index.js.map +1 -1
- package/dist/command/index.d.ts +11 -4
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +8 -6
- package/dist/command/index.js.map +1 -1
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +4 -8
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js.map +1 -1
- package/dist/datetime/index.d.ts +3 -3
- package/dist/datetime/index.js +3 -3
- package/dist/datetime/index.js.map +1 -1
- package/dist/email/index.d.ts +3 -3
- package/dist/email/index.js +8 -8
- package/dist/email/index.js.map +1 -1
- package/dist/fake/index.d.ts +3 -3
- package/dist/fake/index.js +3 -3
- package/dist/fake/index.js.map +1 -1
- package/dist/lock/core/index.d.ts +3 -3
- package/dist/lock/core/index.js +3 -3
- package/dist/lock/core/index.js.map +1 -1
- package/dist/logger/index.d.ts +3 -3
- package/dist/logger/index.js +6 -3
- package/dist/logger/index.js.map +1 -1
- package/dist/mcp/index.d.ts +3 -3
- package/dist/mcp/index.js +3 -3
- package/dist/mcp/index.js.map +1 -1
- package/dist/orm/index.d.ts +12 -12
- package/dist/orm/index.js +4 -4
- package/dist/orm/index.js.map +1 -1
- package/dist/queue/core/index.d.ts +3 -3
- package/dist/queue/core/index.js +3 -3
- package/dist/queue/core/index.js.map +1 -1
- package/dist/react/auth/index.d.ts +3 -3
- package/dist/react/auth/index.js +3 -3
- package/dist/react/auth/index.js.map +1 -1
- package/dist/react/core/index.d.ts +3 -3
- package/dist/react/core/index.js +3 -3
- package/dist/react/core/index.js.map +1 -1
- package/dist/react/form/index.d.ts +3 -3
- package/dist/react/form/index.js +3 -3
- package/dist/react/form/index.js.map +1 -1
- package/dist/react/head/index.d.ts +3 -3
- package/dist/react/head/index.js +3 -3
- package/dist/react/head/index.js.map +1 -1
- package/dist/react/i18n/index.d.ts +3 -3
- package/dist/react/i18n/index.js +3 -3
- package/dist/react/i18n/index.js.map +1 -1
- package/dist/react/intro/index.css +337 -0
- package/dist/react/intro/index.css.map +1 -0
- package/dist/react/intro/index.d.ts +10 -0
- package/dist/react/intro/index.d.ts.map +1 -0
- package/dist/react/intro/index.js +222 -0
- package/dist/react/intro/index.js.map +1 -0
- package/dist/react/router/index.browser.js +2 -2
- package/dist/react/router/index.browser.js.map +1 -1
- package/dist/react/router/index.d.ts +1 -1
- package/dist/react/router/index.d.ts.map +1 -1
- package/dist/react/router/index.js +5 -5
- package/dist/react/router/index.js.map +1 -1
- package/dist/redis/index.d.ts +17 -17
- package/dist/redis/index.js +3 -3
- package/dist/redis/index.js.map +1 -1
- package/dist/retry/index.d.ts +3 -3
- package/dist/retry/index.js +3 -3
- package/dist/retry/index.js.map +1 -1
- package/dist/scheduler/index.d.ts +3 -3
- package/dist/scheduler/index.js +3 -3
- package/dist/scheduler/index.js.map +1 -1
- package/dist/security/index.d.ts +3 -3
- package/dist/security/index.js +5 -5
- package/dist/security/index.js.map +1 -1
- package/dist/server/auth/index.d.ts +3 -3
- package/dist/server/auth/index.js +3 -3
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/cache/index.d.ts +3 -3
- package/dist/server/cache/index.js +3 -3
- package/dist/server/cache/index.js.map +1 -1
- package/dist/server/compress/index.d.ts +3 -3
- package/dist/server/compress/index.js +3 -3
- package/dist/server/compress/index.js.map +1 -1
- package/dist/server/cookies/index.d.ts +3 -3
- package/dist/server/cookies/index.js +3 -3
- package/dist/server/cookies/index.js.map +1 -1
- package/dist/server/core/index.d.ts +5 -16
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js +13 -29
- package/dist/server/core/index.js.map +1 -1
- package/dist/server/cors/index.d.ts +3 -3
- package/dist/server/cors/index.js +3 -3
- package/dist/server/cors/index.js.map +1 -1
- package/dist/server/health/index.d.ts +20 -20
- package/dist/server/health/index.js +3 -3
- package/dist/server/health/index.js.map +1 -1
- package/dist/server/helmet/index.d.ts +3 -3
- package/dist/server/helmet/index.js +3 -3
- package/dist/server/helmet/index.js.map +1 -1
- package/dist/server/links/index.d.ts +42 -42
- package/dist/server/links/index.d.ts.map +1 -1
- package/dist/server/links/index.js +3 -3
- package/dist/server/links/index.js.map +1 -1
- package/dist/server/metrics/index.d.ts +3 -3
- package/dist/server/metrics/index.js +3 -3
- package/dist/server/metrics/index.js.map +1 -1
- package/dist/server/multipart/index.d.ts +3 -3
- package/dist/server/multipart/index.js +3 -3
- package/dist/server/multipart/index.js.map +1 -1
- package/dist/server/proxy/index.d.ts +3 -3
- package/dist/server/proxy/index.js +3 -3
- package/dist/server/proxy/index.js.map +1 -1
- package/dist/server/rate-limit/index.d.ts +3 -3
- package/dist/server/rate-limit/index.js +3 -3
- package/dist/server/rate-limit/index.js.map +1 -1
- package/dist/server/static/index.d.ts +3 -3
- package/dist/server/static/index.js +6 -6
- package/dist/server/static/index.js.map +1 -1
- package/dist/server/swagger/index.d.ts +3 -3
- package/dist/server/swagger/index.js +6 -6
- package/dist/server/swagger/index.js.map +1 -1
- package/dist/sms/index.d.ts +3 -3
- package/dist/sms/index.js +6 -6
- package/dist/sms/index.js.map +1 -1
- package/dist/system/index.d.ts +3 -3
- package/dist/system/index.js +3 -3
- package/dist/system/index.js.map +1 -1
- package/dist/thread/index.d.ts +3 -3
- package/dist/thread/index.js +3 -3
- package/dist/thread/index.js.map +1 -1
- package/dist/topic/core/index.d.ts +3 -3
- package/dist/topic/core/index.js +3 -3
- package/dist/topic/core/index.js.map +1 -1
- package/dist/vite/index.d.ts +6284 -3
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/websocket/index.d.ts +3 -3
- package/dist/websocket/index.js +3 -3
- package/dist/websocket/index.js.map +1 -1
- package/package.json +7 -2
- package/src/api/audits/index.ts +3 -3
- package/src/api/files/index.ts +3 -3
- package/src/api/jobs/controllers/AdminJobController.ts +15 -2
- package/src/api/jobs/index.ts +4 -3
- package/src/api/jobs/services/JobAudits.spec.ts +89 -0
- package/src/api/jobs/services/JobAudits.ts +101 -0
- package/src/api/keys/index.ts +3 -3
- package/src/api/notifications/index.ts +3 -3
- package/src/api/parameters/index.ts +5 -3
- package/src/api/users/__tests__/ApiKeys-integration.spec.ts +1 -1
- package/src/api/users/__tests__/ApiKeys.spec.ts +1 -1
- package/src/api/users/__tests__/EmailVerification.spec.ts +16 -1
- package/src/api/users/__tests__/PasswordReset.spec.ts +11 -0
- package/src/api/users/atoms/realmAuthSettingsAtom.ts +10 -0
- package/src/api/users/index.ts +8 -9
- package/src/api/users/primitives/$realm.ts +117 -19
- package/src/api/users/providers/RealmProvider.ts +15 -7
- package/src/api/users/services/CredentialService.spec.ts +11 -0
- package/src/api/users/services/CredentialService.ts +47 -24
- package/src/api/users/services/IdentityService.ts +12 -4
- package/src/api/users/services/RegistrationService.spec.ts +11 -0
- package/src/api/users/services/RegistrationService.ts +33 -12
- package/src/api/users/services/SessionService.ts +83 -12
- package/src/api/users/services/UserAudits.ts +47 -0
- package/src/api/users/services/UserFiles.ts +19 -0
- package/src/api/users/services/UserJobs.spec.ts +107 -0
- package/src/api/users/services/UserJobs.ts +62 -0
- package/src/api/users/services/UserParameters.ts +23 -0
- package/src/api/users/services/UserService.ts +34 -17
- package/src/api/verifications/index.ts +3 -3
- package/src/batch/index.ts +3 -3
- package/src/bucket/index.ts +3 -3
- package/src/cache/core/index.ts +3 -3
- package/src/cli/commands/db.ts +9 -0
- package/src/cli/commands/init.spec.ts +2 -17
- package/src/cli/commands/init.ts +37 -1
- package/src/cli/providers/ViteDevServerProvider.ts +5 -2
- package/src/cli/services/AlephaCliUtils.ts +17 -0
- package/src/cli/services/PackageManagerUtils.ts +15 -1
- package/src/cli/services/ProjectScaffolder.ts +8 -13
- package/src/cli/templates/agentMd.ts +2 -25
- package/src/cli/templates/apiAppSecurityTs.ts +37 -2
- package/src/cli/templates/mainCss.ts +2 -32
- package/src/cli/templates/webAppRouterTs.ts +5 -5
- package/src/cli/templates/webHomeComponentTsx.ts +10 -0
- package/src/command/helpers/Runner.ts +14 -1
- package/src/command/index.ts +3 -3
- package/src/core/helpers/primitive.ts +0 -5
- package/src/core/index.ts +3 -3
- package/src/datetime/index.ts +3 -3
- package/src/email/index.ts +3 -3
- package/src/email/providers/LocalEmailProvider.ts +2 -2
- package/src/fake/index.ts +3 -3
- package/src/lock/core/index.ts +3 -3
- package/src/logger/index.ts +3 -3
- package/src/logger/providers/PrettyFormatterProvider.ts +7 -0
- package/src/mcp/index.ts +3 -3
- package/src/orm/index.ts +3 -3
- package/src/orm/providers/drivers/NodeSqliteProvider.ts +1 -1
- package/src/queue/core/index.ts +3 -3
- package/src/react/auth/index.ts +3 -3
- package/src/react/core/index.ts +3 -3
- package/src/react/form/index.ts +3 -3
- package/src/react/head/index.ts +3 -3
- package/src/react/i18n/index.ts +3 -3
- package/src/react/intro/components/GettingStarted.css +334 -0
- package/src/react/intro/components/GettingStarted.tsx +276 -0
- package/src/react/intro/index.ts +1 -0
- package/src/react/router/index.browser.ts +2 -0
- package/src/react/router/index.ts +2 -0
- package/src/redis/index.ts +3 -3
- package/src/retry/index.ts +3 -3
- package/src/router/index.ts +3 -3
- package/src/scheduler/index.ts +3 -3
- package/src/security/index.ts +3 -3
- package/src/security/providers/JwtProvider.ts +2 -2
- package/src/server/auth/index.ts +3 -3
- package/src/server/cache/index.ts +3 -3
- package/src/server/compress/index.ts +3 -3
- package/src/server/cookies/index.ts +3 -3
- package/src/server/core/index.ts +3 -3
- package/src/server/core/primitives/$action.spec.ts +3 -2
- package/src/server/core/primitives/$action.ts +6 -2
- package/src/server/core/providers/NodeHttpServerProvider.ts +2 -15
- package/src/server/core/providers/ServerProvider.ts +4 -2
- package/src/server/core/providers/ServerRouterProvider.ts +5 -27
- package/src/server/cors/index.ts +3 -3
- package/src/server/health/index.ts +3 -3
- package/src/server/helmet/index.ts +3 -3
- package/src/server/links/index.ts +3 -3
- package/src/server/metrics/index.ts +3 -3
- package/src/server/multipart/index.ts +3 -3
- package/src/server/proxy/index.ts +3 -3
- package/src/server/rate-limit/index.ts +3 -3
- package/src/server/static/index.ts +3 -3
- package/src/server/swagger/index.ts +3 -3
- package/src/sms/index.ts +3 -3
- package/src/system/index.ts +3 -3
- package/src/thread/index.ts +3 -3
- package/src/topic/core/index.ts +3 -3
- package/src/websocket/index.ts +3 -3
- package/src/cli/templates/webHelloComponentTsx.ts +0 -30
- /package/src/api/users/{notifications → services}/UserNotifications.ts +0 -0
|
@@ -27,6 +27,7 @@ This file provides guidance to AI coding assistants when working with this Aleph
|
|
|
27
27
|
|
|
28
28
|
### Pages with \`$page\`
|
|
29
29
|
\`\`\`tsx
|
|
30
|
+
import { t } from "alepha";
|
|
30
31
|
import { $page } from "alepha/react/router";
|
|
31
32
|
import { $client } from "alepha/server/links";
|
|
32
33
|
import type { UserController } from "./UserController.ts";
|
|
@@ -196,31 +197,6 @@ class AppRouter {
|
|
|
196
197
|
}
|
|
197
198
|
\`\`\`
|
|
198
199
|
|
|
199
|
-
### Modules with \`$module\`
|
|
200
|
-
\`\`\`typescript
|
|
201
|
-
// src/api/index.ts - Groups all API services
|
|
202
|
-
import { $module } from "alepha";
|
|
203
|
-
|
|
204
|
-
export const ApiModule = $module({
|
|
205
|
-
name: "app.api",
|
|
206
|
-
services: [
|
|
207
|
-
UserController,
|
|
208
|
-
OrderController,
|
|
209
|
-
UserService,
|
|
210
|
-
],
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
// src/web/index.ts - Groups all web services (React only)
|
|
214
|
-
export const WebModule = $module({
|
|
215
|
-
name: "app.web",
|
|
216
|
-
services: [AppRouter, Toaster],
|
|
217
|
-
register(alepha) {
|
|
218
|
-
// Optional: configure additional services
|
|
219
|
-
alepha.with(SomeLibrary);
|
|
220
|
-
},
|
|
221
|
-
});
|
|
222
|
-
\`\`\`
|
|
223
|
-
|
|
224
200
|
### Environment Variables
|
|
225
201
|
\`\`\`typescript
|
|
226
202
|
import { $env, t } from "alepha";
|
|
@@ -268,6 +244,7 @@ describe("UserService", () => {
|
|
|
268
244
|
it("should create user", async () => {
|
|
269
245
|
const alepha = Alepha.create().with(UserService);
|
|
270
246
|
const service = alepha.inject(UserService);
|
|
247
|
+
await alepha.start();
|
|
271
248
|
|
|
272
249
|
const user = await service.create({ email: "test@example.com" });
|
|
273
250
|
expect(user.email).toBe("test@example.com");
|
|
@@ -1,10 +1,45 @@
|
|
|
1
|
-
export const apiAppSecurityTs = () => {
|
|
1
|
+
export const apiAppSecurityTs = (opts: { adminEmail?: string } = {}) => {
|
|
2
|
+
const adminEmailsValue = opts.adminEmail ? `["${opts.adminEmail}"]` : "[]";
|
|
3
|
+
|
|
2
4
|
return `
|
|
3
5
|
import { $realm } from "alepha/api/users";
|
|
4
6
|
|
|
5
7
|
export class AppSecurity {
|
|
6
8
|
users = $realm({
|
|
7
|
-
|
|
9
|
+
settings: {
|
|
10
|
+
// Auto-promote these users to admin on login
|
|
11
|
+
adminEmails: ${adminEmailsValue},
|
|
12
|
+
adminUsernames: [],
|
|
13
|
+
|
|
14
|
+
// Registration & login options
|
|
15
|
+
registrationAllowed: true,
|
|
16
|
+
emailEnabled: true,
|
|
17
|
+
emailRequired: true,
|
|
18
|
+
usernameEnabled: false,
|
|
19
|
+
usernameRequired: false,
|
|
20
|
+
phoneEnabled: false,
|
|
21
|
+
phoneRequired: false,
|
|
22
|
+
|
|
23
|
+
// Verification (requires notifications feature)
|
|
24
|
+
verifyEmailRequired: false,
|
|
25
|
+
verifyPhoneRequired: false,
|
|
26
|
+
resetPasswordAllowed: false,
|
|
27
|
+
},
|
|
28
|
+
features: {
|
|
29
|
+
// Enable additional features
|
|
30
|
+
notifications: false,
|
|
31
|
+
audits: false,
|
|
32
|
+
apiKeys: false,
|
|
33
|
+
jobs: false,
|
|
34
|
+
files: false,
|
|
35
|
+
parameters: false,
|
|
36
|
+
},
|
|
37
|
+
identities: {
|
|
38
|
+
// Enable authentication providers
|
|
39
|
+
credentials: true,
|
|
40
|
+
// google: true,
|
|
41
|
+
// github: true,
|
|
42
|
+
},
|
|
8
43
|
});
|
|
9
44
|
}
|
|
10
45
|
`.trim();
|
|
@@ -1,33 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
ui
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
export const mainCss = (options: MainCssOptions = {}) => {
|
|
6
|
-
if (options.ui) {
|
|
7
|
-
return `@import "@alepha/ui/styles";`;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
return `
|
|
11
|
-
* {
|
|
12
|
-
box-sizing: border-box;
|
|
13
|
-
margin: 0;
|
|
14
|
-
padding: 0;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
html,
|
|
18
|
-
body {
|
|
19
|
-
height: 100%;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
body {
|
|
23
|
-
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
|
24
|
-
"Helvetica Neue", Arial, sans-serif;
|
|
25
|
-
line-height: 1.5;
|
|
26
|
-
-webkit-font-smoothing: antialiased;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
#root {
|
|
30
|
-
height: 100%;
|
|
31
|
-
}
|
|
32
|
-
`.trim();
|
|
1
|
+
export const mainCss = () => {
|
|
2
|
+
return `@import "@alepha/ui/styles";`;
|
|
33
3
|
};
|
|
@@ -47,22 +47,22 @@ export const webAppRouterTs = (options: {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
classMembers.push(` layout = $page({
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
parent: this.ui.root,
|
|
51
|
+
children: () => [this.home],
|
|
52
|
+
});`);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
// Home page - with or without loader
|
|
56
56
|
if (options.api) {
|
|
57
57
|
classMembers.push(` home = $page({
|
|
58
58
|
path: "/",
|
|
59
|
-
lazy: () => import("./components/
|
|
59
|
+
lazy: () => import("./components/Home.tsx"),
|
|
60
60
|
loader: () => this.api.hello(),
|
|
61
61
|
});`);
|
|
62
62
|
} else {
|
|
63
63
|
classMembers.push(` home = $page({
|
|
64
64
|
path: "/",
|
|
65
|
-
lazy: () => import("./components/
|
|
65
|
+
lazy: () => import("./components/Home.tsx"),
|
|
66
66
|
});`);
|
|
67
67
|
}
|
|
68
68
|
|
|
@@ -34,11 +34,19 @@ export interface RunnerMethod {
|
|
|
34
34
|
): Promise<string>;
|
|
35
35
|
rm: (glob: string | string[], options?: RunOptions) => Promise<string>;
|
|
36
36
|
cp: (source: string, dest: string, options?: RunOptions) => Promise<string>;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Ends the runner and prints a summary of executed tasks.
|
|
40
|
+
*
|
|
41
|
+
* > This is automatically called at the end of command execution.
|
|
42
|
+
* > But can be called manually if needed to print more stuff before the command ends.
|
|
43
|
+
*/
|
|
44
|
+
end: () => void;
|
|
37
45
|
}
|
|
38
46
|
|
|
39
47
|
export class Runner {
|
|
40
48
|
protected readonly log = $logger();
|
|
41
|
-
protected
|
|
49
|
+
protected timers: Timer[] = [];
|
|
42
50
|
protected readonly startTime: number = Date.now();
|
|
43
51
|
protected readonly prettyPrint = $inject(PrettyPrint);
|
|
44
52
|
protected readonly alepha = $inject(Alepha);
|
|
@@ -149,6 +157,8 @@ export class Runner {
|
|
|
149
157
|
);
|
|
150
158
|
};
|
|
151
159
|
|
|
160
|
+
runFn.end = () => this.end();
|
|
161
|
+
|
|
152
162
|
return runFn;
|
|
153
163
|
}
|
|
154
164
|
|
|
@@ -189,6 +199,9 @@ export class Runner {
|
|
|
189
199
|
const totalTime = ((Date.now() - this.startTime) / 1000).toFixed(1);
|
|
190
200
|
this.log.info(`Total time: ${totalTime}s`);
|
|
191
201
|
this.log.info(``);
|
|
202
|
+
|
|
203
|
+
// clear timers after rendering
|
|
204
|
+
this.timers = [];
|
|
192
205
|
}
|
|
193
206
|
|
|
194
207
|
protected async executeTask(task: Task): Promise<string> {
|
package/src/command/index.ts
CHANGED
|
@@ -19,9 +19,9 @@ export * from "./providers/CliProvider.ts";
|
|
|
19
19
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
* |
|
|
23
|
-
*
|
|
24
|
-
* |
|
|
22
|
+
* | Stability | Since | Runtime |
|
|
23
|
+
* |-----------|-------|---------|
|
|
24
|
+
* | 3 - stable | 0.6.0 | node, bun|
|
|
25
25
|
*
|
|
26
26
|
* Declarative CLI command framework.
|
|
27
27
|
*
|
|
@@ -47,11 +47,6 @@ export abstract class Primitive<T extends object = {}> {
|
|
|
47
47
|
|
|
48
48
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
49
49
|
|
|
50
|
-
export type PrimitiveFactory<TPrimitive extends Primitive = Primitive> = {
|
|
51
|
-
(options: TPrimitive["options"]): TPrimitive;
|
|
52
|
-
[KIND]: InstantiableClass<TPrimitive>;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
50
|
export type PrimitiveFactoryLike<T extends object = any> = {
|
|
56
51
|
(options: T): any;
|
|
57
52
|
[KIND]: any;
|
package/src/core/index.ts
CHANGED
|
@@ -23,9 +23,9 @@ export * from "./index.shared.ts";
|
|
|
23
23
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* |
|
|
27
|
-
*
|
|
28
|
-
* |
|
|
26
|
+
* | Stability | Since | Runtime |
|
|
27
|
+
* |-----------|-------|---------|
|
|
28
|
+
* | 3 - stable | 0.1.0 | node, bun, workerd, browser, expo|
|
|
29
29
|
*
|
|
30
30
|
* Foundation of the entire framework with dependency injection and lifecycle management.
|
|
31
31
|
*
|
package/src/datetime/index.ts
CHANGED
|
@@ -8,9 +8,9 @@ export * from "./providers/DateTimeProvider.ts";
|
|
|
8
8
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* |
|
|
12
|
-
*
|
|
13
|
-
* |
|
|
11
|
+
* | Stability | Since | Runtime |
|
|
12
|
+
* |-----------|-------|---------|
|
|
13
|
+
* | 3 - stable | 0.10.0 | node, bun, workerd, browser, expo|
|
|
14
14
|
*
|
|
15
15
|
* Date and time operations.
|
|
16
16
|
*
|
package/src/email/index.ts
CHANGED
|
@@ -36,9 +36,9 @@ declare module "alepha" {
|
|
|
36
36
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
|
-
* |
|
|
40
|
-
*
|
|
41
|
-
* |
|
|
39
|
+
* | Stability | Since | Runtime |
|
|
40
|
+
* |-----------|-------|---------|
|
|
41
|
+
* | 3 - stable | 0.4.0 | node, bun, workerd|
|
|
42
42
|
*
|
|
43
43
|
* Email delivery with template support.
|
|
44
44
|
*
|
|
@@ -46,11 +46,11 @@ export class LocalEmailProvider implements EmailProvider {
|
|
|
46
46
|
try {
|
|
47
47
|
await this.fs.mkdir(this.directory, { recursive: true });
|
|
48
48
|
this.log.info("Email directory OK", {
|
|
49
|
-
|
|
49
|
+
at: this.directory,
|
|
50
50
|
});
|
|
51
51
|
} catch (error) {
|
|
52
52
|
const message = `Failed to create email directory: ${error instanceof Error ? error.message : String(error)}`;
|
|
53
|
-
this.log.error(message, {
|
|
53
|
+
this.log.error(message, { at: this.directory });
|
|
54
54
|
throw new EmailError(
|
|
55
55
|
message,
|
|
56
56
|
error instanceof Error ? error : undefined,
|
package/src/fake/index.ts
CHANGED
|
@@ -9,9 +9,9 @@ export * from "./providers/FakeProvider.ts";
|
|
|
9
9
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* |
|
|
13
|
-
*
|
|
14
|
-
* |
|
|
12
|
+
* | Stability | Since | Runtime |
|
|
13
|
+
* |-----------|-------|---------|
|
|
14
|
+
* | 3 - stable | 0.11.0 | node, bun, workerd, browser|
|
|
15
15
|
*
|
|
16
16
|
* Test data generation with Faker.js.
|
|
17
17
|
*
|
package/src/lock/core/index.ts
CHANGED
|
@@ -15,9 +15,9 @@ export * from "./providers/MemoryLockProvider.ts";
|
|
|
15
15
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* |
|
|
19
|
-
*
|
|
20
|
-
* |
|
|
18
|
+
* | Stability | Since | Runtime |
|
|
19
|
+
* |-----------|-------|---------|
|
|
20
|
+
* | 3 - stable | 0.8.0 | node, bun, workerd|
|
|
21
21
|
*
|
|
22
22
|
* Resource locking for distributed systems.
|
|
23
23
|
*
|
package/src/logger/index.ts
CHANGED
|
@@ -27,9 +27,9 @@ export * from "./services/Logger.ts";
|
|
|
27
27
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
|
-
* |
|
|
31
|
-
*
|
|
32
|
-
* |
|
|
30
|
+
* | Stability | Since | Runtime |
|
|
31
|
+
* |-----------|-------|---------|
|
|
32
|
+
* | 3 - stable | 0.5.0 | node, bun, workerd, browser, expo|
|
|
33
33
|
*
|
|
34
34
|
* Configurable logging with multiple outputs.
|
|
35
35
|
*
|
|
@@ -107,10 +107,17 @@ export class PrettyFormatterProvider extends LogFormatterProvider {
|
|
|
107
107
|
return "";
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
// hack: use vite's stack trace formatter if available
|
|
111
|
+
const vite = this.alepha.store.get("alepha.vite.server" as any);
|
|
112
|
+
|
|
113
|
+
vite?.ssrFixStacktrace(error);
|
|
114
|
+
|
|
110
115
|
let str = error.stack ?? error.message;
|
|
111
116
|
|
|
112
117
|
const anyError = error as any;
|
|
113
118
|
while (anyError.cause && anyError.cause instanceof Error) {
|
|
119
|
+
vite?.ssrFixStacktrace(anyError.cause);
|
|
120
|
+
|
|
114
121
|
str += `\nCaused by: ${anyError.cause.stack ?? anyError.cause.message}`;
|
|
115
122
|
anyError.cause = anyError.cause.cause;
|
|
116
123
|
}
|
package/src/mcp/index.ts
CHANGED
|
@@ -93,9 +93,9 @@ export { StdioMcpTransport } from "./transports/StdioMcpTransport.ts";
|
|
|
93
93
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
|
-
* |
|
|
97
|
-
*
|
|
98
|
-
* |
|
|
96
|
+
* | Stability | Since | Runtime |
|
|
97
|
+
* |-----------|-------|---------|
|
|
98
|
+
* | 3 - stable | 0.18.0 | node, bun|
|
|
99
99
|
*
|
|
100
100
|
* Model Context Protocol for AI tool integration.
|
|
101
101
|
*
|
package/src/orm/index.ts
CHANGED
|
@@ -99,9 +99,9 @@ export const SqliteProvider = NodeSqliteProvider;
|
|
|
99
99
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
|
-
* |
|
|
103
|
-
*
|
|
104
|
-
* |
|
|
102
|
+
* | Stability | Since | Runtime |
|
|
103
|
+
* |-----------|-------|---------|
|
|
104
|
+
* | 3 - stable | 0.1.0 | node, bun, workerd|
|
|
105
105
|
*
|
|
106
106
|
* Full-featured database abstraction built on Drizzle ORM with complete type safety.
|
|
107
107
|
*
|
package/src/queue/core/index.ts
CHANGED
|
@@ -16,9 +16,9 @@ export * from "./providers/WorkerProvider.ts";
|
|
|
16
16
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
-
* |
|
|
20
|
-
*
|
|
21
|
-
* |
|
|
19
|
+
* | Stability | Since | Runtime |
|
|
20
|
+
* |-----------|-------|---------|
|
|
21
|
+
* | 3 - stable | 0.6.0 | node, bun|
|
|
22
22
|
*
|
|
23
23
|
* Asynchronous message processing with automatic worker management.
|
|
24
24
|
*
|
package/src/react/auth/index.ts
CHANGED
|
@@ -22,9 +22,9 @@ declare module "alepha/react/router" {
|
|
|
22
22
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
* |
|
|
26
|
-
*
|
|
27
|
-
* |
|
|
25
|
+
* | Stability | Since | Runtime |
|
|
26
|
+
* |-----------|-------|---------|
|
|
27
|
+
* | 3 - stable | 0.8.0 | node, bun, browser|
|
|
28
28
|
*
|
|
29
29
|
* Auth-related React components and hooks.
|
|
30
30
|
*
|
package/src/react/core/index.ts
CHANGED
|
@@ -58,9 +58,9 @@ declare module "alepha" {
|
|
|
58
58
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
|
-
* |
|
|
62
|
-
*
|
|
63
|
-
* |
|
|
61
|
+
* | Stability | Since | Runtime |
|
|
62
|
+
* |-----------|-------|---------|
|
|
63
|
+
* | 3 - stable | 0.2.0 | node, bun, workerd, browser, expo|
|
|
64
64
|
*
|
|
65
65
|
* Full-stack React framework with server-side rendering.
|
|
66
66
|
*
|
package/src/react/form/index.ts
CHANGED
|
@@ -24,9 +24,9 @@ declare module "alepha" {
|
|
|
24
24
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
|
-
* |
|
|
28
|
-
*
|
|
29
|
-
* |
|
|
27
|
+
* | Stability | Since | Runtime |
|
|
28
|
+
* |-----------|-------|---------|
|
|
29
|
+
* | 3 - stable | 0.12.0 | node, bun, workerd, browser|
|
|
30
30
|
*
|
|
31
31
|
* Type-safe forms with validation.
|
|
32
32
|
*
|
package/src/react/head/index.ts
CHANGED
|
@@ -18,9 +18,9 @@ export * from "./providers/ServerHeadProvider.ts";
|
|
|
18
18
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* |
|
|
22
|
-
*
|
|
23
|
-
* |
|
|
21
|
+
* | Stability | Since | Runtime |
|
|
22
|
+
* |-----------|-------|---------|
|
|
23
|
+
* | 3 - stable | 0.4.0 | node, bun, browser|
|
|
24
24
|
*
|
|
25
25
|
* HTML head element management.
|
|
26
26
|
*
|
package/src/react/i18n/index.ts
CHANGED
|
@@ -21,9 +21,9 @@ declare module "alepha" {
|
|
|
21
21
|
// ---------------------------------------------------------------------------------------------------------------------
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* |
|
|
25
|
-
*
|
|
26
|
-
* |
|
|
24
|
+
* | Stability | Since | Runtime |
|
|
25
|
+
* |-----------|-------|---------|
|
|
26
|
+
* | 3 - stable | 0.10.0 | node, bun, workerd, browser|
|
|
27
27
|
*
|
|
28
28
|
* Multi-language support.
|
|
29
29
|
*
|