Deploy a SvelteKit app that uses Bun
EasyHost picks Bun when it finds bun.lock or bun.lockb. There is nothing to configure, and these are the exact commands it runs for SvelteKit.
What EasyHost runs
| Step | Command |
|---|---|
| Lockfile | bun.lock or bun.lockb |
| Install | npm install -g bun && bun install --frozen-lockfile |
| Build | vite build, through your package build script |
| Start | node build, set as the start command or as scripts.start |
Scripts run with bun run <script>. Dev dependencies are available during the build, and the app runs with NODE_ENV=production.
Deploy
Install @sveltejs/adapter-node and set it in svelte.config.js. The auto adapter is not enough.
npx ezhst projects create my-project --link npx ezhst apps create my-app npx ezhst link --project <project-slug> --app <app-slug> npm i -D @sveltejs/adapter-node npx ezhst build set --start "node build" npx ezhst env import .env npx ezhst deploy
Things to watch with Bun
Bun installs and runs your scripts, but the base image is Node. Runtime APIs that only exist in Bun need a custom start command, such as bun run src/index.ts.
Commit bun.lock or bun.lockb. Without any lockfile, EasyHost falls back to npm install. To replace the install step, run ezhst build set --install "<command>".
Next steps
See the SvelteKit hub for every SvelteKit guide, or free SvelteKit hosting for what is included.
Frequently asked questions
How do I change the Bun install command?
Run ezhst build set --install "<command>", then ezhst redeploy. Pass an empty string to return to auto-detection.
Start for free
Install the skill, choose Global or Local, then tell your agent to deploy. No credit card, no config files.
npx ezhst skill install