RunTS is a powerful, browser-based TypeScript and Node.js playground powered by WebContainers. It allows you to run secure, ephemeral Node.js environments directly in your browser without any server-side execution.
It serves as a lightweight, instant alternative to local setups for testing snippets, prototyping ideas, or exploring NPM packages.
- In-Browser Node.js: Powered by WebContainers for secure, local execution.
- TypeScript Support: First-class TypeScript support with IntelliSense and ATA (Automatic Type Acquisition).
- NPM Package Manager: Install and use any package from the NPM registry instantly.
- Multi-File Support: Work with multiple files using a tabbed interface.
- Themes: Beautiful built-in themes including Dracula, Monokai, and the default "RunTS Dark" (featuring TypeScript Blue).
- Snippets: Save and manage your favorite code snippets for quick access.
- Environment Variables: Securely manage env vars for your experiments.
- PWA Ready: Installable as a native-like app on your device.
- Shareable: Share your code snippets via URL.
- Offline Support: Works offline thanks to PWA capabilities (booting requires initial connection).
- Node.js (Latest LTS recommended)
- A modern browser that supports WebContainers (Chrome-based browsers are currently best supported).
- Core: React 19, Vite, TypeScript
- Runtime: WebContainers API
- Editor: Monaco Editor
- Styling: Tailwind CSS 4
- State: Zustand
- Icons: Lucide React
- Testing: Vitest, Playwright
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.