Installation
SignalX can be installed in several ways depending on your project setup.
Create a New Project
The fastest way to get started is with our CLI:
pnpm create @sigx@latest my-appThis will scaffold a new project with:
- Vite for development and building
- TypeScript configuration
- SignalX and the Vite plugin pre-configured
Add to Existing Project
Using npm
pnpm add sigx @sigx/viteUsing pnpm
pnpm add sigx @sigx/viteUsing yarn
pnpm add sigx @sigx/viteConfigure Vite
Add the SignalX plugin to your Vite configuration:
// vite.config.ts
import { defineConfig } from 'vite';
import { sigxPlugin } from '@sigx/vite';
export default defineConfig({
plugins: [sigxPlugin()],
});
TypeScript Configuration
For the best TypeScript experience, update your tsconfig.json:
{
"compilerOptions": {
"jsx": "preserve",
"jsxImportSource": "sigx",
"moduleResolution": "bundler"
}
}
Package Versions
SignalX follows semantic versioning. The versions below are pulled from npm at build time, so they track the current latest release without hand-editing (falling back to the last committed values if npm is unreachable):
| Package | Version | Description |
|---|---|---|
sigx | v0.13.0 | Core runtime |
@sigx/vite | v0.13.0 | Vite plugin |
@sigx/router | v0.9.0 | Client-side router |
@sigx/store | v0.10.0 | State management |
@sigx/daisyui | v0.9.0 | UI components |
Development and Production Builds
Every SignalX package ships two builds:
dist/*.js— the development build: dev warnings, the devtools integration, and runtimeprocess.env.NODE_ENVchecks.dist/*.prod.js— the production build: warnings and the devtools plumbing are compiled out.
Bundlers pick the right one automatically through the development / production export conditions — Vite needs no configuration. A vite build resolves the production build; vite dev resolves the development build. Resolvers that don't understand those conditions fall back to the development build, where a consumer-side NODE_ENV define still strips the dev branches — the same behavior as before.
For plain Node SSR (running the server renderer outside a bundler), opt into the stripped build with the production condition:
node --conditions=production server.js
There's nothing to configure in your app — devtools and dev-only warnings simply disappear from production output.
Next Steps
- Quick Start - Build your first component
- Signals - Learn about reactive state
