Language

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 →
order_total.ts
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.

Related

Get started today

Ready to ship some scripts?

Create an account in seconds — no installers, nothing to set up.
Start building, testing and running your scripts right away.

  • Free to start
  • Self-host or cloud
  • Production ready