Skip to content

Latest commit

 

History

184 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SnapFire

Project Status: Active License: MPL 2.0

Write the application in TypeScript. Run it in Rust.

SnapFire started as SnapFire Web, a Tera templating library with live reload. It is now a stack built around SnapFire FSR, a runtime where routes, data loading, actions, service clients, sessions, identity, caching, streaming and client navigation are primitives rather than features owned by a UI framework. Beside it sit a compiler that turns TypeScript into browser-native ES modules with no Node and a typechecker that fetches and pins its own tsc. SnapFire Web is still here and is now one renderer among several.

Nothing in the chain needs Node, at build time or on the request path. There is no node_modules.

The pieces

Each one installs and is used from its own README.

What you want Where it is
A full-stack application: file routes, loaders and actions in TypeScript, rendered by Rust SnapFire FSR, the fsr executable
TypeScript and CSS to browser ES modules, one binary, no package.json SnapFire Compiler, the snapfirec executable
Types checked against a pinned TypeScript, fetched and verified rather than found installed SnapFire Typecheck, the snapfiretc executable
Tera templates with live reload inside an Actix application SnapFire Web, the snapfire crate
Seven applications in reading order, each carrying what the ones before it do not reach The SnapFire FSR examples
One question per chapter, with a lab on the running example The SnapFire FSR guide

Layout

Directory What it holds
fsr/ SnapFire FSR: the runtime crates, the client library, the CLI, the guide and the examples
compiler/ SnapFire Compiler, snapfirec, with its own example
typecheck/ SnapFire Typecheck, snapfiretc
web/ SnapFire Web, the snapfire crate: Tera and Actix, with its own example
www/ the project's site, built with SnapFire FSR

Every crate carries a README.md to skim, a README.USAGE.md to work from and an API_REFERENCE.md for the surface.

License

Mozilla Public License 2.0. See LICENSE.

Excerion Sun LLC

About

Write apps in TypeScript, run it in Rust. File routes, loaders, actions, typed OpenAPI and gRPC clients, sessions, streaming and island hydration, with no Node in the build or on the request path. Plus snapfirec, TypeScript to browser ESM and the original Tera and Actix live-reload library.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages