alepha 0.18.2 → 0.18.3
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/assets/devtools-ui/200.html +2 -2
- package/assets/devtools-ui/200.html.br +0 -0
- package/assets/devtools-ui/404.html +2 -2
- package/assets/devtools-ui/404.html.br +0 -0
- package/assets/devtools-ui/{asset.BfSBZ5Dd.css → asset.hG_f8HuK.css} +1 -1
- package/assets/devtools-ui/asset.hG_f8HuK.css.br +0 -0
- package/assets/devtools-ui/chunk.B3au4Lhg.js +1 -0
- package/assets/devtools-ui/chunk.B3au4Lhg.js.br +0 -0
- package/assets/devtools-ui/chunk.BLOrlnMB.js +1 -0
- package/assets/devtools-ui/chunk.BLOrlnMB.js.br +0 -0
- package/assets/devtools-ui/chunk.BLR01ljW.js +1 -0
- package/assets/devtools-ui/chunk.BLR01ljW.js.br +0 -0
- package/assets/devtools-ui/chunk.BTXaIUlA.js +1 -0
- package/assets/devtools-ui/chunk.BTXaIUlA.js.br +0 -0
- package/assets/devtools-ui/{chunk.lJL-lgnW.js → chunk.BhJaxmm8.js} +1 -1
- package/assets/devtools-ui/chunk.BhJaxmm8.js.br +0 -0
- package/assets/devtools-ui/chunk.BtoNxFuL.js +1 -0
- package/assets/devtools-ui/chunk.BtoNxFuL.js.br +0 -0
- package/assets/devtools-ui/chunk.C8YUV2Wd.js +1 -0
- package/assets/devtools-ui/chunk.C8YUV2Wd.js.br +0 -0
- package/assets/devtools-ui/{chunk.M6wyKO_3.js → chunk.CBbIgDzE.js} +2 -2
- package/assets/devtools-ui/chunk.CBbIgDzE.js.br +0 -0
- package/assets/devtools-ui/chunk.CFqIniwA.js +1 -0
- package/assets/devtools-ui/chunk.CFqIniwA.js.br +0 -0
- package/assets/devtools-ui/chunk.CLFF7f7-.js +1 -0
- package/assets/devtools-ui/chunk.CLFF7f7-.js.br +0 -0
- package/assets/devtools-ui/chunk.CRsBbA10.js +1 -0
- package/assets/devtools-ui/chunk.CRsBbA10.js.br +0 -0
- package/assets/devtools-ui/{chunk.DbEH1oOB.js → chunk.CZPo6v95.js} +1 -1
- package/assets/devtools-ui/chunk.CZPo6v95.js.br +0 -0
- package/assets/devtools-ui/chunk.D0fWgNos.js +1 -0
- package/assets/devtools-ui/chunk.D0fWgNos.js.br +1 -0
- package/assets/devtools-ui/chunk.D7-0ziQ6.js +1 -0
- package/assets/devtools-ui/chunk.D7-0ziQ6.js.br +0 -0
- package/assets/devtools-ui/chunk.DAewe0vm.js +1 -0
- package/assets/devtools-ui/chunk.DAewe0vm.js.br +0 -0
- package/assets/devtools-ui/chunk.DJRQEYqK.js +1 -0
- package/assets/devtools-ui/chunk.DJRQEYqK.js.br +0 -0
- package/assets/devtools-ui/{chunk.CZl6J9DF.js → chunk.DMAxv14p.js} +1 -1
- package/assets/devtools-ui/chunk.DMAxv14p.js.br +0 -0
- package/assets/devtools-ui/{chunk.BT2IiBkZ.js → chunk.DMImnNjU.js} +1 -1
- package/assets/devtools-ui/chunk.DMImnNjU.js.br +0 -0
- package/assets/devtools-ui/chunk.DeeQsidk.js +9 -0
- package/assets/devtools-ui/chunk.DeeQsidk.js.br +0 -0
- package/assets/devtools-ui/chunk.DqEwn9Vj.js +7 -0
- package/assets/devtools-ui/chunk.DqEwn9Vj.js.br +0 -0
- package/assets/devtools-ui/chunk.Dt8OsQey.js +1 -0
- package/assets/devtools-ui/chunk.Dt8OsQey.js.br +0 -0
- package/assets/devtools-ui/{chunk.B9pX3zit.js → chunk.Dtp8oa_f.js} +1 -1
- package/assets/devtools-ui/chunk.Dtp8oa_f.js.br +0 -0
- package/assets/devtools-ui/chunk.Dx3JzAYM.js +1 -0
- package/assets/devtools-ui/chunk.Dx3JzAYM.js.br +0 -0
- package/assets/devtools-ui/chunk.GCOj1-5E.js +1 -0
- package/assets/devtools-ui/chunk.GCOj1-5E.js.br +0 -0
- package/assets/devtools-ui/chunk.IC1LD8BH.js +1 -0
- package/assets/devtools-ui/chunk.IC1LD8BH.js.br +0 -0
- package/assets/devtools-ui/chunk.IwuB_TqW.js +1 -0
- package/assets/devtools-ui/chunk.IwuB_TqW.js.br +0 -0
- package/assets/devtools-ui/chunk.Qqapj2zq.js +1 -0
- package/assets/devtools-ui/chunk.Qqapj2zq.js.br +0 -0
- package/assets/devtools-ui/{chunk.C79YouPp.js → chunk.TKKKndOy.js} +1 -1
- package/assets/devtools-ui/chunk.TKKKndOy.js.br +0 -0
- package/assets/devtools-ui/chunk.YHTVhFQT.js +1 -0
- package/assets/devtools-ui/chunk.YHTVhFQT.js.br +0 -0
- package/assets/devtools-ui/chunk.fnod6uEi.js +1 -0
- package/assets/devtools-ui/chunk.fnod6uEi.js.br +0 -0
- package/assets/devtools-ui/chunk.mOCRmXjo.js +1 -0
- package/assets/devtools-ui/chunk.mOCRmXjo.js.br +0 -0
- package/assets/devtools-ui/chunk.qZTNEAK0.js +1 -0
- package/assets/devtools-ui/chunk.qZTNEAK0.js.br +0 -0
- package/assets/devtools-ui/chunk.rc9m0y4-.js +1 -0
- package/assets/devtools-ui/chunk.rc9m0y4-.js.br +0 -0
- package/assets/devtools-ui/entry.Cxc5QLCU.js +80 -0
- package/assets/devtools-ui/entry.Cxc5QLCU.js.br +0 -0
- package/assets/devtools-ui/index.html +2 -2
- package/assets/devtools-ui/index.html.br +0 -0
- package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
- package/assets/swagger-ui/swagger-ui.css +1 -1
- package/dist/api/audits/index.d.ts +61 -5
- package/dist/api/audits/index.d.ts.map +1 -1
- package/dist/api/files/index.d.ts +61 -5
- package/dist/api/files/index.d.ts.map +1 -1
- package/dist/api/jobs/index.d.ts +61 -5
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/jobs/index.js +4 -2
- package/dist/api/jobs/index.js.map +1 -1
- package/dist/api/keys/index.d.ts +5 -5
- package/dist/api/notifications/index.browser.js +44 -1
- package/dist/api/notifications/index.browser.js.map +1 -1
- package/dist/api/notifications/index.d.ts +187 -2
- package/dist/api/notifications/index.d.ts.map +1 -1
- package/dist/api/notifications/index.js +143 -8
- package/dist/api/notifications/index.js.map +1 -1
- package/dist/api/parameters/index.d.ts +61 -5
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/users/index.d.ts +330 -93
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +27 -36
- package/dist/api/users/index.js.map +1 -1
- package/dist/cli/config/index.d.ts +46 -0
- package/dist/cli/config/index.d.ts.map +1 -0
- package/dist/cli/config/index.js +20 -0
- package/dist/cli/config/index.js.map +1 -0
- package/dist/cli/core/index.d.ts +69 -66
- package/dist/cli/core/index.d.ts.map +1 -1
- package/dist/cli/core/index.js +329 -196
- package/dist/cli/core/index.js.map +1 -1
- package/dist/cli/platform/index.d.ts +302 -63
- package/dist/cli/platform/index.d.ts.map +1 -1
- package/dist/cli/platform/index.js +455 -25
- package/dist/cli/platform/index.js.map +1 -1
- package/dist/core/index.browser.js +125 -87
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +62 -53
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +125 -87
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +125 -87
- package/dist/core/index.native.js.map +1 -1
- package/dist/core/index.workerd.js +125 -87
- package/dist/core/index.workerd.js.map +1 -1
- package/dist/crypto/index.d.ts +18 -1
- package/dist/crypto/index.d.ts.map +1 -1
- package/dist/crypto/index.js +29 -3
- package/dist/crypto/index.js.map +1 -1
- package/dist/devtools/index.js +3 -12
- package/dist/devtools/index.js.map +1 -1
- package/dist/logger/index.d.ts +10 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +19 -9
- package/dist/logger/index.js.map +1 -1
- package/dist/orm/core/index.browser.js +57 -1
- package/dist/orm/core/index.browser.js.map +1 -1
- package/dist/orm/core/index.bun.js +378 -19
- package/dist/orm/core/index.bun.js.map +1 -1
- package/dist/orm/core/index.d.ts +328 -9
- package/dist/orm/core/index.d.ts.map +1 -1
- package/dist/orm/core/index.js +384 -21
- package/dist/orm/core/index.js.map +1 -1
- package/dist/orm/postgres/index.bun.js +49 -17
- package/dist/orm/postgres/index.bun.js.map +1 -1
- package/dist/orm/postgres/index.d.ts +47 -21
- package/dist/orm/postgres/index.d.ts.map +1 -1
- package/dist/orm/postgres/index.js +52 -17
- package/dist/orm/postgres/index.js.map +1 -1
- package/dist/react/core/index.d.ts +1 -1
- package/dist/react/core/index.d.ts.map +1 -1
- package/dist/react/core/index.js +6 -1
- package/dist/react/core/index.js.map +1 -1
- package/dist/react/form/index.d.ts +28 -18
- package/dist/react/form/index.d.ts.map +1 -1
- package/dist/react/form/index.js +92 -56
- package/dist/react/form/index.js.map +1 -1
- package/dist/react/router/index.browser.js +448 -116
- package/dist/react/router/index.browser.js.map +1 -1
- package/dist/react/router/index.d.ts +102 -40
- package/dist/react/router/index.d.ts.map +1 -1
- package/dist/react/router/index.js +453 -92
- package/dist/react/router/index.js.map +1 -1
- package/dist/security/index.d.ts +3 -11
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +6 -11
- package/dist/security/index.js.map +1 -1
- package/dist/server/auth/index.d.ts +22 -24
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +102 -82
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/cookies/index.d.ts +7 -4
- package/dist/server/cookies/index.d.ts.map +1 -1
- package/dist/server/cookies/index.js +13 -12
- package/dist/server/cookies/index.js.map +1 -1
- package/dist/server/core/index.d.ts +288 -4
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js +375 -2
- package/dist/server/core/index.js.map +1 -1
- package/dist/server/links/index.browser.js +10 -71
- package/dist/server/links/index.browser.js.map +1 -1
- package/dist/server/links/index.d.ts +32 -49
- package/dist/server/links/index.d.ts.map +1 -1
- package/dist/server/links/index.js +73 -100
- package/dist/server/links/index.js.map +1 -1
- package/dist/system/index.browser.js +221 -2
- package/dist/system/index.browser.js.map +1 -1
- package/dist/system/index.d.ts +63 -1
- package/dist/system/index.d.ts.map +1 -1
- package/dist/system/index.js +221 -1
- package/dist/system/index.js.map +1 -1
- package/dist/system/index.workerd.js +224 -4
- package/dist/system/index.workerd.js.map +1 -1
- package/package.json +10 -5
- package/src/api/jobs/providers/JobProvider.ts +6 -3
- package/src/api/notifications/controllers/AdminNotificationController.ts +83 -0
- package/src/api/notifications/index.browser.ts +3 -0
- package/src/api/notifications/index.ts +14 -2
- package/src/api/notifications/jobs/NotificationJobs.ts +11 -2
- package/src/api/notifications/schemas/notificationDetailResourceSchema.ts +20 -0
- package/src/api/notifications/schemas/notificationQuerySchema.ts +19 -0
- package/src/api/notifications/schemas/notificationResourceSchema.ts +18 -0
- package/src/api/notifications/services/NotificationSenderService.ts +15 -2
- package/src/api/users/atoms/realmAuthSettingsAtom.ts +28 -32
- package/src/api/users/buckets/UserBuckets.ts +1 -1
- package/src/api/users/jobs/UserJobs.ts +1 -1
- package/src/api/users/primitives/$realm.ts +8 -49
- package/src/api/users/providers/RealmProvider.ts +2 -3
- package/src/api/users/services/RegistrationService.spec.ts +7 -7
- package/src/api/users/services/RegistrationService.ts +3 -3
- package/src/api/users/services/SessionService.spec.ts +4 -4
- package/src/api/users/services/SessionService.ts +3 -3
- package/src/cli/{core → config}/defineConfig.ts +14 -20
- package/src/cli/config/index.ts +1 -0
- package/src/cli/core/commands/db.ts +65 -1
- package/src/cli/core/commands/dev.ts +1 -0
- package/src/cli/core/commands/init.ts +2 -192
- package/src/cli/core/index.ts +34 -11
- package/src/cli/core/providers/ViteDevServerProvider.ts +52 -13
- package/src/cli/core/services/PackageManagerUtils.ts +43 -21
- package/src/cli/core/services/ProjectScaffolder.ts +214 -2
- package/src/cli/core/services/ViteUtils.ts +57 -0
- package/src/cli/core/tasks/BuildClientTask.ts +7 -2
- package/src/cli/core/tasks/BuildCloudflareTask.ts +4 -12
- package/src/cli/core/tasks/BuildServerTask.ts +2 -0
- package/src/cli/core/tasks/BuildVercelTask.ts +165 -168
- package/src/cli/core/templates/alephaConfigTs.ts +1 -1
- package/src/cli/core/templates/apiAppSecurityTs.ts +5 -8
- package/src/cli/core/templates/tsconfigJson.ts +6 -1
- package/src/cli/platform/adapters/CloudflareAdapter.spec.ts +1 -1
- package/src/cli/platform/adapters/CloudflareAdapter.ts +30 -29
- package/src/cli/platform/atoms/platformOptions.ts +21 -0
- package/src/cli/platform/commands/SecretsCommand.spec.ts +298 -0
- package/src/cli/platform/commands/SecretsCommand.ts +283 -0
- package/src/cli/platform/commands/platform.ts +12 -0
- package/src/cli/platform/index.ts +14 -28
- package/src/cli/platform/providers/GitHubSecretStore.spec.ts +153 -0
- package/src/cli/platform/providers/GitHubSecretStore.ts +112 -0
- package/src/cli/platform/providers/MemorySecretStore.ts +114 -0
- package/src/cli/platform/providers/SecretStoreProvider.ts +39 -0
- package/src/cli/platform/schemas/cloudflare.ts +2 -0
- package/src/cli/platform/services/CloudflareApi.ts +5 -2
- package/src/cli/platform/services/DockerComposeGenerator.spec.ts +115 -0
- package/src/cli/platform/services/DockerComposeGenerator.ts +46 -1
- package/src/cli/platform/services/SecretFilterService.spec.ts +111 -0
- package/src/cli/platform/services/SecretFilterService.ts +54 -0
- package/src/core/Alepha.ts +94 -25
- package/src/core/__tests__/Alepha-parseEnv.spec.ts +20 -0
- package/src/core/primitives/$memoize.ts +38 -26
- package/src/core/providers/AlsProvider.ts +2 -0
- package/src/core/providers/EventManager.ts +4 -0
- package/src/core/providers/KeylessJsonSchemaCodec.spec.ts +1 -4
- package/src/core/providers/KeylessJsonSchemaCodec.ts +19 -125
- package/src/core/providers/SchemaValidator.spec.ts +36 -0
- package/src/core/providers/SchemaValidator.ts +9 -0
- package/src/crypto/index.ts +6 -1
- package/src/crypto/providers/SecretProvider.ts +36 -0
- package/src/devtools/providers/DevToolsProvider.ts +3 -12
- package/src/logger/index.ts +33 -6
- package/src/logger/providers/PrettyFormatterProvider.ts +5 -3
- package/src/orm/__tests__/orm-next-tests.ts +492 -0
- package/src/orm/__tests__/orm-next.spec.ts +140 -0
- package/src/orm/core/constants/PG_SYMBOLS.ts +17 -0
- package/src/orm/core/index.bun.ts +3 -6
- package/src/orm/core/index.shared-server.ts +2 -0
- package/src/orm/core/index.shared.ts +2 -0
- package/src/orm/core/index.ts +5 -7
- package/src/orm/core/interfaces/AggregateQuery.ts +103 -0
- package/src/orm/core/interfaces/PgQueryWhere.ts +7 -0
- package/src/orm/core/primitives/$entity.ts +8 -0
- package/src/orm/core/primitives/$repository.ts +6 -3
- package/src/orm/core/primitives/$view.ts +88 -0
- package/src/orm/core/providers/DbCacheProvider.ts +66 -0
- package/src/orm/core/providers/DrizzleKitProvider.ts +42 -0
- package/src/orm/core/providers/drivers/BunSqliteProvider.ts +2 -3
- package/src/orm/core/providers/drivers/CloudflareD1Provider.ts +12 -0
- package/src/orm/core/providers/drivers/DatabaseProvider.ts +39 -0
- package/src/orm/core/providers/drivers/NodeSqliteProvider.ts +2 -3
- package/src/orm/core/schemas/databaseEnvSchema.ts +31 -0
- package/src/orm/core/schemas/insertSchema.ts +13 -3
- package/src/orm/core/schemas/updateSchema.ts +14 -3
- package/src/orm/core/services/ModelBuilder.ts +26 -14
- package/src/orm/core/services/QueryManager.ts +13 -0
- package/src/orm/core/services/Repository.ts +307 -5
- package/src/orm/core/services/SqliteModelBuilder.ts +38 -0
- package/src/orm/postgres/index.bun.ts +4 -7
- package/src/orm/postgres/index.ts +4 -7
- package/src/orm/postgres/providers/BunPostgresProvider.ts +12 -2
- package/src/orm/postgres/providers/NodePostgresProvider.ts +7 -0
- package/src/orm/postgres/providers/PglitePostgresProvider.ts +10 -17
- package/src/orm/postgres/providers/PostgresProvider.ts +7 -36
- package/src/orm/postgres/schemas/postgresEnvSchema.ts +32 -0
- package/src/orm/postgres/services/PostgresModelBuilder.ts +40 -0
- package/src/react/core/components/ErrorBoundary.tsx +5 -2
- package/src/react/form/hooks/useFieldValue.ts +34 -0
- package/src/react/form/hooks/useForm.browser.spec.tsx +94 -9
- package/src/react/form/hooks/useForm.ts +14 -2
- package/src/react/form/hooks/useFormState.ts +10 -10
- package/src/react/form/hooks/useFormValues.ts +29 -0
- package/src/react/form/index.ts +3 -1
- package/src/react/form/services/FormModel.ts +53 -122
- package/src/react/router/components/ErrorViewer.tsx +333 -34
- package/src/react/router/components/NestedView.tsx +10 -3
- package/src/react/router/primitives/$page.browser.spec.tsx +34 -0
- package/src/react/router/primitives/$page.spec.tsx +20 -0
- package/src/react/router/primitives/$page.ts +24 -0
- package/src/react/router/providers/ReactBrowserRouterProvider.ts +14 -2
- package/src/react/router/providers/ReactPageProvider.ts +156 -73
- package/src/react/router/providers/ReactServerProvider.ts +40 -2
- package/src/react/router/providers/ReactServerTemplateProvider.ts +13 -1
- package/src/security/providers/SecurityProvider.ts +5 -27
- package/src/server/auth/primitives/$auth.ts +52 -19
- package/src/server/auth/providers/ServerAuthProvider.ts +145 -139
- package/src/server/cookies/providers/ServerCookiesProvider.ts +12 -24
- package/src/server/core/index.ts +3 -1
- package/src/server/core/primitives/$sse.spec.ts +315 -0
- package/src/server/core/primitives/$sse.ts +715 -0
- package/src/server/links/index.browser.ts +1 -3
- package/src/server/links/index.ts +0 -3
- package/src/server/links/providers/LinkProvider.spec.ts +12 -21
- package/src/server/links/providers/LinkProvider.ts +20 -52
- package/src/server/links/providers/ServerLinksProvider.spec.ts +106 -0
- package/src/server/links/providers/ServerLinksProvider.ts +113 -73
- package/src/server/links/schemas/apiLinksResponseSchema.ts +4 -21
- package/src/server/links/services/BatchCollector.ts +5 -3
- package/src/system/index.browser.ts +1 -0
- package/src/system/index.ts +3 -0
- package/src/system/index.workerd.ts +39 -1
- package/src/system/providers/WorkerdFileSystemProvider.ts +365 -0
- package/assets/devtools-ui/asset.BfSBZ5Dd.css.br +0 -0
- package/assets/devtools-ui/chunk.2NYaoqWt.js +0 -1
- package/assets/devtools-ui/chunk.2NYaoqWt.js.br +0 -0
- package/assets/devtools-ui/chunk.B052Z_xQ.js +0 -1
- package/assets/devtools-ui/chunk.B052Z_xQ.js.br +0 -0
- package/assets/devtools-ui/chunk.B4kVY90C.js +0 -1
- package/assets/devtools-ui/chunk.B4kVY90C.js.br +0 -0
- package/assets/devtools-ui/chunk.B7QJXctB.js +0 -1
- package/assets/devtools-ui/chunk.B7QJXctB.js.br +0 -0
- package/assets/devtools-ui/chunk.B9pX3zit.js.br +0 -0
- package/assets/devtools-ui/chunk.BKF9JxIo.js +0 -1
- package/assets/devtools-ui/chunk.BKF9JxIo.js.br +0 -0
- package/assets/devtools-ui/chunk.BOHgdTP-.js +0 -1
- package/assets/devtools-ui/chunk.BOHgdTP-.js.br +0 -0
- package/assets/devtools-ui/chunk.BOVFxkYC.js +0 -1
- package/assets/devtools-ui/chunk.BOVFxkYC.js.br +0 -0
- package/assets/devtools-ui/chunk.BR842zj5.js +0 -1
- package/assets/devtools-ui/chunk.BR842zj5.js.br +0 -0
- package/assets/devtools-ui/chunk.BT2IiBkZ.js.br +0 -0
- package/assets/devtools-ui/chunk.C79YouPp.js.br +0 -0
- package/assets/devtools-ui/chunk.C8mlBrjW.js +0 -9
- package/assets/devtools-ui/chunk.C8mlBrjW.js.br +0 -0
- package/assets/devtools-ui/chunk.CK0ow3AZ.js +0 -1
- package/assets/devtools-ui/chunk.CK0ow3AZ.js.br +0 -0
- package/assets/devtools-ui/chunk.CZl6J9DF.js.br +0 -0
- package/assets/devtools-ui/chunk.CdNr0YzS.js +0 -1
- package/assets/devtools-ui/chunk.CdNr0YzS.js.br +0 -0
- package/assets/devtools-ui/chunk.Ce6_6iIF.js +0 -1
- package/assets/devtools-ui/chunk.Ce6_6iIF.js.br +0 -0
- package/assets/devtools-ui/chunk.CpyDMr6O.js +0 -1
- package/assets/devtools-ui/chunk.CpyDMr6O.js.br +0 -0
- package/assets/devtools-ui/chunk.CyPmvPnY.js +0 -1
- package/assets/devtools-ui/chunk.CyPmvPnY.js.br +0 -0
- package/assets/devtools-ui/chunk.DTI_geWu.js +0 -1
- package/assets/devtools-ui/chunk.DTI_geWu.js.br +0 -0
- package/assets/devtools-ui/chunk.DbEH1oOB.js.br +0 -0
- package/assets/devtools-ui/chunk.Ddeqj5gv.js +0 -1
- package/assets/devtools-ui/chunk.Ddeqj5gv.js.br +0 -0
- package/assets/devtools-ui/chunk.DpRnB4vJ.js +0 -1
- package/assets/devtools-ui/chunk.DpRnB4vJ.js.br +0 -0
- package/assets/devtools-ui/chunk.DxPGTlsg.js +0 -1
- package/assets/devtools-ui/chunk.DxPGTlsg.js.br +0 -0
- package/assets/devtools-ui/chunk.G7_MMBJS.js +0 -1
- package/assets/devtools-ui/chunk.G7_MMBJS.js.br +0 -0
- package/assets/devtools-ui/chunk.M6wyKO_3.js.br +0 -0
- package/assets/devtools-ui/chunk.OUxNGmQ6.js +0 -1
- package/assets/devtools-ui/chunk.OUxNGmQ6.js.br +0 -0
- package/assets/devtools-ui/chunk.T1kle-fF.js +0 -1
- package/assets/devtools-ui/chunk.T1kle-fF.js.br +0 -0
- package/assets/devtools-ui/chunk.WjpsbQAv.js +0 -1
- package/assets/devtools-ui/chunk.WjpsbQAv.js.br +0 -0
- package/assets/devtools-ui/chunk.c6YgVx86.js +0 -1
- package/assets/devtools-ui/chunk.c6YgVx86.js.br +0 -0
- package/assets/devtools-ui/chunk.dwU3E_MU.js +0 -1
- package/assets/devtools-ui/chunk.dwU3E_MU.js.br +0 -0
- package/assets/devtools-ui/chunk.lJL-lgnW.js.br +0 -0
- package/assets/devtools-ui/chunk.lPWRmvA-.js +0 -7
- package/assets/devtools-ui/chunk.lPWRmvA-.js.br +0 -0
- package/assets/devtools-ui/chunk.p3HJvugM.js +0 -1
- package/assets/devtools-ui/chunk.p3HJvugM.js.br +0 -0
- package/assets/devtools-ui/chunk.r_Xoa_CI.js +0 -1
- package/assets/devtools-ui/chunk.r_Xoa_CI.js.br +0 -0
- package/assets/devtools-ui/chunk.sRNuTYXb.js +0 -1
- package/assets/devtools-ui/chunk.sRNuTYXb.js.br +0 -0
- package/assets/devtools-ui/chunk.tUjcyX5C.js +0 -1
- package/assets/devtools-ui/chunk.tUjcyX5C.js.br +0 -0
- package/assets/devtools-ui/chunk.thjBxvCA.js +0 -1
- package/assets/devtools-ui/chunk.thjBxvCA.js.br +0 -0
- package/assets/devtools-ui/entry.GYhBVRpC.js +0 -78
- package/assets/devtools-ui/entry.GYhBVRpC.js.br +0 -0
- package/src/server/links/services/DefinitionsPool.spec.ts +0 -86
- package/src/server/links/services/DefinitionsPool.ts +0 -43
package/dist/cli/core/index.js
CHANGED
|
@@ -5,8 +5,8 @@ import { $logger, ConsoleColorProvider } from "alepha/logger";
|
|
|
5
5
|
import { FileSystemProvider, ShellProvider } from "alepha/system";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
7
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
8
|
-
import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
9
8
|
import { readFile } from "node:fs/promises";
|
|
9
|
+
import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
10
10
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
11
11
|
import { analyzer } from "vite-bundle-analyzer";
|
|
12
12
|
import { KV_DEFAULT_BINDING } from "alepha/cache";
|
|
@@ -16,6 +16,18 @@ import { brotliCompress, gzip } from "node:zlib";
|
|
|
16
16
|
import { exec } from "node:child_process";
|
|
17
17
|
import { ServerSwaggerProvider } from "alepha/server/swagger";
|
|
18
18
|
|
|
19
|
+
//#region ../../src/cli/core/atoms/appEntryOptions.ts
|
|
20
|
+
const appEntryOptions = $atom({
|
|
21
|
+
name: "alepha.cli.appEntry.options",
|
|
22
|
+
schema: t.object({
|
|
23
|
+
server: t.optional(t.text()),
|
|
24
|
+
browser: t.optional(t.text()),
|
|
25
|
+
style: t.optional(t.text())
|
|
26
|
+
}),
|
|
27
|
+
default: {}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
19
31
|
//#region ../../src/cli/core/atoms/buildOptions.ts
|
|
20
32
|
/**
|
|
21
33
|
* Build options atom for CLI build command.
|
|
@@ -70,13 +82,19 @@ const buildOptions = $atom({
|
|
|
70
82
|
});
|
|
71
83
|
|
|
72
84
|
//#endregion
|
|
73
|
-
//#region ../../src/cli/core/atoms/
|
|
74
|
-
|
|
75
|
-
|
|
85
|
+
//#region ../../src/cli/core/atoms/devOptions.ts
|
|
86
|
+
/**
|
|
87
|
+
* Dev options atom for CLI dev command.
|
|
88
|
+
*
|
|
89
|
+
* Defines the available dev configuration options with their defaults.
|
|
90
|
+
* Options can be overridden via alepha.config.ts or CLI flags.
|
|
91
|
+
*/
|
|
92
|
+
const devOptions = $atom({
|
|
93
|
+
name: "alepha.cli.dev.options",
|
|
94
|
+
description: "Dev configuration options",
|
|
76
95
|
schema: t.object({
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
style: t.optional(t.text())
|
|
96
|
+
noDevtools: t.optional(t.boolean({ default: false })),
|
|
97
|
+
noViteReactPlugin: t.optional(t.boolean({ default: false }))
|
|
80
98
|
}),
|
|
81
99
|
default: {}
|
|
82
100
|
});
|
|
@@ -265,6 +283,45 @@ var ViteUtils = class {
|
|
|
265
283
|
};
|
|
266
284
|
}
|
|
267
285
|
/**
|
|
286
|
+
* Vite plugin that reads tsconfig.json `compilerOptions.paths` and converts
|
|
287
|
+
* them to Vite `resolve.alias` entries. Enables `@/*` → `src/*` style imports
|
|
288
|
+
* with zero config beyond tsconfig.json.
|
|
289
|
+
*/
|
|
290
|
+
createTsconfigPathsPlugin() {
|
|
291
|
+
return {
|
|
292
|
+
name: "alepha-tsconfig-paths",
|
|
293
|
+
async config(config) {
|
|
294
|
+
const root = config.root || process.cwd();
|
|
295
|
+
const tsconfigPath = join(root, "tsconfig.json");
|
|
296
|
+
let content;
|
|
297
|
+
try {
|
|
298
|
+
content = await readFile(tsconfigPath, "utf-8");
|
|
299
|
+
} catch {
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
const clean = content.replace(/\/\/.*$/gm, "").replace(/\/\*[\s\S]*?\*\//g, "");
|
|
303
|
+
let tsconfig;
|
|
304
|
+
try {
|
|
305
|
+
tsconfig = JSON.parse(clean);
|
|
306
|
+
} catch {
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
const paths = tsconfig?.compilerOptions?.paths;
|
|
310
|
+
if (!paths || typeof paths !== "object") return;
|
|
311
|
+
const alias = {};
|
|
312
|
+
for (const [pattern, targets] of Object.entries(paths)) {
|
|
313
|
+
if (!Array.isArray(targets) || targets.length === 0) continue;
|
|
314
|
+
const target = targets[0];
|
|
315
|
+
const aliasKey = pattern.replace(/\*$/, "");
|
|
316
|
+
const resolved = resolve(root, target.replace(/\*$/, "").replace(/^\.\//, ""));
|
|
317
|
+
alias[aliasKey] = aliasKey.endsWith("/") ? `${resolved}/` : resolved;
|
|
318
|
+
}
|
|
319
|
+
if (Object.keys(alias).length === 0) return;
|
|
320
|
+
return { resolve: { alias } };
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
268
325
|
* Vite plugin that generates a preload manifest for SSR module preloading.
|
|
269
326
|
*
|
|
270
327
|
* Collects lazy import paths from $page definitions during transform,
|
|
@@ -399,6 +456,7 @@ ${style ? `<link rel="stylesheet" href="/${style}" />` : ""}
|
|
|
399
456
|
process.env.NODE_ENV = opts.mode;
|
|
400
457
|
process.env.ALEPHA_CLI_IMPORT = "true";
|
|
401
458
|
process.env.LOG_LEVEL ??= "warn";
|
|
459
|
+
process.env.APP_SECRET ??= "123456";
|
|
402
460
|
/**
|
|
403
461
|
* 01/26 Vite 7
|
|
404
462
|
* "runnerImport" doesn't work as expected here. (e.g. build docs fail)
|
|
@@ -408,7 +466,8 @@ ${style ? `<link rel="stylesheet" href="/${style}" />` : ""}
|
|
|
408
466
|
this.viteDevServer = await createServer({
|
|
409
467
|
server: { middlewareMode: true },
|
|
410
468
|
appType: "custom",
|
|
411
|
-
logLevel: "silent"
|
|
469
|
+
logLevel: "silent",
|
|
470
|
+
plugins: [this.createTsconfigPathsPlugin()]
|
|
412
471
|
});
|
|
413
472
|
await this.viteDevServer.ssrLoadModule(opts.entry.server);
|
|
414
473
|
delete process.env.ALEPHA_CLI_IMPORT;
|
|
@@ -538,12 +597,12 @@ var AlephaCliUtils = class {
|
|
|
538
597
|
//#endregion
|
|
539
598
|
//#region ../../package.json
|
|
540
599
|
var devDependencies = {
|
|
541
|
-
"@biomejs/biome": "^2.4.
|
|
600
|
+
"@biomejs/biome": "^2.4.5",
|
|
542
601
|
"@electric-sql/pglite": "^0.3.15",
|
|
543
602
|
"@faker-js/faker": "^10.3.0",
|
|
544
603
|
"@testing-library/dom": "^10.4.1",
|
|
545
604
|
"@testing-library/react": "^16.3.2",
|
|
546
|
-
"@types/node": "^25.3.
|
|
605
|
+
"@types/node": "^25.3.3",
|
|
547
606
|
"@types/nodemailer": "^7.0.11",
|
|
548
607
|
"@types/react": "^19.2.14",
|
|
549
608
|
"@types/react-dom": "^19.2.3",
|
|
@@ -558,7 +617,7 @@ var devDependencies = {
|
|
|
558
617
|
"prom-client": "^15.1.3",
|
|
559
618
|
"react": "^19.2.4",
|
|
560
619
|
"react-dom": "^19.2.4",
|
|
561
|
-
"swagger-ui-dist": "^5.
|
|
620
|
+
"swagger-ui-dist": "^5.32.0",
|
|
562
621
|
"tsdown": "^0.20.3",
|
|
563
622
|
"vite": "^7.3.1",
|
|
564
623
|
"vitest": "^4.0.18"
|
|
@@ -602,35 +661,57 @@ var PackageManagerUtils = class {
|
|
|
602
661
|
/**
|
|
603
662
|
* Detect workspace context when inside a monorepo package.
|
|
604
663
|
*
|
|
605
|
-
* Checks if we're inside a workspace package
|
|
606
|
-
*
|
|
664
|
+
* Checks if we're inside a workspace package by walking up to 3 levels
|
|
665
|
+
* for workspace indicators like lockfiles and config files.
|
|
666
|
+
* This covers both standard layouts (packages/my-pkg) and deeper nesting
|
|
667
|
+
* (packages/scope/my-pkg).
|
|
607
668
|
*
|
|
608
669
|
* @param root - The current package directory
|
|
609
670
|
* @returns Workspace context with root path, PM, and config presence
|
|
610
671
|
*/
|
|
611
672
|
async getWorkspaceContext(root) {
|
|
612
|
-
const
|
|
673
|
+
const noContext = {
|
|
674
|
+
isPackage: false,
|
|
675
|
+
workspaceRoot: null,
|
|
676
|
+
packageManager: null,
|
|
677
|
+
config: {
|
|
678
|
+
biomeJson: false,
|
|
679
|
+
editorconfig: false,
|
|
680
|
+
tsconfigJson: false
|
|
681
|
+
}
|
|
682
|
+
};
|
|
683
|
+
for (let depth = 2; depth <= 3; depth++) {
|
|
684
|
+
const segments = Array.from({ length: depth }, () => "..");
|
|
685
|
+
const candidate = this.fs.join(root, ...segments);
|
|
686
|
+
if (candidate === root) break;
|
|
687
|
+
const result = await this.checkWorkspaceRoot(candidate);
|
|
688
|
+
if (result) return result;
|
|
689
|
+
}
|
|
690
|
+
return noContext;
|
|
691
|
+
}
|
|
692
|
+
async checkWorkspaceRoot(candidate) {
|
|
613
693
|
const [hasYarnLock, hasPnpmLock, hasNpmLock, hasBunLock] = await Promise.all([
|
|
614
|
-
this.fs.exists(this.fs.join(
|
|
615
|
-
this.fs.exists(this.fs.join(
|
|
616
|
-
this.fs.exists(this.fs.join(
|
|
617
|
-
this.fs.exists(this.fs.join(
|
|
694
|
+
this.fs.exists(this.fs.join(candidate, "yarn.lock")),
|
|
695
|
+
this.fs.exists(this.fs.join(candidate, "pnpm-lock.yaml")),
|
|
696
|
+
this.fs.exists(this.fs.join(candidate, "package-lock.json")),
|
|
697
|
+
this.fs.exists(this.fs.join(candidate, "bun.lock"))
|
|
618
698
|
]);
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
this.fs.exists(this.fs.join(
|
|
622
|
-
this.fs.exists(this.fs.join(
|
|
623
|
-
this.fs.exists(this.fs.join(
|
|
699
|
+
if (!(hasYarnLock || hasPnpmLock || hasNpmLock || hasBunLock)) return null;
|
|
700
|
+
const [hasBiome, hasEditorConfig, hasTsConfig, hasPackageJson] = await Promise.all([
|
|
701
|
+
this.fs.exists(this.fs.join(candidate, "biome.json")),
|
|
702
|
+
this.fs.exists(this.fs.join(candidate, ".editorconfig")),
|
|
703
|
+
this.fs.exists(this.fs.join(candidate, "tsconfig.json")),
|
|
704
|
+
this.fs.exists(this.fs.join(candidate, "package.json"))
|
|
624
705
|
]);
|
|
625
|
-
|
|
706
|
+
if (!hasPackageJson) return null;
|
|
626
707
|
let packageManager = null;
|
|
627
708
|
if (hasYarnLock) packageManager = "yarn";
|
|
628
709
|
else if (hasPnpmLock) packageManager = "pnpm";
|
|
629
710
|
else if (hasBunLock) packageManager = "bun";
|
|
630
711
|
else if (hasNpmLock) packageManager = "npm";
|
|
631
712
|
return {
|
|
632
|
-
isPackage,
|
|
633
|
-
workspaceRoot:
|
|
713
|
+
isPackage: true,
|
|
714
|
+
workspaceRoot: candidate,
|
|
634
715
|
packageManager,
|
|
635
716
|
config: {
|
|
636
717
|
biomeJson: hasBiome,
|
|
@@ -887,7 +968,7 @@ alepha build # Build
|
|
|
887
968
|
* Template for alepha.config.ts with documented options.
|
|
888
969
|
*/
|
|
889
970
|
const alephaConfigTs = () => {
|
|
890
|
-
return `import { defineConfig } from "alepha/cli";
|
|
971
|
+
return `import { defineConfig } from "alepha/cli/config";
|
|
891
972
|
|
|
892
973
|
export default defineConfig({
|
|
893
974
|
//
|
|
@@ -931,12 +1012,9 @@ export class AppSecurity {
|
|
|
931
1012
|
|
|
932
1013
|
// Registration & login options
|
|
933
1014
|
registrationAllowed: true,
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
usernameRequired: false,
|
|
938
|
-
phoneEnabled: false,
|
|
939
|
-
phoneRequired: false,
|
|
1015
|
+
email: "required",
|
|
1016
|
+
username: "none",
|
|
1017
|
+
phoneNumber: "none",
|
|
940
1018
|
|
|
941
1019
|
// Verification (requires notifications feature)
|
|
942
1020
|
verifyEmailRequired: false,
|
|
@@ -948,8 +1026,8 @@ export class AppSecurity {
|
|
|
948
1026
|
notifications: false,
|
|
949
1027
|
audits: false,
|
|
950
1028
|
apiKeys: false,
|
|
951
|
-
|
|
952
|
-
|
|
1029
|
+
sessionPurge: false,
|
|
1030
|
+
avatars: false,
|
|
953
1031
|
parameters: false,
|
|
954
1032
|
},
|
|
955
1033
|
identities: {
|
|
@@ -1216,7 +1294,12 @@ run(alepha);
|
|
|
1216
1294
|
//#region ../../src/cli/core/templates/tsconfigJson.ts
|
|
1217
1295
|
const tsconfigJson = () => `
|
|
1218
1296
|
{
|
|
1219
|
-
"extends": "alepha/tsconfig.base"
|
|
1297
|
+
"extends": "alepha/tsconfig.base",
|
|
1298
|
+
"compilerOptions": {
|
|
1299
|
+
"paths": {
|
|
1300
|
+
"@/*": ["./src/*"]
|
|
1301
|
+
}
|
|
1302
|
+
}
|
|
1220
1303
|
}
|
|
1221
1304
|
`.trim();
|
|
1222
1305
|
|
|
@@ -1325,6 +1408,7 @@ export const WebModule = $module({
|
|
|
1325
1408
|
*/
|
|
1326
1409
|
var ProjectScaffolder = class {
|
|
1327
1410
|
log = $logger();
|
|
1411
|
+
colors = $inject(ConsoleColorProvider);
|
|
1328
1412
|
fs = $inject(FileSystemProvider);
|
|
1329
1413
|
pm = $inject(PackageManagerUtils);
|
|
1330
1414
|
utils = $inject(AlephaCliUtils);
|
|
@@ -1473,6 +1557,105 @@ var ProjectScaffolder = class {
|
|
|
1473
1557
|
if ((await this.fs.ls(testDir)).length === 0) await this.fs.writeFile(dummyPath, dummySpecTs());
|
|
1474
1558
|
}
|
|
1475
1559
|
/**
|
|
1560
|
+
* Full project init — scaffolds files, installs deps, sets up PM and git.
|
|
1561
|
+
*/
|
|
1562
|
+
async init({ run, root, flags, args }) {
|
|
1563
|
+
if (args) {
|
|
1564
|
+
root = this.fs.join(root, args);
|
|
1565
|
+
await this.fs.mkdir(root, { force: true });
|
|
1566
|
+
}
|
|
1567
|
+
if (flags.admin) flags.auth = true;
|
|
1568
|
+
if (flags.auth) {
|
|
1569
|
+
flags.api = true;
|
|
1570
|
+
flags.ui = true;
|
|
1571
|
+
}
|
|
1572
|
+
if (flags.ui) flags.react = true;
|
|
1573
|
+
if (flags.tailwind) flags.react = true;
|
|
1574
|
+
if ((flags.admin || flags.auth || flags.api || flags.ui || flags.react || flags.tailwind) && !flags.force) {
|
|
1575
|
+
if ((await this.fs.ls(root)).filter((f) => f !== "package.json").length > 0) throw new AlephaError(`Target directory is not empty (${root}). Use --force to overwrite existing files.`);
|
|
1576
|
+
}
|
|
1577
|
+
const workspace = await this.pm.getWorkspaceContext(root);
|
|
1578
|
+
let agentType = false;
|
|
1579
|
+
if (!workspace.isPackage) agentType = await this.utils.isInstalledAsync("claude") ? "claude" : "agents";
|
|
1580
|
+
const isExpo = await this.pm.hasExpo(root);
|
|
1581
|
+
const adminEmail = flags.auth ? await this.utils.getGitEmail() : void 0;
|
|
1582
|
+
const force = !!flags.force;
|
|
1583
|
+
await run({
|
|
1584
|
+
name: "ensuring configuration files",
|
|
1585
|
+
handler: async () => {
|
|
1586
|
+
await this.ensureConfig(root, {
|
|
1587
|
+
force,
|
|
1588
|
+
packageJson: {
|
|
1589
|
+
...flags,
|
|
1590
|
+
isPackage: workspace.isPackage
|
|
1591
|
+
},
|
|
1592
|
+
tsconfigJson: !workspace.config.tsconfigJson,
|
|
1593
|
+
biomeJson: !workspace.config.biomeJson,
|
|
1594
|
+
editorconfig: !workspace.config.editorconfig,
|
|
1595
|
+
agentMd: agentType ? { type: agentType } : false
|
|
1596
|
+
});
|
|
1597
|
+
await this.ensureAlephaConfig(root, { force });
|
|
1598
|
+
await this.ensureMainServerTs(root, {
|
|
1599
|
+
api: !!flags.api,
|
|
1600
|
+
react: !!flags.react && !isExpo,
|
|
1601
|
+
force
|
|
1602
|
+
});
|
|
1603
|
+
if (flags.api) await this.ensureApiProject(root, {
|
|
1604
|
+
auth: !!flags.auth,
|
|
1605
|
+
adminEmail,
|
|
1606
|
+
force
|
|
1607
|
+
});
|
|
1608
|
+
if (flags.react && !isExpo) await this.ensureWebProject(root, {
|
|
1609
|
+
api: !!flags.api,
|
|
1610
|
+
ui: !!flags.ui,
|
|
1611
|
+
auth: !!flags.auth,
|
|
1612
|
+
admin: !!flags.admin,
|
|
1613
|
+
tailwind: !!flags.tailwind,
|
|
1614
|
+
force
|
|
1615
|
+
});
|
|
1616
|
+
}
|
|
1617
|
+
});
|
|
1618
|
+
const pmName = await this.pm.getPackageManager(workspace.workspaceRoot ?? root, flags.pm ?? workspace.packageManager ?? void 0);
|
|
1619
|
+
if (!workspace.isPackage) if (pmName === "yarn") {
|
|
1620
|
+
await this.pm.ensureYarn(root);
|
|
1621
|
+
await run("yarn set version stable", { root });
|
|
1622
|
+
} else if (pmName === "bun") await this.pm.ensureBun(root);
|
|
1623
|
+
else if (pmName === "pnpm") await this.pm.ensurePnpm(root);
|
|
1624
|
+
else await this.pm.ensureNpm(root);
|
|
1625
|
+
const installRoot = workspace.workspaceRoot ?? root;
|
|
1626
|
+
await run(`${pmName} install`, {
|
|
1627
|
+
alias: `installing dependencies with ${pmName}`,
|
|
1628
|
+
root: installRoot
|
|
1629
|
+
});
|
|
1630
|
+
if (flags.test) await this.ensureTestDir(root);
|
|
1631
|
+
await run(`${pmName} run lint`, {
|
|
1632
|
+
alias: "running linter",
|
|
1633
|
+
root: installRoot
|
|
1634
|
+
});
|
|
1635
|
+
if (!workspace.isPackage) {
|
|
1636
|
+
if (await this.ensureGitRepo(root, { force })) await run("git add .", {
|
|
1637
|
+
alias: "staging generated files",
|
|
1638
|
+
root
|
|
1639
|
+
});
|
|
1640
|
+
}
|
|
1641
|
+
if (!args) return;
|
|
1642
|
+
run.end();
|
|
1643
|
+
const projectName = args || ".";
|
|
1644
|
+
const pmRun = pmName === "npm" ? "npm run" : pmName;
|
|
1645
|
+
const c = this.colors;
|
|
1646
|
+
this.log.info("");
|
|
1647
|
+
this.log.info(` ${c.set("GREEN", "✓")} Project ready!`);
|
|
1648
|
+
this.log.info("");
|
|
1649
|
+
this.log.info(` ${c.set("GREY_DARK", "$")} cd ${c.set("CYAN", projectName)}`);
|
|
1650
|
+
this.log.info(` ${c.set("GREY_DARK", "$")} ${c.set("CYAN", `${pmRun} dev`)}`);
|
|
1651
|
+
if (adminEmail) {
|
|
1652
|
+
this.log.info("");
|
|
1653
|
+
this.log.info(` Admin email: ${c.set("GREEN", adminEmail)}`);
|
|
1654
|
+
this.log.info(` ${c.set("GREY_DARK", "(from git config, change in src/api/AppSecurity.ts)")}`);
|
|
1655
|
+
}
|
|
1656
|
+
this.log.info("");
|
|
1657
|
+
}
|
|
1658
|
+
/**
|
|
1476
1659
|
* Write a file, optionally overriding if it exists.
|
|
1477
1660
|
*/
|
|
1478
1661
|
async ensureFile(root, relativePath, content, force) {
|
|
@@ -1578,6 +1761,7 @@ var BuildClientTask = class extends BuildTask {
|
|
|
1578
1761
|
const plugins = [];
|
|
1579
1762
|
const viteReact = await this.viteUtils.importViteReact();
|
|
1580
1763
|
if (viteReact) plugins.push(viteReact());
|
|
1764
|
+
plugins.push(this.viteUtils.createTsconfigPathsPlugin());
|
|
1581
1765
|
plugins.push(this.viteUtils.createSsrPreloadPlugin());
|
|
1582
1766
|
if (opts.stats) plugins.push(analyzer({ analyzerMode: "static" }));
|
|
1583
1767
|
const logger = opts.silent ? this.viteUtils.createBufferedLogger() : void 0;
|
|
@@ -1595,7 +1779,8 @@ var BuildClientTask = class extends BuildTask {
|
|
|
1595
1779
|
output: {
|
|
1596
1780
|
entryFileNames: "entry.[hash].js",
|
|
1597
1781
|
chunkFileNames: "chunk.[hash].js",
|
|
1598
|
-
assetFileNames: "asset.[hash][extname]"
|
|
1782
|
+
assetFileNames: "asset.[hash][extname]",
|
|
1783
|
+
experimentalMinChunkSize: 5e3
|
|
1599
1784
|
}
|
|
1600
1785
|
}
|
|
1601
1786
|
},
|
|
@@ -2082,6 +2267,7 @@ var BuildServerTask = class extends BuildTask {
|
|
|
2082
2267
|
const plugins = [];
|
|
2083
2268
|
const viteReact = await this.viteUtils.importViteReact();
|
|
2084
2269
|
if (viteReact && opts.clientDir) plugins.push(viteReact());
|
|
2270
|
+
plugins.push(this.viteUtils.createTsconfigPathsPlugin());
|
|
2085
2271
|
plugins.push(this.viteUtils.createSsrPreloadPlugin());
|
|
2086
2272
|
if (opts.stats) plugins.push(analyzer({ analyzerMode: "static" }));
|
|
2087
2273
|
const logger = opts.silent ? this.viteUtils.createBufferedLogger() : void 0;
|
|
@@ -2117,7 +2303,8 @@ var BuildServerTask = class extends BuildTask {
|
|
|
2117
2303
|
entryFileNames: "[hash].js",
|
|
2118
2304
|
chunkFileNames: "[hash].js",
|
|
2119
2305
|
assetFileNames: "[hash][extname]",
|
|
2120
|
-
format: "esm"
|
|
2306
|
+
format: "esm",
|
|
2307
|
+
experimentalMinChunkSize: 1e4
|
|
2121
2308
|
}
|
|
2122
2309
|
}
|
|
2123
2310
|
},
|
|
@@ -2717,8 +2904,45 @@ var DbCommand = class {
|
|
|
2717
2904
|
title: "path",
|
|
2718
2905
|
description: "Path to the Alepha server entry file"
|
|
2719
2906
|
})),
|
|
2720
|
-
flags: drizzleCommandFlags,
|
|
2907
|
+
flags: t.extend(drizzleCommandFlags, { dryRun: t.optional(t.boolean({ description: "Preview SQL statements without executing them" })) }),
|
|
2721
2908
|
handler: async ({ root, args, flags }) => {
|
|
2909
|
+
if (flags.dryRun) {
|
|
2910
|
+
const entry = await this.entryProvider.getAppEntry(root);
|
|
2911
|
+
const alepha = await this.utils.loadAlephaFromServerEntryFile({
|
|
2912
|
+
mode: "development",
|
|
2913
|
+
entry
|
|
2914
|
+
});
|
|
2915
|
+
const drizzleKitProvider = alepha.inject("DrizzleKitProvider");
|
|
2916
|
+
const repositoryProvider = alepha.inject("RepositoryProvider");
|
|
2917
|
+
const accepted = /* @__PURE__ */ new Set([]);
|
|
2918
|
+
for (const primitive of repositoryProvider.getRepositories()) {
|
|
2919
|
+
const provider = primitive.provider;
|
|
2920
|
+
const providerName = provider.name;
|
|
2921
|
+
if (accepted.has(providerName)) continue;
|
|
2922
|
+
accepted.add(providerName);
|
|
2923
|
+
if (flags.provider && flags.provider !== providerName) continue;
|
|
2924
|
+
this.log.info("");
|
|
2925
|
+
this.log.info(`Dry run for '${providerName}' (${provider.dialect}) ...`);
|
|
2926
|
+
await provider.connect();
|
|
2927
|
+
try {
|
|
2928
|
+
const result = await drizzleKitProvider.dryRunPush(provider);
|
|
2929
|
+
if (result.statements.length === 0) this.log.info("No changes detected.");
|
|
2930
|
+
else {
|
|
2931
|
+
if (result.hasDataLoss) {
|
|
2932
|
+
this.log.warn("WARNING: These changes would cause data loss!");
|
|
2933
|
+
for (const warning of result.warnings) this.log.warn(` ${warning}`);
|
|
2934
|
+
}
|
|
2935
|
+
this.log.info("");
|
|
2936
|
+
this.log.info(`${result.statements.length} statement(s) would be executed:`);
|
|
2937
|
+
this.log.info("");
|
|
2938
|
+
for (const stmt of result.statements) this.log.info(stmt);
|
|
2939
|
+
}
|
|
2940
|
+
} finally {
|
|
2941
|
+
await provider.close();
|
|
2942
|
+
}
|
|
2943
|
+
}
|
|
2944
|
+
return;
|
|
2945
|
+
}
|
|
2722
2946
|
await this.runDrizzleKitCommand({
|
|
2723
2947
|
root,
|
|
2724
2948
|
args,
|
|
@@ -2921,24 +3145,6 @@ ${models.map((it) => `export const ${it} = models["${it}"];`).join("\n")}
|
|
|
2921
3145
|
}
|
|
2922
3146
|
};
|
|
2923
3147
|
|
|
2924
|
-
//#endregion
|
|
2925
|
-
//#region ../../src/cli/core/atoms/devOptions.ts
|
|
2926
|
-
/**
|
|
2927
|
-
* Dev options atom for CLI dev command.
|
|
2928
|
-
*
|
|
2929
|
-
* Defines the available dev configuration options with their defaults.
|
|
2930
|
-
* Options can be overridden via alepha.config.ts or CLI flags.
|
|
2931
|
-
*/
|
|
2932
|
-
const devOptions = $atom({
|
|
2933
|
-
name: "alepha.cli.dev.options",
|
|
2934
|
-
description: "Dev configuration options",
|
|
2935
|
-
schema: t.object({
|
|
2936
|
-
noDevtools: t.optional(t.boolean({ default: false })),
|
|
2937
|
-
noViteReactPlugin: t.optional(t.boolean({ default: false }))
|
|
2938
|
-
}),
|
|
2939
|
-
default: {}
|
|
2940
|
-
});
|
|
2941
|
-
|
|
2942
3148
|
//#endregion
|
|
2943
3149
|
//#region ../../src/cli/core/providers/ViteDevServerProvider.ts
|
|
2944
3150
|
/**
|
|
@@ -2969,6 +3175,7 @@ var ViteDevServerProvider = class {
|
|
|
2969
3175
|
reloadDebounceTimer = null;
|
|
2970
3176
|
isReloading = false;
|
|
2971
3177
|
needsBrowserReload = false;
|
|
3178
|
+
currentReloadPromise = null;
|
|
2972
3179
|
/**
|
|
2973
3180
|
* Initialize the dev server and load Alepha.
|
|
2974
3181
|
*/
|
|
@@ -3025,6 +3232,7 @@ var ViteDevServerProvider = class {
|
|
|
3025
3232
|
const viteReact = await this.viteUtils.importViteReact();
|
|
3026
3233
|
const plugins = [];
|
|
3027
3234
|
if (viteReact && !this.options.noViteReactPlugin) plugins.push(viteReact());
|
|
3235
|
+
plugins.push(this.viteUtils.createTsconfigPathsPlugin());
|
|
3028
3236
|
plugins.push(this.viteUtils.createSsrPreloadPlugin());
|
|
3029
3237
|
plugins.push(this.createAlephaPlugin());
|
|
3030
3238
|
let port;
|
|
@@ -3096,6 +3304,9 @@ var ViteDevServerProvider = class {
|
|
|
3096
3304
|
next();
|
|
3097
3305
|
}
|
|
3098
3306
|
});
|
|
3307
|
+
server.hot.on("connection", () => {
|
|
3308
|
+
if (this.currentError) setTimeout(() => this.sendErrorOverlay(this.currentError), 50);
|
|
3309
|
+
});
|
|
3099
3310
|
return () => {
|
|
3100
3311
|
server.middlewares.use(async (req, res, next) => {
|
|
3101
3312
|
const url = req.url || "/";
|
|
@@ -3104,6 +3315,11 @@ var ViteDevServerProvider = class {
|
|
|
3104
3315
|
return;
|
|
3105
3316
|
}
|
|
3106
3317
|
if (this.hasError && !this.alepha) {
|
|
3318
|
+
if (req.headers.accept?.includes("text/html")) {
|
|
3319
|
+
res.writeHead(200, { "content-type": "text/html" });
|
|
3320
|
+
res.end("<!DOCTYPE html><html><head><script type=\"module\" src=\"/@vite/client\"><\/script></head><body></body></html>");
|
|
3321
|
+
return;
|
|
3322
|
+
}
|
|
3107
3323
|
next();
|
|
3108
3324
|
return;
|
|
3109
3325
|
}
|
|
@@ -3131,7 +3347,11 @@ var ViteDevServerProvider = class {
|
|
|
3131
3347
|
if (firstModule && !firstModule._ssrModule) return;
|
|
3132
3348
|
this.changedFiles.add(ctx.file);
|
|
3133
3349
|
if (/\.(tsx|jsx)$/.test(ctx.file)) {
|
|
3134
|
-
this.
|
|
3350
|
+
if (this.reloadDebounceTimer) {
|
|
3351
|
+
clearTimeout(this.reloadDebounceTimer);
|
|
3352
|
+
this.reloadDebounceTimer = null;
|
|
3353
|
+
}
|
|
3354
|
+
await this.performReload();
|
|
3135
3355
|
return;
|
|
3136
3356
|
}
|
|
3137
3357
|
this.needsBrowserReload = true;
|
|
@@ -3174,13 +3394,24 @@ var ViteDevServerProvider = class {
|
|
|
3174
3394
|
}, 100);
|
|
3175
3395
|
}
|
|
3176
3396
|
/**
|
|
3177
|
-
* Perform the actual reload
|
|
3397
|
+
* Perform the actual reload.
|
|
3398
|
+
* Returns a promise that callers can await to know when reload is done.
|
|
3399
|
+
* If a reload is already in progress, returns that promise.
|
|
3400
|
+
*/
|
|
3401
|
+
performReload() {
|
|
3402
|
+
if (this.changedFiles.size === 0) return this.currentReloadPromise ?? Promise.resolve();
|
|
3403
|
+
if (this.isReloading) return this.currentReloadPromise ?? Promise.resolve();
|
|
3404
|
+
this.currentReloadPromise = this.executeReload();
|
|
3405
|
+
return this.currentReloadPromise;
|
|
3406
|
+
}
|
|
3407
|
+
/**
|
|
3408
|
+
* Execute the reload work.
|
|
3178
3409
|
*/
|
|
3179
|
-
async
|
|
3180
|
-
if (this.isReloading || this.changedFiles.size === 0) return;
|
|
3410
|
+
async executeReload() {
|
|
3181
3411
|
this.isReloading = true;
|
|
3182
3412
|
const filesToInvalidate = new Set(this.changedFiles);
|
|
3183
3413
|
const sendReload = this.needsBrowserReload;
|
|
3414
|
+
const wasInError = this.hasError;
|
|
3184
3415
|
this.changedFiles.clear();
|
|
3185
3416
|
this.needsBrowserReload = false;
|
|
3186
3417
|
console.log();
|
|
@@ -3190,7 +3421,7 @@ var ViteDevServerProvider = class {
|
|
|
3190
3421
|
await this.loadAlepha(false, filesToInvalidate);
|
|
3191
3422
|
await this.alepha?.start();
|
|
3192
3423
|
this.currentError = null;
|
|
3193
|
-
if (sendReload) this.sendBrowserReload();
|
|
3424
|
+
if (sendReload || wasInError) this.sendBrowserReload();
|
|
3194
3425
|
} catch (err) {
|
|
3195
3426
|
this.hasError = true;
|
|
3196
3427
|
this.currentError = err instanceof Error ? err : new Error(String(err));
|
|
@@ -3199,6 +3430,7 @@ var ViteDevServerProvider = class {
|
|
|
3199
3430
|
this.sendErrorOverlay(this.currentError);
|
|
3200
3431
|
} finally {
|
|
3201
3432
|
this.isReloading = false;
|
|
3433
|
+
this.currentReloadPromise = null;
|
|
3202
3434
|
if (this.changedFiles.size > 0) this.scheduleReload();
|
|
3203
3435
|
}
|
|
3204
3436
|
}
|
|
@@ -3331,6 +3563,8 @@ var ViteDevServerProvider = class {
|
|
|
3331
3563
|
this.waitingForRetry = false;
|
|
3332
3564
|
this.currentError = null;
|
|
3333
3565
|
this.server.watcher.off("change", onFileChange);
|
|
3566
|
+
this.server.watcher.off("add", onFileChange);
|
|
3567
|
+
this.sendBrowserReload();
|
|
3334
3568
|
resolve(alepha);
|
|
3335
3569
|
} catch (err) {
|
|
3336
3570
|
this.hasError = true;
|
|
@@ -3341,6 +3575,7 @@ var ViteDevServerProvider = class {
|
|
|
3341
3575
|
}
|
|
3342
3576
|
};
|
|
3343
3577
|
this.server.watcher.on("change", onFileChange);
|
|
3578
|
+
this.server.watcher.on("add", onFileChange);
|
|
3344
3579
|
});
|
|
3345
3580
|
}
|
|
3346
3581
|
/**
|
|
@@ -3378,12 +3613,10 @@ var ViteDevServerProvider = class {
|
|
|
3378
3613
|
/**
|
|
3379
3614
|
* Log a formatted error with stack trace.
|
|
3380
3615
|
*/
|
|
3381
|
-
logError(title,
|
|
3616
|
+
logError(title, _err) {
|
|
3382
3617
|
const c = this.colors;
|
|
3383
3618
|
console.log();
|
|
3384
3619
|
console.log(c.set("RED", ` ✗ ${title}`));
|
|
3385
|
-
this.logErrorWithCause(err);
|
|
3386
|
-
console.log();
|
|
3387
3620
|
console.log(c.set("GREY_DARK", " Waiting for file changes to retry..."));
|
|
3388
3621
|
console.log();
|
|
3389
3622
|
}
|
|
@@ -3766,12 +3999,7 @@ var GenCommand = class {
|
|
|
3766
3999
|
//#endregion
|
|
3767
4000
|
//#region ../../src/cli/core/commands/init.ts
|
|
3768
4001
|
var InitCommand = class {
|
|
3769
|
-
log = $logger();
|
|
3770
|
-
colors = $inject(ConsoleColorProvider);
|
|
3771
|
-
utils = $inject(AlephaCliUtils);
|
|
3772
|
-
pm = $inject(PackageManagerUtils);
|
|
3773
4002
|
scaffolder = $inject(ProjectScaffolder);
|
|
3774
|
-
fs = $inject(FileSystemProvider);
|
|
3775
4003
|
/**
|
|
3776
4004
|
* Ensure the project has the necessary Alepha configuration files.
|
|
3777
4005
|
* Add the correct dependencies to package.json and install them.
|
|
@@ -3807,100 +4035,12 @@ var InitCommand = class {
|
|
|
3807
4035
|
}))
|
|
3808
4036
|
}),
|
|
3809
4037
|
handler: async ({ run, flags, root, args }) => {
|
|
3810
|
-
|
|
3811
|
-
|
|
3812
|
-
|
|
3813
|
-
|
|
3814
|
-
|
|
3815
|
-
if (flags.auth) {
|
|
3816
|
-
flags.api = true;
|
|
3817
|
-
flags.ui = true;
|
|
3818
|
-
}
|
|
3819
|
-
if (flags.ui) flags.react = true;
|
|
3820
|
-
if (flags.tailwind) flags.react = true;
|
|
3821
|
-
if ((flags.admin || flags.auth || flags.api || flags.ui || flags.react || flags.tailwind) && !flags.force) {
|
|
3822
|
-
if ((await this.fs.ls(root)).filter((f) => f !== "package.json").length > 0) throw new AlephaError(`Target directory is not empty (${root}). Use --force to overwrite existing files.`);
|
|
3823
|
-
}
|
|
3824
|
-
const workspace = await this.pm.getWorkspaceContext(root);
|
|
3825
|
-
let agentType = false;
|
|
3826
|
-
if (!workspace.isPackage) agentType = await this.utils.isInstalledAsync("claude") ? "claude" : "agents";
|
|
3827
|
-
const isExpo = await this.pm.hasExpo(root);
|
|
3828
|
-
const adminEmail = flags.auth ? await this.utils.getGitEmail() : void 0;
|
|
3829
|
-
const force = !!flags.force;
|
|
3830
|
-
await run({
|
|
3831
|
-
name: "ensuring configuration files",
|
|
3832
|
-
handler: async () => {
|
|
3833
|
-
await this.scaffolder.ensureConfig(root, {
|
|
3834
|
-
force,
|
|
3835
|
-
packageJson: {
|
|
3836
|
-
...flags,
|
|
3837
|
-
isPackage: workspace.isPackage
|
|
3838
|
-
},
|
|
3839
|
-
tsconfigJson: !workspace.config.tsconfigJson,
|
|
3840
|
-
biomeJson: !workspace.config.biomeJson,
|
|
3841
|
-
editorconfig: !workspace.config.editorconfig,
|
|
3842
|
-
agentMd: agentType ? { type: agentType } : false
|
|
3843
|
-
});
|
|
3844
|
-
await this.scaffolder.ensureAlephaConfig(root, { force });
|
|
3845
|
-
await this.scaffolder.ensureMainServerTs(root, {
|
|
3846
|
-
api: !!flags.api,
|
|
3847
|
-
react: !!flags.react && !isExpo,
|
|
3848
|
-
force
|
|
3849
|
-
});
|
|
3850
|
-
if (flags.api) await this.scaffolder.ensureApiProject(root, {
|
|
3851
|
-
auth: !!flags.auth,
|
|
3852
|
-
adminEmail,
|
|
3853
|
-
force
|
|
3854
|
-
});
|
|
3855
|
-
if (flags.react && !isExpo) await this.scaffolder.ensureWebProject(root, {
|
|
3856
|
-
api: !!flags.api,
|
|
3857
|
-
ui: !!flags.ui,
|
|
3858
|
-
auth: !!flags.auth,
|
|
3859
|
-
admin: !!flags.admin,
|
|
3860
|
-
tailwind: !!flags.tailwind,
|
|
3861
|
-
force
|
|
3862
|
-
});
|
|
3863
|
-
}
|
|
3864
|
-
});
|
|
3865
|
-
const pmName = await this.pm.getPackageManager(workspace.workspaceRoot ?? root, flags.pm ?? workspace.packageManager ?? void 0);
|
|
3866
|
-
if (!workspace.isPackage) if (pmName === "yarn") {
|
|
3867
|
-
await this.pm.ensureYarn(root);
|
|
3868
|
-
await run("yarn set version stable", { root });
|
|
3869
|
-
} else if (pmName === "bun") await this.pm.ensureBun(root);
|
|
3870
|
-
else if (pmName === "pnpm") await this.pm.ensurePnpm(root);
|
|
3871
|
-
else await this.pm.ensureNpm(root);
|
|
3872
|
-
const installRoot = workspace.workspaceRoot ?? root;
|
|
3873
|
-
await run(`${pmName} install`, {
|
|
3874
|
-
alias: `installing dependencies with ${pmName}`,
|
|
3875
|
-
root: installRoot
|
|
3876
|
-
});
|
|
3877
|
-
if (flags.test) await this.scaffolder.ensureTestDir(root);
|
|
3878
|
-
await run(`${pmName} run lint`, {
|
|
3879
|
-
alias: "running linter",
|
|
3880
|
-
root: installRoot
|
|
4038
|
+
await this.scaffolder.init({
|
|
4039
|
+
run,
|
|
4040
|
+
flags,
|
|
4041
|
+
root,
|
|
4042
|
+
args
|
|
3881
4043
|
});
|
|
3882
|
-
if (!workspace.isPackage) {
|
|
3883
|
-
if (await this.scaffolder.ensureGitRepo(root, { force })) await run("git add .", {
|
|
3884
|
-
alias: "staging generated files",
|
|
3885
|
-
root
|
|
3886
|
-
});
|
|
3887
|
-
}
|
|
3888
|
-
if (!args) return;
|
|
3889
|
-
run.end();
|
|
3890
|
-
const projectName = args || ".";
|
|
3891
|
-
const pmRun = pmName === "npm" ? "npm run" : pmName;
|
|
3892
|
-
const c = this.colors;
|
|
3893
|
-
this.log.info("");
|
|
3894
|
-
this.log.info(` ${c.set("GREEN", "✓")} Project ready!`);
|
|
3895
|
-
this.log.info("");
|
|
3896
|
-
this.log.info(` ${c.set("GREY_DARK", "$")} cd ${c.set("CYAN", projectName)}`);
|
|
3897
|
-
this.log.info(` ${c.set("GREY_DARK", "$")} ${c.set("CYAN", `${pmRun} dev`)}`);
|
|
3898
|
-
if (adminEmail) {
|
|
3899
|
-
this.log.info("");
|
|
3900
|
-
this.log.info(` Admin email: ${c.set("GREEN", adminEmail)}`);
|
|
3901
|
-
this.log.info(` ${c.set("GREY_DARK", "(from git config, change in src/api/AppSecurity.ts)")}`);
|
|
3902
|
-
}
|
|
3903
|
-
this.log.info("");
|
|
3904
4044
|
}
|
|
3905
4045
|
});
|
|
3906
4046
|
};
|
|
@@ -4062,39 +4202,38 @@ var AlephaCliExtensionProvider = class {
|
|
|
4062
4202
|
};
|
|
4063
4203
|
|
|
4064
4204
|
//#endregion
|
|
4065
|
-
//#region ../../src/cli/core/
|
|
4066
|
-
const configProcessors = [];
|
|
4205
|
+
//#region ../../src/cli/core/index.ts
|
|
4067
4206
|
/**
|
|
4068
|
-
*
|
|
4069
|
-
*
|
|
4070
|
-
* Used by submodules (e.g. platform) to handle their own config keys
|
|
4071
|
-
* without core needing to know about them.
|
|
4207
|
+
* Services, providers, and build tasks — no commands.
|
|
4208
|
+
* Use this module when you need CLI utilities without registering commands.
|
|
4072
4209
|
*/
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
}
|
|
4076
|
-
const defineConfig = (runConfig) => {
|
|
4077
|
-
return (alepha) => {
|
|
4078
|
-
const config = typeof runConfig === "function" ? runConfig(alepha) : runConfig;
|
|
4079
|
-
if (config.services) for (const it of config.services) alepha.with(it);
|
|
4080
|
-
if (config.env) for (const [key, value] of Object.entries(config.env)) process.env[key] = String(value);
|
|
4081
|
-
if (config.build) alepha.set(buildOptions, config.build);
|
|
4082
|
-
if (config.dev) alepha.set(devOptions, config.dev);
|
|
4083
|
-
if (config.entry) alepha.set(appEntryOptions, config.entry);
|
|
4084
|
-
for (const processor of configProcessors) processor(alepha, config);
|
|
4085
|
-
return { ...config.commands };
|
|
4086
|
-
};
|
|
4087
|
-
};
|
|
4088
|
-
|
|
4089
|
-
//#endregion
|
|
4090
|
-
//#region ../../src/cli/core/index.ts
|
|
4091
|
-
const AlephaCli = $module({
|
|
4092
|
-
name: "alepha.cli",
|
|
4210
|
+
const AlephaCliServices = $module({
|
|
4211
|
+
name: "alepha.cli.services",
|
|
4093
4212
|
services: [
|
|
4094
4213
|
AlephaCliUtils,
|
|
4095
4214
|
PackageManagerUtils,
|
|
4096
4215
|
ViteUtils,
|
|
4097
4216
|
ProjectScaffolder,
|
|
4217
|
+
AppEntryProvider,
|
|
4218
|
+
GitMessageParser,
|
|
4219
|
+
GitProvider,
|
|
4220
|
+
ViteDevServerProvider,
|
|
4221
|
+
ViteBuildProvider
|
|
4222
|
+
]
|
|
4223
|
+
});
|
|
4224
|
+
/**
|
|
4225
|
+
* Full CLI module — all services and commands.
|
|
4226
|
+
*/
|
|
4227
|
+
const AlephaCli = $module({
|
|
4228
|
+
name: "alepha.cli",
|
|
4229
|
+
atoms: [
|
|
4230
|
+
appEntryOptions,
|
|
4231
|
+
buildOptions,
|
|
4232
|
+
changelogOptions,
|
|
4233
|
+
devOptions
|
|
4234
|
+
],
|
|
4235
|
+
services: [
|
|
4236
|
+
AlephaCliExtensionProvider,
|
|
4098
4237
|
BuildCommand,
|
|
4099
4238
|
CleanCommand,
|
|
4100
4239
|
DbCommand,
|
|
@@ -4106,12 +4245,6 @@ const AlephaCli = $module({
|
|
|
4106
4245
|
TypecheckCommand,
|
|
4107
4246
|
VerifyCommand,
|
|
4108
4247
|
GenCommand,
|
|
4109
|
-
AlephaCliExtensionProvider,
|
|
4110
|
-
AppEntryProvider,
|
|
4111
|
-
GitMessageParser,
|
|
4112
|
-
GitProvider,
|
|
4113
|
-
ViteDevServerProvider,
|
|
4114
|
-
ViteBuildProvider,
|
|
4115
4248
|
BuildAssetsTask,
|
|
4116
4249
|
BuildClientTask,
|
|
4117
4250
|
BuildCloudflareTask,
|
|
@@ -4126,5 +4259,5 @@ const AlephaCli = $module({
|
|
|
4126
4259
|
});
|
|
4127
4260
|
|
|
4128
4261
|
//#endregion
|
|
4129
|
-
export { AlephaCli, AlephaCliExtensionProvider, AlephaCliUtils, AppEntryProvider, BuildAssetsTask, BuildClientTask, BuildCloudflareTask, BuildCommand, BuildCompressTask, BuildDockerTask, BuildPrerenderTask, BuildServerTask, BuildSitemapTask, BuildStaticTask, BuildTask, BuildVercelTask, ChangelogCommand, CleanCommand, DEFAULT_IGNORE, DbCommand, DevCommand, GitMessageParser, GitProvider, InitCommand, LintCommand, OpenApiCommand, PackageManagerUtils, RootCommand, TestCommand, TypecheckCommand, VerifyCommand, ViteBuildProvider, ViteDevServerProvider, ViteUtils, appEntryOptions, buildOptions, changelogOptions,
|
|
4262
|
+
export { AlephaCli, AlephaCliExtensionProvider, AlephaCliServices, AlephaCliUtils, AppEntryProvider, BuildAssetsTask, BuildClientTask, BuildCloudflareTask, BuildCommand, BuildCompressTask, BuildDockerTask, BuildPrerenderTask, BuildServerTask, BuildSitemapTask, BuildStaticTask, BuildTask, BuildVercelTask, ChangelogCommand, CleanCommand, DEFAULT_IGNORE, DbCommand, DevCommand, GitMessageParser, GitProvider, InitCommand, LintCommand, OpenApiCommand, PackageManagerUtils, ProjectScaffolder, RootCommand, TestCommand, TypecheckCommand, VerifyCommand, ViteBuildProvider, ViteDevServerProvider, ViteUtils, appEntryOptions, buildOptions, changelogOptions, devOptions, version };
|
|
4130
4263
|
//# sourceMappingURL=index.js.map
|