@tyndall/dev
v0.0.15
Published
Development server package with watcher integration, route rendering, and HMR transport orchestration.
Downloads
1,780
Readme
@tyndall/dev
Overview
Development server package with watcher integration, route rendering, and HMR transport orchestration.
Responsibilities
- Serve development routes and public assets
- Coordinate file invalidation and route cache invalidation
- Broadcast HMR updates and dev errors
- Surface dev/runtime failures through structured console logging with configurable severity
- Support SSR-first entry with optional client-side navigation takeover via bootstrap policy
- Emit adapter-driven client runtime scripts for route hydration in dev mode
- Serve route runtime chunk assets (
/_hyper/dev-client/*) so client route modules can load on demand after navigation - Preserve hydration during HMR fallback by applying route payload updates through a mounted-root-safe rerender bridge
- Resolve root special files (
_app,_document,_404,_error,init.server) during route graph refresh - Collect route data payloads and inject
__HYPER_ROUTE_DATA__into dev HTML + CSR payloads - Emit redirect payloads for client-side navigation requests
- Filter broad
routesDirscans so internal artifacts (.hyper, cache,node_modules,outDir,.git) never become file routes - Stabilize Bun dev runtime bundling by aliasing critical React/runtime dependencies to cache-local concrete files (not workspace symlink paths)
- Track nested layout files as route dependencies for dev snapshotting and HMR invalidation
- Inject build version metadata into dev HTML when configured
Public API Highlights
- startDevServer
- createFileWatcher
- createHmrServer
Development
- Build: bun run --filter @tyndall/dev build
- Test (from workspace root): bun test
Documentation
- Package specification: spec.md
- Package architecture: architecture.md
- Package changes: CHANGELOG.md
Maintenance Rules
- Keep this document aligned with implemented package behavior.
- Update spec.md and architecture.md whenever package contracts or design boundaries change.
- Record user-visible package changes in CHANGELOG.md.
