@alchemy.run/fly 0.0.0 → 2.0.0-beta.85
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/LICENSE +201 -0
- package/README.md +57 -4
- package/lib/App.d.ts +230 -0
- package/lib/App.d.ts.map +1 -0
- package/lib/App.js +338 -0
- package/lib/App.js.map +1 -0
- package/lib/AuthProvider.d.ts +22 -0
- package/lib/AuthProvider.d.ts.map +1 -0
- package/lib/AuthProvider.js +48 -0
- package/lib/AuthProvider.js.map +1 -0
- package/lib/BindService.d.ts +159 -0
- package/lib/BindService.d.ts.map +1 -0
- package/lib/BindService.js +222 -0
- package/lib/BindService.js.map +1 -0
- package/lib/Bootstrap.d.ts +8 -0
- package/lib/Bootstrap.d.ts.map +1 -0
- package/lib/Bootstrap.js +41 -0
- package/lib/Bootstrap.js.map +1 -0
- package/lib/Bucket.d.ts +278 -0
- package/lib/Bucket.d.ts.map +1 -0
- package/lib/Bucket.js +658 -0
- package/lib/Bucket.js.map +1 -0
- package/lib/BucketBinding.d.ts +33 -0
- package/lib/BucketBinding.d.ts.map +1 -0
- package/lib/BucketBinding.js +70 -0
- package/lib/BucketBinding.js.map +1 -0
- package/lib/Catalog.d.ts +28 -0
- package/lib/Catalog.d.ts.map +1 -0
- package/lib/Catalog.js +31 -0
- package/lib/Catalog.js.map +1 -0
- package/lib/Certificate.d.ts +189 -0
- package/lib/Certificate.d.ts.map +1 -0
- package/lib/Certificate.js +380 -0
- package/lib/Certificate.js.map +1 -0
- package/lib/Checkpoint.d.ts +55 -0
- package/lib/Checkpoint.d.ts.map +1 -0
- package/lib/Checkpoint.js +3 -0
- package/lib/Checkpoint.js.map +1 -0
- package/lib/CheckpointHttp.d.ts +22 -0
- package/lib/CheckpointHttp.d.ts.map +1 -0
- package/lib/CheckpointHttp.js +53 -0
- package/lib/CheckpointHttp.js.map +1 -0
- package/lib/ConnectPostgres.d.ts +58 -0
- package/lib/ConnectPostgres.d.ts.map +1 -0
- package/lib/ConnectPostgres.js +13 -0
- package/lib/ConnectPostgres.js.map +1 -0
- package/lib/ConnectPostgresHttp.d.ts +26 -0
- package/lib/ConnectPostgresHttp.d.ts.map +1 -0
- package/lib/ConnectPostgresHttp.js +57 -0
- package/lib/ConnectPostgresHttp.js.map +1 -0
- package/lib/Contributions.d.ts +7 -0
- package/lib/Contributions.d.ts.map +1 -0
- package/lib/Contributions.js +6 -0
- package/lib/Contributions.js.map +1 -0
- package/lib/Credentials.d.ts +33 -0
- package/lib/Credentials.d.ts.map +1 -0
- package/lib/Credentials.js +55 -0
- package/lib/Credentials.js.map +1 -0
- package/lib/Decrypt.d.ts +52 -0
- package/lib/Decrypt.d.ts.map +1 -0
- package/lib/Decrypt.js +3 -0
- package/lib/Decrypt.js.map +1 -0
- package/lib/DecryptHttp.d.ts +22 -0
- package/lib/DecryptHttp.d.ts.map +1 -0
- package/lib/DecryptHttp.js +43 -0
- package/lib/DecryptHttp.js.map +1 -0
- package/lib/DeleteObject.d.ts +29 -0
- package/lib/DeleteObject.d.ts.map +1 -0
- package/lib/DeleteObject.js +3 -0
- package/lib/DeleteObject.js.map +1 -0
- package/lib/DeleteObjectHttp.d.ts +12 -0
- package/lib/DeleteObjectHttp.d.ts.map +1 -0
- package/lib/DeleteObjectHttp.js +17 -0
- package/lib/DeleteObjectHttp.js.map +1 -0
- package/lib/Deployment.d.ts +51 -0
- package/lib/Deployment.d.ts.map +1 -0
- package/lib/Deployment.js +62 -0
- package/lib/Deployment.js.map +1 -0
- package/lib/DeploymentImages.d.ts +18 -0
- package/lib/DeploymentImages.d.ts.map +1 -0
- package/lib/DeploymentImages.js +61 -0
- package/lib/DeploymentImages.js.map +1 -0
- package/lib/DeploymentState.d.ts +17 -0
- package/lib/DeploymentState.d.ts.map +1 -0
- package/lib/DeploymentState.js +87 -0
- package/lib/DeploymentState.js.map +1 -0
- package/lib/Encrypt.d.ts +50 -0
- package/lib/Encrypt.d.ts.map +1 -0
- package/lib/Encrypt.js +3 -0
- package/lib/Encrypt.js.map +1 -0
- package/lib/EncryptHttp.d.ts +22 -0
- package/lib/EncryptHttp.d.ts.map +1 -0
- package/lib/EncryptHttp.js +39 -0
- package/lib/EncryptHttp.js.map +1 -0
- package/lib/Environment.d.ts +45 -0
- package/lib/Environment.d.ts.map +1 -0
- package/lib/Environment.js +43 -0
- package/lib/Environment.js.map +1 -0
- package/lib/Errors.d.ts +18 -0
- package/lib/Errors.d.ts.map +1 -0
- package/lib/Errors.js +13 -0
- package/lib/Errors.js.map +1 -0
- package/lib/Exec.d.ts +41 -0
- package/lib/Exec.d.ts.map +1 -0
- package/lib/Exec.js +3 -0
- package/lib/Exec.js.map +1 -0
- package/lib/ExecHttp.d.ts +22 -0
- package/lib/ExecHttp.d.ts.map +1 -0
- package/lib/ExecHttp.js +39 -0
- package/lib/ExecHttp.js.map +1 -0
- package/lib/GetObject.d.ts +34 -0
- package/lib/GetObject.d.ts.map +1 -0
- package/lib/GetObject.js +3 -0
- package/lib/GetObject.js.map +1 -0
- package/lib/GetObjectHttp.d.ts +12 -0
- package/lib/GetObjectHttp.d.ts.map +1 -0
- package/lib/GetObjectHttp.js +17 -0
- package/lib/GetObjectHttp.js.map +1 -0
- package/lib/GetSecret.d.ts +44 -0
- package/lib/GetSecret.d.ts.map +1 -0
- package/lib/GetSecret.js +3 -0
- package/lib/GetSecret.js.map +1 -0
- package/lib/GetSecretHttp.d.ts +22 -0
- package/lib/GetSecretHttp.d.ts.map +1 -0
- package/lib/GetSecretHttp.js +50 -0
- package/lib/GetSecretHttp.js.map +1 -0
- package/lib/HeadObject.d.ts +29 -0
- package/lib/HeadObject.d.ts.map +1 -0
- package/lib/HeadObject.js +3 -0
- package/lib/HeadObject.js.map +1 -0
- package/lib/HeadObjectHttp.d.ts +12 -0
- package/lib/HeadObjectHttp.d.ts.map +1 -0
- package/lib/HeadObjectHttp.js +17 -0
- package/lib/HeadObjectHttp.js.map +1 -0
- package/lib/IpAssignment.d.ts +258 -0
- package/lib/IpAssignment.d.ts.map +1 -0
- package/lib/IpAssignment.js +376 -0
- package/lib/IpAssignment.js.map +1 -0
- package/lib/ListObjectsV2.d.ts +29 -0
- package/lib/ListObjectsV2.d.ts.map +1 -0
- package/lib/ListObjectsV2.js +3 -0
- package/lib/ListObjectsV2.js.map +1 -0
- package/lib/ListObjectsV2Http.d.ts +12 -0
- package/lib/ListObjectsV2Http.d.ts.map +1 -0
- package/lib/ListObjectsV2Http.js +17 -0
- package/lib/ListObjectsV2Http.js.map +1 -0
- package/lib/ListSecrets.d.ts +53 -0
- package/lib/ListSecrets.d.ts.map +1 -0
- package/lib/ListSecrets.js +3 -0
- package/lib/ListSecrets.js.map +1 -0
- package/lib/ListSecretsHttp.d.ts +22 -0
- package/lib/ListSecretsHttp.d.ts.map +1 -0
- package/lib/ListSecretsHttp.js +35 -0
- package/lib/ListSecretsHttp.js.map +1 -0
- package/lib/Machine.d.ts +802 -0
- package/lib/Machine.d.ts.map +1 -0
- package/lib/Machine.js +773 -0
- package/lib/Machine.js.map +1 -0
- package/lib/MachineContainers.d.ts +44 -0
- package/lib/MachineContainers.d.ts.map +1 -0
- package/lib/MachineContainers.js +115 -0
- package/lib/MachineContainers.js.map +1 -0
- package/lib/Metadata.d.ts +109 -0
- package/lib/Metadata.d.ts.map +1 -0
- package/lib/Metadata.js +159 -0
- package/lib/Metadata.js.map +1 -0
- package/lib/MountVolume.d.ts +295 -0
- package/lib/MountVolume.d.ts.map +1 -0
- package/lib/MountVolume.js +20 -0
- package/lib/MountVolume.js.map +1 -0
- package/lib/Postgres.d.ts +298 -0
- package/lib/Postgres.d.ts.map +1 -0
- package/lib/Postgres.js +508 -0
- package/lib/Postgres.js.map +1 -0
- package/lib/PostgresMigrations.d.ts +20 -0
- package/lib/PostgresMigrations.d.ts.map +1 -0
- package/lib/PostgresMigrations.js +58 -0
- package/lib/PostgresMigrations.js.map +1 -0
- package/lib/Providers.d.ts +38 -0
- package/lib/Providers.d.ts.map +1 -0
- package/lib/Providers.js +95 -0
- package/lib/Providers.js.map +1 -0
- package/lib/PutObject.d.ts +35 -0
- package/lib/PutObject.d.ts.map +1 -0
- package/lib/PutObject.js +3 -0
- package/lib/PutObject.js.map +1 -0
- package/lib/PutObjectHttp.d.ts +12 -0
- package/lib/PutObjectHttp.d.ts.map +1 -0
- package/lib/PutObjectHttp.js +17 -0
- package/lib/PutObjectHttp.js.map +1 -0
- package/lib/ReadRedis.d.ts +26 -0
- package/lib/ReadRedis.d.ts.map +1 -0
- package/lib/ReadRedis.js +3 -0
- package/lib/ReadRedis.js.map +1 -0
- package/lib/ReadRedisHttp.d.ts +11 -0
- package/lib/ReadRedisHttp.d.ts.map +1 -0
- package/lib/ReadRedisHttp.js +15 -0
- package/lib/ReadRedisHttp.js.map +1 -0
- package/lib/ReadWriteRedis.d.ts +29 -0
- package/lib/ReadWriteRedis.d.ts.map +1 -0
- package/lib/ReadWriteRedis.js +3 -0
- package/lib/ReadWriteRedis.js.map +1 -0
- package/lib/ReadWriteRedisHttp.d.ts +11 -0
- package/lib/ReadWriteRedisHttp.d.ts.map +1 -0
- package/lib/ReadWriteRedisHttp.js +15 -0
- package/lib/ReadWriteRedisHttp.js.map +1 -0
- package/lib/Redis.d.ts +252 -0
- package/lib/Redis.d.ts.map +1 -0
- package/lib/Redis.js +611 -0
- package/lib/Redis.js.map +1 -0
- package/lib/RedisBinding.d.ts +7 -0
- package/lib/RedisBinding.d.ts.map +1 -0
- package/lib/RedisBinding.js +53 -0
- package/lib/RedisBinding.js.map +1 -0
- package/lib/RedisHttp.d.ts +8 -0
- package/lib/RedisHttp.d.ts.map +1 -0
- package/lib/RedisHttp.js +11 -0
- package/lib/RedisHttp.js.map +1 -0
- package/lib/Region.d.ts +16 -0
- package/lib/Region.d.ts.map +1 -0
- package/lib/Region.js +13 -0
- package/lib/Region.js.map +1 -0
- package/lib/Secret.d.ts +190 -0
- package/lib/Secret.d.ts.map +1 -0
- package/lib/Secret.js +310 -0
- package/lib/Secret.js.map +1 -0
- package/lib/SecretHttp.d.ts +54 -0
- package/lib/SecretHttp.d.ts.map +1 -0
- package/lib/SecretHttp.js +66 -0
- package/lib/SecretHttp.js.map +1 -0
- package/lib/SecretKey.d.ts +164 -0
- package/lib/SecretKey.d.ts.map +1 -0
- package/lib/SecretKey.js +277 -0
- package/lib/SecretKey.js.map +1 -0
- package/lib/SecretKeyHttp.d.ts +14 -0
- package/lib/SecretKeyHttp.d.ts.map +1 -0
- package/lib/SecretKeyHttp.js +5 -0
- package/lib/SecretKeyHttp.js.map +1 -0
- package/lib/Service.d.ts +1017 -0
- package/lib/Service.d.ts.map +1 -0
- package/lib/Service.js +1430 -0
- package/lib/Service.js.map +1 -0
- package/lib/Sign.d.ts +36 -0
- package/lib/Sign.d.ts.map +1 -0
- package/lib/Sign.js +3 -0
- package/lib/Sign.js.map +1 -0
- package/lib/SignHttp.d.ts +22 -0
- package/lib/SignHttp.d.ts.map +1 -0
- package/lib/SignHttp.js +36 -0
- package/lib/SignHttp.js.map +1 -0
- package/lib/Sprite.d.ts +283 -0
- package/lib/Sprite.d.ts.map +1 -0
- package/lib/Sprite.js +471 -0
- package/lib/Sprite.js.map +1 -0
- package/lib/SpriteHttp.d.ts +25 -0
- package/lib/SpriteHttp.d.ts.map +1 -0
- package/lib/SpriteHttp.js +33 -0
- package/lib/SpriteHttp.js.map +1 -0
- package/lib/Verify.d.ts +37 -0
- package/lib/Verify.d.ts.map +1 -0
- package/lib/Verify.js +3 -0
- package/lib/Verify.js.map +1 -0
- package/lib/VerifyHttp.d.ts +22 -0
- package/lib/VerifyHttp.d.ts.map +1 -0
- package/lib/VerifyHttp.js +38 -0
- package/lib/VerifyHttp.js.map +1 -0
- package/lib/Volume.d.ts +53 -0
- package/lib/Volume.d.ts.map +1 -0
- package/lib/Volume.js +188 -0
- package/lib/Volume.js.map +1 -0
- package/lib/VolumeSnapshot.d.ts +135 -0
- package/lib/VolumeSnapshot.d.ts.map +1 -0
- package/lib/VolumeSnapshot.js +213 -0
- package/lib/VolumeSnapshot.js.map +1 -0
- package/lib/Website/AssetDeployment.d.ts +43 -0
- package/lib/Website/AssetDeployment.d.ts.map +1 -0
- package/lib/Website/AssetDeployment.js +162 -0
- package/lib/Website/AssetDeployment.js.map +1 -0
- package/lib/Website/Astro.d.ts +89 -0
- package/lib/Website/Astro.d.ts.map +1 -0
- package/lib/Website/Astro.js +54 -0
- package/lib/Website/Astro.js.map +1 -0
- package/lib/Website/Foldkit.d.ts +52 -0
- package/lib/Website/Foldkit.d.ts.map +1 -0
- package/lib/Website/Foldkit.js +45 -0
- package/lib/Website/Foldkit.js.map +1 -0
- package/lib/Website/FrameworkSite.d.ts +212 -0
- package/lib/Website/FrameworkSite.d.ts.map +1 -0
- package/lib/Website/FrameworkSite.js +205 -0
- package/lib/Website/FrameworkSite.js.map +1 -0
- package/lib/Website/Nextjs.d.ts +54 -0
- package/lib/Website/Nextjs.d.ts.map +1 -0
- package/lib/Website/Nextjs.js +46 -0
- package/lib/Website/Nextjs.js.map +1 -0
- package/lib/Website/Nuxt.d.ts +51 -0
- package/lib/Website/Nuxt.d.ts.map +1 -0
- package/lib/Website/Nuxt.js +36 -0
- package/lib/Website/Nuxt.js.map +1 -0
- package/lib/Website/Octane.d.ts +49 -0
- package/lib/Website/Octane.d.ts.map +1 -0
- package/lib/Website/Octane.js +39 -0
- package/lib/Website/Octane.js.map +1 -0
- package/lib/Website/ReactRouter.d.ts +80 -0
- package/lib/Website/ReactRouter.d.ts.map +1 -0
- package/lib/Website/ReactRouter.js +70 -0
- package/lib/Website/ReactRouter.js.map +1 -0
- package/lib/Website/SolidStart.d.ts +93 -0
- package/lib/Website/SolidStart.d.ts.map +1 -0
- package/lib/Website/SolidStart.js +71 -0
- package/lib/Website/SolidStart.js.map +1 -0
- package/lib/Website/StaticSite.d.ts +162 -0
- package/lib/Website/StaticSite.d.ts.map +1 -0
- package/lib/Website/StaticSite.js +180 -0
- package/lib/Website/StaticSite.js.map +1 -0
- package/lib/Website/SvelteKit.d.ts +52 -0
- package/lib/Website/SvelteKit.d.ts.map +1 -0
- package/lib/Website/SvelteKit.js +37 -0
- package/lib/Website/SvelteKit.js.map +1 -0
- package/lib/Website/TanStackStart.d.ts +76 -0
- package/lib/Website/TanStackStart.d.ts.map +1 -0
- package/lib/Website/TanStackStart.js +66 -0
- package/lib/Website/TanStackStart.js.map +1 -0
- package/lib/Website/Vinext.d.ts +73 -0
- package/lib/Website/Vinext.d.ts.map +1 -0
- package/lib/Website/Vinext.js +67 -0
- package/lib/Website/Vinext.js.map +1 -0
- package/lib/Website/Vite.d.ts +112 -0
- package/lib/Website/Vite.d.ts.map +1 -0
- package/lib/Website/Vite.js +100 -0
- package/lib/Website/Vite.js.map +1 -0
- package/lib/Website/Vocs.d.ts +52 -0
- package/lib/Website/Vocs.d.ts.map +1 -0
- package/lib/Website/Vocs.js +38 -0
- package/lib/Website/Vocs.js.map +1 -0
- package/lib/Website/Waku.d.ts +64 -0
- package/lib/Website/Waku.d.ts.map +1 -0
- package/lib/Website/Waku.js +39 -0
- package/lib/Website/Waku.js.map +1 -0
- package/lib/Website/index.d.ts +17 -0
- package/lib/Website/index.d.ts.map +1 -0
- package/lib/Website/index.js +17 -0
- package/lib/Website/index.js.map +1 -0
- package/lib/WriteCertificates.d.ts +63 -0
- package/lib/WriteCertificates.d.ts.map +1 -0
- package/lib/WriteCertificates.js +3 -0
- package/lib/WriteCertificates.js.map +1 -0
- package/lib/WriteCertificatesHttp.d.ts +25 -0
- package/lib/WriteCertificatesHttp.d.ts.map +1 -0
- package/lib/WriteCertificatesHttp.js +67 -0
- package/lib/WriteCertificatesHttp.js.map +1 -0
- package/lib/WriteRedis.d.ts +26 -0
- package/lib/WriteRedis.d.ts.map +1 -0
- package/lib/WriteRedis.js +3 -0
- package/lib/WriteRedis.js.map +1 -0
- package/lib/WriteRedisHttp.d.ts +11 -0
- package/lib/WriteRedisHttp.d.ts.map +1 -0
- package/lib/WriteRedisHttp.js +15 -0
- package/lib/WriteRedisHttp.js.map +1 -0
- package/lib/WriteSecret.d.ts +68 -0
- package/lib/WriteSecret.d.ts.map +1 -0
- package/lib/WriteSecret.js +4 -0
- package/lib/WriteSecret.js.map +1 -0
- package/lib/WriteSecretHttp.d.ts +26 -0
- package/lib/WriteSecretHttp.d.ts.map +1 -0
- package/lib/WriteSecretHttp.js +54 -0
- package/lib/WriteSecretHttp.js.map +1 -0
- package/lib/bluegreen.d.ts +36 -0
- package/lib/bluegreen.d.ts.map +1 -0
- package/lib/bluegreen.js +460 -0
- package/lib/bluegreen.js.map +1 -0
- package/lib/hosted.d.ts +171 -0
- package/lib/hosted.d.ts.map +1 -0
- package/lib/hosted.js +458 -0
- package/lib/hosted.js.map +1 -0
- package/lib/index.d.ts +65 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +63 -0
- package/lib/index.js.map +1 -0
- package/lib/internal/RemoteBuilder.d.ts +28 -0
- package/lib/internal/RemoteBuilder.d.ts.map +1 -0
- package/lib/internal/RemoteBuilder.js +158 -0
- package/lib/internal/RemoteBuilder.js.map +1 -0
- package/lib/leases.d.ts +53 -0
- package/lib/leases.d.ts.map +1 -0
- package/lib/leases.js +279 -0
- package/lib/leases.js.map +1 -0
- package/lib/ports.d.ts +51 -0
- package/lib/ports.d.ts.map +1 -0
- package/lib/ports.js +123 -0
- package/lib/ports.js.map +1 -0
- package/lib/replicas.d.ts +270 -0
- package/lib/replicas.d.ts.map +1 -0
- package/lib/replicas.js +969 -0
- package/lib/replicas.js.map +1 -0
- package/lib/rpc.d.ts +35 -0
- package/lib/rpc.d.ts.map +1 -0
- package/lib/rpc.js +113 -0
- package/lib/rpc.js.map +1 -0
- package/package.json +83 -3
- package/src/App.ts +514 -0
- package/src/AuthProvider.ts +68 -0
- package/src/BindService.ts +303 -0
- package/src/Bootstrap.ts +66 -0
- package/src/Bucket.ts +918 -0
- package/src/BucketBinding.ts +128 -0
- package/src/Catalog.ts +43 -0
- package/src/Certificate.ts +548 -0
- package/src/Checkpoint.ts +69 -0
- package/src/CheckpointHttp.ts +66 -0
- package/src/ConnectPostgres.ts +68 -0
- package/src/ConnectPostgresHttp.ts +77 -0
- package/src/Contributions.ts +9 -0
- package/src/Credentials.ts +75 -0
- package/src/Decrypt.ts +62 -0
- package/src/DecryptHttp.ts +52 -0
- package/src/DeleteObject.ts +43 -0
- package/src/DeleteObjectHttp.ts +20 -0
- package/src/Deployment.ts +121 -0
- package/src/DeploymentImages.ts +84 -0
- package/src/DeploymentState.ts +104 -0
- package/src/Encrypt.ts +60 -0
- package/src/EncryptHttp.ts +48 -0
- package/src/Environment.ts +81 -0
- package/src/Errors.ts +14 -0
- package/src/Exec.ts +50 -0
- package/src/ExecHttp.ts +47 -0
- package/src/GetObject.ts +48 -0
- package/src/GetObjectHttp.ts +20 -0
- package/src/GetSecret.ts +48 -0
- package/src/GetSecretHttp.ts +60 -0
- package/src/HeadObject.ts +43 -0
- package/src/HeadObjectHttp.ts +20 -0
- package/src/IpAssignment.ts +522 -0
- package/src/ListObjectsV2.ts +43 -0
- package/src/ListObjectsV2Http.ts +20 -0
- package/src/ListSecrets.ts +57 -0
- package/src/ListSecretsHttp.ts +43 -0
- package/src/Machine.ts +1270 -0
- package/src/MachineContainers.ts +152 -0
- package/src/Metadata.ts +195 -0
- package/src/MountVolume.ts +315 -0
- package/src/Postgres.ts +777 -0
- package/src/PostgresMigrations.ts +93 -0
- package/src/Providers.ts +155 -0
- package/src/PutObject.ts +49 -0
- package/src/PutObjectHttp.ts +20 -0
- package/src/ReadRedis.ts +31 -0
- package/src/ReadRedisHttp.ts +18 -0
- package/src/ReadWriteRedis.ts +33 -0
- package/src/ReadWriteRedisHttp.ts +18 -0
- package/src/Redis.ts +823 -0
- package/src/RedisBinding.ts +64 -0
- package/src/RedisHttp.ts +14 -0
- package/src/Region.ts +44 -0
- package/src/Secret.ts +405 -0
- package/src/SecretHttp.ts +149 -0
- package/src/SecretKey.ts +389 -0
- package/src/SecretKeyHttp.ts +23 -0
- package/src/Service.ts +1968 -0
- package/src/Sign.ts +46 -0
- package/src/SignHttp.ts +44 -0
- package/src/Sprite.ts +673 -0
- package/src/SpriteHttp.ts +50 -0
- package/src/Verify.ts +47 -0
- package/src/VerifyHttp.ts +46 -0
- package/src/Volume.ts +264 -0
- package/src/VolumeSnapshot.ts +321 -0
- package/src/Website/AssetDeployment.ts +292 -0
- package/src/Website/Astro.ts +92 -0
- package/src/Website/Foldkit.ts +54 -0
- package/src/Website/FrameworkSite.ts +449 -0
- package/src/Website/Nextjs.ts +50 -0
- package/src/Website/Nuxt.ts +48 -0
- package/src/Website/Octane.ts +44 -0
- package/src/Website/ReactRouter.ts +76 -0
- package/src/Website/SolidStart.ts +90 -0
- package/src/Website/StaticSite.ts +295 -0
- package/src/Website/SvelteKit.ts +49 -0
- package/src/Website/TanStackStart.ts +72 -0
- package/src/Website/Vinext.ts +79 -0
- package/src/Website/Vite.ts +121 -0
- package/src/Website/Vocs.ts +50 -0
- package/src/Website/Waku.ts +65 -0
- package/src/Website/index.ts +16 -0
- package/src/WriteCertificates.ts +90 -0
- package/src/WriteCertificatesHttp.ts +93 -0
- package/src/WriteRedis.ts +31 -0
- package/src/WriteRedisHttp.ts +18 -0
- package/src/WriteSecret.ts +86 -0
- package/src/WriteSecretHttp.ts +71 -0
- package/src/bluegreen.ts +711 -0
- package/src/globals.d.ts +2 -0
- package/src/hosted.ts +667 -0
- package/src/index.ts +64 -0
- package/src/internal/RemoteBuilder.ts +242 -0
- package/src/leases.ts +437 -0
- package/src/ports.ts +177 -0
- package/src/replicas.ts +1480 -0
- package/src/rpc.ts +136 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { AlchemyContext } from "alchemy/AlchemyContext";
|
|
2
|
+
import * as Command from "alchemy/Command";
|
|
3
|
+
import * as Namespace from "alchemy/Namespace";
|
|
4
|
+
import * as Output from "alchemy/Output";
|
|
5
|
+
import { ProviderModePolicy } from "alchemy/ProviderMode";
|
|
6
|
+
import { initialCwd } from "alchemy/Util/Node";
|
|
7
|
+
import { loadFrontendCore } from "alchemy/Website/FrontendCore";
|
|
8
|
+
import * as Effect from "effect/Effect";
|
|
9
|
+
import * as Path from "effect/Path";
|
|
10
|
+
import { App } from "../App.js";
|
|
11
|
+
import { Certificate } from "../Certificate.js";
|
|
12
|
+
import { IpAssignment } from "../IpAssignment.js";
|
|
13
|
+
import { Service } from "../Service.js";
|
|
14
|
+
import { publishWebsiteDomainDns, staticConfigFromAssets, websiteDomainName, } from "./FrameworkSite.js";
|
|
15
|
+
const DEFAULT_PORT = 3000;
|
|
16
|
+
const resolveRef = (ref) => (Effect.isEffect(ref) ? ref : Effect.succeed(ref));
|
|
17
|
+
/**
|
|
18
|
+
* Deploy a static site built by a shell command to Fly.
|
|
19
|
+
*
|
|
20
|
+
* `StaticSite` runs a build command (e.g. `npm run build` / `hugo`),
|
|
21
|
+
* content-hashes the output directory, and deploys a Service that serves
|
|
22
|
+
* those files (plus `/health`). Use this when the site has its own build
|
|
23
|
+
* step — Hugo, Zola, Eleventy, or any custom pipeline.
|
|
24
|
+
*
|
|
25
|
+
* For Vite-based projects, prefer `Fly.Website.Vite`.
|
|
26
|
+
*
|
|
27
|
+
* `Build` / `Dev` use constant logical ids under `Namespace.push(id)`.
|
|
28
|
+
* The Service stays in the caller namespace (same as
|
|
29
|
+
* `Cloudflare.Website.StaticSite`).
|
|
30
|
+
*
|
|
31
|
+
*
|
|
32
|
+
* ### Basic Usage
|
|
33
|
+
* **Example:** Deploying a Hugo site
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const site = yield* Fly.Website.StaticSite("Blog", {
|
|
36
|
+
* build: { command: "hugo --minify", output: "public" },
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* **Example:** SPA-style routing
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const site = yield* Fly.Website.StaticSite("App", {
|
|
43
|
+
* build: { command: "npm run build", output: "dist" },
|
|
44
|
+
* assets: { notFoundHandling: "single-page-application" },
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* ### Building from a Subdirectory
|
|
49
|
+
* **Example:** Building a frontend in a monorepo
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const site = yield* Fly.Website.StaticSite("Web", {
|
|
52
|
+
* path: "apps/web",
|
|
53
|
+
* build: { command: "npm run build", output: "dist" },
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* ### Local Development
|
|
58
|
+
* **Example:** External dev command
|
|
59
|
+
* ```typescript
|
|
60
|
+
* const site = yield* Fly.Website.StaticSite("App", {
|
|
61
|
+
* build: { command: "npm run build", output: "dist" },
|
|
62
|
+
* dev: { command: "npm run dev" },
|
|
63
|
+
* });
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
66
|
+
* @resource
|
|
67
|
+
* @product Website
|
|
68
|
+
*/
|
|
69
|
+
export const StaticSite = (id, props) => Effect.gen(function* () {
|
|
70
|
+
const ctx = yield* AlchemyContext;
|
|
71
|
+
const remoted = yield* ProviderModePolicy;
|
|
72
|
+
const isLocal = ctx.dev && remoted !== true;
|
|
73
|
+
const path = yield* Path.Path;
|
|
74
|
+
const empty = () => ({
|
|
75
|
+
url: undefined,
|
|
76
|
+
app: undefined,
|
|
77
|
+
service: undefined,
|
|
78
|
+
ip: undefined,
|
|
79
|
+
certificate: undefined,
|
|
80
|
+
});
|
|
81
|
+
if (isLocal && props.dev) {
|
|
82
|
+
const dev = yield* Command.Dev("Dev", {
|
|
83
|
+
command: props.dev.command,
|
|
84
|
+
cwd: props.dev.cwd ?? props.path,
|
|
85
|
+
env: props.dev.env ?? props.env,
|
|
86
|
+
}).pipe(Namespace.push(id));
|
|
87
|
+
const url = Output.map(dev.url, (value) => value ?? props.dev?.url);
|
|
88
|
+
return { ...empty(), url };
|
|
89
|
+
}
|
|
90
|
+
const build = yield* Command.Build("Build", {
|
|
91
|
+
command: props.build.command,
|
|
92
|
+
cwd: props.path,
|
|
93
|
+
memo: props.memo,
|
|
94
|
+
outdir: props.build.output,
|
|
95
|
+
env: props.build.env ?? props.env,
|
|
96
|
+
}).pipe(Namespace.push(id));
|
|
97
|
+
const cwd = path.resolve(initialCwd, props.path ?? ".");
|
|
98
|
+
const outdir = path.resolve(cwd, props.build.output);
|
|
99
|
+
const internal = staticConfigFromAssets(props.assets);
|
|
100
|
+
const notFoundHandling = internal.errorPage !== undefined
|
|
101
|
+
? "404-page"
|
|
102
|
+
: internal.spa === true
|
|
103
|
+
? "spa"
|
|
104
|
+
: "none";
|
|
105
|
+
const { NODE_SERVE_ENTRY_FILE_NAME, relativeClientDirExpression, writeNodeServeEntry } = yield* loadFrontendCore;
|
|
106
|
+
const servePath = path.join(path.dirname(outdir), NODE_SERVE_ENTRY_FILE_NAME);
|
|
107
|
+
const serveOutput = {
|
|
108
|
+
clientDirectory: outdir,
|
|
109
|
+
serverModules: [],
|
|
110
|
+
externalWorkspaces: new Set(),
|
|
111
|
+
};
|
|
112
|
+
yield* writeNodeServeEntry({
|
|
113
|
+
output: serveOutput,
|
|
114
|
+
servePath,
|
|
115
|
+
serveModuleName: NODE_SERVE_ENTRY_FILE_NAME,
|
|
116
|
+
clientDirExpression: relativeClientDirExpression(servePath, outdir),
|
|
117
|
+
notFoundHandling,
|
|
118
|
+
printUrl: isLocal,
|
|
119
|
+
platform: "node",
|
|
120
|
+
});
|
|
121
|
+
if (isLocal) {
|
|
122
|
+
const runtime = yield* Effect.sync(() => process.execPath);
|
|
123
|
+
const dev = yield* Command.Dev("Dev", {
|
|
124
|
+
command: `${runtime} ${servePath}`,
|
|
125
|
+
cwd: path.dirname(servePath),
|
|
126
|
+
env: {
|
|
127
|
+
...props.env,
|
|
128
|
+
PORT: "0",
|
|
129
|
+
HOST: "127.0.0.1",
|
|
130
|
+
ALCHEMY_BUILD_HASH: build.hash.output,
|
|
131
|
+
},
|
|
132
|
+
}).pipe(Namespace.push(id));
|
|
133
|
+
return { ...empty(), url: Output.map(dev.url, (value) => value) };
|
|
134
|
+
}
|
|
135
|
+
const main = servePath;
|
|
136
|
+
const app = props.app !== undefined
|
|
137
|
+
? yield* resolveRef(props.app)
|
|
138
|
+
: yield* App("App").pipe(Namespace.push(id));
|
|
139
|
+
const ip = yield* IpAssignment("Shared", { app, type: "shared_v4" }).pipe(Namespace.push(id));
|
|
140
|
+
// Serve the built tree from the Machine. Fly Tigris `statics` on
|
|
141
|
+
// `urlPrefix: "/"` do not rewrite HTML routes and hang GET `/`.
|
|
142
|
+
// Hashed `/assets` still go to Tigris on FrameworkSite.
|
|
143
|
+
const service = yield* Service(id, {
|
|
144
|
+
app,
|
|
145
|
+
deploy: props.deploy,
|
|
146
|
+
shutdown: props.shutdown,
|
|
147
|
+
checks: props.checks,
|
|
148
|
+
services: props.services,
|
|
149
|
+
main,
|
|
150
|
+
port: DEFAULT_PORT,
|
|
151
|
+
// Generated static-file server is a complete bun/node program.
|
|
152
|
+
isExternal: true,
|
|
153
|
+
env: props.env,
|
|
154
|
+
extraFiles: [
|
|
155
|
+
{
|
|
156
|
+
// Keep the build dependency so planning cannot hash the previous artifact.
|
|
157
|
+
source: Output.map(build.outdir, (dir) => path.resolve(initialCwd, dir)),
|
|
158
|
+
dest: path.basename(outdir),
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
});
|
|
162
|
+
const domainName = websiteDomainName(props.domain);
|
|
163
|
+
const certificate = domainName !== undefined
|
|
164
|
+
? yield* Certificate("Certificate", {
|
|
165
|
+
app,
|
|
166
|
+
hostname: domainName,
|
|
167
|
+
kind: "acme",
|
|
168
|
+
}).pipe(Namespace.push(id))
|
|
169
|
+
: undefined;
|
|
170
|
+
if (props.domain !== undefined && certificate !== undefined) {
|
|
171
|
+
yield* publishWebsiteDomainDns({
|
|
172
|
+
domain: props.domain,
|
|
173
|
+
certificate,
|
|
174
|
+
ip,
|
|
175
|
+
}).pipe(Namespace.push(id));
|
|
176
|
+
}
|
|
177
|
+
const url = domainName !== undefined ? `https://${domainName}` : app.url;
|
|
178
|
+
return { url, app, service, ip, certificate };
|
|
179
|
+
}).pipe(Effect.orDie);
|
|
180
|
+
//# sourceMappingURL=StaticSite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticSite.js","sourceRoot":"","sources":["../../src/Website/StaticSite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type FrameworkSiteProps } from "./FrameworkSite.ts";
|
|
2
|
+
/** The framework-integration package that drives the SvelteKit build. */
|
|
3
|
+
export declare const SVELTEKIT_FRAMEWORK_SPECIFIER = "@alchemy.run/frontend-frameworks/sveltekit";
|
|
4
|
+
/** The Node container deploy target for the SvelteKit build. */
|
|
5
|
+
export declare const SVELTEKIT_NODE_TARGET_SPECIFIER = "@alchemy.run/frontend-frameworks/sveltekit/node";
|
|
6
|
+
export interface SvelteKitProps extends FrameworkSiteProps {
|
|
7
|
+
/**
|
|
8
|
+
* SvelteKit configuration passed to the `sveltekit(config)` Vite plugin.
|
|
9
|
+
* The `adapter` field is injected by the Node deploy target and may not
|
|
10
|
+
* be set here. Must be JSON-serializable.
|
|
11
|
+
*/
|
|
12
|
+
kit?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Deploy a SvelteKit application to Fly: kit's SSR server on a Machine,
|
|
16
|
+
* static assets baked into the image, served assets-first then the
|
|
17
|
+
* framework handler.
|
|
18
|
+
*
|
|
19
|
+
*
|
|
20
|
+
* ### Creating SvelteKit Sites
|
|
21
|
+
* **Example:** Basic SvelteKit App
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const site = yield* Fly.Website.SvelteKit("Web", {
|
|
24
|
+
* rootDir: "./app",
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* **Example:** Custom Domain
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const site = yield* Fly.Website.SvelteKit("Web", {
|
|
31
|
+
* rootDir: "./app",
|
|
32
|
+
* domain: "app.example.com",
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @resource
|
|
37
|
+
* @product Website
|
|
38
|
+
*/
|
|
39
|
+
export declare const SvelteKit: (id: string, props?: SvelteKitProps) => import("effect/Effect").Effect<{
|
|
40
|
+
url: import("alchemy/Output").Output<string | undefined, never>;
|
|
41
|
+
app: undefined;
|
|
42
|
+
service: undefined;
|
|
43
|
+
ip: undefined;
|
|
44
|
+
certificate: undefined;
|
|
45
|
+
} | {
|
|
46
|
+
url: string | import("alchemy/Output").Output<string, never>;
|
|
47
|
+
app: import("../App.ts").App;
|
|
48
|
+
service: import("../Service.ts").Service;
|
|
49
|
+
ip: import("../IpAssignment.ts").IpAssignment;
|
|
50
|
+
certificate: import("../Certificate.ts").Certificate | undefined;
|
|
51
|
+
}, never, import("alchemy/AlchemyContext").AlchemyContext | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("alchemy/Provider").Provider<import("alchemy/Website/Server").Server> | import("../Providers.ts").Providers>;
|
|
52
|
+
//# sourceMappingURL=SvelteKit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SvelteKit.d.ts","sourceRoot":"","sources":["../../src/Website/SvelteKit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,yEAAyE;AACzE,eAAO,MAAM,6BAA6B,+CAA+C,CAAC;AAE1F,gEAAgE;AAChE,eAAO,MAAM,+BAA+B,oDAAoD,CAAC;AAEjG,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,SAAS,OAAQ,MAAM,UAAS,cAAc;;;;;;;;;;;;qPAMvD,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { frameworkSite } from "./FrameworkSite.js";
|
|
2
|
+
/** The framework-integration package that drives the SvelteKit build. */
|
|
3
|
+
export const SVELTEKIT_FRAMEWORK_SPECIFIER = "@alchemy.run/frontend-frameworks/sveltekit";
|
|
4
|
+
/** The Node container deploy target for the SvelteKit build. */
|
|
5
|
+
export const SVELTEKIT_NODE_TARGET_SPECIFIER = "@alchemy.run/frontend-frameworks/sveltekit/node";
|
|
6
|
+
/**
|
|
7
|
+
* Deploy a SvelteKit application to Fly: kit's SSR server on a Machine,
|
|
8
|
+
* static assets baked into the image, served assets-first then the
|
|
9
|
+
* framework handler.
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
* ### Creating SvelteKit Sites
|
|
13
|
+
* **Example:** Basic SvelteKit App
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const site = yield* Fly.Website.SvelteKit("Web", {
|
|
16
|
+
* rootDir: "./app",
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* **Example:** Custom Domain
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const site = yield* Fly.Website.SvelteKit("Web", {
|
|
23
|
+
* rootDir: "./app",
|
|
24
|
+
* domain: "app.example.com",
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @resource
|
|
29
|
+
* @product Website
|
|
30
|
+
*/
|
|
31
|
+
export const SvelteKit = (id, props = {}) => frameworkSite(id, props, {
|
|
32
|
+
name: "SvelteKit",
|
|
33
|
+
framework: SVELTEKIT_FRAMEWORK_SPECIFIER,
|
|
34
|
+
target: SVELTEKIT_NODE_TARGET_SPECIFIER,
|
|
35
|
+
options: props.kit ? { kit: props.kit } : undefined,
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=SvelteKit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SvelteKit.js","sourceRoot":"","sources":["../../src/Website/SvelteKit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAC;AAE5E,yEAAyE;AACzE,MAAM,CAAC,MAAM,6BAA6B,GAAG,4CAA4C,CAAC;AAE1F,gEAAgE;AAChE,MAAM,CAAC,MAAM,+BAA+B,GAAG,iDAAiD,CAAC;AAWjG;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,KAAK,GAAmB,EAAE,EAAE,EAAE,CAClE,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE;IACvB,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,6BAA6B;IACxC,MAAM,EAAE,+BAA+B;IACvC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;CACpD,CAAC,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type FrameworkSiteProps } from "./FrameworkSite.ts";
|
|
2
|
+
/** The framework-integration package that drives the TanStack Start build. */
|
|
3
|
+
export declare const TANSTACK_START_FRAMEWORK_SPECIFIER = "@alchemy.run/frontend-frameworks/tanstack-start";
|
|
4
|
+
/** The Node container deploy target for the TanStack Start build. */
|
|
5
|
+
export declare const TANSTACK_START_NODE_TARGET_SPECIFIER = "@alchemy.run/frontend-frameworks/tanstack-start/node";
|
|
6
|
+
export interface TanStackStartProps extends FrameworkSiteProps {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Deploy a [TanStack Start](https://tanstack.com/start) application to Fly:
|
|
10
|
+
* the SSR server on a Machine, client assets baked into the image, served
|
|
11
|
+
* assets-first then the framework handler.
|
|
12
|
+
*
|
|
13
|
+
* The build runs through
|
|
14
|
+
* `@alchemy.run/frontend-frameworks/tanstack-start` with the
|
|
15
|
+
* `@alchemy.run/frontend-frameworks/tanstack-start/node` deploy target —
|
|
16
|
+
* both must be installed in your project, alongside
|
|
17
|
+
* `@tanstack/react-start` (or `@tanstack/solid-start`) and `vite`.
|
|
18
|
+
*
|
|
19
|
+
* Your `vite.config.ts` needs no adapter wiring: TanStack Start is pure
|
|
20
|
+
* Vite, so the integration drives the project's own `vite build`, forces
|
|
21
|
+
* the SSR bundle to be self-contained, and wraps its fetch handler as a
|
|
22
|
+
* Node HTTP server on port 3000.
|
|
23
|
+
*
|
|
24
|
+
*
|
|
25
|
+
* ### Creating TanStack Start Sites
|
|
26
|
+
* **Example:** Basic TanStack Start App
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const site = yield* Fly.Website.TanStackStart("Web", {
|
|
29
|
+
* rootDir: "./app",
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* **Example:** Custom Domain
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const site = yield* Fly.Website.TanStackStart("Web", {
|
|
36
|
+
* rootDir: "./app",
|
|
37
|
+
* domain: "app.example.com",
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* ### Server Configuration
|
|
42
|
+
* **Example:** Process Environment
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const site = yield* Fly.Website.TanStackStart("Web", {
|
|
45
|
+
* rootDir: "./app",
|
|
46
|
+
* env: {
|
|
47
|
+
* GREETING: "Hello from TanStack Start on Fly!",
|
|
48
|
+
* },
|
|
49
|
+
* });
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* **Example:** Read An Environment Variable From A Server Function
|
|
53
|
+
* ```typescript
|
|
54
|
+
* // src/routes/index.tsx
|
|
55
|
+
* const getGreeting = createServerFn({ method: "GET" }).handler(
|
|
56
|
+
* () => process.env.GREETING ?? "Hello!",
|
|
57
|
+
* );
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* @resource
|
|
61
|
+
* @product Website
|
|
62
|
+
*/
|
|
63
|
+
export declare const TanStackStart: (id: string, props?: TanStackStartProps) => import("effect/Effect").Effect<{
|
|
64
|
+
url: import("alchemy/Output").Output<string | undefined, never>;
|
|
65
|
+
app: undefined;
|
|
66
|
+
service: undefined;
|
|
67
|
+
ip: undefined;
|
|
68
|
+
certificate: undefined;
|
|
69
|
+
} | {
|
|
70
|
+
url: string | import("alchemy/Output").Output<string, never>;
|
|
71
|
+
app: import("../App.ts").App;
|
|
72
|
+
service: import("../Service.ts").Service;
|
|
73
|
+
ip: import("../IpAssignment.ts").IpAssignment;
|
|
74
|
+
certificate: import("../Certificate.ts").Certificate | undefined;
|
|
75
|
+
}, never, import("alchemy/AlchemyContext").AlchemyContext | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("alchemy/Provider").Provider<import("alchemy/Website/Server").Server> | import("../Providers.ts").Providers>;
|
|
76
|
+
//# sourceMappingURL=TanStackStart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TanStackStart.d.ts","sourceRoot":"","sources":["../../src/Website/TanStackStart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,8EAA8E;AAC9E,eAAO,MAAM,kCAAkC,oDAAoD,CAAC;AAEpG,qEAAqE;AACrE,eAAO,MAAM,oCAAoC,yDACO,CAAC;AAEzD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;CAAG;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,aAAa,OAAQ,MAAM,UAAS,kBAAkB;;;;;;;;;;;;qPAK/D,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { frameworkSite } from "./FrameworkSite.js";
|
|
2
|
+
/** The framework-integration package that drives the TanStack Start build. */
|
|
3
|
+
export const TANSTACK_START_FRAMEWORK_SPECIFIER = "@alchemy.run/frontend-frameworks/tanstack-start";
|
|
4
|
+
/** The Node container deploy target for the TanStack Start build. */
|
|
5
|
+
export const TANSTACK_START_NODE_TARGET_SPECIFIER = "@alchemy.run/frontend-frameworks/tanstack-start/node";
|
|
6
|
+
/**
|
|
7
|
+
* Deploy a [TanStack Start](https://tanstack.com/start) application to Fly:
|
|
8
|
+
* the SSR server on a Machine, client assets baked into the image, served
|
|
9
|
+
* assets-first then the framework handler.
|
|
10
|
+
*
|
|
11
|
+
* The build runs through
|
|
12
|
+
* `@alchemy.run/frontend-frameworks/tanstack-start` with the
|
|
13
|
+
* `@alchemy.run/frontend-frameworks/tanstack-start/node` deploy target —
|
|
14
|
+
* both must be installed in your project, alongside
|
|
15
|
+
* `@tanstack/react-start` (or `@tanstack/solid-start`) and `vite`.
|
|
16
|
+
*
|
|
17
|
+
* Your `vite.config.ts` needs no adapter wiring: TanStack Start is pure
|
|
18
|
+
* Vite, so the integration drives the project's own `vite build`, forces
|
|
19
|
+
* the SSR bundle to be self-contained, and wraps its fetch handler as a
|
|
20
|
+
* Node HTTP server on port 3000.
|
|
21
|
+
*
|
|
22
|
+
*
|
|
23
|
+
* ### Creating TanStack Start Sites
|
|
24
|
+
* **Example:** Basic TanStack Start App
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const site = yield* Fly.Website.TanStackStart("Web", {
|
|
27
|
+
* rootDir: "./app",
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* **Example:** Custom Domain
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const site = yield* Fly.Website.TanStackStart("Web", {
|
|
34
|
+
* rootDir: "./app",
|
|
35
|
+
* domain: "app.example.com",
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* ### Server Configuration
|
|
40
|
+
* **Example:** Process Environment
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const site = yield* Fly.Website.TanStackStart("Web", {
|
|
43
|
+
* rootDir: "./app",
|
|
44
|
+
* env: {
|
|
45
|
+
* GREETING: "Hello from TanStack Start on Fly!",
|
|
46
|
+
* },
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* **Example:** Read An Environment Variable From A Server Function
|
|
51
|
+
* ```typescript
|
|
52
|
+
* // src/routes/index.tsx
|
|
53
|
+
* const getGreeting = createServerFn({ method: "GET" }).handler(
|
|
54
|
+
* () => process.env.GREETING ?? "Hello!",
|
|
55
|
+
* );
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @resource
|
|
59
|
+
* @product Website
|
|
60
|
+
*/
|
|
61
|
+
export const TanStackStart = (id, props = {}) => frameworkSite(id, props, {
|
|
62
|
+
name: "TanStackStart",
|
|
63
|
+
framework: TANSTACK_START_FRAMEWORK_SPECIFIER,
|
|
64
|
+
target: TANSTACK_START_NODE_TARGET_SPECIFIER,
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=TanStackStart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TanStackStart.js","sourceRoot":"","sources":["../../src/Website/TanStackStart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAC;AAE5E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kCAAkC,GAAG,iDAAiD,CAAC;AAEpG,qEAAqE;AACrE,MAAM,CAAC,MAAM,oCAAoC,GAC/C,sDAAsD,CAAC;AAIzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,KAAK,GAAuB,EAAE,EAAE,EAAE,CAC1E,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE;IACvB,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,kCAAkC;IAC7C,MAAM,EAAE,oCAAoC;CAC7C,CAAC,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import type { Redis } from "../Redis.ts";
|
|
3
|
+
import { type FrameworkSiteProps } from "./FrameworkSite.ts";
|
|
4
|
+
/**
|
|
5
|
+
* The vinext-on-Node framework module (vinext's Vite build +
|
|
6
|
+
* `startProdServer`). Not the Cloudflare Worker source.
|
|
7
|
+
*/
|
|
8
|
+
export declare const VINEXT_NODE_FRAMEWORK_SPECIFIER = "@alchemy.run/frontend-frameworks/vinext/node";
|
|
9
|
+
export interface VinextProps extends FrameworkSiteProps {
|
|
10
|
+
/**
|
|
11
|
+
* Optional Upstash Redis for ISR / `"use cache"`. Bound onto the
|
|
12
|
+
* hosted Service so Alchemy writes `REDIS_URL` as an App secret.
|
|
13
|
+
* The resource injects the Redis data-cache adapter automatically.
|
|
14
|
+
*/
|
|
15
|
+
redis?: Redis;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Deploy a [vinext](https://vinext.dev) application to Fly as a
|
|
19
|
+
* long-running Node process: vinext's Vite build, then vinext's production
|
|
20
|
+
* server (`startProdServer`). The `dist/` output is baked into the
|
|
21
|
+
* image; `vinext` is installed unbundled.
|
|
22
|
+
*
|
|
23
|
+
* Do not use the Cloudflare Worker entry (`vinext/server/fetch-handler`)
|
|
24
|
+
* — that is workerd.
|
|
25
|
+
*
|
|
26
|
+
* ISR / `"use cache"` persist in Redis when you pass {@link VinextProps.redis}.
|
|
27
|
+
* The resource injects the adapter automatically. Missing `REDIS_URL`
|
|
28
|
+
* (local `vinext start` / `alchemy dev`) falls back to memory.
|
|
29
|
+
*
|
|
30
|
+
* During `alchemy dev` the site is `vinext dev` and no cloud resources
|
|
31
|
+
* are declared; `Alchemy.remote()` opts back into the live Service path.
|
|
32
|
+
*
|
|
33
|
+
* ### Creating vinext Sites
|
|
34
|
+
* **Example:** Basic vinext App
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const site = yield* Fly.Website.Vinext("Web", {
|
|
37
|
+
* rootDir: "./app",
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* **Example:** Redis data cache
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const redis = yield* Fly.Redis("Cache", { eviction: true });
|
|
44
|
+
* const site = yield* Fly.Website.Vinext("Web", {
|
|
45
|
+
* redis,
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* **Example:** Custom Domain
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const site = yield* Fly.Website.Vinext("Web", {
|
|
52
|
+
* rootDir: "./app",
|
|
53
|
+
* domain: "app.example.com",
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @resource
|
|
58
|
+
* @product Website
|
|
59
|
+
*/
|
|
60
|
+
export declare const Vinext: (id: string, propsIn?: VinextProps) => Effect.Effect<{
|
|
61
|
+
url: import("alchemy/Output").Output<string | undefined, never>;
|
|
62
|
+
app: undefined;
|
|
63
|
+
service: undefined;
|
|
64
|
+
ip: undefined;
|
|
65
|
+
certificate: undefined;
|
|
66
|
+
} | {
|
|
67
|
+
url: string | import("alchemy/Output").Output<string, never>;
|
|
68
|
+
app: import("../App.ts").App;
|
|
69
|
+
service: import("../Service.ts").Service;
|
|
70
|
+
ip: import("../IpAssignment.ts").IpAssignment;
|
|
71
|
+
certificate: import("../Certificate.ts").Certificate | undefined;
|
|
72
|
+
}, never, import("alchemy/AlchemyContext").AlchemyContext | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("alchemy/Provider").Provider<import("alchemy/Website/Server").Server> | import("../Providers.ts").Providers>;
|
|
73
|
+
//# sourceMappingURL=Vinext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Vinext.d.ts","sourceRoot":"","sources":["../../src/Website/Vinext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,iDAAiD,CAAC;AAE9F,MAAM,WAAW,WAAY,SAAQ,kBAAkB;IACrD;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,MAAM,OAAQ,MAAM,YAAW,WAAW;;;;;;;;;;;;qPAe1B,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as Namespace from "alchemy/Namespace";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import { makeFrameworkSite } from "./FrameworkSite.js";
|
|
4
|
+
/**
|
|
5
|
+
* The vinext-on-Node framework module (vinext's Vite build +
|
|
6
|
+
* `startProdServer`). Not the Cloudflare Worker source.
|
|
7
|
+
*/
|
|
8
|
+
export const VINEXT_NODE_FRAMEWORK_SPECIFIER = "@alchemy.run/frontend-frameworks/vinext/node";
|
|
9
|
+
/**
|
|
10
|
+
* Deploy a [vinext](https://vinext.dev) application to Fly as a
|
|
11
|
+
* long-running Node process: vinext's Vite build, then vinext's production
|
|
12
|
+
* server (`startProdServer`). The `dist/` output is baked into the
|
|
13
|
+
* image; `vinext` is installed unbundled.
|
|
14
|
+
*
|
|
15
|
+
* Do not use the Cloudflare Worker entry (`vinext/server/fetch-handler`)
|
|
16
|
+
* — that is workerd.
|
|
17
|
+
*
|
|
18
|
+
* ISR / `"use cache"` persist in Redis when you pass {@link VinextProps.redis}.
|
|
19
|
+
* The resource injects the adapter automatically. Missing `REDIS_URL`
|
|
20
|
+
* (local `vinext start` / `alchemy dev`) falls back to memory.
|
|
21
|
+
*
|
|
22
|
+
* During `alchemy dev` the site is `vinext dev` and no cloud resources
|
|
23
|
+
* are declared; `Alchemy.remote()` opts back into the live Service path.
|
|
24
|
+
*
|
|
25
|
+
* ### Creating vinext Sites
|
|
26
|
+
* **Example:** Basic vinext App
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const site = yield* Fly.Website.Vinext("Web", {
|
|
29
|
+
* rootDir: "./app",
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* **Example:** Redis data cache
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const redis = yield* Fly.Redis("Cache", { eviction: true });
|
|
36
|
+
* const site = yield* Fly.Website.Vinext("Web", {
|
|
37
|
+
* redis,
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* **Example:** Custom Domain
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const site = yield* Fly.Website.Vinext("Web", {
|
|
44
|
+
* rootDir: "./app",
|
|
45
|
+
* domain: "app.example.com",
|
|
46
|
+
* });
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @resource
|
|
50
|
+
* @product Website
|
|
51
|
+
*/
|
|
52
|
+
export const Vinext = (id, propsIn = {}) => Effect.gen(function* () {
|
|
53
|
+
const { redis, ...props } = propsIn;
|
|
54
|
+
const site = yield* makeFrameworkSite(id, props, {
|
|
55
|
+
name: "Vinext",
|
|
56
|
+
framework: VINEXT_NODE_FRAMEWORK_SPECIFIER,
|
|
57
|
+
target: VINEXT_NODE_FRAMEWORK_SPECIFIER,
|
|
58
|
+
install: ["vinext", "react", "react-dom", "react-server-dom-webpack"],
|
|
59
|
+
});
|
|
60
|
+
if (redis !== undefined && site.service !== undefined) {
|
|
61
|
+
yield* site.service.bind `${redis}`({
|
|
62
|
+
redis: { name: redis.name, id: redis.redisId },
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return site;
|
|
66
|
+
}).pipe(Namespace.push(id));
|
|
67
|
+
//# sourceMappingURL=Vinext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Vinext.js","sourceRoot":"","sources":["../../src/Website/Vinext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAA2B,MAAM,oBAAoB,CAAC;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,8CAA8C,CAAC;AAW9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,OAAO,GAAgB,EAAE,EAAE,EAAE,CAC9D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE;QAC/C,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,+BAA+B;QAC1C,MAAM,EAAE,+BAA+B;QACvC,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,0BAA0B,CAAC;KACtE,CAAC,CAAC;IACH,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtD,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA,GAAG,KAAK,EAAE,CAAC;YACjC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC"}
|