Run TypeScript scripts online, no build step
Export a main function and Waiso runs it on Bun 1.4 in an isolated sandbox — TypeScript as you wrote it, no compiler to set up. Then schedule it, call it over HTTP or use it in a flow.
Typed parameters become inputs
Parameters are matched by name, and their TypeScript types type the inputs. A returned promise is awaited and the value is the JSON result; console.log goes to the logs.
Learn more →export async function main(prices: number[], taxRate: number = 0.1) {
const subtotal = prices.reduce((sum, p) => sum + p, 0)
const total = Math.round(subtotal * (1 + taxRate) * 100) / 100
console.log(`${prices.length} items, total ${total}`)
return { subtotal, total }
}
npm packages from your imports
Every bare package an import names is installed with bun install when the script runs, and reused afterwards. Scoped packages work, and node: and bun: modules are built in.
Learn more →From the editor to an endpoint
Publish, and the same function answers an HTTP endpoint with inputs read from the JSON body, runs on a schedule, or becomes a step that receives bindings in a flow.
Learn more →Questions
Do I need tsc or a bundler?
No. Bun runs TypeScript directly, so there is no build step to configure.
Which Bun version is used?
Bun 1.4, with 1.3 beside it. A script follows the latest unless you pin the previous version in the editor.
Can a script import another script?
Yes. A TypeScript script imports another one from the same project by its relative path.