alepha 0.14.4 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -4
- package/dist/api/audits/index.d.ts +619 -731
- package/dist/api/audits/index.d.ts.map +1 -1
- package/dist/api/files/index.d.ts +185 -298
- package/dist/api/files/index.d.ts.map +1 -1
- package/dist/api/files/index.js +0 -1
- package/dist/api/files/index.js.map +1 -1
- package/dist/api/jobs/index.d.ts +245 -356
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/notifications/index.d.ts +238 -350
- package/dist/api/notifications/index.d.ts.map +1 -1
- package/dist/api/parameters/index.d.ts +499 -611
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/users/index.browser.js +1 -2
- package/dist/api/users/index.browser.js.map +1 -1
- package/dist/api/users/index.d.ts +1697 -1804
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +178 -151
- package/dist/api/users/index.js.map +1 -1
- package/dist/api/verifications/index.d.ts +132 -132
- package/dist/api/verifications/index.d.ts.map +1 -1
- package/dist/batch/index.d.ts +122 -122
- package/dist/batch/index.d.ts.map +1 -1
- package/dist/batch/index.js +1 -2
- package/dist/batch/index.js.map +1 -1
- package/dist/bucket/index.d.ts +163 -163
- package/dist/bucket/index.d.ts.map +1 -1
- package/dist/cache/core/index.d.ts +46 -46
- package/dist/cache/core/index.d.ts.map +1 -1
- package/dist/cache/redis/index.d.ts.map +1 -1
- package/dist/cli/index.d.ts +302 -299
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +966 -564
- package/dist/cli/index.js.map +1 -1
- package/dist/command/index.d.ts +303 -299
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +11 -7
- package/dist/command/index.js.map +1 -1
- package/dist/core/index.browser.js +419 -99
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +718 -625
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +420 -99
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +419 -99
- package/dist/core/index.native.js.map +1 -1
- package/dist/datetime/index.d.ts +44 -44
- package/dist/datetime/index.d.ts.map +1 -1
- package/dist/datetime/index.js +4 -4
- package/dist/datetime/index.js.map +1 -1
- package/dist/email/index.d.ts +97 -50
- package/dist/email/index.d.ts.map +1 -1
- package/dist/email/index.js +129 -33
- package/dist/email/index.js.map +1 -1
- package/dist/fake/index.d.ts +7981 -14
- package/dist/fake/index.d.ts.map +1 -1
- package/dist/file/index.d.ts +523 -390
- package/dist/file/index.d.ts.map +1 -1
- package/dist/file/index.js +253 -1
- package/dist/file/index.js.map +1 -1
- package/dist/lock/core/index.d.ts +208 -208
- package/dist/lock/core/index.d.ts.map +1 -1
- package/dist/lock/redis/index.d.ts.map +1 -1
- package/dist/logger/index.d.ts +25 -26
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/mcp/index.d.ts +197 -197
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/orm/chunk-DtkW-qnP.js +38 -0
- package/dist/orm/index.browser.js.map +1 -1
- package/dist/orm/index.bun.js +2814 -0
- package/dist/orm/index.bun.js.map +1 -0
- package/dist/orm/index.d.ts +1205 -1057
- package/dist/orm/index.d.ts.map +1 -1
- package/dist/orm/index.js +2056 -1753
- package/dist/orm/index.js.map +1 -1
- package/dist/queue/core/index.d.ts +248 -248
- package/dist/queue/core/index.d.ts.map +1 -1
- package/dist/queue/redis/index.d.ts.map +1 -1
- package/dist/redis/index.bun.js +285 -0
- package/dist/redis/index.bun.js.map +1 -0
- package/dist/redis/index.d.ts +118 -136
- package/dist/redis/index.d.ts.map +1 -1
- package/dist/redis/index.js +18 -38
- package/dist/redis/index.js.map +1 -1
- package/dist/retry/index.d.ts +69 -69
- package/dist/retry/index.d.ts.map +1 -1
- package/dist/router/index.d.ts +6 -6
- package/dist/router/index.d.ts.map +1 -1
- package/dist/scheduler/index.d.ts +25 -25
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/security/index.browser.js +5 -1
- package/dist/security/index.browser.js.map +1 -1
- package/dist/security/index.d.ts +417 -254
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +386 -86
- package/dist/security/index.js.map +1 -1
- package/dist/server/auth/index.d.ts +277 -277
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +20 -20
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/cache/index.d.ts +60 -57
- package/dist/server/cache/index.d.ts.map +1 -1
- package/dist/server/cache/index.js +1 -1
- package/dist/server/cache/index.js.map +1 -1
- package/dist/server/compress/index.d.ts +3 -3
- package/dist/server/compress/index.d.ts.map +1 -1
- package/dist/server/cookies/index.d.ts +6 -6
- package/dist/server/cookies/index.d.ts.map +1 -1
- package/dist/server/cookies/index.js +3 -3
- package/dist/server/cookies/index.js.map +1 -1
- package/dist/server/core/index.d.ts +242 -150
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js +288 -122
- package/dist/server/core/index.js.map +1 -1
- package/dist/server/cors/index.d.ts +11 -12
- package/dist/server/cors/index.d.ts.map +1 -1
- package/dist/server/health/index.d.ts +0 -1
- package/dist/server/health/index.d.ts.map +1 -1
- package/dist/server/helmet/index.d.ts +2 -2
- package/dist/server/helmet/index.d.ts.map +1 -1
- package/dist/server/links/index.browser.js.map +1 -1
- package/dist/server/links/index.d.ts +84 -85
- package/dist/server/links/index.d.ts.map +1 -1
- package/dist/server/links/index.js +1 -2
- package/dist/server/links/index.js.map +1 -1
- package/dist/server/metrics/index.d.ts.map +1 -1
- package/dist/server/multipart/index.d.ts +6 -6
- package/dist/server/multipart/index.d.ts.map +1 -1
- package/dist/server/proxy/index.d.ts +102 -103
- package/dist/server/proxy/index.d.ts.map +1 -1
- package/dist/server/rate-limit/index.d.ts +16 -16
- package/dist/server/rate-limit/index.d.ts.map +1 -1
- package/dist/server/static/index.d.ts +44 -44
- package/dist/server/static/index.d.ts.map +1 -1
- package/dist/server/swagger/index.d.ts +48 -49
- package/dist/server/swagger/index.d.ts.map +1 -1
- package/dist/server/swagger/index.js +1 -2
- package/dist/server/swagger/index.js.map +1 -1
- package/dist/sms/index.d.ts +13 -11
- package/dist/sms/index.d.ts.map +1 -1
- package/dist/sms/index.js +7 -7
- package/dist/sms/index.js.map +1 -1
- package/dist/thread/index.d.ts +71 -72
- package/dist/thread/index.d.ts.map +1 -1
- package/dist/topic/core/index.d.ts +318 -318
- package/dist/topic/core/index.d.ts.map +1 -1
- package/dist/topic/redis/index.d.ts +6 -6
- package/dist/topic/redis/index.d.ts.map +1 -1
- package/dist/vite/index.d.ts +5720 -159
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +41 -18
- package/dist/vite/index.js.map +1 -1
- package/dist/websocket/index.browser.js +6 -6
- package/dist/websocket/index.browser.js.map +1 -1
- package/dist/websocket/index.d.ts +247 -247
- package/dist/websocket/index.d.ts.map +1 -1
- package/dist/websocket/index.js +6 -6
- package/dist/websocket/index.js.map +1 -1
- package/package.json +9 -14
- package/src/api/files/controllers/AdminFileStatsController.ts +0 -1
- package/src/api/users/atoms/realmAuthSettingsAtom.ts +5 -0
- package/src/api/users/controllers/{UserRealmController.ts → RealmController.ts} +11 -11
- package/src/api/users/entities/users.ts +1 -1
- package/src/api/users/index.ts +8 -8
- package/src/api/users/primitives/{$userRealm.ts → $realm.ts} +17 -19
- package/src/api/users/providers/{UserRealmProvider.ts → RealmProvider.ts} +26 -30
- package/src/api/users/schemas/{userRealmConfigSchema.ts → realmConfigSchema.ts} +2 -2
- package/src/api/users/services/CredentialService.ts +7 -7
- package/src/api/users/services/IdentityService.ts +4 -4
- package/src/api/users/services/RegistrationService.spec.ts +25 -27
- package/src/api/users/services/RegistrationService.ts +38 -27
- package/src/api/users/services/SessionCrudService.ts +3 -3
- package/src/api/users/services/SessionService.spec.ts +3 -3
- package/src/api/users/services/SessionService.ts +28 -9
- package/src/api/users/services/UserService.ts +7 -7
- package/src/batch/providers/BatchProvider.ts +1 -2
- package/src/cli/apps/AlephaPackageBuilderCli.ts +38 -19
- package/src/cli/assets/apiHelloControllerTs.ts +18 -0
- package/src/cli/assets/apiIndexTs.ts +16 -0
- package/src/cli/assets/claudeMd.ts +303 -0
- package/src/cli/assets/mainBrowserTs.ts +2 -2
- package/src/cli/assets/mainServerTs.ts +24 -0
- package/src/cli/assets/webAppRouterTs.ts +15 -0
- package/src/cli/assets/webHelloComponentTsx.ts +16 -0
- package/src/cli/assets/webIndexTs.ts +16 -0
- package/src/cli/commands/build.ts +41 -21
- package/src/cli/commands/db.ts +21 -18
- package/src/cli/commands/deploy.ts +17 -5
- package/src/cli/commands/dev.ts +13 -17
- package/src/cli/commands/format.ts +8 -2
- package/src/cli/commands/init.ts +74 -29
- package/src/cli/commands/lint.ts +8 -2
- package/src/cli/commands/test.ts +8 -2
- package/src/cli/commands/typecheck.ts +5 -1
- package/src/cli/commands/verify.ts +4 -2
- package/src/cli/services/AlephaCliUtils.ts +39 -600
- package/src/cli/services/PackageManagerUtils.ts +301 -0
- package/src/cli/services/ProjectScaffolder.ts +306 -0
- package/src/command/helpers/Runner.ts +15 -3
- package/src/core/__tests__/Alepha-graph.spec.ts +4 -0
- package/src/core/index.shared.ts +1 -0
- package/src/core/index.ts +2 -0
- package/src/core/primitives/$hook.ts +6 -2
- package/src/core/primitives/$module.spec.ts +4 -0
- package/src/core/providers/AlsProvider.ts +1 -1
- package/src/core/providers/CodecManager.spec.ts +12 -6
- package/src/core/providers/CodecManager.ts +26 -6
- package/src/core/providers/EventManager.ts +169 -13
- package/src/core/providers/KeylessJsonSchemaCodec.spec.ts +621 -0
- package/src/core/providers/KeylessJsonSchemaCodec.ts +407 -0
- package/src/core/providers/StateManager.spec.ts +27 -16
- package/src/email/providers/LocalEmailProvider.spec.ts +111 -87
- package/src/email/providers/LocalEmailProvider.ts +52 -15
- package/src/email/providers/NodemailerEmailProvider.ts +167 -56
- package/src/file/errors/FileError.ts +7 -0
- package/src/file/index.ts +9 -1
- package/src/file/providers/MemoryFileSystemProvider.ts +393 -0
- package/src/orm/index.browser.ts +1 -19
- package/src/orm/index.bun.ts +77 -0
- package/src/orm/index.shared-server.ts +22 -0
- package/src/orm/index.shared.ts +15 -0
- package/src/orm/index.ts +19 -39
- package/src/orm/providers/drivers/BunPostgresProvider.ts +3 -5
- package/src/orm/providers/drivers/BunSqliteProvider.ts +1 -1
- package/src/orm/providers/drivers/CloudflareD1Provider.ts +4 -0
- package/src/orm/providers/drivers/DatabaseProvider.ts +4 -0
- package/src/orm/providers/drivers/PglitePostgresProvider.ts +4 -0
- package/src/orm/services/Repository.ts +8 -0
- package/src/redis/index.bun.ts +35 -0
- package/src/redis/providers/BunRedisProvider.ts +12 -43
- package/src/redis/providers/BunRedisSubscriberProvider.ts +2 -3
- package/src/redis/providers/NodeRedisProvider.ts +16 -34
- package/src/{server/security → security}/__tests__/BasicAuth.spec.ts +11 -11
- package/src/{server/security → security}/__tests__/ServerSecurityProvider-realm.spec.ts +21 -16
- package/src/{server/security/providers → security/__tests__}/ServerSecurityProvider.spec.ts +5 -5
- package/src/security/index.browser.ts +5 -0
- package/src/security/index.ts +90 -7
- package/src/security/primitives/{$realm.spec.ts → $issuer.spec.ts} +11 -11
- package/src/security/primitives/{$realm.ts → $issuer.ts} +20 -17
- package/src/security/primitives/$role.ts +5 -5
- package/src/security/primitives/$serviceAccount.spec.ts +5 -5
- package/src/security/primitives/$serviceAccount.ts +3 -3
- package/src/{server/security → security}/providers/ServerSecurityProvider.ts +5 -7
- package/src/server/auth/primitives/$auth.ts +10 -10
- package/src/server/auth/primitives/$authCredentials.ts +3 -3
- package/src/server/auth/primitives/$authGithub.ts +3 -3
- package/src/server/auth/primitives/$authGoogle.ts +3 -3
- package/src/server/auth/providers/ServerAuthProvider.ts +13 -13
- package/src/server/cache/providers/ServerCacheProvider.ts +1 -1
- package/src/server/cookies/providers/ServerCookiesProvider.ts +3 -3
- package/src/server/core/providers/NodeHttpServerProvider.ts +25 -6
- package/src/server/core/providers/ServerBodyParserProvider.ts +19 -23
- package/src/server/core/providers/ServerLoggerProvider.ts +23 -19
- package/src/server/core/providers/ServerProvider.ts +144 -21
- package/src/server/core/providers/ServerRouterProvider.ts +259 -115
- package/src/server/core/providers/ServerTimingProvider.ts +2 -2
- package/src/server/links/index.ts +1 -1
- package/src/server/links/providers/LinkProvider.ts +1 -1
- package/src/server/swagger/index.ts +1 -1
- package/src/sms/providers/LocalSmsProvider.spec.ts +153 -111
- package/src/sms/providers/LocalSmsProvider.ts +8 -7
- package/src/vite/helpers/boot.ts +28 -17
- package/src/vite/tasks/buildServer.ts +12 -1
- package/src/vite/tasks/devServer.ts +3 -1
- package/src/vite/tasks/generateCloudflare.ts +7 -0
- package/dist/server/security/index.browser.js +0 -13
- package/dist/server/security/index.browser.js.map +0 -1
- package/dist/server/security/index.d.ts +0 -173
- package/dist/server/security/index.d.ts.map +0 -1
- package/dist/server/security/index.js +0 -311
- package/dist/server/security/index.js.map +0 -1
- package/src/cli/assets/appRouterTs.ts +0 -9
- package/src/cli/assets/mainTs.ts +0 -13
- package/src/server/security/index.browser.ts +0 -10
- package/src/server/security/index.ts +0 -94
- /package/src/{server/security → security}/primitives/$basicAuth.ts +0 -0
- /package/src/{server/security → security}/providers/ServerBasicAuthProvider.ts +0 -0
package/dist/cli/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ interface Module {
|
|
|
17
17
|
dependencies: string[];
|
|
18
18
|
native?: boolean;
|
|
19
19
|
browser?: boolean;
|
|
20
|
+
bun?: boolean;
|
|
20
21
|
node?: boolean;
|
|
21
22
|
}
|
|
22
23
|
declare class AlephaPackageBuilderCli {
|
|
@@ -47,231 +48,213 @@ declare const DEFAULT_IGNORE: string[];
|
|
|
47
48
|
*/
|
|
48
49
|
declare const changelogOptions: alepha0.Atom<alepha0.TObject<{
|
|
49
50
|
/**
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
* Scopes to ignore (e.g., "project", "release", "chore").
|
|
52
|
+
* Commits like `feat(chore): ...` will be excluded from changelog.
|
|
53
|
+
*/
|
|
53
54
|
ignore: alepha0.TOptional<alepha0.TArray<alepha0.TString>>;
|
|
54
55
|
}>, "alepha.changelog">;
|
|
55
56
|
type ChangelogOptions = Static<typeof changelogOptions.schema>;
|
|
56
57
|
//#endregion
|
|
57
58
|
//#region ../../src/cli/services/AlephaCliUtils.d.ts
|
|
58
59
|
/**
|
|
59
|
-
*
|
|
60
|
+
* Core utility service for CLI commands.
|
|
60
61
|
*
|
|
61
|
-
*
|
|
62
|
-
* -
|
|
63
|
-
* -
|
|
64
|
-
* -
|
|
65
|
-
* -
|
|
66
|
-
* - Alepha instance loading
|
|
62
|
+
* Provides:
|
|
63
|
+
* - Command execution
|
|
64
|
+
* - File editing helpers
|
|
65
|
+
* - Drizzle/ORM utilities
|
|
66
|
+
* - Environment loading
|
|
67
67
|
*/
|
|
68
68
|
declare class AlephaCliUtils {
|
|
69
69
|
protected readonly log: alepha_logger7.Logger;
|
|
70
70
|
protected readonly fs: FileSystemProvider;
|
|
71
71
|
protected readonly envUtils: EnvUtils;
|
|
72
|
-
protected readonly alepha: Alepha;
|
|
73
72
|
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
* @example
|
|
77
|
-
* ```ts
|
|
78
|
-
* const runner = alepha.inject(ProcessRunner);
|
|
79
|
-
* await runner.exec("tsx watch src/index.ts");
|
|
80
|
-
* ```
|
|
81
|
-
*/
|
|
73
|
+
* Execute a command with inherited stdio.
|
|
74
|
+
*/
|
|
82
75
|
exec(command: string, options?: {
|
|
76
|
+
root?: string;
|
|
83
77
|
env?: Record<string, string>;
|
|
84
78
|
global?: boolean;
|
|
85
79
|
}): Promise<void>;
|
|
86
80
|
/**
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
* Creates the .alepha directory if it doesn't exist and writes the file with the given content.
|
|
90
|
-
*
|
|
91
|
-
* @param name - The name of the config file to create
|
|
92
|
-
* @param content - The content to write to the file
|
|
93
|
-
* @param root - The root directory (defaults to process.cwd())
|
|
94
|
-
* @returns The absolute path to the created file
|
|
95
|
-
*
|
|
96
|
-
* @example
|
|
97
|
-
* ```ts
|
|
98
|
-
* const runner = alepha.inject(ProcessRunner);
|
|
99
|
-
* const configPath = await runner.writeConfigFile("biome.json", biomeConfig);
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
81
|
+
* Write a configuration file to node_modules/.alepha directory.
|
|
82
|
+
*/
|
|
102
83
|
writeConfigFile(name: string, content: string, root?: string): Promise<string>;
|
|
103
|
-
editFile(root: string, name: string, editFn: (content: string) => string | Promise<string>): Promise<void>;
|
|
104
|
-
editJsonFile(root: string, name: string, editFn: (obj: any) => any | Promise<any>): Promise<void>;
|
|
105
|
-
removeFiles(root: string, files: string[]): Promise<void>;
|
|
106
|
-
removeYarn(root: string): Promise<void>;
|
|
107
|
-
removePnpm(root: string): Promise<void>;
|
|
108
|
-
removeNpm(root: string): Promise<void>;
|
|
109
|
-
removeBun(root: string): Promise<void>;
|
|
110
|
-
removeAllPmFilesExcept(root: string, except: string): Promise<void>;
|
|
111
|
-
/**
|
|
112
|
-
* Ensure Yarn is configured in the project directory.
|
|
113
|
-
*
|
|
114
|
-
* Creates a .yarnrc.yml file with node-modules linker if it doesn't exist.
|
|
115
|
-
*
|
|
116
|
-
* @param root - The root directory of the project
|
|
117
|
-
*/
|
|
118
|
-
ensureYarn(root: string): Promise<void>;
|
|
119
|
-
ensureBun(root: string): Promise<void>;
|
|
120
|
-
ensurePnpm(root: string): Promise<void>;
|
|
121
|
-
ensureNpm(root: string): Promise<void>;
|
|
122
|
-
/**
|
|
123
|
-
* Generate package.json content with Alepha dependencies.
|
|
124
|
-
*
|
|
125
|
-
* @param modes - Configuration for which dependencies to include
|
|
126
|
-
* @returns Package.json partial with dependencies, devDependencies, and scripts
|
|
127
|
-
*/
|
|
128
|
-
generatePackageJsonContent(modes: DependencyModes): {
|
|
129
|
-
dependencies: Record<string, string>;
|
|
130
|
-
devDependencies: Record<string, string>;
|
|
131
|
-
scripts: Record<string, string>;
|
|
132
|
-
type: "module";
|
|
133
|
-
};
|
|
134
84
|
/**
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
* Creates a new package.json if none exists, or updates an existing one to:
|
|
138
|
-
* - Set "type": "module"
|
|
139
|
-
* - Add Alepha dependencies
|
|
140
|
-
* - Add standard scripts
|
|
141
|
-
*
|
|
142
|
-
* @param root - The root directory of the project
|
|
143
|
-
* @param modes - Configuration for which dependencies to include
|
|
144
|
-
*/
|
|
145
|
-
ensurePackageJson(root: string, modes: DependencyModes): Promise<object>;
|
|
146
|
-
ensureConfig(root: string, opts: {
|
|
147
|
-
packageJson?: boolean | DependencyModes;
|
|
148
|
-
tsconfigJson?: boolean;
|
|
149
|
-
indexHtml?: boolean;
|
|
150
|
-
biomeJson?: boolean;
|
|
151
|
-
editorconfig?: boolean;
|
|
152
|
-
}): Promise<Array<void | object>>;
|
|
153
|
-
/**
|
|
154
|
-
* Ensure tsconfig.json exists in the project.
|
|
155
|
-
*
|
|
156
|
-
* Creates a standard Alepha tsconfig.json if none exists.
|
|
157
|
-
*
|
|
158
|
-
* @param root - The root directory of the project
|
|
159
|
-
*/
|
|
160
|
-
ensureTsConfig(root: string): Promise<void>;
|
|
161
|
-
protected checkFileExists(root: string, name: string, checkParentDirectories?: boolean): Promise<string | undefined>;
|
|
162
|
-
protected ensureFileExists(root: string, name: string, content: string, checkParentDirectories?: boolean): Promise<void>;
|
|
163
|
-
/**
|
|
164
|
-
* Get the path to Biome configuration file.
|
|
165
|
-
*
|
|
166
|
-
* Looks for an existing biome.json in the project root, or creates one if it doesn't exist.
|
|
167
|
-
*/
|
|
168
|
-
ensureBiomeConfig(root: string): Promise<void>;
|
|
169
|
-
/**
|
|
170
|
-
* Ensure .editorconfig exists in the project.
|
|
171
|
-
*
|
|
172
|
-
* Creates a standard .editorconfig if none exists.
|
|
173
|
-
*
|
|
174
|
-
* @param root - The root directory of the project
|
|
175
|
-
*/
|
|
176
|
-
ensureEditorConfig(root: string): Promise<void>;
|
|
177
|
-
/**
|
|
178
|
-
* Load Alepha instance from a server entry file.
|
|
179
|
-
*
|
|
180
|
-
* Dynamically imports the server entry file and extracts the Alepha instance.
|
|
181
|
-
* Skips the automatic start process.
|
|
182
|
-
*
|
|
183
|
-
* @param rootDir - The root directory of the project
|
|
184
|
-
* @param explicitEntry - Optional explicit path to the entry file
|
|
185
|
-
* @returns Object containing the Alepha instance and the entry file path
|
|
186
|
-
* @throws {AlephaError} If the Alepha instance cannot be found
|
|
187
|
-
*/
|
|
85
|
+
* Load Alepha instance from a server entry file.
|
|
86
|
+
*/
|
|
188
87
|
loadAlephaFromServerEntryFile(rootDir?: string, explicitEntry?: string): Promise<{
|
|
189
88
|
alepha: Alepha;
|
|
190
89
|
entry: string;
|
|
191
90
|
}>;
|
|
192
91
|
/**
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
* Creates a temporary entities.js file that imports from the entry file
|
|
196
|
-
* and exports database models for Drizzle Kit to process.
|
|
197
|
-
*
|
|
198
|
-
* @param entry - Path to the server entry file
|
|
199
|
-
* @param provider - Name of the database provider
|
|
200
|
-
* @param models - Array of model names to export
|
|
201
|
-
* @returns JavaScript code as a string
|
|
202
|
-
*/
|
|
92
|
+
* Generate JavaScript code for Drizzle entities export.
|
|
93
|
+
*/
|
|
203
94
|
generateEntitiesJs(entry: string, provider: string, models?: string[]): string;
|
|
204
95
|
/**
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
* Reads the .env file in the specified root directory and sets
|
|
208
|
-
* the environment variables in process.env.
|
|
209
|
-
*/
|
|
96
|
+
* Load environment variables from a .env file.
|
|
97
|
+
*/
|
|
210
98
|
loadEnv(root: string, files?: string[]): Promise<void>;
|
|
99
|
+
exists(root: string, path: string): Promise<boolean>;
|
|
100
|
+
protected checkFileExists(root: string, name: string): Promise<string | undefined>;
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
//#region ../../src/cli/services/PackageManagerUtils.d.ts
|
|
104
|
+
/**
|
|
105
|
+
* Utility service for package manager operations.
|
|
106
|
+
*
|
|
107
|
+
* Handles detection, installation, and cleanup for:
|
|
108
|
+
* - Yarn
|
|
109
|
+
* - npm
|
|
110
|
+
* - pnpm
|
|
111
|
+
* - Bun
|
|
112
|
+
*/
|
|
113
|
+
declare class PackageManagerUtils {
|
|
114
|
+
protected readonly log: alepha_logger7.Logger;
|
|
115
|
+
protected readonly fs: FileSystemProvider;
|
|
116
|
+
protected readonly alepha: Alepha;
|
|
117
|
+
/**
|
|
118
|
+
* Detect the package manager used in the project.
|
|
119
|
+
*/
|
|
211
120
|
getPackageManager(root: string, flags?: {
|
|
212
121
|
yarn?: boolean;
|
|
213
122
|
pnpm?: boolean;
|
|
214
123
|
npm?: boolean;
|
|
215
124
|
bun?: boolean;
|
|
216
125
|
}): Promise<"yarn" | "pnpm" | "npm" | "bun">;
|
|
217
|
-
ensureIndexHtml(root: string): Promise<void>;
|
|
218
|
-
exists(root: string, dirName: string): Promise<boolean>;
|
|
219
|
-
/**
|
|
220
|
-
* Ensure src/main.ts exists with a minimal Alepha bootstrap.
|
|
221
|
-
*
|
|
222
|
-
* Creates the src directory and main.ts file if the src directory
|
|
223
|
-
* doesn't exist or is empty.
|
|
224
|
-
*
|
|
225
|
-
* @param root - The root directory of the project
|
|
226
|
-
*/
|
|
227
|
-
ensureSrcMain(root: string): Promise<void>;
|
|
228
|
-
/**
|
|
229
|
-
* Ensure test directory exists with a dummy test file.
|
|
230
|
-
*
|
|
231
|
-
* Creates the test directory and a dummy.spec.ts file if the test directory
|
|
232
|
-
* doesn't exist or is empty.
|
|
233
|
-
*
|
|
234
|
-
* @param root - The root directory of the project
|
|
235
|
-
*/
|
|
236
|
-
ensureTestDir(root: string): Promise<void>;
|
|
237
|
-
readPackageJson(root: string): Promise<Record<string, any>>;
|
|
238
126
|
/**
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
127
|
+
* Get the install command for a package.
|
|
128
|
+
*/
|
|
129
|
+
getInstallCommand(root: string, packageName: string, dev?: boolean): Promise<string>;
|
|
130
|
+
/**
|
|
131
|
+
* Check if a dependency is installed in the project.
|
|
132
|
+
*/
|
|
245
133
|
hasDependency(root: string, packageName: string): Promise<boolean>;
|
|
246
134
|
/**
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
* @param root - The root directory of the project
|
|
250
|
-
* @returns True if expo is in dependencies or devDependencies
|
|
251
|
-
*/
|
|
135
|
+
* Check if Expo is present in the project.
|
|
136
|
+
*/
|
|
252
137
|
hasExpo(root: string): Promise<boolean>;
|
|
253
|
-
getInstallCommand(root: string, packageName: string, dev?: boolean): Promise<string>;
|
|
254
138
|
/**
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
* Automatically detects the package manager (yarn, pnpm, npm) and installs
|
|
258
|
-
* the package as a dev dependency if not already present.
|
|
259
|
-
*/
|
|
139
|
+
* Install a dependency if it's missing from the project.
|
|
140
|
+
*/
|
|
260
141
|
ensureDependency(root: string, packageName: string, options?: {
|
|
261
142
|
dev?: boolean;
|
|
262
143
|
run?: RunnerMethod;
|
|
144
|
+
exec?: (cmd: string, opts?: {
|
|
145
|
+
global?: boolean;
|
|
146
|
+
root?: string;
|
|
147
|
+
}) => Promise<void>;
|
|
263
148
|
}): Promise<void>;
|
|
149
|
+
ensureYarn(root: string): Promise<void>;
|
|
150
|
+
ensureBun(root: string): Promise<void>;
|
|
151
|
+
ensurePnpm(root: string): Promise<void>;
|
|
152
|
+
ensureNpm(root: string): Promise<void>;
|
|
153
|
+
removeAllPmFilesExcept(root: string, except: string): Promise<void>;
|
|
154
|
+
removeYarn(root: string): Promise<void>;
|
|
155
|
+
removePnpm(root: string): Promise<void>;
|
|
156
|
+
removeNpm(root: string): Promise<void>;
|
|
157
|
+
removeBun(root: string): Promise<void>;
|
|
158
|
+
readPackageJson(root: string): Promise<Record<string, any>>;
|
|
159
|
+
writePackageJson(root: string, content: Record<string, any>): Promise<void>;
|
|
160
|
+
editPackageJson(root: string, editFn: (pkg: Record<string, any>) => Record<string, any>): Promise<void>;
|
|
161
|
+
ensurePackageJson(root: string, modes: DependencyModes): Promise<Record<string, any>>;
|
|
162
|
+
generatePackageJsonContent(modes: DependencyModes): {
|
|
163
|
+
dependencies: Record<string, string>;
|
|
164
|
+
devDependencies: Record<string, string>;
|
|
165
|
+
scripts: Record<string, string>;
|
|
166
|
+
type: "module";
|
|
167
|
+
};
|
|
168
|
+
protected removeFiles(root: string, files: string[]): Promise<void>;
|
|
264
169
|
}
|
|
265
170
|
interface DependencyModes {
|
|
171
|
+
web?: boolean;
|
|
172
|
+
admin?: boolean;
|
|
173
|
+
expo?: boolean;
|
|
174
|
+
}
|
|
175
|
+
//#endregion
|
|
176
|
+
//#region ../../src/cli/assets/claudeMd.d.ts
|
|
177
|
+
interface ClaudeMdOptions {
|
|
266
178
|
react?: boolean;
|
|
267
179
|
ui?: boolean;
|
|
268
|
-
|
|
180
|
+
projectName?: string;
|
|
181
|
+
}
|
|
182
|
+
//#endregion
|
|
183
|
+
//#region ../../src/cli/services/ProjectScaffolder.d.ts
|
|
184
|
+
/**
|
|
185
|
+
* Service for scaffolding new Alepha projects.
|
|
186
|
+
*
|
|
187
|
+
* Handles creation of:
|
|
188
|
+
* - Project structure (src/api, src/web)
|
|
189
|
+
* - Configuration files (tsconfig, biome, editorconfig)
|
|
190
|
+
* - Entry points (main.server.ts, main.browser.ts)
|
|
191
|
+
* - Example code (HelloController, Hello component)
|
|
192
|
+
*/
|
|
193
|
+
declare class ProjectScaffolder {
|
|
194
|
+
protected readonly log: alepha_logger7.Logger;
|
|
195
|
+
protected readonly fs: FileSystemProvider;
|
|
196
|
+
protected readonly pm: PackageManagerUtils;
|
|
197
|
+
/**
|
|
198
|
+
* Get the app name from the directory name.
|
|
199
|
+
*
|
|
200
|
+
* Converts the directory name to a valid module name:
|
|
201
|
+
* - Converts to lowercase
|
|
202
|
+
* - Replaces spaces, dashes, underscores with nothing
|
|
203
|
+
* - Falls back to "app" if empty
|
|
204
|
+
*/
|
|
205
|
+
getAppName(root: string): string;
|
|
206
|
+
/**
|
|
207
|
+
* Ensure all configuration files exist.
|
|
208
|
+
*/
|
|
209
|
+
ensureConfig(root: string, opts: {
|
|
210
|
+
packageJson?: boolean | DependencyModes;
|
|
211
|
+
tsconfigJson?: boolean;
|
|
212
|
+
indexHtml?: boolean;
|
|
213
|
+
biomeJson?: boolean;
|
|
214
|
+
editorconfig?: boolean;
|
|
215
|
+
claudeMd?: boolean | ClaudeMdOptions;
|
|
216
|
+
}): Promise<void>;
|
|
217
|
+
ensureTsConfig(root: string): Promise<void>;
|
|
218
|
+
ensureBiomeConfig(root: string): Promise<void>;
|
|
219
|
+
ensureEditorConfig(root: string): Promise<void>;
|
|
220
|
+
ensureClaudeMd(root: string, options?: ClaudeMdOptions): Promise<void>;
|
|
221
|
+
/**
|
|
222
|
+
* Ensure src/main.server.ts exists with full API structure.
|
|
223
|
+
*
|
|
224
|
+
* Creates:
|
|
225
|
+
* - src/main.server.ts (entry point)
|
|
226
|
+
* - src/api/index.ts (API module)
|
|
227
|
+
* - src/api/controllers/HelloController.ts (example controller)
|
|
228
|
+
*/
|
|
229
|
+
ensureApiProject(root: string): Promise<void>;
|
|
230
|
+
/**
|
|
231
|
+
* Ensure full React project structure exists.
|
|
232
|
+
*
|
|
233
|
+
* Creates:
|
|
234
|
+
* - index.html
|
|
235
|
+
* - src/main.server.ts, src/main.browser.ts
|
|
236
|
+
* - src/api/index.ts, src/api/controllers/HelloController.ts
|
|
237
|
+
* - src/web/index.ts, src/web/AppRouter.ts, src/web/components/Hello.tsx
|
|
238
|
+
*/
|
|
239
|
+
ensureReactProject(root: string): Promise<void>;
|
|
240
|
+
/**
|
|
241
|
+
* Ensure test directory exists with a dummy test file.
|
|
242
|
+
*/
|
|
243
|
+
ensureTestDir(root: string): Promise<void>;
|
|
244
|
+
protected ensureFileIfNotExists(root: string, relativePath: string, content: string): Promise<void>;
|
|
245
|
+
/**
|
|
246
|
+
* Check if a file exists in the given directory or any parent directory.
|
|
247
|
+
*/
|
|
248
|
+
protected existsInParents(root: string, filename: string): Promise<boolean>;
|
|
269
249
|
}
|
|
270
250
|
//#endregion
|
|
271
251
|
//#region ../../src/cli/commands/build.d.ts
|
|
272
252
|
declare class BuildCommand {
|
|
273
253
|
protected readonly log: alepha_logger7.Logger;
|
|
254
|
+
protected readonly fs: FileSystemProvider;
|
|
274
255
|
protected readonly utils: AlephaCliUtils;
|
|
256
|
+
protected readonly pm: PackageManagerUtils;
|
|
257
|
+
protected readonly scaffolder: ProjectScaffolder;
|
|
275
258
|
protected readonly options: Readonly<{
|
|
276
259
|
stats?: boolean | undefined;
|
|
277
260
|
vercel?: {
|
|
@@ -304,64 +287,66 @@ declare class BuildCommand {
|
|
|
304
287
|
cloudflare: alepha0.TOptional<alepha0.TBoolean>;
|
|
305
288
|
docker: alepha0.TOptional<alepha0.TBoolean>;
|
|
306
289
|
sitemap: alepha0.TOptional<alepha0.TString>;
|
|
290
|
+
bun: alepha0.TOptional<alepha0.TBoolean>;
|
|
307
291
|
}>, alepha0.TOptional<alepha0.TString>, alepha0.TObject<alepha0.TProperties>>;
|
|
308
292
|
}
|
|
309
293
|
//#endregion
|
|
310
294
|
//#region ../../src/cli/commands/clean.d.ts
|
|
311
295
|
declare class CleanCommand {
|
|
312
296
|
/**
|
|
313
|
-
|
|
314
|
-
|
|
297
|
+
* Clean the project, removing the "dist" directory
|
|
298
|
+
*/
|
|
315
299
|
readonly clean: alepha_command0.CommandPrimitive<typebox0.TObject<typebox0.TProperties>, typebox0.TSchema, typebox0.TObject<typebox0.TProperties>>;
|
|
316
300
|
}
|
|
317
301
|
//#endregion
|
|
318
302
|
//#region ../../src/cli/commands/db.d.ts
|
|
319
303
|
declare class DbCommand {
|
|
320
304
|
protected readonly log: alepha_logger7.Logger;
|
|
305
|
+
protected readonly fs: FileSystemProvider;
|
|
321
306
|
protected readonly utils: AlephaCliUtils;
|
|
322
307
|
/**
|
|
323
|
-
|
|
324
|
-
|
|
308
|
+
* Check if database migrations are up to date.
|
|
309
|
+
*/
|
|
325
310
|
protected readonly check: alepha_command0.CommandPrimitive<alepha0.TObject<{
|
|
326
311
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
327
312
|
mode: alepha0.TOptional<alepha0.TString>;
|
|
328
313
|
}>, alepha0.TOptional<alepha0.TString>, alepha0.TObject<alepha0.TProperties>>;
|
|
329
314
|
/**
|
|
330
|
-
|
|
331
|
-
|
|
315
|
+
* Generate database migration files
|
|
316
|
+
*/
|
|
332
317
|
protected readonly generate: alepha_command0.CommandPrimitive<alepha0.TObject<{
|
|
333
318
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
334
319
|
mode: alepha0.TOptional<alepha0.TString>;
|
|
335
320
|
custom: alepha0.TOptional<alepha0.TString>;
|
|
336
321
|
}>, alepha0.TOptional<alepha0.TString>, alepha0.TObject<alepha0.TProperties>>;
|
|
337
322
|
/**
|
|
338
|
-
|
|
339
|
-
|
|
323
|
+
* Push database schema changes directly to the database
|
|
324
|
+
*/
|
|
340
325
|
protected readonly push: alepha_command0.CommandPrimitive<alepha0.TObject<{
|
|
341
326
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
342
327
|
mode: alepha0.TOptional<alepha0.TString>;
|
|
343
328
|
}>, alepha0.TOptional<alepha0.TString>, alepha0.TObject<alepha0.TProperties>>;
|
|
344
329
|
/**
|
|
345
|
-
|
|
346
|
-
|
|
330
|
+
* Apply pending database migrations
|
|
331
|
+
*/
|
|
347
332
|
protected readonly migrate: alepha_command0.CommandPrimitive<alepha0.TObject<{
|
|
348
333
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
349
334
|
mode: alepha0.TOptional<alepha0.TString>;
|
|
350
335
|
}>, alepha0.TOptional<alepha0.TString>, alepha0.TObject<alepha0.TProperties>>;
|
|
351
336
|
/**
|
|
352
|
-
|
|
353
|
-
|
|
337
|
+
* Launch Drizzle Studio database browser
|
|
338
|
+
*/
|
|
354
339
|
protected readonly studio: alepha_command0.CommandPrimitive<alepha0.TObject<{
|
|
355
340
|
provider: alepha0.TOptional<alepha0.TString>;
|
|
356
341
|
mode: alepha0.TOptional<alepha0.TString>;
|
|
357
342
|
}>, alepha0.TOptional<alepha0.TString>, alepha0.TObject<alepha0.TProperties>>;
|
|
358
343
|
/**
|
|
359
|
-
|
|
360
|
-
|
|
344
|
+
* Parent command for database operations.
|
|
345
|
+
*/
|
|
361
346
|
readonly db: alepha_command0.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema, alepha0.TObject<alepha0.TProperties>>;
|
|
362
347
|
/**
|
|
363
|
-
|
|
364
|
-
|
|
348
|
+
* Run a drizzle-kit command for all database providers in an Alepha instance.
|
|
349
|
+
*/
|
|
365
350
|
runDrizzleKitCommand(options: {
|
|
366
351
|
root: string;
|
|
367
352
|
args?: string;
|
|
@@ -372,13 +357,14 @@ declare class DbCommand {
|
|
|
372
357
|
env?: string;
|
|
373
358
|
}): Promise<void>;
|
|
374
359
|
/**
|
|
375
|
-
|
|
376
|
-
|
|
360
|
+
* Prepare Drizzle configuration files for a database provider.
|
|
361
|
+
*/
|
|
377
362
|
prepareDrizzleConfig(options: {
|
|
378
363
|
kit: any;
|
|
379
364
|
provider: DatabaseProvider;
|
|
380
365
|
providerName: string;
|
|
381
366
|
providerUrl: string;
|
|
367
|
+
providerDriver: string;
|
|
382
368
|
dialect: string;
|
|
383
369
|
entry: string;
|
|
384
370
|
rootDir: string;
|
|
@@ -388,26 +374,28 @@ declare class DbCommand {
|
|
|
388
374
|
//#region ../../src/cli/commands/deploy.d.ts
|
|
389
375
|
declare class DeployCommand {
|
|
390
376
|
protected readonly log: alepha_logger7.Logger;
|
|
377
|
+
protected readonly fs: FileSystemProvider;
|
|
391
378
|
protected readonly utils: AlephaCliUtils;
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
379
|
+
protected readonly pm: PackageManagerUtils;
|
|
380
|
+
/**
|
|
381
|
+
* Deploy the project to a hosting platform (e.g., Vercel, Cloudflare, Surge)
|
|
382
|
+
*
|
|
383
|
+
* Deploy command can be overridden by creating a alepha.config.ts in the project root:
|
|
384
|
+
*
|
|
385
|
+
* ```ts
|
|
386
|
+
* import { defineConfig } from "alepha/cli";
|
|
387
|
+
*
|
|
388
|
+
* export default defineConfig({
|
|
389
|
+
* commands: {
|
|
390
|
+
* deploy: {
|
|
391
|
+
* handler: async ({ root, mode, flags }) => {
|
|
392
|
+
* // Custom deployment logic here
|
|
393
|
+
* },
|
|
394
|
+
* },
|
|
395
|
+
* },
|
|
396
|
+
* });
|
|
397
|
+
* ```
|
|
398
|
+
*/
|
|
411
399
|
readonly deploy: alepha_command0.CommandPrimitive<alepha0.TObject<{
|
|
412
400
|
build: alepha0.TBoolean;
|
|
413
401
|
migrate: alepha0.TBoolean;
|
|
@@ -423,14 +411,17 @@ declare class DeployCommand {
|
|
|
423
411
|
//#region ../../src/cli/commands/dev.d.ts
|
|
424
412
|
declare class DevCommand {
|
|
425
413
|
protected readonly log: alepha_logger7.Logger;
|
|
414
|
+
protected readonly fs: FileSystemProvider;
|
|
426
415
|
protected readonly utils: AlephaCliUtils;
|
|
416
|
+
protected readonly pm: PackageManagerUtils;
|
|
417
|
+
protected readonly scaffolder: ProjectScaffolder;
|
|
427
418
|
protected readonly alepha: Alepha;
|
|
428
419
|
/**
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
420
|
+
* Will run the project in watch mode.
|
|
421
|
+
*
|
|
422
|
+
* - If an index.html file is found in the project root, it will run Vite in dev mode.
|
|
423
|
+
* - Otherwise, it will look for a server entry file and run it with tsx in watch mode.
|
|
424
|
+
*/
|
|
434
425
|
readonly dev: alepha_command0.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TOptional<alepha0.TString>, alepha0.TObject<alepha0.TProperties>>;
|
|
435
426
|
protected isBunProject(root: string): Promise<boolean>;
|
|
436
427
|
protected isFullstackProject(root: string): Promise<boolean>;
|
|
@@ -439,6 +430,8 @@ declare class DevCommand {
|
|
|
439
430
|
//#region ../../src/cli/commands/format.d.ts
|
|
440
431
|
declare class FormatCommand {
|
|
441
432
|
protected readonly utils: AlephaCliUtils;
|
|
433
|
+
protected readonly pm: PackageManagerUtils;
|
|
434
|
+
protected readonly scaffolder: ProjectScaffolder;
|
|
442
435
|
readonly format: alepha_command0.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema, alepha0.TObject<alepha0.TProperties>>;
|
|
443
436
|
}
|
|
444
437
|
//#endregion
|
|
@@ -460,16 +453,16 @@ declare class FormatCommand {
|
|
|
460
453
|
declare class GitMessageParser {
|
|
461
454
|
protected readonly log: alepha_logger7.Logger;
|
|
462
455
|
/**
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
456
|
+
* Parse a git commit line into a structured Commit object.
|
|
457
|
+
*
|
|
458
|
+
* **Format:** `type(scope): description` or `type(scope)!: description`
|
|
459
|
+
*
|
|
460
|
+
* **Supported types:** feat, fix, docs, refactor, perf, revert
|
|
461
|
+
*
|
|
462
|
+
* **Breaking changes:** Use `!` before `:` (e.g., `feat(api)!: remove endpoint`)
|
|
463
|
+
*
|
|
464
|
+
* @returns Commit object or null if not matching/ignored
|
|
465
|
+
*/
|
|
473
466
|
parseCommit(line: string, config: ChangelogOptions): Commit | null;
|
|
474
467
|
}
|
|
475
468
|
//#endregion
|
|
@@ -509,39 +502,39 @@ declare class ChangelogCommand {
|
|
|
509
502
|
ignore?: string[] | undefined;
|
|
510
503
|
}>;
|
|
511
504
|
/**
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
505
|
+
* Format a single commit line.
|
|
506
|
+
* Example: `- **cli**: add new command (\`abc1234\`)`
|
|
507
|
+
* Breaking changes are flagged: `- **cli**: add new command [BREAKING] (\`abc1234\`)`
|
|
508
|
+
*/
|
|
516
509
|
protected formatCommit(commit: Commit): string;
|
|
517
510
|
/**
|
|
518
|
-
|
|
519
|
-
|
|
511
|
+
* Format the changelog entry with sections.
|
|
512
|
+
*/
|
|
520
513
|
protected formatEntry(entry: ChangelogEntry): string;
|
|
521
514
|
/**
|
|
522
|
-
|
|
523
|
-
|
|
515
|
+
* Parse git log output into a changelog entry.
|
|
516
|
+
*/
|
|
524
517
|
protected parseCommits(commitsOutput: string): ChangelogEntry;
|
|
525
518
|
/**
|
|
526
|
-
|
|
527
|
-
|
|
519
|
+
* Check if entry has any public commits.
|
|
520
|
+
*/
|
|
528
521
|
protected hasChanges(entry: ChangelogEntry): boolean;
|
|
529
522
|
/**
|
|
530
|
-
|
|
531
|
-
|
|
523
|
+
* Get the latest version tag.
|
|
524
|
+
*/
|
|
532
525
|
protected getLatestTag(git: (cmd: string) => Promise<string>): Promise<string | null>;
|
|
533
526
|
readonly command: alepha_command0.CommandPrimitive<alepha0.TObject<{
|
|
534
527
|
/**
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
528
|
+
* Show changes from this ref (tag, commit, branch).
|
|
529
|
+
* Defaults to the latest version tag.
|
|
530
|
+
* Example: --from=1.0.0
|
|
531
|
+
*/
|
|
539
532
|
from: alepha0.TOptional<alepha0.TString>;
|
|
540
533
|
/**
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
534
|
+
* Show changes up to this ref (tag, commit, branch).
|
|
535
|
+
* Defaults to HEAD.
|
|
536
|
+
* Example: --to=main
|
|
537
|
+
*/
|
|
545
538
|
to: alepha0.TOptional<alepha0.TString>;
|
|
546
539
|
}>, alepha0.TSchema, alepha0.TObject<alepha0.TProperties>>;
|
|
547
540
|
}
|
|
@@ -559,24 +552,30 @@ declare class OpenApiCommand {
|
|
|
559
552
|
//#region ../../src/cli/commands/init.d.ts
|
|
560
553
|
declare class InitCommand {
|
|
561
554
|
protected readonly utils: AlephaCliUtils;
|
|
555
|
+
protected readonly pm: PackageManagerUtils;
|
|
556
|
+
protected readonly scaffolder: ProjectScaffolder;
|
|
557
|
+
protected readonly fs: FileSystemProvider;
|
|
562
558
|
/**
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
559
|
+
* Ensure the project has the necessary Alepha configuration files.
|
|
560
|
+
* Add the correct dependencies to package.json and install them.
|
|
561
|
+
*/
|
|
566
562
|
readonly init: alepha_command0.CommandPrimitive<alepha0.TObject<{
|
|
563
|
+
agent: alepha0.TOptional<alepha0.TBoolean>;
|
|
567
564
|
yarn: alepha0.TOptional<alepha0.TBoolean>;
|
|
568
565
|
pnpm: alepha0.TOptional<alepha0.TBoolean>;
|
|
569
566
|
npm: alepha0.TOptional<alepha0.TBoolean>;
|
|
570
567
|
bun: alepha0.TOptional<alepha0.TBoolean>;
|
|
571
|
-
|
|
572
|
-
|
|
568
|
+
web: alepha0.TOptional<alepha0.TBoolean>;
|
|
569
|
+
admin: alepha0.TOptional<alepha0.TBoolean>;
|
|
573
570
|
test: alepha0.TOptional<alepha0.TBoolean>;
|
|
574
|
-
}>, alepha0.
|
|
571
|
+
}>, alepha0.TOptional<alepha0.TString>, alepha0.TObject<alepha0.TProperties>>;
|
|
575
572
|
}
|
|
576
573
|
//#endregion
|
|
577
574
|
//#region ../../src/cli/commands/lint.d.ts
|
|
578
575
|
declare class LintCommand {
|
|
579
576
|
protected readonly utils: AlephaCliUtils;
|
|
577
|
+
protected readonly pm: PackageManagerUtils;
|
|
578
|
+
protected readonly scaffolder: ProjectScaffolder;
|
|
580
579
|
readonly lint: alepha_command0.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema, alepha0.TObject<alepha0.TProperties>>;
|
|
581
580
|
}
|
|
582
581
|
//#endregion
|
|
@@ -587,8 +586,8 @@ declare class RootCommand {
|
|
|
587
586
|
protected readonly alepha: Alepha;
|
|
588
587
|
protected readonly color: ConsoleColorProvider;
|
|
589
588
|
/**
|
|
590
|
-
|
|
591
|
-
|
|
589
|
+
* Called when no command is provided
|
|
590
|
+
*/
|
|
592
591
|
readonly root: alepha_command0.CommandPrimitive<alepha0.TObject<{
|
|
593
592
|
version: alepha0.TOptional<alepha0.TBoolean>;
|
|
594
593
|
}>, alepha0.TSchema, alepha0.TObject<alepha0.TProperties>>;
|
|
@@ -597,6 +596,8 @@ declare class RootCommand {
|
|
|
597
596
|
//#region ../../src/cli/commands/test.d.ts
|
|
598
597
|
declare class TestCommand {
|
|
599
598
|
protected readonly utils: AlephaCliUtils;
|
|
599
|
+
protected readonly pm: PackageManagerUtils;
|
|
600
|
+
protected readonly scaffolder: ProjectScaffolder;
|
|
600
601
|
readonly test: alepha_command0.CommandPrimitive<alepha0.TObject<{
|
|
601
602
|
config: alepha0.TOptional<alepha0.TString>;
|
|
602
603
|
}>, alepha0.TSchema, alepha0.TObject<{
|
|
@@ -607,29 +608,31 @@ declare class TestCommand {
|
|
|
607
608
|
//#region ../../src/cli/commands/typecheck.d.ts
|
|
608
609
|
declare class TypecheckCommand {
|
|
609
610
|
protected readonly utils: AlephaCliUtils;
|
|
611
|
+
protected readonly pm: PackageManagerUtils;
|
|
610
612
|
protected readonly log: alepha_logger7.Logger;
|
|
611
613
|
/**
|
|
612
|
-
|
|
613
|
-
|
|
614
|
+
* Run TypeScript type checking across the codebase with no emit.
|
|
615
|
+
*/
|
|
614
616
|
readonly typecheck: alepha_command0.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema, alepha0.TObject<alepha0.TProperties>>;
|
|
615
617
|
}
|
|
616
618
|
//#endregion
|
|
617
619
|
//#region ../../src/cli/commands/verify.d.ts
|
|
618
620
|
declare class VerifyCommand {
|
|
619
621
|
protected readonly utils: AlephaCliUtils;
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
622
|
+
protected readonly pm: PackageManagerUtils;
|
|
623
|
+
/**
|
|
624
|
+
* Run a series of verification commands to ensure code quality and correctness.
|
|
625
|
+
*
|
|
626
|
+
* This command runs the following checks in order:
|
|
627
|
+
* - Clean the project
|
|
628
|
+
* - Format the code
|
|
629
|
+
* - Lint the code
|
|
630
|
+
* - Run tests (if Vitest is a dev dependency)
|
|
631
|
+
* - Check database migrations (if a migrations directory exists)
|
|
632
|
+
* - Type check the code
|
|
633
|
+
* - Build the project
|
|
634
|
+
* - Clean the project again
|
|
635
|
+
*/
|
|
633
636
|
readonly verify: alepha_command0.CommandPrimitive<alepha0.TObject<alepha0.TProperties>, alepha0.TSchema, alepha0.TObject<alepha0.TProperties>>;
|
|
634
637
|
}
|
|
635
638
|
//#endregion
|
|
@@ -642,12 +645,12 @@ declare class VerifyCommand {
|
|
|
642
645
|
*/
|
|
643
646
|
declare const buildOptions: alepha0.Atom<alepha0.TObject<{
|
|
644
647
|
/**
|
|
645
|
-
|
|
646
|
-
|
|
648
|
+
* Generate build stats report.
|
|
649
|
+
*/
|
|
647
650
|
stats: alepha0.TOptional<alepha0.TBoolean>;
|
|
648
651
|
/**
|
|
649
|
-
|
|
650
|
-
|
|
652
|
+
* Vercel deployment configuration.
|
|
653
|
+
*/
|
|
651
654
|
vercel: alepha0.TOptional<alepha0.TObject<{
|
|
652
655
|
projectName: alepha0.TOptional<alepha0.TString>;
|
|
653
656
|
orgId: alepha0.TOptional<alepha0.TString>;
|
|
@@ -660,33 +663,33 @@ declare const buildOptions: alepha0.Atom<alepha0.TObject<{
|
|
|
660
663
|
}>>;
|
|
661
664
|
}>>;
|
|
662
665
|
/**
|
|
663
|
-
|
|
664
|
-
|
|
666
|
+
* Cloudflare Workers deployment configuration.
|
|
667
|
+
*/
|
|
665
668
|
cloudflare: alepha0.TOptional<alepha0.TObject<{
|
|
666
669
|
config: alepha0.TOptional<alepha0.TRecord<string, alepha0.TAny>>;
|
|
667
670
|
}>>;
|
|
668
671
|
/**
|
|
669
|
-
|
|
670
|
-
|
|
672
|
+
* Docker deployment configuration.
|
|
673
|
+
*/
|
|
671
674
|
docker: alepha0.TOptional<alepha0.TObject<{
|
|
672
675
|
/**
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
+
* Docker image name to use in the Dockerfile.
|
|
677
|
+
* @default "node:24-alpine"
|
|
678
|
+
*/
|
|
676
679
|
image: alepha0.TOptional<alepha0.TString>;
|
|
677
680
|
/**
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
+
* Command to run in the Docker container.
|
|
682
|
+
* @default "node"
|
|
683
|
+
*/
|
|
681
684
|
command: alepha0.TOptional<alepha0.TString>;
|
|
682
685
|
}>>;
|
|
683
686
|
/**
|
|
684
|
-
|
|
685
|
-
|
|
687
|
+
* Sitemap generation configuration.
|
|
688
|
+
*/
|
|
686
689
|
sitemap: alepha0.TOptional<alepha0.TObject<{
|
|
687
690
|
/**
|
|
688
|
-
|
|
689
|
-
|
|
691
|
+
* Base URL for sitemap entries.
|
|
692
|
+
*/
|
|
690
693
|
hostname: alepha0.TString;
|
|
691
694
|
}>>;
|
|
692
695
|
}>, "alepha.build.options">;
|
|
@@ -698,25 +701,25 @@ type BuildOptions = Static<typeof buildOptions.schema>;
|
|
|
698
701
|
//#region ../../src/cli/defineConfig.d.ts
|
|
699
702
|
interface AlephaCliConfig {
|
|
700
703
|
/**
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
704
|
+
* Add custom commands to the Alepha CLI.
|
|
705
|
+
*
|
|
706
|
+
* You can override 'deploy', 'build', 'dev', 'start' commands this way.
|
|
707
|
+
* But you can also add your own commands and run them via `alepha <command>`.
|
|
708
|
+
*/
|
|
706
709
|
commands?: Record<string, CommandPrimitive>;
|
|
707
710
|
/**
|
|
708
|
-
|
|
709
|
-
|
|
711
|
+
* Register more services to the Alepha CLI (enhancements, commands, etc.).
|
|
712
|
+
*/
|
|
710
713
|
services?: Array<any>;
|
|
711
714
|
/**
|
|
712
|
-
|
|
713
|
-
|
|
715
|
+
* Configure Alepha build command.
|
|
716
|
+
*/
|
|
714
717
|
build?: BuildOptions;
|
|
715
718
|
/**
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
719
|
+
* Environment variables to set before running commands.
|
|
720
|
+
*
|
|
721
|
+
* Always use .env files by default, this is only for dynamic values.
|
|
722
|
+
*/
|
|
720
723
|
env?: Record<string, unknown>;
|
|
721
724
|
}
|
|
722
725
|
type AlephaCliConfigFn = (alepha: Alepha) => AlephaCliConfig;
|
|
@@ -733,5 +736,5 @@ declare const defineAlephaConfig: (runConfig: AlephaCliConfig | AlephaCliConfigF
|
|
|
733
736
|
//#region ../../src/cli/version.d.ts
|
|
734
737
|
declare const version: any;
|
|
735
738
|
//#endregion
|
|
736
|
-
export { AlephaCli, AlephaCliConfig, AlephaCliConfigFn, AlephaCliUtils, AlephaPackageBuilderCli, BuildCommand, ChangelogCommand, type ChangelogOptions, CleanCommand, Commit, DEFAULT_IGNORE, DbCommand,
|
|
739
|
+
export { AlephaCli, AlephaCliConfig, AlephaCliConfigFn, AlephaCliUtils, AlephaPackageBuilderCli, BuildCommand, ChangelogCommand, type ChangelogOptions, CleanCommand, Commit, DEFAULT_IGNORE, DbCommand, DeployCommand, DevCommand, FormatCommand, GitMessageParser, GitProvider, InitCommand, LintCommand, OpenApiCommand, RootCommand, TestCommand, TypecheckCommand, VerifyCommand, analyzeModules, changelogOptions, defineAlephaConfig, defineConfig, version };
|
|
737
740
|
//# sourceMappingURL=index.d.ts.map
|