0.2.1 • Published 12 months ago

choco.js v0.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

🍫 Choco.js

Fast & Lightweight JavaScript library for creating modern and secure web applications.

Features

  • ⚡ Fast: Extremely fast and lightweight.
  • 📦 Modular: Middleware-based architecture for flexibility and scalability.
  • 🛡️ Secure: Built-in middleware for security, including CORS, and rate limiting.
  • 🌐 Comprehensive: Support for various HTTP methods, robust routing, and middleware handling.
  • 📊 Monitoring: Built-in support for logging and monitoring.
  • 💼 Flexible: Easily extendable with custom middleware and supports multiple runtimes.
  • 🐇 Lightweight: Zero dependencies and only 70kb in size. Just and necessary for your application.

Supported Runtimes

There is a plan to support multiple runtimes. At the moment, only the Bun.js runtime is supported.

  • Bun.js
  • Deno
  • Node.js
  • Web
  • Workers

Installation

Install Choco.js using your favorite package manager:

# Using bun
bun add choco.js

Usage

You can find more examples under the examples directory.

import Choco from "choco.js";

const app = new Choco.App({ port: 8080 });

app.get("/", (_ctx) => {
  return { hello: "world" };
});

app.listen((url) => {
  console.log(`Server is running at ${url}`);
});

Middleware

Choco.js supports middleware for extending functionality. Here are some built-in middleware options:

Logger Middleware

Logs details about incoming requests.

app.withLogger({
    methods: ["GET", "POST"],
});

CORS Middleware

Enables Cross-Origin Resource Sharing (CORS) support.

app.withCors({
    origin: "*",
    methods: ["GET", "POST"],
    allowedHeaders: ["Content-Type"],
    exposedHeaders: ["Content-Type"],
    credentials: true,
    maxAge: 600,
});

Cache Middleware

Caches responses for a specified duration.

app.withCache({
    expires: 1000 * 10,
    maxItems: 100,
    maxLength: 1000,
    methods: ["GET"],
});

Contributing

Contributions, issues, and feature requests are welcome! Feel free to check issue page if you want to contribute.

Show your support! Give a ⭐️ if this project helped you! Or buy me a Ko-fi 🙌!

License

Copyright © 2024 Sammwy. This project is MIT licensed.

0.2.1

12 months ago

0.2.0

12 months ago

0.1.0

1 year ago