smol

Package Version Hex Docs

A tiny web server for Gleam targeting all JavaScript runtimes (Node.js, Deno, Bun, and others).

Features

Installation

gleam add smol@1 gleam_javascript@1 gleam_http@4

Hello, World!

import gleam/javascript/promise
import smol

pub fn main() {
  let handler = fn(request) {
    let response = smol.send_string("Hello, Joe!")
    promise.resolve(response)
  }
  
  smol.new(handler)
  |> smol.start()
}

Runtime Adaptation

smol provides functions to adapt your Gleam handlers to different environments:

// Convert handler to standard Web Fetch API
let fetch_handler = smol.adapt(my_handler)

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.

Search Document