Go to file
2024-08-13 10:25:16 -04:00
test more prep 2024-08-13 10:25:16 -04:00
deno.json more prep 2024-08-13 10:25:16 -04:00
introspect.ts more prep 2024-08-13 10:25:16 -04:00
jsapi.tsx more prep 2024-08-13 10:25:16 -04:00
mod.ts more prep 2024-08-13 10:25:16 -04:00
README.md misc cleanup 2024-07-03 15:09:21 -04:00
serve.tsx more prep 2024-08-13 10:25:16 -04:00

ESBuild Typescript Bunder

Supports import maps and runs on Deno Deploy

Uses the WASM version of ESBuild for use on Deno Deploy and adds some plugins to allow for import maps. Unfortunately, npm:* and jsr:* specifiers are not supported currently.

Manual Bundle API

import Bundle from "./mod.ts";
Bundle(
    // ESBuild configuration:
    {entry:["./app.tsx"]},

    // import map:
    {"imports": {
        "react": "https://esm.sh/preact@10.22.0/compat",
        "react/": "https://esm.sh/preact@10.22.0/compat/"
    }}
);
if(outputFiles){
    for(const item of outputFiles){
        // do something with the output...
        console.log(item.text);
    }
}

Static bundle server

API

import Serve from "./serve.tsx";
Serve({path:"./some_folder", html:"index.html", port:8080});

CLI

deno run -A <hosted-location>/serve.tsx --path=./some_folder --html=index.html --port=8080

Accepts three optional settings:

  • path A directory to serve content from. Defaults to the current working directory.
  • html A path to an html file or actual html string to always use when the server would serve up a non-file route. If html is a path, it is assumed to be relative to path. If not specified, routes that don't match files will 404.
  • port Port number (default is 8000).

When requests to typescript files are made to the server, it will treat that file as an entrypoint and return the corresponding plain javascript bundle.