Skip to content

dvnxvll/OxarionJs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OxarionJs

"Because going faster shouldn’t mean writing more nonsense"

NPM Downloads License


OxarionJs is a TypeScript-first backend framework built on Bun.

It keeps the flow direct, the API clean, and the abstractions where they actually help.

Why OxarionJs

  • Built on Bun for fast runtime and a tight development loop
  • Type-safe route params
  • Route groups and middleware chains
  • Route injector for modular structure
  • File-based dynamic routing
  • Request and response helpers
  • Native WebSocket route support
  • Cached SSR templates and optional Ox dynamic HTML runtime
  • Minimal flow without high-level clutter

Install

bun add oxarionjs

Quick start

import Oxarion, { Middleware } from "oxarionjs";

await Oxarion.start({
  host: "127.0.0.1",
  port: 3000,
  httpHandler: (router) => {
    router.addHandler("GET", "/", (_req, res) => {
      res.json({ message: "Welcome to OxarionJs" });
    });
  },
  safeMwRegister: (router) => {
    router.multiMiddleware("/", [Middleware.cors(), Middleware.logger()], true);
  },
});

Run it with

bun run src/index.ts

Dynamic routing

import Oxarion from "oxarionjs";

await Oxarion.start({
  dynamicRouting: {
    dir: "dyn",
    handlerFile: "api",
    extensions: ["ts", "js"],
    onConflict: "keepManual",
  },
  httpHandler: () => {},
});

dyn/test/api.ts maps to /test.

Route modules can export HTTP method functions or a static class.

import type { OxarionRequest, OxarionResponse } from "oxarionjs";

export default class TestApi {
  static async GET(req: OxarionRequest, res: OxarionResponse) {
    return res.json({ path: req.url() });
  }
}

Benchmark

OxarionJs is built to stay lightweight on the hot path, and local benchmarking reflects that well.

Here is an example result from the Bun benchmark suite used during development:

Framework Average Req/Sec
Oxarion 232632
Previous baseline 179348

That specific change represents roughly a 30% throughput improvement.

For a single endpoint sample from the local benchmark runner:

Endpoint Framework Req/Sec Avg Latency P99 Latency
JSON Response Oxarion 255271 0.785 ms 1.140 ms

The full generated benchmark report is written to benchmarks/Results.md.

Benchmark notes

  • Benchmarks are run locally on Bun using oha
  • Measured runs use sustained timed execution rather than short burst tests
  • Results are more useful for comparing framework overhead on identical handlers than for making universal performance claims
  • Numbers may vary based on hardware, Bun version, OS scheduling, thermal state, and background apps

If you want to reproduce the same style of measurement, see:

Docs

Start here if you want the full guide.

License

MIT

About

Powerfull Backend Framework Build on top of BunJS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages