-
-
Notifications
You must be signed in to change notification settings - Fork 0
Packages And Tooling
Status: All packages are experimental.
| Package | Current responsibility |
|---|---|
@effuse/core |
Signals, components, DOM rendering, layers, SSR, server routes/actions, manifests. |
@effuse/router |
Histories, route matching, navigation, guards, links, and outlets. |
@effuse/store |
Reactive Effect-based application state. |
@effuse/query |
Server-state caching, observers, retries, and mutations. |
@effuse/use |
Reusable browser and lifecycle hooks, including forms. |
@effuse/i18n |
Translation definitions, locale state, interpolation, pluralization. |
@effuse/ink |
Reactive Markdown rendering and component embedding. SSR-ready: InkLayer registers safely without a DOM, injectInkStyles is idempotent, and inkProseStyles is exported for inlining prose CSS into server-rendered heads. |
@effuse/compiler |
JSX/TSX transformation and optimization. |
@effuse/cli |
Development server, production build, manifest resolution, generated entries. |
@effuse/server |
Portable Node/Bun listener adapters, conformance harness, graceful shutdown, scheduled tasks, portable storage, and the plugin host. |
The CLI wraps Vite-based development and build services. If src/app.ts is
present, entry generation can create .effuse/entry-client.ts and
.effuse/entry-server.ts. The server entry can load an asset manifest and call
the application request handler.
Generated files are build artifacts. Do not hand-edit them as application source.
The repository currently requires Node >=22.14.0 and pnpm 10.32.1.
Production gates include:
pnpm typecheck
pnpm lint
pnpm test
pnpm build
bun run check:app:bunpnpm test executes all ten publishable package suites. A repository contract
discovers test files, requires each owning package to expose a fail-closed test
script, rejects common shell failure masks, verifies the known package set, and
checks that the root command delegates through pnpm -r test. Runtime-specific
Bun adapter coverage remains an explicit @effuse/server gate:
pnpm --filter @effuse/server test:bunThe integration app is ignored intentionally. It is a development laboratory for exercising package interoperability and browser workflows without making generated E2E files part of the product API.
- Import from public package entry points.
- Build
@effuse/corebefore checking consumers that resolve its built output. - Keep client code on browser-safe exports.
- Keep server adapters and Node-only work on server exports or generated server entries.
- Treat internal paths as implementation details.
Semantic release tooling exists, but package versions do not yet imply a stable framework compatibility guarantee. See Production Readiness.