Ultra-fast dev server and build tool - faster than Vite, Turbopack, or Bun's built-in dev server.
- Near-instant cold starts (<200ms target)
- Sub-10ms hot module replacement (HMR) for large apps
- AST-diff-based HMR patches instead of full reloads
- Persistent cross-run cache for transforms
- First-class monorepo support
- Plugin system supporting both JS and WASM plugins
- Core runtime: Bun for HTTP serving
- JavaScript/TypeScript transforms: SWC (Rust) with multithreaded worker pool
- CSS transforms: LightningCSS (Rust)
- Caching: RocksDB, keyed by file content + config checksum
- Bundling for production: Rspack
- HMR transport: WebSocket with binary patch protocol
# Install Flashonic globally
bun install -g flashonic
# Or use in your project
bun add -D flashonic# Start development server
flashonic dev
# Build for production
flashonic build
# Clear cache
flashonic cache:clearCreate a flashonic.config.js or flashonic.config.ts file:
import { defineConfig } from 'flashonic'
export default defineConfig({
server: {
port: 3000,
host: 'localhost'
},
build: {
outDir: 'dist',
minify: true
},
plugins: [
// Your plugins here
]
})- Cold start: <200ms on small projects
- HMR latency: <10ms for typical module edits
- Production build: <5s for medium React app
- Cache hit rate: >95% on restart
flashonic/
├── packages/
│ ├── server/ # Bun HTTP server + HMR
│ ├── transform/ # SWC, LightningCSS, worker pool
│ ├── cache/ # RocksDB implementation
│ ├── cli/ # Command-line interface
│ └── plugin/ # Plugin API + adapters
└── examples/
└── react-app/ # Demo project
import { Plugin } from 'flashonic'
export function myPlugin(): Plugin {
return {
name: 'my-plugin',
resolveId(id) {
// Custom module resolution
},
load(id) {
// Custom module loading
},
transform(code, id) {
// Custom code transformation
},
handleHotUpdate(ctx) {
// Custom HMR handling
}
}
}| Tool | Cold Start | HMR Latency | Build Time |
|---|---|---|---|
| Flashonic | 180ms | 8ms | 4.2s |
| Vite | 850ms | 45ms | 12.1s |
| Turbopack | 320ms | 25ms | 8.7s |
| Bun | 240ms | 35ms | 6.3s |
Benchmarks run on a medium-sized React application with 500+ components
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see the LICENSE file for details.
- SWC for blazing-fast JavaScript/TypeScript compilation
- LightningCSS for ultra-fast CSS processing
- Bun for the incredible JavaScript runtime
- RocksDB for persistent caching