Bun
Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager.
You can easily deploy your Bun app in Zeabur.
Quick Start
Create a Bun App
You can initialize a Bun app using the following command:
mkdir bun-app
cd bun-app
bun init
Create a HTTP Server
Open index.ts
and paste the following code snippet, which implements a simple HTTP server with Bun.serve
.
Remember modify the port to Bun.env.PORT
in your serve
function to make sure the application can listen correctly on the environment variable PORT
given by Zeabur.
const server = Bun.serve({
port: Bun.env.PORT ?? 3000, // modify the port to Bun.env.PORT
fetch() {
return new Response("Bun on Zeabur!");
},
});
console.log(`Listening on http://localhost:${server.port} ...`);
Additionally, make sure to specify an entry point in the package.json
file.
Zeabur currently supports the following file extensions as entry point: .js
, .ts
, .tsx
, .jsx
, .mjs
, .mts
, .cjs
, or .cts
.
{
"name": "bun-app",
"module": "index.ts", // let zeabur know where to start
"type": "module",
// ...
}
Detection
Zeabur will automatically recognize your application as a Bun app. Ensure that you have a bun.lockb
file in the root directory of your project.
root
├── bun.lockb
├── index.ts
└── package.json
You can install bun-types
into your project if you prefer not to commit the bun.lockb
file to your repository.
{
"devDependencies": {
"bun-types": "latest"
}
}
Deploy
Click on Git button.
Search for your Bun app repository, click on import, your Bun app will start deploying.
Ecosystem
Bun has a strong ecosystem, allowing you to build applications using various frameworks such as Astro, Nuxt, SvelteKit, ElysiaJS, and more.
You can deploy these applications and use Bun as your runtime or package manager.
Learn more about Bun - Ecosystem.