Overview
Compose apps are bundled with esbuild and run in secure, auditable sandboxes. The sandboxes will disallow os, filesystem and direct networking activity. To make external http requests, you have to use the provided fetch function. This allows compose apps to be fully auditable, trusted and secure. Compose apps are bundled with esbuild when you run and deploy them, this means you can use any packages installed via npm, yarn, or pnpm. However things like native nodejs packages, or packages that rely on filesystem or http access will not work, due to the nature of the sandbox. To use third-party packages:- Install packages with your preferred package manager (
npm install,yarn add, etc.) - Import using bare specifiers in your task files (e.g.
import { keccak256 } from "viem")
Packages must be installed in
node_modules/ since esbuild resolves imports from there. Deno-style npm: specifiers are not supported in task files.Example
Next Steps
Debugging
Debug and monitor your apps
Deploying your App
Learn about deploying your app to the cloud for production use cases.