alepha 0.13.3 → 0.13.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 +7 -7
- package/dist/api-files/index.browser.js +5 -5
- package/dist/api-files/index.d.ts +16 -16
- package/dist/api-files/index.js +9 -9
- package/dist/api-jobs/index.browser.js +5 -5
- package/dist/api-jobs/index.d.ts +17 -17
- package/dist/api-jobs/index.js +9 -9
- package/dist/api-notifications/index.browser.js +11 -11
- package/dist/api-notifications/index.d.ts +158 -158
- package/dist/api-notifications/index.js +11 -11
- package/dist/api-parameters/index.browser.js +2 -2
- package/dist/api-parameters/index.d.ts +3 -3
- package/dist/api-parameters/index.js +3 -3
- package/dist/api-users/index.browser.js +6 -6
- package/dist/api-users/index.d.ts +55 -55
- package/dist/api-users/index.js +36 -36
- package/dist/api-verifications/index.browser.js +5 -5
- package/dist/api-verifications/index.d.ts +9 -9
- package/dist/api-verifications/index.js +10 -10
- package/dist/batch/index.d.ts +3 -3
- package/dist/batch/index.js +3 -3
- package/dist/bin/index.js +1 -1
- package/dist/bucket/index.d.ts +6 -6
- package/dist/bucket/index.js +7 -7
- package/dist/cache/index.d.ts +4 -4
- package/dist/cache/index.js +5 -5
- package/dist/cache-redis/index.d.ts +2 -2
- package/dist/cache-redis/index.js +2 -2
- package/dist/cli/{dist-lGnqsKpu.js → dist-BlfFtOk2.js} +16 -16
- package/dist/cli/{dist-lGnqsKpu.js.map → dist-BlfFtOk2.js.map} +1 -1
- package/dist/cli/index.d.ts +31 -75
- package/dist/cli/index.js +94 -171
- package/dist/cli/index.js.map +1 -1
- package/dist/command/index.d.ts +8 -8
- package/dist/command/index.js +11 -10
- package/dist/command/index.js.map +1 -1
- package/dist/core/index.browser.js +40 -36
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +255 -253
- package/dist/core/index.js +40 -36
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +40 -36
- 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/email/index.d.ts +7 -7
- package/dist/email/index.js +42 -42
- package/dist/fake/index.d.ts +2 -2
- package/dist/fake/index.js +5 -5
- package/dist/file/index.d.ts +4 -4
- package/dist/file/index.js +4 -4
- package/dist/lock/index.d.ts +5 -5
- package/dist/lock/index.js +5 -5
- package/dist/lock-redis/index.d.ts +2 -2
- package/dist/lock-redis/index.js +2 -2
- package/dist/logger/index.d.ts +11 -11
- package/dist/logger/index.js +12 -12
- package/dist/orm/index.browser.js +12 -12
- package/dist/orm/index.d.ts +33 -33
- package/dist/orm/index.js +32 -32
- package/dist/queue/index.d.ts +7 -7
- package/dist/queue/index.js +6 -6
- package/dist/queue-redis/index.d.ts +2 -2
- package/dist/queue-redis/index.js +2 -2
- package/dist/redis/index.d.ts +13 -13
- package/dist/redis/index.js +3 -3
- package/dist/retry/index.d.ts +5 -5
- package/dist/retry/index.js +5 -5
- package/dist/router/index.d.ts +1 -1
- package/dist/router/index.js +1 -1
- package/dist/scheduler/index.d.ts +4 -4
- package/dist/scheduler/index.js +7 -7
- package/dist/security/index.browser.js +7 -7
- package/dist/security/index.d.ts +15 -15
- package/dist/security/index.js +46 -46
- package/dist/server/index.browser.js +14 -14
- package/dist/server/index.d.ts +26 -26
- package/dist/server/index.js +26 -26
- package/dist/server-auth/index.browser.js +6 -6
- package/dist/server-auth/index.d.ts +11 -11
- package/dist/server-auth/index.js +13 -13
- package/dist/server-cache/index.d.ts +2 -2
- package/dist/server-cache/index.js +2 -2
- package/dist/server-compress/index.d.ts +2 -2
- package/dist/server-compress/index.js +2 -2
- package/dist/server-cookies/index.browser.js +3 -3
- package/dist/server-cookies/index.d.ts +4 -4
- package/dist/server-cookies/index.js +4 -4
- package/dist/server-cors/index.d.ts +3 -3
- package/dist/server-cors/index.js +3 -3
- package/dist/server-health/index.d.ts +3 -3
- package/dist/server-health/index.js +3 -3
- package/dist/server-helmet/index.d.ts +2 -2
- package/dist/server-helmet/index.js +2 -2
- package/dist/server-links/index.browser.js +5 -5
- package/dist/server-links/index.d.ts +40 -40
- package/dist/server-links/index.js +7 -7
- package/dist/server-metrics/index.d.ts +2 -2
- package/dist/server-metrics/index.js +86 -86
- package/dist/server-multipart/index.d.ts +2 -2
- package/dist/server-multipart/index.js +2 -2
- package/dist/server-proxy/index.d.ts +3 -3
- package/dist/server-proxy/index.js +3 -3
- package/dist/server-rate-limit/index.d.ts +3 -3
- package/dist/server-rate-limit/index.js +3 -3
- package/dist/server-security/index.browser.js +1 -1
- package/dist/server-security/index.d.ts +4 -4
- package/dist/server-security/index.js +4 -4
- package/dist/server-static/index.d.ts +3 -3
- package/dist/server-static/index.js +3 -3
- package/dist/server-swagger/index.d.ts +3 -3
- package/dist/server-swagger/index.js +3 -3
- package/dist/sms/index.d.ts +6 -6
- package/dist/sms/index.js +6 -6
- package/dist/thread/index.d.ts +3 -3
- package/dist/thread/index.js +3 -3
- package/dist/topic/index.d.ts +6 -6
- package/dist/topic/index.js +6 -6
- package/dist/topic-redis/index.d.ts +2 -2
- package/dist/topic-redis/index.js +2 -2
- package/dist/vite/index.d.ts +17 -17
- package/dist/vite/index.js +20 -20
- package/dist/websocket/index.browser.js +9 -9
- package/dist/websocket/index.d.ts +17 -17
- package/dist/websocket/index.js +10 -10
- package/package.json +5 -4
- package/src/cli/apps/AlephaCli.ts +1 -2
- package/src/cli/commands/BiomeCommands.ts +4 -6
- package/src/cli/commands/CoreCommands.ts +2 -2
- package/src/cli/commands/DrizzleCommands.ts +76 -78
- package/src/cli/commands/VerifyCommands.ts +3 -5
- package/src/cli/commands/ViteCommands.ts +6 -8
- package/src/cli/index.ts +1 -1
- package/src/cli/services/{ProjectUtils.ts → AlephaCliUtils.ts} +101 -16
- package/src/command/providers/CliProvider.ts +12 -4
- package/src/core/Alepha.ts +14 -0
- package/src/core/primitives/$module.ts +1 -1
- package/src/cli/services/ProcessRunner.ts +0 -89
package/dist/vite/index.d.ts
CHANGED
|
@@ -2,13 +2,13 @@ import { Logger, Plugin, ResolvedConfig, UserConfig, ViteDevServer, defineConfig
|
|
|
2
2
|
import { Alepha } from "alepha";
|
|
3
3
|
import { BrotliOptions, ZlibOptions } from "node:zlib";
|
|
4
4
|
|
|
5
|
-
//#region src/vite/helpers/boot.d.ts
|
|
5
|
+
//#region ../../src/vite/helpers/boot.d.ts
|
|
6
6
|
declare const boot: {
|
|
7
7
|
getClientEntry: (root?: string) => Promise<string | undefined>;
|
|
8
8
|
getServerEntry: (root?: string, explicitEntry?: string) => Promise<string>;
|
|
9
9
|
};
|
|
10
10
|
//#endregion
|
|
11
|
-
//#region src/vite/helpers/createBufferedLogger.d.ts
|
|
11
|
+
//#region ../../src/vite/helpers/createBufferedLogger.d.ts
|
|
12
12
|
interface BufferedLogEntry {
|
|
13
13
|
level: "info" | "warn" | "error";
|
|
14
14
|
msg: string;
|
|
@@ -46,7 +46,7 @@ interface BufferedLogger extends Logger {
|
|
|
46
46
|
*/
|
|
47
47
|
declare function createBufferedLogger(): BufferedLogger;
|
|
48
48
|
//#endregion
|
|
49
|
-
//#region src/vite/plugins/viteCompress.d.ts
|
|
49
|
+
//#region ../../src/vite/plugins/viteCompress.d.ts
|
|
50
50
|
interface ViteCompressOptions {
|
|
51
51
|
/**
|
|
52
52
|
* If true, the plugin will not compress the files.
|
|
@@ -79,7 +79,7 @@ interface ViteCompressOptions {
|
|
|
79
79
|
declare function viteCompress(options?: ViteCompressOptions): Plugin;
|
|
80
80
|
declare function compressFile(options: ViteCompressOptions | undefined, filePath: string): Promise<void>;
|
|
81
81
|
//#endregion
|
|
82
|
-
//#region src/vite/tasks/buildClient.d.ts
|
|
82
|
+
//#region ../../src/vite/tasks/buildClient.d.ts
|
|
83
83
|
interface BuildClientOptions {
|
|
84
84
|
/**
|
|
85
85
|
* Output directory for client build.
|
|
@@ -126,7 +126,7 @@ interface BuildClientOptions {
|
|
|
126
126
|
*/
|
|
127
127
|
declare function buildClient(opts: BuildClientOptions): Promise<void>;
|
|
128
128
|
//#endregion
|
|
129
|
-
//#region src/vite/tasks/buildServer.d.ts
|
|
129
|
+
//#region ../../src/vite/tasks/buildServer.d.ts
|
|
130
130
|
interface BuildServerOptions {
|
|
131
131
|
/**
|
|
132
132
|
* Path to the server entry file.
|
|
@@ -171,7 +171,7 @@ interface BuildServerResult {
|
|
|
171
171
|
*/
|
|
172
172
|
declare function buildServer(opts: BuildServerOptions): Promise<BuildServerResult>;
|
|
173
173
|
//#endregion
|
|
174
|
-
//#region src/vite/tasks/copyAssets.d.ts
|
|
174
|
+
//#region ../../src/vite/tasks/copyAssets.d.ts
|
|
175
175
|
interface CopyAssetsOptions {
|
|
176
176
|
/**
|
|
177
177
|
* Entry point for the built Alepha application.
|
|
@@ -193,7 +193,7 @@ interface CopyAssetsOptions {
|
|
|
193
193
|
*/
|
|
194
194
|
declare function copyAssets(opts: CopyAssetsOptions): Promise<void>;
|
|
195
195
|
//#endregion
|
|
196
|
-
//#region src/vite/tasks/generateCloudflare.d.ts
|
|
196
|
+
//#region ../../src/vite/tasks/generateCloudflare.d.ts
|
|
197
197
|
interface GenerateCloudflareOptions {
|
|
198
198
|
/**
|
|
199
199
|
* The directory where the build output is placed.
|
|
@@ -211,7 +211,7 @@ interface GenerateCloudflareOptions {
|
|
|
211
211
|
*/
|
|
212
212
|
declare function generateCloudflare(opts?: GenerateCloudflareOptions): Promise<void>;
|
|
213
213
|
//#endregion
|
|
214
|
-
//#region src/vite/tasks/generateDocker.d.ts
|
|
214
|
+
//#region ../../src/vite/tasks/generateDocker.d.ts
|
|
215
215
|
interface GenerateDockerOptions {
|
|
216
216
|
/**
|
|
217
217
|
* The directory where the build output is placed.
|
|
@@ -241,7 +241,7 @@ interface GenerateDockerOptions {
|
|
|
241
241
|
*/
|
|
242
242
|
declare function generateDocker(opts?: GenerateDockerOptions): Promise<void>;
|
|
243
243
|
//#endregion
|
|
244
|
-
//#region src/vite/tasks/generateExternals.d.ts
|
|
244
|
+
//#region ../../src/vite/tasks/generateExternals.d.ts
|
|
245
245
|
interface GenerateExternalsOptions {
|
|
246
246
|
/**
|
|
247
247
|
* Output directory for package.json.
|
|
@@ -261,7 +261,7 @@ interface GenerateExternalsOptions {
|
|
|
261
261
|
*/
|
|
262
262
|
declare function generateExternals(opts: GenerateExternalsOptions): Promise<void>;
|
|
263
263
|
//#endregion
|
|
264
|
-
//#region src/vite/tasks/generateSitemap.d.ts
|
|
264
|
+
//#region ../../src/vite/tasks/generateSitemap.d.ts
|
|
265
265
|
interface GenerateSitemapOptions {
|
|
266
266
|
/**
|
|
267
267
|
* Entry point for the built Alepha application.
|
|
@@ -285,7 +285,7 @@ interface GenerateSitemapOptions {
|
|
|
285
285
|
*/
|
|
286
286
|
declare function generateSitemap(opts: GenerateSitemapOptions): Promise<string>;
|
|
287
287
|
//#endregion
|
|
288
|
-
//#region src/vite/tasks/generateVercel.d.ts
|
|
288
|
+
//#region ../../src/vite/tasks/generateVercel.d.ts
|
|
289
289
|
interface GenerateVercelOptions {
|
|
290
290
|
/**
|
|
291
291
|
* The directory where the build output is placed.
|
|
@@ -325,7 +325,7 @@ interface VercelConfig {
|
|
|
325
325
|
*/
|
|
326
326
|
declare function generateVercel(opts?: GenerateVercelOptions): Promise<void>;
|
|
327
327
|
//#endregion
|
|
328
|
-
//#region src/vite/tasks/prerenderPages.d.ts
|
|
328
|
+
//#region ../../src/vite/tasks/prerenderPages.d.ts
|
|
329
329
|
interface PrerenderPagesOptions {
|
|
330
330
|
/**
|
|
331
331
|
* Entry point for the built Alepha application.
|
|
@@ -356,7 +356,7 @@ interface PrerenderPagesResult {
|
|
|
356
356
|
*/
|
|
357
357
|
declare function prerenderPages(opts: PrerenderPagesOptions): Promise<PrerenderPagesResult>;
|
|
358
358
|
//#endregion
|
|
359
|
-
//#region src/vite/tasks/runAlepha.d.ts
|
|
359
|
+
//#region ../../src/vite/tasks/runAlepha.d.ts
|
|
360
360
|
interface AlephaRunnerOptions {
|
|
361
361
|
/**
|
|
362
362
|
* Path to the server entry file.
|
|
@@ -427,7 +427,7 @@ declare class AlephaRunner {
|
|
|
427
427
|
*/
|
|
428
428
|
declare function isViteInternalPath(pathname: string): boolean;
|
|
429
429
|
//#endregion
|
|
430
|
-
//#region src/vite/plugins/viteAlephaBuild.d.ts
|
|
430
|
+
//#region ../../src/vite/plugins/viteAlephaBuild.d.ts
|
|
431
431
|
interface ViteAlephaBuildOptions {
|
|
432
432
|
/**
|
|
433
433
|
* Path to the entry file for the server build.
|
|
@@ -486,7 +486,7 @@ type AlephaBuildMode = "cli" | "client" | "server";
|
|
|
486
486
|
*/
|
|
487
487
|
declare function viteAlephaBuild(options?: ViteAlephaBuildOptions): Promise<Plugin>;
|
|
488
488
|
//#endregion
|
|
489
|
-
//#region src/vite/plugins/viteAlephaDev.d.ts
|
|
489
|
+
//#region ../../src/vite/plugins/viteAlephaDev.d.ts
|
|
490
490
|
interface ViteAlephaDevOptions {
|
|
491
491
|
/**
|
|
492
492
|
* Path to the entry file for the server build.
|
|
@@ -508,13 +508,13 @@ interface ViteAlephaDevOptions {
|
|
|
508
508
|
*/
|
|
509
509
|
declare function viteAlephaDev(options?: ViteAlephaDevOptions): Promise<Plugin>;
|
|
510
510
|
//#endregion
|
|
511
|
-
//#region src/vite/plugins/viteAlepha.d.ts
|
|
511
|
+
//#region ../../src/vite/plugins/viteAlepha.d.ts
|
|
512
512
|
type ViteAlephaOptions = ViteAlephaDevOptions & ViteAlephaBuildOptions & {
|
|
513
513
|
react?: false;
|
|
514
514
|
};
|
|
515
515
|
declare function viteAlepha(options?: ViteAlephaOptions): (Plugin | Promise<Plugin>)[];
|
|
516
516
|
//#endregion
|
|
517
|
-
//#region src/vite/index.d.ts
|
|
517
|
+
//#region ../../src/vite/index.d.ts
|
|
518
518
|
declare global {
|
|
519
519
|
var __cli_alepha: Alepha;
|
|
520
520
|
}
|
package/dist/vite/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import { promisify } from "node:util";
|
|
|
9
9
|
import { brotliCompress, gzip } from "node:zlib";
|
|
10
10
|
import { pathToFileURL } from "node:url";
|
|
11
11
|
|
|
12
|
-
//#region src/vite/helpers/boot.ts
|
|
12
|
+
//#region ../../src/vite/helpers/boot.ts
|
|
13
13
|
/**
|
|
14
14
|
* Remember:
|
|
15
15
|
* At first, functions was inside alepha/vite package, but it's now used in alepha too.
|
|
@@ -81,7 +81,7 @@ const boot = {
|
|
|
81
81
|
};
|
|
82
82
|
|
|
83
83
|
//#endregion
|
|
84
|
-
//#region src/vite/helpers/createBufferedLogger.ts
|
|
84
|
+
//#region ../../src/vite/helpers/createBufferedLogger.ts
|
|
85
85
|
/**
|
|
86
86
|
* Creates a Vite logger that buffers all messages instead of printing them.
|
|
87
87
|
* Useful for silent builds that only show output on failure.
|
|
@@ -161,13 +161,13 @@ function createBufferedLogger() {
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
//#endregion
|
|
164
|
-
//#region src/vite/helpers/fileExists.ts
|
|
164
|
+
//#region ../../src/vite/helpers/fileExists.ts
|
|
165
165
|
const fileExists = async (path$1) => {
|
|
166
166
|
return await access(join(process.cwd(), path$1)).then(() => true).catch(() => false);
|
|
167
167
|
};
|
|
168
168
|
|
|
169
169
|
//#endregion
|
|
170
|
-
//#region src/vite/helpers/importVite.ts
|
|
170
|
+
//#region ../../src/vite/helpers/importVite.ts
|
|
171
171
|
const importVite = async () => {
|
|
172
172
|
try {
|
|
173
173
|
return createRequire(import.meta.url)("rolldown-vite");
|
|
@@ -181,7 +181,7 @@ const importVite = async () => {
|
|
|
181
181
|
};
|
|
182
182
|
|
|
183
183
|
//#endregion
|
|
184
|
-
//#region src/vite/plugins/viteCompress.ts
|
|
184
|
+
//#region ../../src/vite/plugins/viteCompress.ts
|
|
185
185
|
const gzipCompress = promisify(gzip);
|
|
186
186
|
const brotliCompress$1 = promisify(brotliCompress);
|
|
187
187
|
function viteCompress(options = {}) {
|
|
@@ -229,7 +229,7 @@ async function compressFile(options = {}, filePath) {
|
|
|
229
229
|
}
|
|
230
230
|
|
|
231
231
|
//#endregion
|
|
232
|
-
//#region src/vite/tasks/buildClient.ts
|
|
232
|
+
//#region ../../src/vite/tasks/buildClient.ts
|
|
233
233
|
/**
|
|
234
234
|
* Build client-side bundle with Vite.
|
|
235
235
|
*
|
|
@@ -270,7 +270,7 @@ async function buildClient(opts) {
|
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
//#endregion
|
|
273
|
-
//#region src/vite/tasks/generateExternals.ts
|
|
273
|
+
//#region ../../src/vite/tasks/generateExternals.ts
|
|
274
274
|
/**
|
|
275
275
|
* Generate minimal package.json with pinned external dependencies.
|
|
276
276
|
*
|
|
@@ -297,7 +297,7 @@ async function generateExternals(opts) {
|
|
|
297
297
|
}
|
|
298
298
|
|
|
299
299
|
//#endregion
|
|
300
|
-
//#region src/vite/tasks/buildServer.ts
|
|
300
|
+
//#region ../../src/vite/tasks/buildServer.ts
|
|
301
301
|
/**
|
|
302
302
|
* Build server-side SSR bundle with Vite.
|
|
303
303
|
*
|
|
@@ -367,7 +367,7 @@ function extractEntryFromBundle(entry, result) {
|
|
|
367
367
|
}
|
|
368
368
|
|
|
369
369
|
//#endregion
|
|
370
|
-
//#region src/vite/helpers/importAlepha.ts
|
|
370
|
+
//#region ../../src/vite/helpers/importAlepha.ts
|
|
371
371
|
/**
|
|
372
372
|
* Import Alepha instance from a transpiled server entry file.
|
|
373
373
|
*/
|
|
@@ -389,7 +389,7 @@ const importAlepha = async (entry, options) => {
|
|
|
389
389
|
};
|
|
390
390
|
|
|
391
391
|
//#endregion
|
|
392
|
-
//#region src/vite/tasks/copyAssets.ts
|
|
392
|
+
//#region ../../src/vite/tasks/copyAssets.ts
|
|
393
393
|
/**
|
|
394
394
|
* Copy assets from Alepha packages to the build output directory.
|
|
395
395
|
*
|
|
@@ -410,7 +410,7 @@ async function copyAssets(opts) {
|
|
|
410
410
|
}
|
|
411
411
|
|
|
412
412
|
//#endregion
|
|
413
|
-
//#region src/vite/tasks/generateCloudflare.ts
|
|
413
|
+
//#region ../../src/vite/tasks/generateCloudflare.ts
|
|
414
414
|
const WARNING_COMMENT$1 = "// This file was automatically generated. DO NOT MODIFY.\n// Changes to this file will be lost when the code is regenerated.\n";
|
|
415
415
|
/**
|
|
416
416
|
* Generate Cloudflare Workers deployment configuration.
|
|
@@ -449,7 +449,7 @@ export default {
|
|
|
449
449
|
}
|
|
450
450
|
|
|
451
451
|
//#endregion
|
|
452
|
-
//#region src/vite/tasks/generateDocker.ts
|
|
452
|
+
//#region ../../src/vite/tasks/generateDocker.ts
|
|
453
453
|
/**
|
|
454
454
|
* Generate Docker deployment configuration.
|
|
455
455
|
*
|
|
@@ -475,7 +475,7 @@ CMD ["${command}", "index.js"]
|
|
|
475
475
|
}
|
|
476
476
|
|
|
477
477
|
//#endregion
|
|
478
|
-
//#region src/vite/tasks/generateSitemap.ts
|
|
478
|
+
//#region ../../src/vite/tasks/generateSitemap.ts
|
|
479
479
|
/**
|
|
480
480
|
* Generate sitemap.xml from Alepha page primitives.
|
|
481
481
|
*
|
|
@@ -526,7 +526,7 @@ function escapeXml(str) {
|
|
|
526
526
|
}
|
|
527
527
|
|
|
528
528
|
//#endregion
|
|
529
|
-
//#region src/vite/tasks/generateVercel.ts
|
|
529
|
+
//#region ../../src/vite/tasks/generateVercel.ts
|
|
530
530
|
const WARNING_COMMENT = "// This file was automatically generated. DO NOT MODIFY.\n// Changes to this file will be lost when the code is regenerated.\n";
|
|
531
531
|
/**
|
|
532
532
|
* Generate Vercel deployment configuration.
|
|
@@ -580,7 +580,7 @@ export default async function (req, res) {
|
|
|
580
580
|
}
|
|
581
581
|
|
|
582
582
|
//#endregion
|
|
583
|
-
//#region src/vite/tasks/prerenderPages.ts
|
|
583
|
+
//#region ../../src/vite/tasks/prerenderPages.ts
|
|
584
584
|
/**
|
|
585
585
|
* Pre-render static pages defined in the Alepha application.
|
|
586
586
|
*
|
|
@@ -630,7 +630,7 @@ async function renderFile(page, options, dist, compress) {
|
|
|
630
630
|
}
|
|
631
631
|
|
|
632
632
|
//#endregion
|
|
633
|
-
//#region src/vite/tasks/runAlepha.ts
|
|
633
|
+
//#region ../../src/vite/tasks/runAlepha.ts
|
|
634
634
|
/**
|
|
635
635
|
* Create an Alepha runner for development.
|
|
636
636
|
*
|
|
@@ -790,7 +790,7 @@ function isViteInternalPath(pathname) {
|
|
|
790
790
|
}
|
|
791
791
|
|
|
792
792
|
//#endregion
|
|
793
|
-
//#region src/vite/plugins/viteAlephaBuild.ts
|
|
793
|
+
//#region ../../src/vite/plugins/viteAlephaBuild.ts
|
|
794
794
|
/**
|
|
795
795
|
* Alepha build plugin for Vite.
|
|
796
796
|
*
|
|
@@ -899,7 +899,7 @@ async function viteAlephaBuild(options = {}) {
|
|
|
899
899
|
}
|
|
900
900
|
|
|
901
901
|
//#endregion
|
|
902
|
-
//#region src/vite/plugins/viteAlephaDev.ts
|
|
902
|
+
//#region ../../src/vite/plugins/viteAlephaDev.ts
|
|
903
903
|
/**
|
|
904
904
|
* Plug Alepha into Vite development server.
|
|
905
905
|
*
|
|
@@ -984,7 +984,7 @@ async function viteAlephaDev(options = {}) {
|
|
|
984
984
|
}
|
|
985
985
|
|
|
986
986
|
//#endregion
|
|
987
|
-
//#region src/vite/plugins/viteAlepha.ts
|
|
987
|
+
//#region ../../src/vite/plugins/viteAlepha.ts
|
|
988
988
|
function viteAlepha(options = {}) {
|
|
989
989
|
if (process.env.NODE_ENV === "test") return [];
|
|
990
990
|
const plugins = [];
|
|
@@ -998,7 +998,7 @@ function viteAlepha(options = {}) {
|
|
|
998
998
|
}
|
|
999
999
|
|
|
1000
1000
|
//#endregion
|
|
1001
|
-
//#region src/vite/index.ts
|
|
1001
|
+
//#region ../../src/vite/index.ts
|
|
1002
1002
|
/**
|
|
1003
1003
|
* Plugin vite for Alepha framework.
|
|
1004
1004
|
*
|
|
@@ -2,7 +2,7 @@ import { $env, $inject, $module, Alepha, AlephaError, KIND, Primitive, TypeBoxVa
|
|
|
2
2
|
import { $topic, AlephaTopic } from "alepha/topic";
|
|
3
3
|
import { $logger } from "alepha/logger";
|
|
4
4
|
|
|
5
|
-
//#region src/websocket/primitives/$channel.ts
|
|
5
|
+
//#region ../../src/websocket/primitives/$channel.ts
|
|
6
6
|
/**
|
|
7
7
|
* Defines a WebSocket channel with specified client and server message schemas.
|
|
8
8
|
*
|
|
@@ -72,7 +72,7 @@ var ChannelPrimitive = class extends Primitive {};
|
|
|
72
72
|
$channel[KIND] = ChannelPrimitive;
|
|
73
73
|
|
|
74
74
|
//#endregion
|
|
75
|
-
//#region src/websocket/providers/WebSocketServerProvider.ts
|
|
75
|
+
//#region ../../src/websocket/providers/WebSocketServerProvider.ts
|
|
76
76
|
/**
|
|
77
77
|
* Abstract WebSocket server provider
|
|
78
78
|
*
|
|
@@ -82,7 +82,7 @@ $channel[KIND] = ChannelPrimitive;
|
|
|
82
82
|
var WebSocketServerProvider = class {};
|
|
83
83
|
|
|
84
84
|
//#endregion
|
|
85
|
-
//#region src/websocket/primitives/$websocket.ts
|
|
85
|
+
//#region ../../src/websocket/primitives/$websocket.ts
|
|
86
86
|
/**
|
|
87
87
|
* Defines a WebSocket server endpoint for a specific channel.
|
|
88
88
|
*
|
|
@@ -167,7 +167,7 @@ var WebSocketPrimitive = class extends Primitive {
|
|
|
167
167
|
$websocket[KIND] = WebSocketPrimitive;
|
|
168
168
|
|
|
169
169
|
//#endregion
|
|
170
|
-
//#region src/websocket/services/WebSocketClient.ts
|
|
170
|
+
//#region ../../src/websocket/services/WebSocketClient.ts
|
|
171
171
|
const envSchema = t.object({
|
|
172
172
|
WEBSOCKET_URL: t.text({
|
|
173
173
|
default: "",
|
|
@@ -558,7 +558,7 @@ var WebSocketClient = class {
|
|
|
558
558
|
};
|
|
559
559
|
|
|
560
560
|
//#endregion
|
|
561
|
-
//#region src/websocket/errors/WebSocketError.ts
|
|
561
|
+
//#region ../../src/websocket/errors/WebSocketError.ts
|
|
562
562
|
/**
|
|
563
563
|
* Base WebSocket error class
|
|
564
564
|
*/
|
|
@@ -589,7 +589,7 @@ var WebSocketValidationError = class extends WebSocketError {
|
|
|
589
589
|
};
|
|
590
590
|
|
|
591
591
|
//#endregion
|
|
592
|
-
//#region src/websocket/interfaces/WebSocketInterfaces.ts
|
|
592
|
+
//#region ../../src/websocket/interfaces/WebSocketInterfaces.ts
|
|
593
593
|
/**
|
|
594
594
|
* WebSocket state enum
|
|
595
595
|
*/
|
|
@@ -602,7 +602,7 @@ let WebSocketState = /* @__PURE__ */ function(WebSocketState$1) {
|
|
|
602
602
|
}({});
|
|
603
603
|
|
|
604
604
|
//#endregion
|
|
605
|
-
//#region src/websocket/services/RoomManager.ts
|
|
605
|
+
//#region ../../src/websocket/services/RoomManager.ts
|
|
606
606
|
/**
|
|
607
607
|
* Manages WebSocket room memberships
|
|
608
608
|
*
|
|
@@ -724,7 +724,7 @@ var RoomManager = class {
|
|
|
724
724
|
};
|
|
725
725
|
|
|
726
726
|
//#endregion
|
|
727
|
-
//#region src/websocket/services/WebSocketTopicService.ts
|
|
727
|
+
//#region ../../src/websocket/services/WebSocketTopicService.ts
|
|
728
728
|
/**
|
|
729
729
|
* WebSocket message distribution event
|
|
730
730
|
*/
|
|
@@ -786,7 +786,7 @@ var WebSocketTopicService = class {
|
|
|
786
786
|
};
|
|
787
787
|
|
|
788
788
|
//#endregion
|
|
789
|
-
//#region src/websocket/index.browser.ts
|
|
789
|
+
//#region ../../src/websocket/index.browser.ts
|
|
790
790
|
const AlephaWebSocket = $module({
|
|
791
791
|
name: "alepha.websocket",
|
|
792
792
|
primitives: [$channel, $websocket],
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as alepha42 from "alepha";
|
|
2
2
|
import { Alepha, KIND, Primitive, Static, TObject, TString, TUnion } from "alepha";
|
|
3
3
|
import * as alepha_topic0 from "alepha/topic";
|
|
4
|
-
import * as
|
|
4
|
+
import * as alepha_logger2 from "alepha/logger";
|
|
5
5
|
import { WebSocket as WebSocket$1, WebSocketServer } from "ws";
|
|
6
6
|
import { IncomingMessage } from "node:http";
|
|
7
7
|
|
|
8
|
-
//#region src/websocket/errors/WebSocketError.d.ts
|
|
8
|
+
//#region ../../src/websocket/errors/WebSocketError.d.ts
|
|
9
9
|
/**
|
|
10
10
|
* Base WebSocket error class
|
|
11
11
|
*/
|
|
@@ -26,7 +26,7 @@ declare class WebSocketValidationError extends WebSocketError {
|
|
|
26
26
|
constructor(message: string);
|
|
27
27
|
}
|
|
28
28
|
//#endregion
|
|
29
|
-
//#region src/websocket/primitives/$channel.d.ts
|
|
29
|
+
//#region ../../src/websocket/primitives/$channel.d.ts
|
|
30
30
|
type TWSObject = TObject | TUnion;
|
|
31
31
|
/**
|
|
32
32
|
* Channel primitive options
|
|
@@ -130,7 +130,7 @@ declare const $channel: {
|
|
|
130
130
|
};
|
|
131
131
|
declare class ChannelPrimitive<TClient extends TWSObject, TServer extends TWSObject> extends Primitive<ChannelPrimitiveOptions<TClient, TServer>> {}
|
|
132
132
|
//#endregion
|
|
133
|
-
//#region src/websocket/interfaces/WebSocketInterfaces.d.ts
|
|
133
|
+
//#region ../../src/websocket/interfaces/WebSocketInterfaces.d.ts
|
|
134
134
|
/**
|
|
135
135
|
* WebSocket connection interface
|
|
136
136
|
*/
|
|
@@ -328,7 +328,7 @@ interface EmitOptions<TClient extends TWSObject> {
|
|
|
328
328
|
exceptUserIds?: string[];
|
|
329
329
|
}
|
|
330
330
|
//#endregion
|
|
331
|
-
//#region src/websocket/providers/WebSocketServerProvider.d.ts
|
|
331
|
+
//#region ../../src/websocket/providers/WebSocketServerProvider.d.ts
|
|
332
332
|
/**
|
|
333
333
|
* Abstract WebSocket server provider
|
|
334
334
|
*
|
|
@@ -364,7 +364,7 @@ declare abstract class WebSocketServerProvider {
|
|
|
364
364
|
abstract closeConnection(connectionId: string, code?: number, reason?: string): Promise<void>;
|
|
365
365
|
}
|
|
366
366
|
//#endregion
|
|
367
|
-
//#region src/websocket/primitives/$websocket.d.ts
|
|
367
|
+
//#region ../../src/websocket/primitives/$websocket.d.ts
|
|
368
368
|
/**
|
|
369
369
|
* Defines a WebSocket server endpoint for a specific channel.
|
|
370
370
|
*
|
|
@@ -444,7 +444,7 @@ declare class WebSocketPrimitive<TClient extends TWSObject, TServer extends TWSO
|
|
|
444
444
|
emit(options: EmitOptions<TClient>): Promise<void>;
|
|
445
445
|
}
|
|
446
446
|
//#endregion
|
|
447
|
-
//#region src/websocket/services/RoomManager.d.ts
|
|
447
|
+
//#region ../../src/websocket/services/RoomManager.d.ts
|
|
448
448
|
/**
|
|
449
449
|
* Manages WebSocket room memberships
|
|
450
450
|
*
|
|
@@ -452,7 +452,7 @@ declare class WebSocketPrimitive<TClient extends TWSObject, TServer extends TWSO
|
|
|
452
452
|
* and messages can be targeted to specific rooms.
|
|
453
453
|
*/
|
|
454
454
|
declare class RoomManager {
|
|
455
|
-
protected readonly log:
|
|
455
|
+
protected readonly log: alepha_logger2.Logger;
|
|
456
456
|
/**
|
|
457
457
|
* Maps roomId → Set<connectionId>
|
|
458
458
|
*/
|
|
@@ -508,7 +508,7 @@ declare class RoomManager {
|
|
|
508
508
|
};
|
|
509
509
|
}
|
|
510
510
|
//#endregion
|
|
511
|
-
//#region src/websocket/services/WebSocketClient.d.ts
|
|
511
|
+
//#region ../../src/websocket/services/WebSocketClient.d.ts
|
|
512
512
|
declare const envSchema$1: alepha42.TObject<{
|
|
513
513
|
WEBSOCKET_URL: alepha42.TString;
|
|
514
514
|
WEBSOCKET_RECONNECT_INTERVAL: alepha42.TInteger;
|
|
@@ -533,7 +533,7 @@ declare class WebSocketChannelConnection<TClient extends TWSObject, TServer exte
|
|
|
533
533
|
};
|
|
534
534
|
protected readonly env: Static<typeof envSchema$1>;
|
|
535
535
|
protected readonly alepha: Alepha;
|
|
536
|
-
protected readonly log:
|
|
536
|
+
protected readonly log: alepha_logger2.Logger;
|
|
537
537
|
protected ws?: WebSocket;
|
|
538
538
|
protected reconnectAttempts: number;
|
|
539
539
|
protected reconnectTimer?: number;
|
|
@@ -607,7 +607,7 @@ declare class WebSocketChannelConnection<TClient extends TWSObject, TServer exte
|
|
|
607
607
|
* One connection per channel, multiple rooms per connection.
|
|
608
608
|
*/
|
|
609
609
|
declare class WebSocketClient {
|
|
610
|
-
protected readonly log:
|
|
610
|
+
protected readonly log: alepha_logger2.Logger;
|
|
611
611
|
protected readonly alepha: Alepha;
|
|
612
612
|
protected readonly env: {
|
|
613
613
|
WEBSOCKET_URL: string;
|
|
@@ -641,7 +641,7 @@ declare class WebSocketClient {
|
|
|
641
641
|
disconnectAll(): void;
|
|
642
642
|
}
|
|
643
643
|
//#endregion
|
|
644
|
-
//#region src/websocket/services/WebSocketTopicService.d.ts
|
|
644
|
+
//#region ../../src/websocket/services/WebSocketTopicService.d.ts
|
|
645
645
|
/**
|
|
646
646
|
* WebSocket message distribution event
|
|
647
647
|
*/
|
|
@@ -694,7 +694,7 @@ declare const webSocketMessageSchema: {
|
|
|
694
694
|
* - Horizontal scaling without losing messages
|
|
695
695
|
*/
|
|
696
696
|
declare class WebSocketTopicService {
|
|
697
|
-
protected readonly log:
|
|
697
|
+
protected readonly log: alepha_logger2.Logger;
|
|
698
698
|
/**
|
|
699
699
|
* Handler function to be called when a message is received from the topic
|
|
700
700
|
* This is set by the WebSocket provider during initialization
|
|
@@ -745,7 +745,7 @@ declare class WebSocketTopicService {
|
|
|
745
745
|
setMessageHandler(handler: (event: Static<(typeof webSocketMessageSchema)["payload"]>) => Promise<void>): void;
|
|
746
746
|
}
|
|
747
747
|
//#endregion
|
|
748
|
-
//#region src/websocket/providers/NodeWebSocketServerProvider.d.ts
|
|
748
|
+
//#region ../../src/websocket/providers/NodeWebSocketServerProvider.d.ts
|
|
749
749
|
declare const envSchema: alepha42.TObject<{
|
|
750
750
|
WEBSOCKET_PATH: alepha42.TString;
|
|
751
751
|
}>;
|
|
@@ -756,7 +756,7 @@ declare class NodeWebSocketServerProvider extends WebSocketServerProvider {
|
|
|
756
756
|
protected readonly alepha: Alepha;
|
|
757
757
|
protected readonly roomManager: RoomManager;
|
|
758
758
|
protected readonly topicService: WebSocketTopicService;
|
|
759
|
-
protected readonly log:
|
|
759
|
+
protected readonly log: alepha_logger2.Logger;
|
|
760
760
|
protected readonly env: {
|
|
761
761
|
WEBSOCKET_PATH: string;
|
|
762
762
|
};
|
|
@@ -796,7 +796,7 @@ declare class NodeWebSocketConnection implements WebSocketConnection {
|
|
|
796
796
|
protected readonly ws: WebSocket$1;
|
|
797
797
|
protected readonly provider: NodeWebSocketServerProvider;
|
|
798
798
|
protected readonly endpoint: WebSocketPrimitiveOptions<any, any>;
|
|
799
|
-
protected readonly log:
|
|
799
|
+
protected readonly log: alepha_logger2.Logger;
|
|
800
800
|
metadata?: Record<string, any>;
|
|
801
801
|
constructor(id: string, userId: string | undefined, roomIds: string[], ws: WebSocket$1, provider: NodeWebSocketServerProvider, endpoint: WebSocketPrimitiveOptions<any, any>);
|
|
802
802
|
get readyState(): WebSocketState;
|
|
@@ -805,7 +805,7 @@ declare class NodeWebSocketConnection implements WebSocketConnection {
|
|
|
805
805
|
handleMessage(data: any): Promise<void>;
|
|
806
806
|
}
|
|
807
807
|
//#endregion
|
|
808
|
-
//#region src/websocket/index.d.ts
|
|
808
|
+
//#region ../../src/websocket/index.d.ts
|
|
809
809
|
declare module "alepha" {
|
|
810
810
|
interface Hooks {
|
|
811
811
|
/**
|
package/dist/websocket/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { $topic, AlephaTopic } from "alepha/topic";
|
|
|
4
4
|
import { $logger } from "alepha/logger";
|
|
5
5
|
import { WebSocket as WebSocket$1, WebSocketServer } from "ws";
|
|
6
6
|
|
|
7
|
-
//#region src/websocket/primitives/$channel.ts
|
|
7
|
+
//#region ../../src/websocket/primitives/$channel.ts
|
|
8
8
|
/**
|
|
9
9
|
* Defines a WebSocket channel with specified client and server message schemas.
|
|
10
10
|
*
|
|
@@ -74,7 +74,7 @@ var ChannelPrimitive = class extends Primitive {};
|
|
|
74
74
|
$channel[KIND] = ChannelPrimitive;
|
|
75
75
|
|
|
76
76
|
//#endregion
|
|
77
|
-
//#region src/websocket/providers/WebSocketServerProvider.ts
|
|
77
|
+
//#region ../../src/websocket/providers/WebSocketServerProvider.ts
|
|
78
78
|
/**
|
|
79
79
|
* Abstract WebSocket server provider
|
|
80
80
|
*
|
|
@@ -84,7 +84,7 @@ $channel[KIND] = ChannelPrimitive;
|
|
|
84
84
|
var WebSocketServerProvider = class {};
|
|
85
85
|
|
|
86
86
|
//#endregion
|
|
87
|
-
//#region src/websocket/primitives/$websocket.ts
|
|
87
|
+
//#region ../../src/websocket/primitives/$websocket.ts
|
|
88
88
|
/**
|
|
89
89
|
* Defines a WebSocket server endpoint for a specific channel.
|
|
90
90
|
*
|
|
@@ -169,7 +169,7 @@ var WebSocketPrimitive = class extends Primitive {
|
|
|
169
169
|
$websocket[KIND] = WebSocketPrimitive;
|
|
170
170
|
|
|
171
171
|
//#endregion
|
|
172
|
-
//#region src/websocket/errors/WebSocketError.ts
|
|
172
|
+
//#region ../../src/websocket/errors/WebSocketError.ts
|
|
173
173
|
/**
|
|
174
174
|
* Base WebSocket error class
|
|
175
175
|
*/
|
|
@@ -200,7 +200,7 @@ var WebSocketValidationError = class extends WebSocketError {
|
|
|
200
200
|
};
|
|
201
201
|
|
|
202
202
|
//#endregion
|
|
203
|
-
//#region src/websocket/services/RoomManager.ts
|
|
203
|
+
//#region ../../src/websocket/services/RoomManager.ts
|
|
204
204
|
/**
|
|
205
205
|
* Manages WebSocket room memberships
|
|
206
206
|
*
|
|
@@ -322,7 +322,7 @@ var RoomManager = class {
|
|
|
322
322
|
};
|
|
323
323
|
|
|
324
324
|
//#endregion
|
|
325
|
-
//#region src/websocket/services/WebSocketTopicService.ts
|
|
325
|
+
//#region ../../src/websocket/services/WebSocketTopicService.ts
|
|
326
326
|
/**
|
|
327
327
|
* WebSocket message distribution event
|
|
328
328
|
*/
|
|
@@ -384,7 +384,7 @@ var WebSocketTopicService = class {
|
|
|
384
384
|
};
|
|
385
385
|
|
|
386
386
|
//#endregion
|
|
387
|
-
//#region src/websocket/providers/NodeWebSocketServerProvider.ts
|
|
387
|
+
//#region ../../src/websocket/providers/NodeWebSocketServerProvider.ts
|
|
388
388
|
const envSchema$1 = t.object({ WEBSOCKET_PATH: t.text({
|
|
389
389
|
default: "/ws",
|
|
390
390
|
description: "Base path for WebSocket endpoints"
|
|
@@ -660,7 +660,7 @@ var NodeWebSocketConnection = class {
|
|
|
660
660
|
};
|
|
661
661
|
|
|
662
662
|
//#endregion
|
|
663
|
-
//#region src/websocket/interfaces/WebSocketInterfaces.ts
|
|
663
|
+
//#region ../../src/websocket/interfaces/WebSocketInterfaces.ts
|
|
664
664
|
/**
|
|
665
665
|
* WebSocket state enum
|
|
666
666
|
*/
|
|
@@ -673,7 +673,7 @@ let WebSocketState = /* @__PURE__ */ function(WebSocketState$1) {
|
|
|
673
673
|
}({});
|
|
674
674
|
|
|
675
675
|
//#endregion
|
|
676
|
-
//#region src/websocket/services/WebSocketClient.ts
|
|
676
|
+
//#region ../../src/websocket/services/WebSocketClient.ts
|
|
677
677
|
const envSchema = t.object({
|
|
678
678
|
WEBSOCKET_URL: t.text({
|
|
679
679
|
default: "",
|
|
@@ -1064,7 +1064,7 @@ var WebSocketClient = class {
|
|
|
1064
1064
|
};
|
|
1065
1065
|
|
|
1066
1066
|
//#endregion
|
|
1067
|
-
//#region src/websocket/index.ts
|
|
1067
|
+
//#region ../../src/websocket/index.ts
|
|
1068
1068
|
/**
|
|
1069
1069
|
* Provides real-time bidirectional communication using WebSockets.
|
|
1070
1070
|
*
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "alepha",
|
|
3
3
|
"description": "Easy-to-use modern TypeScript framework for building many kind of applications.",
|
|
4
4
|
"author": "Nicolas Foures",
|
|
5
|
-
"version": "0.13.
|
|
5
|
+
"version": "0.13.5",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"engines": {
|
|
8
8
|
"node": ">=22.0.0"
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
"@biomejs/biome": "^2.3.8",
|
|
21
21
|
"@redis/client": "^5.10.0",
|
|
22
22
|
"dayjs": "^1.11.19",
|
|
23
|
-
"drizzle-kit": "^0.31.
|
|
24
|
-
"drizzle-orm": "^0.
|
|
23
|
+
"drizzle-kit": "^0.31.8",
|
|
24
|
+
"drizzle-orm": "^0.45.0",
|
|
25
25
|
"postgres": "^3.4.7",
|
|
26
26
|
"tsx": "^4.21.0",
|
|
27
27
|
"typebox": "^1.0.61",
|
|
28
28
|
"typescript": "^5.9.3",
|
|
29
29
|
"vite": "^7.2.6",
|
|
30
|
-
"vite-bundle-analyzer": "^1.
|
|
30
|
+
"vite-bundle-analyzer": "^1.3.0",
|
|
31
31
|
"ws": "^8.18.3"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"openid-client": "^6.8.1",
|
|
43
43
|
"prom-client": "^15.1.3",
|
|
44
44
|
"swagger-ui-dist": "^5.30.3",
|
|
45
|
+
"tsdown": "^0.17.0",
|
|
45
46
|
"vitest": "^4.0.15"
|
|
46
47
|
},
|
|
47
48
|
"scarfSettings": {
|
|
@@ -6,11 +6,11 @@ import { CoreCommands } from "../commands/CoreCommands.ts";
|
|
|
6
6
|
import { DrizzleCommands } from "../commands/DrizzleCommands.ts";
|
|
7
7
|
import { VerifyCommands } from "../commands/VerifyCommands.ts";
|
|
8
8
|
import { ViteCommands } from "../commands/ViteCommands.ts";
|
|
9
|
-
import { ProcessRunner } from "../services/ProcessRunner.ts";
|
|
10
9
|
|
|
11
10
|
class AlephaCliExtension {
|
|
12
11
|
protected readonly alepha = $inject(Alepha);
|
|
13
12
|
protected readonly fs = $inject(FileSystemProvider);
|
|
13
|
+
|
|
14
14
|
protected readonly onConfigure = $hook({
|
|
15
15
|
on: "configure",
|
|
16
16
|
handler: async () => {
|
|
@@ -35,7 +35,6 @@ export const AlephaCli = $module({
|
|
|
35
35
|
name: "alepha.cli",
|
|
36
36
|
services: [
|
|
37
37
|
AlephaCliExtension,
|
|
38
|
-
ProcessRunner,
|
|
39
38
|
CoreCommands,
|
|
40
39
|
DrizzleCommands,
|
|
41
40
|
VerifyCommands,
|