alepha 0.13.1 → 0.13.2
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 +1 -1
- package/dist/api-files/index.d.ts +28 -91
- package/dist/api-files/index.js +10 -755
- package/dist/api-files/index.js.map +1 -1
- package/dist/api-jobs/index.d.ts +46 -46
- package/dist/api-jobs/index.js +13 -13
- package/dist/api-jobs/index.js.map +1 -1
- package/dist/api-notifications/index.d.ts +129 -146
- package/dist/api-notifications/index.js +17 -39
- package/dist/api-notifications/index.js.map +1 -1
- package/dist/api-parameters/index.d.ts +21 -22
- package/dist/api-parameters/index.js +22 -22
- package/dist/api-parameters/index.js.map +1 -1
- package/dist/api-users/index.d.ts +223 -2000
- package/dist/api-users/index.js +914 -4787
- package/dist/api-users/index.js.map +1 -1
- package/dist/api-verifications/index.d.ts +96 -96
- package/dist/batch/index.d.ts +13 -13
- package/dist/batch/index.js +8 -8
- package/dist/batch/index.js.map +1 -1
- package/dist/bucket/index.d.ts +14 -14
- package/dist/bucket/index.js +12 -12
- package/dist/bucket/index.js.map +1 -1
- package/dist/cache/index.d.ts +11 -11
- package/dist/cache/index.js +9 -9
- package/dist/cache/index.js.map +1 -1
- package/dist/cli/index.d.ts +28 -26
- package/dist/cli/index.js +50 -13
- package/dist/cli/index.js.map +1 -1
- package/dist/command/index.d.ts +19 -19
- package/dist/command/index.js +25 -25
- package/dist/command/index.js.map +1 -1
- package/dist/core/index.browser.js +218 -218
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +232 -232
- package/dist/core/index.js +218 -218
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +2113 -0
- package/dist/core/index.native.js.map +1 -0
- package/dist/datetime/index.d.ts +9 -9
- package/dist/datetime/index.js +7 -7
- package/dist/datetime/index.js.map +1 -1
- package/dist/email/index.d.ts +16 -16
- package/dist/email/index.js +9 -9
- package/dist/email/index.js.map +1 -1
- package/dist/file/index.js +1 -1
- package/dist/file/index.js.map +1 -1
- package/dist/lock/index.d.ts +9 -9
- package/dist/lock/index.js +8 -8
- package/dist/lock/index.js.map +1 -1
- package/dist/lock-redis/index.js +3 -66
- package/dist/lock-redis/index.js.map +1 -1
- package/dist/logger/index.d.ts +5 -5
- package/dist/logger/index.js +8 -8
- package/dist/logger/index.js.map +1 -1
- package/dist/orm/index.browser.js +114 -114
- package/dist/orm/index.browser.js.map +1 -1
- package/dist/orm/index.d.ts +218 -218
- package/dist/orm/index.js +46 -46
- package/dist/orm/index.js.map +1 -1
- package/dist/queue/index.d.ts +29 -29
- package/dist/queue/index.js +20 -20
- package/dist/queue/index.js.map +1 -1
- package/dist/queue-redis/index.d.ts +2 -2
- package/dist/redis/index.d.ts +10 -10
- package/dist/retry/index.d.ts +19 -19
- package/dist/retry/index.js +7 -7
- package/dist/retry/index.js.map +1 -1
- package/dist/scheduler/index.d.ts +16 -16
- package/dist/scheduler/index.js +9 -9
- package/dist/scheduler/index.js.map +1 -1
- package/dist/security/index.d.ts +80 -80
- package/dist/security/index.js +32 -32
- package/dist/security/index.js.map +1 -1
- package/dist/server/index.browser.js +1 -1
- package/dist/server/index.browser.js.map +1 -1
- package/dist/server/index.d.ts +101 -101
- package/dist/server/index.js +16 -16
- package/dist/server/index.js.map +1 -1
- package/dist/server-auth/index.browser.js +4 -982
- package/dist/server-auth/index.browser.js.map +1 -1
- package/dist/server-auth/index.d.ts +204 -785
- package/dist/server-auth/index.js +47 -1239
- package/dist/server-auth/index.js.map +1 -1
- package/dist/server-cache/index.d.ts +10 -10
- package/dist/server-cache/index.js +2 -2
- package/dist/server-cache/index.js.map +1 -1
- package/dist/server-compress/index.d.ts +4 -4
- package/dist/server-compress/index.js +1 -1
- package/dist/server-compress/index.js.map +1 -1
- package/dist/server-cookies/index.browser.js +8 -8
- package/dist/server-cookies/index.browser.js.map +1 -1
- package/dist/server-cookies/index.d.ts +17 -17
- package/dist/server-cookies/index.js +10 -10
- package/dist/server-cookies/index.js.map +1 -1
- package/dist/server-cors/index.d.ts +17 -17
- package/dist/server-cors/index.js +9 -9
- package/dist/server-cors/index.js.map +1 -1
- package/dist/server-health/index.d.ts +19 -19
- package/dist/server-helmet/index.d.ts +1 -1
- package/dist/server-links/index.browser.js +12 -12
- package/dist/server-links/index.browser.js.map +1 -1
- package/dist/server-links/index.d.ts +59 -251
- package/dist/server-links/index.js +23 -502
- package/dist/server-links/index.js.map +1 -1
- package/dist/server-metrics/index.d.ts +4 -4
- package/dist/server-multipart/index.d.ts +2 -2
- package/dist/server-proxy/index.d.ts +12 -12
- package/dist/server-proxy/index.js +10 -10
- package/dist/server-proxy/index.js.map +1 -1
- package/dist/server-rate-limit/index.d.ts +22 -22
- package/dist/server-rate-limit/index.js +12 -12
- package/dist/server-rate-limit/index.js.map +1 -1
- package/dist/server-security/index.d.ts +22 -22
- package/dist/server-security/index.js +15 -15
- package/dist/server-security/index.js.map +1 -1
- package/dist/server-static/index.d.ts +14 -14
- package/dist/server-static/index.js +8 -8
- package/dist/server-static/index.js.map +1 -1
- package/dist/server-swagger/index.d.ts +25 -184
- package/dist/server-swagger/index.js +21 -724
- package/dist/server-swagger/index.js.map +1 -1
- package/dist/sms/index.d.ts +14 -14
- package/dist/sms/index.js +9 -9
- package/dist/sms/index.js.map +1 -1
- package/dist/thread/index.d.ts +11 -11
- package/dist/thread/index.js +17 -17
- package/dist/thread/index.js.map +1 -1
- package/dist/topic/index.d.ts +26 -26
- package/dist/topic/index.js +16 -16
- package/dist/topic/index.js.map +1 -1
- package/dist/topic-redis/index.d.ts +1 -1
- package/dist/vite/index.d.ts +3 -3
- package/dist/vite/index.js +8 -8
- package/dist/vite/index.js.map +1 -1
- package/dist/websocket/index.browser.js +11 -11
- package/dist/websocket/index.browser.js.map +1 -1
- package/dist/websocket/index.d.ts +58 -58
- package/dist/websocket/index.js +13 -13
- package/dist/websocket/index.js.map +1 -1
- package/package.json +113 -52
- package/src/api-files/services/FileService.ts +5 -7
- package/src/api-jobs/index.ts +1 -1
- package/src/api-jobs/{descriptors → primitives}/$job.ts +8 -8
- package/src/api-jobs/providers/JobProvider.ts +9 -9
- package/src/api-jobs/services/JobService.ts +5 -5
- package/src/api-notifications/index.ts +5 -15
- package/src/api-notifications/{descriptors → primitives}/$notification.ts +10 -10
- package/src/api-notifications/services/NotificationSenderService.ts +3 -3
- package/src/api-parameters/index.ts +1 -1
- package/src/api-parameters/{descriptors → primitives}/$config.ts +7 -12
- package/src/api-users/index.ts +1 -1
- package/src/api-users/{descriptors → primitives}/$userRealm.ts +8 -8
- package/src/api-users/providers/UserRealmProvider.ts +1 -1
- package/src/batch/index.ts +3 -3
- package/src/batch/{descriptors → primitives}/$batch.ts +13 -16
- package/src/bucket/index.ts +8 -8
- package/src/bucket/{descriptors → primitives}/$bucket.ts +8 -8
- package/src/bucket/providers/LocalFileStorageProvider.ts +3 -3
- package/src/cache/index.ts +4 -4
- package/src/cache/{descriptors → primitives}/$cache.ts +15 -15
- package/src/cli/apps/AlephaPackageBuilderCli.ts +24 -2
- package/src/cli/commands/DrizzleCommands.ts +6 -6
- package/src/cli/commands/VerifyCommands.ts +1 -1
- package/src/cli/commands/ViteCommands.ts +6 -1
- package/src/cli/services/ProjectUtils.ts +34 -3
- package/src/command/index.ts +5 -5
- package/src/command/{descriptors → primitives}/$command.ts +9 -12
- package/src/command/providers/CliProvider.ts +10 -10
- package/src/core/Alepha.ts +30 -33
- package/src/core/constants/KIND.ts +1 -1
- package/src/core/constants/OPTIONS.ts +1 -1
- package/src/core/helpers/{descriptor.ts → primitive.ts} +18 -18
- package/src/core/helpers/ref.ts +1 -1
- package/src/core/index.shared.ts +8 -8
- package/src/core/{descriptors → primitives}/$context.ts +5 -5
- package/src/core/{descriptors → primitives}/$hook.ts +4 -4
- package/src/core/{descriptors → primitives}/$inject.ts +2 -2
- package/src/core/{descriptors → primitives}/$module.ts +9 -9
- package/src/core/{descriptors → primitives}/$use.ts +2 -2
- package/src/core/providers/CodecManager.ts +1 -1
- package/src/core/providers/JsonSchemaCodec.ts +1 -1
- package/src/core/providers/StateManager.ts +2 -2
- package/src/datetime/index.ts +3 -3
- package/src/datetime/{descriptors → primitives}/$interval.ts +6 -6
- package/src/email/index.ts +4 -4
- package/src/email/{descriptors → primitives}/$email.ts +8 -8
- package/src/file/index.ts +1 -1
- package/src/lock/index.ts +3 -3
- package/src/lock/{descriptors → primitives}/$lock.ts +10 -10
- package/src/logger/index.ts +8 -8
- package/src/logger/{descriptors → primitives}/$logger.ts +2 -2
- package/src/logger/services/Logger.ts +1 -1
- package/src/orm/constants/PG_SYMBOLS.ts +2 -2
- package/src/orm/index.browser.ts +2 -2
- package/src/orm/index.ts +8 -8
- package/src/orm/{descriptors → primitives}/$entity.ts +11 -11
- package/src/orm/{descriptors → primitives}/$repository.ts +2 -2
- package/src/orm/{descriptors → primitives}/$sequence.ts +8 -8
- package/src/orm/{descriptors → primitives}/$transaction.ts +4 -4
- package/src/orm/providers/PostgresTypeProvider.ts +3 -3
- package/src/orm/providers/RepositoryProvider.ts +4 -4
- package/src/orm/providers/drivers/DatabaseProvider.ts +7 -7
- package/src/orm/services/ModelBuilder.ts +9 -9
- package/src/orm/services/PgRelationManager.ts +2 -2
- package/src/orm/services/PostgresModelBuilder.ts +5 -5
- package/src/orm/services/Repository.ts +7 -7
- package/src/orm/services/SqliteModelBuilder.ts +5 -5
- package/src/queue/index.ts +7 -7
- package/src/queue/{descriptors → primitives}/$consumer.ts +15 -15
- package/src/queue/{descriptors → primitives}/$queue.ts +12 -12
- package/src/queue/providers/WorkerProvider.ts +7 -7
- package/src/retry/index.ts +3 -3
- package/src/retry/{descriptors → primitives}/$retry.ts +14 -14
- package/src/scheduler/index.ts +3 -3
- package/src/scheduler/{descriptors → primitives}/$scheduler.ts +9 -9
- package/src/scheduler/providers/CronProvider.ts +1 -1
- package/src/security/index.ts +9 -9
- package/src/security/{descriptors → primitives}/$permission.ts +7 -7
- package/src/security/{descriptors → primitives}/$realm.ts +6 -12
- package/src/security/{descriptors → primitives}/$role.ts +12 -12
- package/src/security/{descriptors → primitives}/$serviceAccount.ts +8 -8
- package/src/server/index.browser.ts +1 -1
- package/src/server/index.ts +14 -14
- package/src/server/{descriptors → primitives}/$action.ts +13 -13
- package/src/server/{descriptors → primitives}/$route.ts +9 -9
- package/src/server/providers/NodeHttpServerProvider.ts +1 -1
- package/src/server/services/HttpClient.ts +1 -1
- package/src/server-auth/index.browser.ts +1 -1
- package/src/server-auth/index.ts +6 -6
- package/src/server-auth/{descriptors → primitives}/$auth.ts +10 -10
- package/src/server-auth/{descriptors → primitives}/$authCredentials.ts +4 -4
- package/src/server-auth/{descriptors → primitives}/$authGithub.ts +4 -4
- package/src/server-auth/{descriptors → primitives}/$authGoogle.ts +4 -4
- package/src/server-auth/providers/ServerAuthProvider.ts +4 -4
- package/src/server-cache/providers/ServerCacheProvider.ts +7 -7
- package/src/server-compress/providers/ServerCompressProvider.ts +3 -3
- package/src/server-cookies/index.browser.ts +2 -2
- package/src/server-cookies/index.ts +5 -5
- package/src/server-cookies/{descriptors → primitives}/$cookie.browser.ts +12 -12
- package/src/server-cookies/{descriptors → primitives}/$cookie.ts +13 -13
- package/src/server-cookies/providers/ServerCookiesProvider.ts +4 -4
- package/src/server-cookies/services/CookieParser.ts +1 -1
- package/src/server-cors/index.ts +3 -3
- package/src/server-cors/{descriptors → primitives}/$cors.ts +11 -13
- package/src/server-cors/providers/ServerCorsProvider.ts +5 -5
- package/src/server-links/index.browser.ts +5 -5
- package/src/server-links/index.ts +9 -9
- package/src/server-links/{descriptors → primitives}/$remote.ts +11 -11
- package/src/server-links/providers/LinkProvider.ts +7 -7
- package/src/server-links/providers/{RemoteDescriptorProvider.ts → RemotePrimitiveProvider.ts} +6 -6
- package/src/server-links/providers/ServerLinksProvider.ts +3 -3
- package/src/server-proxy/index.ts +3 -3
- package/src/server-proxy/{descriptors → primitives}/$proxy.ts +8 -8
- package/src/server-proxy/providers/ServerProxyProvider.ts +4 -4
- package/src/server-rate-limit/index.ts +6 -6
- package/src/server-rate-limit/{descriptors → primitives}/$rateLimit.ts +13 -13
- package/src/server-rate-limit/providers/ServerRateLimitProvider.ts +5 -5
- package/src/server-security/index.ts +3 -3
- package/src/server-security/{descriptors → primitives}/$basicAuth.ts +13 -13
- package/src/server-security/providers/ServerBasicAuthProvider.ts +5 -5
- package/src/server-security/providers/ServerSecurityProvider.ts +4 -4
- package/src/server-static/index.ts +3 -3
- package/src/server-static/{descriptors → primitives}/$serve.ts +8 -10
- package/src/server-static/providers/ServerStaticProvider.ts +6 -6
- package/src/server-swagger/index.ts +5 -5
- package/src/server-swagger/{descriptors → primitives}/$swagger.ts +9 -9
- package/src/server-swagger/providers/ServerSwaggerProvider.ts +11 -10
- package/src/sms/index.ts +4 -4
- package/src/sms/{descriptors → primitives}/$sms.ts +8 -8
- package/src/thread/index.ts +3 -3
- package/src/thread/{descriptors → primitives}/$thread.ts +13 -13
- package/src/thread/providers/ThreadProvider.ts +7 -9
- package/src/topic/index.ts +5 -5
- package/src/topic/{descriptors → primitives}/$subscriber.ts +14 -14
- package/src/topic/{descriptors → primitives}/$topic.ts +10 -10
- package/src/topic/providers/TopicProvider.ts +4 -4
- package/src/vite/tasks/copyAssets.ts +1 -1
- package/src/vite/tasks/generateSitemap.ts +3 -3
- package/src/vite/tasks/prerenderPages.ts +2 -2
- package/src/vite/tasks/runAlepha.ts +2 -2
- package/src/websocket/index.browser.ts +3 -3
- package/src/websocket/index.shared.ts +2 -2
- package/src/websocket/index.ts +4 -4
- package/src/websocket/interfaces/WebSocketInterfaces.ts +3 -3
- package/src/websocket/{descriptors → primitives}/$channel.ts +10 -10
- package/src/websocket/{descriptors → primitives}/$websocket.ts +8 -8
- package/src/websocket/providers/NodeWebSocketServerProvider.ts +7 -7
- package/src/websocket/providers/WebSocketServerProvider.ts +3 -3
- package/src/websocket/services/WebSocketClient.ts +5 -5
- package/src/api-notifications/providers/MemorySmsProvider.ts +0 -20
- package/src/api-notifications/providers/SmsProvider.ts +0 -8
- /package/src/core/{descriptors → primitives}/$atom.ts +0 -0
- /package/src/core/{descriptors → primitives}/$env.ts +0 -0
- /package/src/server-auth/{descriptors → primitives}/$authApple.ts +0 -0
- /package/src/server-links/{descriptors → primitives}/$client.ts +0 -0
package/dist/cli/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as alepha0 from "alepha";
|
|
2
2
|
import { Alepha } from "alepha";
|
|
3
|
-
import * as
|
|
3
|
+
import * as alepha_command7 from "alepha/command";
|
|
4
4
|
import { CliProvider } from "alepha/command";
|
|
5
5
|
import * as alepha_logger4 from "alepha/logger";
|
|
6
6
|
import { FileSystemProvider } from "alepha/file";
|
|
@@ -12,6 +12,7 @@ declare const AlephaCli: alepha0.Service<alepha0.Module>;
|
|
|
12
12
|
interface Module {
|
|
13
13
|
name: string;
|
|
14
14
|
dependencies: string[];
|
|
15
|
+
native?: boolean;
|
|
15
16
|
browser?: boolean;
|
|
16
17
|
node?: boolean;
|
|
17
18
|
}
|
|
@@ -19,7 +20,7 @@ declare class AlephaPackageBuilderCli {
|
|
|
19
20
|
src: string;
|
|
20
21
|
dist: string;
|
|
21
22
|
fs: FileSystemProvider;
|
|
22
|
-
make:
|
|
23
|
+
make: alepha_command7.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema>;
|
|
23
24
|
}
|
|
24
25
|
declare function analyzeModules(srcDir: string, packageName: string): Promise<Module[]>;
|
|
25
26
|
//#endregion
|
|
@@ -209,6 +210,7 @@ declare class ProjectUtils {
|
|
|
209
210
|
entry: string;
|
|
210
211
|
rootDir: string;
|
|
211
212
|
}): Promise<string>;
|
|
213
|
+
loadEnvFile(root: string): Promise<void>;
|
|
212
214
|
/**
|
|
213
215
|
* Run a drizzle-kit command for all database providers in an Alepha instance.
|
|
214
216
|
*
|
|
@@ -227,7 +229,7 @@ declare class ProjectUtils {
|
|
|
227
229
|
}): Promise<void>;
|
|
228
230
|
getPackageManager(root: string): Promise<"yarn" | "pnpm" | "npm">;
|
|
229
231
|
ensureIndexHtml(root: string): Promise<void>;
|
|
230
|
-
|
|
232
|
+
exists(root: string, dirName: string): Promise<boolean>;
|
|
231
233
|
readPackageJson(root: string): Promise<Record<string, any>>;
|
|
232
234
|
}
|
|
233
235
|
interface DependencyModes {
|
|
@@ -240,8 +242,8 @@ declare class BiomeCommands {
|
|
|
240
242
|
protected readonly log: alepha_logger4.Logger;
|
|
241
243
|
protected readonly runner: ProcessRunner;
|
|
242
244
|
protected readonly utils: ProjectUtils;
|
|
243
|
-
readonly format:
|
|
244
|
-
readonly lint:
|
|
245
|
+
readonly format: alepha_command7.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema>;
|
|
246
|
+
readonly lint: alepha_command7.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema>;
|
|
245
247
|
}
|
|
246
248
|
//#endregion
|
|
247
249
|
//#region src/cli/commands/CoreCommands.d.ts
|
|
@@ -252,18 +254,18 @@ declare class CoreCommands {
|
|
|
252
254
|
/**
|
|
253
255
|
* Called when no command is provided
|
|
254
256
|
*/
|
|
255
|
-
readonly root:
|
|
257
|
+
readonly root: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
256
258
|
version: alepha0.TOptional<alepha0.TBoolean>;
|
|
257
259
|
}>, alepha0.TSchema>;
|
|
258
260
|
/**
|
|
259
261
|
* Clean the project, removing the "dist" directory
|
|
260
262
|
*/
|
|
261
|
-
readonly clean:
|
|
263
|
+
readonly clean: alepha_command7.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema>;
|
|
262
264
|
/**
|
|
263
265
|
* Ensure the project has the necessary Alepha configuration files.
|
|
264
266
|
* Add the correct dependencies to package.json and install them.
|
|
265
267
|
*/
|
|
266
|
-
readonly init:
|
|
268
|
+
readonly init: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
267
269
|
yarn: alepha0.TOptional<alepha0.TBoolean>;
|
|
268
270
|
pnpm: alepha0.TOptional<alepha0.TBoolean>;
|
|
269
271
|
react: alepha0.TOptional<alepha0.TBoolean>;
|
|
@@ -279,19 +281,19 @@ declare class DrizzleCommands {
|
|
|
279
281
|
/**
|
|
280
282
|
* Check if database migrations are up to date.
|
|
281
283
|
*/
|
|
282
|
-
check:
|
|
284
|
+
check: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
283
285
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
284
286
|
}>, alepha0.TOptional<alepha0.TString>>;
|
|
285
287
|
/**
|
|
286
288
|
* Generate database migration files
|
|
287
289
|
*
|
|
288
290
|
* - Loads the Alepha instance from the specified entry file.
|
|
289
|
-
* - Retrieves all repository
|
|
291
|
+
* - Retrieves all repository primitives to gather database models.
|
|
290
292
|
* - Creates temporary entity definitions based on the current database schema.
|
|
291
293
|
* - Writes these definitions to a temporary schema file. (node_modules/.db/entities.ts)
|
|
292
294
|
* - Invokes Drizzle Kit's CLI to generate migration files based on the current schema.
|
|
293
295
|
*/
|
|
294
|
-
generate:
|
|
296
|
+
generate: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
295
297
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
296
298
|
custom: alepha0.TOptional<alepha0.TString>;
|
|
297
299
|
}>, alepha0.TOptional<alepha0.TString>>;
|
|
@@ -299,33 +301,33 @@ declare class DrizzleCommands {
|
|
|
299
301
|
* Push database schema changes directly to the database
|
|
300
302
|
*
|
|
301
303
|
* - Loads the Alepha instance from the specified entry file.
|
|
302
|
-
* - Retrieves all repository
|
|
304
|
+
* - Retrieves all repository primitives to gather database models.
|
|
303
305
|
* - Creates temporary entity definitions and Drizzle config.
|
|
304
306
|
* - Invokes Drizzle Kit's push command to apply schema changes directly.
|
|
305
307
|
*/
|
|
306
|
-
push:
|
|
308
|
+
push: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
307
309
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
308
310
|
}>, alepha0.TOptional<alepha0.TString>>;
|
|
309
311
|
/**
|
|
310
312
|
* Apply pending database migrations
|
|
311
313
|
*
|
|
312
314
|
* - Loads the Alepha instance from the specified entry file.
|
|
313
|
-
* - Retrieves all repository
|
|
315
|
+
* - Retrieves all repository primitives to gather database models.
|
|
314
316
|
* - Creates temporary entity definitions and Drizzle config.
|
|
315
317
|
* - Invokes Drizzle Kit's migrate command to apply pending migrations.
|
|
316
318
|
*/
|
|
317
|
-
migrate:
|
|
319
|
+
migrate: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
318
320
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
319
321
|
}>, alepha0.TOptional<alepha0.TString>>;
|
|
320
322
|
/**
|
|
321
323
|
* Launch Drizzle Studio database browser
|
|
322
324
|
*
|
|
323
325
|
* - Loads the Alepha instance from the specified entry file.
|
|
324
|
-
* - Retrieves all repository
|
|
326
|
+
* - Retrieves all repository primitives to gather database models.
|
|
325
327
|
* - Creates temporary entity definitions and Drizzle config.
|
|
326
328
|
* - Invokes Drizzle Kit's studio command to launch the web-based database browser.
|
|
327
329
|
*/
|
|
328
|
-
studio:
|
|
330
|
+
studio: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
329
331
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
330
332
|
}>, alepha0.TOptional<alepha0.TString>>;
|
|
331
333
|
/**
|
|
@@ -333,7 +335,7 @@ declare class DrizzleCommands {
|
|
|
333
335
|
*
|
|
334
336
|
* @experimental
|
|
335
337
|
*/
|
|
336
|
-
drop:
|
|
338
|
+
drop: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
337
339
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
338
340
|
}>, alepha0.TOptional<alepha0.TString>>;
|
|
339
341
|
/**
|
|
@@ -341,7 +343,7 @@ declare class DrizzleCommands {
|
|
|
341
343
|
*
|
|
342
344
|
* @experimental
|
|
343
345
|
*/
|
|
344
|
-
seed:
|
|
346
|
+
seed: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
345
347
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
346
348
|
}>, alepha0.TOptional<alepha0.TString>>;
|
|
347
349
|
/**
|
|
@@ -349,7 +351,7 @@ declare class DrizzleCommands {
|
|
|
349
351
|
*
|
|
350
352
|
* @experimental
|
|
351
353
|
*/
|
|
352
|
-
status:
|
|
354
|
+
status: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
353
355
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
354
356
|
}>, alepha0.TOptional<alepha0.TString>>;
|
|
355
357
|
}
|
|
@@ -371,11 +373,11 @@ declare class VerifyCommands {
|
|
|
371
373
|
* - Build the project
|
|
372
374
|
* - Clean the project again
|
|
373
375
|
*/
|
|
374
|
-
readonly verify:
|
|
376
|
+
readonly verify: alepha_command7.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema>;
|
|
375
377
|
/**
|
|
376
378
|
* Run TypeScript type checking across the codebase with no emit.
|
|
377
379
|
*/
|
|
378
|
-
readonly typecheck:
|
|
380
|
+
readonly typecheck: alepha_command7.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema>;
|
|
379
381
|
}
|
|
380
382
|
//#endregion
|
|
381
383
|
//#region src/cli/commands/ViteCommands.d.ts
|
|
@@ -386,7 +388,7 @@ declare class ViteCommands {
|
|
|
386
388
|
protected readonly env: {
|
|
387
389
|
VITEST_ARGS: string;
|
|
388
390
|
};
|
|
389
|
-
readonly run:
|
|
391
|
+
readonly run: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
390
392
|
watch: alepha0.TOptional<alepha0.TBoolean>;
|
|
391
393
|
}>, alepha0.TString>;
|
|
392
394
|
/**
|
|
@@ -395,8 +397,8 @@ declare class ViteCommands {
|
|
|
395
397
|
* - If an index.html file is found in the project root, it will run Vite in dev mode.
|
|
396
398
|
* - Otherwise, it will look for a server entry file and run it with tsx in watch mode.
|
|
397
399
|
*/
|
|
398
|
-
readonly dev:
|
|
399
|
-
readonly build:
|
|
400
|
+
readonly dev: alepha_command7.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TOptional<alepha0.TString>>;
|
|
401
|
+
readonly build: alepha_command7.CommandPrimitive<alepha0.TObject<{
|
|
400
402
|
stats: alepha0.TOptional<alepha0.TBoolean>;
|
|
401
403
|
vercel: alepha0.TOptional<alepha0.TBoolean>;
|
|
402
404
|
cloudflare: alepha0.TOptional<alepha0.TBoolean>;
|
|
@@ -404,7 +406,7 @@ declare class ViteCommands {
|
|
|
404
406
|
sitemap: alepha0.TOptional<alepha0.TString>;
|
|
405
407
|
prerender: alepha0.TOptional<alepha0.TBoolean>;
|
|
406
408
|
}>, alepha0.TOptional<alepha0.TString>>;
|
|
407
|
-
readonly test:
|
|
409
|
+
readonly test: alepha_command7.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema>;
|
|
408
410
|
}
|
|
409
411
|
//#endregion
|
|
410
412
|
//#region src/cli/version.d.ts
|
package/dist/cli/index.js
CHANGED
|
@@ -441,10 +441,32 @@ ${models.map((it) => `export const ${it} = models["${it}"];`).join("\n")}
|
|
|
441
441
|
dialect: options.dialect,
|
|
442
442
|
dbCredentials: { url: options.providerUrl }
|
|
443
443
|
};
|
|
444
|
+
if (options.dialect === "sqlite") {
|
|
445
|
+
let url = options.providerUrl;
|
|
446
|
+
url = url.replace("sqlite://", "").replace("file://", "");
|
|
447
|
+
url = join(options.rootDir, url);
|
|
448
|
+
config.dbCredentials = { url };
|
|
449
|
+
}
|
|
444
450
|
if (options.providerName === "pglite") config.driver = "pglite";
|
|
445
451
|
const drizzleConfigJs = `export default ${JSON.stringify(config, null, 2)}`;
|
|
446
452
|
return await this.runner.writeConfigFile("drizzle.config.js", drizzleConfigJs, options.rootDir);
|
|
447
453
|
}
|
|
454
|
+
async loadEnvFile(root) {
|
|
455
|
+
const envPath = join(root, ".env");
|
|
456
|
+
try {
|
|
457
|
+
const lines = (await readFile(envPath, "utf8")).split("\n");
|
|
458
|
+
for (const line of lines) {
|
|
459
|
+
const [key, ...rest] = line.split("=");
|
|
460
|
+
if (key) {
|
|
461
|
+
const value = rest.join("=");
|
|
462
|
+
process.env[key.trim()] = value.trim();
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
this.log.debug(`Loaded environment variables from ${envPath}`);
|
|
466
|
+
} catch {
|
|
467
|
+
this.log.debug(`No .env file found at ${envPath}, skipping load.`);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
448
470
|
/**
|
|
449
471
|
* Run a drizzle-kit command for all database providers in an Alepha instance.
|
|
450
472
|
*
|
|
@@ -455,13 +477,14 @@ ${models.map((it) => `export const ${it} = models["${it}"];`).join("\n")}
|
|
|
455
477
|
*/
|
|
456
478
|
async runDrizzleKitCommand(options) {
|
|
457
479
|
const rootDir = options.root;
|
|
480
|
+
await this.loadEnvFile(rootDir);
|
|
458
481
|
this.log.debug(`Using project root: ${rootDir}`);
|
|
459
482
|
const { alepha, entry } = await this.loadAlephaFromServerEntryFile(rootDir, options.args);
|
|
460
483
|
const drizzleKitProvider = alepha.inject("DrizzleKitProvider");
|
|
461
484
|
const repositoryProvider = alepha.inject("RepositoryProvider");
|
|
462
485
|
const accepted = /* @__PURE__ */ new Set([]);
|
|
463
|
-
for (const
|
|
464
|
-
const provider =
|
|
486
|
+
for (const primitive of repositoryProvider.getRepositories()) {
|
|
487
|
+
const provider = primitive.provider;
|
|
465
488
|
const providerName = provider.name;
|
|
466
489
|
const dialect = provider.dialect;
|
|
467
490
|
if (accepted.has(providerName)) continue;
|
|
@@ -503,7 +526,7 @@ ${models.map((it) => `export const ${it} = models["${it}"];`).join("\n")}
|
|
|
503
526
|
if (!await this.fs.exists(join(root, serverEntry))) await this.fs.writeFile(join(root, serverEntry), mainBrowserTs());
|
|
504
527
|
if (!await this.fs.exists(join(root, appRouter))) await this.fs.writeFile(join(root, appRouter), appRouterTs());
|
|
505
528
|
}
|
|
506
|
-
async
|
|
529
|
+
async exists(root, dirName) {
|
|
507
530
|
return this.fs.exists(join(root, dirName));
|
|
508
531
|
}
|
|
509
532
|
async readPackageJson(root) {
|
|
@@ -630,8 +653,8 @@ var DrizzleCommands = class {
|
|
|
630
653
|
const repositoryProvider = alepha.inject("RepositoryProvider");
|
|
631
654
|
const drizzleKitProvider = alepha.inject("DrizzleKitProvider");
|
|
632
655
|
const accepted = /* @__PURE__ */ new Set([]);
|
|
633
|
-
for (const
|
|
634
|
-
const provider =
|
|
656
|
+
for (const primitive of repositoryProvider.getRepositories()) {
|
|
657
|
+
const provider = primitive.provider;
|
|
635
658
|
const providerName = provider.name;
|
|
636
659
|
if (accepted.has(providerName)) continue;
|
|
637
660
|
accepted.add(providerName);
|
|
@@ -677,7 +700,7 @@ var DrizzleCommands = class {
|
|
|
677
700
|
* Generate database migration files
|
|
678
701
|
*
|
|
679
702
|
* - Loads the Alepha instance from the specified entry file.
|
|
680
|
-
* - Retrieves all repository
|
|
703
|
+
* - Retrieves all repository primitives to gather database models.
|
|
681
704
|
* - Creates temporary entity definitions based on the current database schema.
|
|
682
705
|
* - Writes these definitions to a temporary schema file. (node_modules/.db/entities.ts)
|
|
683
706
|
* - Invokes Drizzle Kit's CLI to generate migration files based on the current schema.
|
|
@@ -707,7 +730,7 @@ var DrizzleCommands = class {
|
|
|
707
730
|
* Push database schema changes directly to the database
|
|
708
731
|
*
|
|
709
732
|
* - Loads the Alepha instance from the specified entry file.
|
|
710
|
-
* - Retrieves all repository
|
|
733
|
+
* - Retrieves all repository primitives to gather database models.
|
|
711
734
|
* - Creates temporary entity definitions and Drizzle config.
|
|
712
735
|
* - Invokes Drizzle Kit's push command to apply schema changes directly.
|
|
713
736
|
*/
|
|
@@ -734,7 +757,7 @@ var DrizzleCommands = class {
|
|
|
734
757
|
* Apply pending database migrations
|
|
735
758
|
*
|
|
736
759
|
* - Loads the Alepha instance from the specified entry file.
|
|
737
|
-
* - Retrieves all repository
|
|
760
|
+
* - Retrieves all repository primitives to gather database models.
|
|
738
761
|
* - Creates temporary entity definitions and Drizzle config.
|
|
739
762
|
* - Invokes Drizzle Kit's migrate command to apply pending migrations.
|
|
740
763
|
*/
|
|
@@ -761,7 +784,7 @@ var DrizzleCommands = class {
|
|
|
761
784
|
* Launch Drizzle Studio database browser
|
|
762
785
|
*
|
|
763
786
|
* - Loads the Alepha instance from the specified entry file.
|
|
764
|
-
* - Retrieves all repository
|
|
787
|
+
* - Retrieves all repository primitives to gather database models.
|
|
765
788
|
* - Creates temporary entity definitions and Drizzle config.
|
|
766
789
|
* - Invokes Drizzle Kit's studio command to launch the web-based database browser.
|
|
767
790
|
*/
|
|
@@ -870,7 +893,7 @@ var VerifyCommands = class {
|
|
|
870
893
|
await run("alepha lint");
|
|
871
894
|
await run("alepha typecheck");
|
|
872
895
|
if ((await this.utils.readPackageJson(root)).devDependencies?.vitest) await run("alepha test");
|
|
873
|
-
if (await this.utils.
|
|
896
|
+
if (await this.utils.exists(root, "migrations")) await run("alepha db:check-migrations");
|
|
874
897
|
await run("alepha build");
|
|
875
898
|
await run("alepha clean");
|
|
876
899
|
}
|
|
@@ -935,7 +958,10 @@ var ViteCommands = class {
|
|
|
935
958
|
await access(join(root, "index.html"));
|
|
936
959
|
} catch {
|
|
937
960
|
this.log.trace("No index.html found, running entry file with tsx");
|
|
938
|
-
|
|
961
|
+
let cmd = "tsx --watch";
|
|
962
|
+
if (await this.utils.exists(root, ".env")) cmd += ` --env-file=./.env`;
|
|
963
|
+
cmd += ` ${entry}`;
|
|
964
|
+
await this.runner.exec(cmd);
|
|
939
965
|
return;
|
|
940
966
|
}
|
|
941
967
|
await this.runner.exec(`vite`);
|
|
@@ -1109,9 +1135,10 @@ var AlephaPackageBuilderCli = class {
|
|
|
1109
1135
|
const path = item.name === "core" ? "." : `./${item.name.replace("-", "/")}`;
|
|
1110
1136
|
pkgData.exports[path] = {};
|
|
1111
1137
|
pkgData.exports[path].types = `./src/${item.name}/index.ts`;
|
|
1138
|
+
if (item.native) pkgData.exports[path]["react-native"] = `./src/${item.name}/index.native.ts`;
|
|
1139
|
+
else if (item.browser) pkgData.exports[path]["react-native"] = `./src/${item.name}/index.browser.ts`;
|
|
1112
1140
|
if (item.browser) pkgData.exports[path].browser = `./src/${item.name}/index.browser.ts`;
|
|
1113
1141
|
pkgData.exports[path].import = `./src/${item.name}/index.ts`;
|
|
1114
|
-
pkgData.exports[path].require = `./src/${item.name}/index.ts`;
|
|
1115
1142
|
}
|
|
1116
1143
|
if (packageName === "alepha") {
|
|
1117
1144
|
pkgData.exports["./tsconfig.base"] = "./tsconfig.base.json";
|
|
@@ -1125,7 +1152,7 @@ var AlephaPackageBuilderCli = class {
|
|
|
1125
1152
|
const external = [
|
|
1126
1153
|
"alepha",
|
|
1127
1154
|
packageName,
|
|
1128
|
-
...modules.map((item) => `${packageName}/${item.name}`)
|
|
1155
|
+
...modules.map((item) => `${packageName}/${item.name.replace("-", "/")}`)
|
|
1129
1156
|
];
|
|
1130
1157
|
await run.rm(this.dist);
|
|
1131
1158
|
const build = async (item) => {
|
|
@@ -1141,6 +1168,14 @@ var AlephaPackageBuilderCli = class {
|
|
|
1141
1168
|
platform: "node",
|
|
1142
1169
|
external
|
|
1143
1170
|
});
|
|
1171
|
+
if (item.native) entries.push({
|
|
1172
|
+
entry: join(src, "index.native.ts"),
|
|
1173
|
+
outDir: dest,
|
|
1174
|
+
platform: "neutral",
|
|
1175
|
+
sourcemap: true,
|
|
1176
|
+
dts: false,
|
|
1177
|
+
external
|
|
1178
|
+
});
|
|
1144
1179
|
if (item.browser) entries.push({
|
|
1145
1180
|
entry: join(src, "index.browser.ts"),
|
|
1146
1181
|
outDir: dest,
|
|
@@ -1235,6 +1270,7 @@ async function analyzeModules(srcDir, packageName) {
|
|
|
1235
1270
|
const modulePath = join(srcDir, moduleName);
|
|
1236
1271
|
const dependencies = /* @__PURE__ */ new Set();
|
|
1237
1272
|
const hasBrowser = await fileExists(join(modulePath, "index.browser.ts"));
|
|
1273
|
+
const hasNative = await fileExists(join(modulePath, "index.native.ts"));
|
|
1238
1274
|
const hasNode = await fileExists(join(modulePath, "index.node.ts"));
|
|
1239
1275
|
const files = await getAllFiles(modulePath);
|
|
1240
1276
|
for (const file of files) {
|
|
@@ -1249,6 +1285,7 @@ async function analyzeModules(srcDir, packageName) {
|
|
|
1249
1285
|
name: moduleName,
|
|
1250
1286
|
dependencies: Array.from(dependencies)
|
|
1251
1287
|
};
|
|
1288
|
+
if (hasNative) module.native = true;
|
|
1252
1289
|
if (hasBrowser) module.browser = true;
|
|
1253
1290
|
if (hasNode) module.node = true;
|
|
1254
1291
|
modules.push(module);
|