Install
Two packages: the compiler CLI and the reactive runtime. Nothing else.
Requires Node.js 18 or newer. The packages are published as marisjs (the CLI, with a native compiler binary for your platform) and @marisjs/runtime (the reactive core):
$ npm install marisjs @marisjs/runtime
added 2 packages (5.9 MB on disk, native binary included)
$ npx marisjs --version
marisjs 0.1.10
$ npx marisjs init
wrote package.json (dev / build / serve scripts)
wrote .gitignore (excludes .env)
wrote .env.example (no real values)
$ npx marisjs validate ./src/pages/Index.tsx
valid: 0 errors
$ npx marisjs validate ./src/components/Cart.tsx
error[PROP_UNWRAPPED_SIGNAL] src/components/Cart.tsx:14:11
A bare signal was passed as a component prop.
It will not stay reactive. Pass the signal
itself and read .value where it is used:
<Cart total={total} />
-> 1 error - build failed marisjs init writes a starter package.json with dev/build/serve scripts, then create src/pages/ and run npm run dev. The runtime is 5,450 bytes and is embedded into your compiled output at build time - it is not a dependency of your deployed site.
Verify the install
marisjs validate checks a single file against every rule in the spec. Run it on your first component; an empty error list means the file is legal marisjs and can be compiled.
Zero-config defaults:
src/ is the source directory, dist/ the output. No config file exists, and none is needed until you outgrow the defaults - see the CLI reference for overrides.