# 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 ```typescript import Bundle from "./mod.ts"; Bundle( // directory to work from "./some_folder", // ESBuild configuration (entry points are relative to "directory"): {entry:["./app.tsx"]}, // import map (if omitted, will scan for a deno configuration within "directory" and use that) {"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 ```typescript import Serve from "./serve.tsx"; Serve({path:"./some_folder", html:"index.html", port:8080}); ``` #### CLI ``` deno run -A /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.