GitHunt
MA

Masquerade-Circus/valyrian.js

Lightweight steel to forge PWAs. (Minimal Frontend Framework with server side rendering and other capabilities)

npm version
node-current
ES version

License

Minified size
Gzip size
Brotli size

Test
Libraries.io dependency status for latest release
CodeQL
Codacy Badge


Coverage

Valyrian.js

Lightweight steel to forge modern web apps.

Valyrian.js is a runtime-first, isomorphic micro-framework. Render UI, add routing, manage state, and ship SSR with one mental model and minimal stack glue.

Table of Contents

Quick Start

Get a working screen first. Start with the CDN path for the fastest feedback loop.

Browser (CDN)

<script type="module">
  import "https://unpkg.com/valyrian.js";
  const { mount } = Valyrian;
  mount("body", () => "Hello from Valyrian.js");
</script>

Expected result: the text appears in the page body.

Node (npm)

npm install valyrian.js

Then follow docs/2-getting-started.md for the inline build flow and first TSX/JSX setup.

Choose Your Path

  1. Copy the CDN snippet into an index.html file.
  2. Open it in your browser and confirm the UI renders.
  3. Change the mounted text to verify the update loop.
  4. Continue with docs/3-the-essentials.md.

If this works, you already have the core Valyrian mental model.

Documentation

Why Valyrian.js

  • One runtime model across browser and server.
  • Built-in modules for routing, request, state, forms, offline, and SSR tooling.
  • Minimal dependencies and explicit control of rendering behavior.
  • Can run with or without a traditional bundler workflow.

Good fit:

  • You want a smaller stack with fewer moving parts.
  • You prefer explicit updates and clear runtime behavior.
  • You want browser and server flows with a shared mental model.

Not the best fit:

  • You need a huge plugin ecosystem as your primary decision factor.
  • You require a fully opinionated meta-framework workflow out of the box.

Testing Philosophy

Valyrian.js tests are behavior-first and API-contract driven. Public modules validate happy paths, edge cases, and runtime consistency across browser-like and Node-like environments. Documentation examples are kept aligned with tested behavior.

Tests (Framework Repository)

bun test

For development mode in this repository:

bun run dev:test

These commands are for contributors developing this framework repository.
For app usage, keep following docs/2-getting-started.md.

Contributing

  • Run lint/format checks before opening a PR.
  • Add or update tests for new behavior.
  • Update docs in docs/ whenever public behavior changes.

Author: Masquerade Circus. License Apache-2.0