Crate perseus_cli[−][src]
Expand description
Perseus is a blazingly fast frontend web development framework built in Rust with support for major rendering strategies, reactivity without a virtual DOM, and extreme customizability. It wraps the lower-level capabilities ofSycamore and provides a NextJS-like API!
- ✨ Supports static generation (serving only static resources)
- ✨ Supports server-side rendering (serving dynamic resources)
- ✨ Supports revalidation after time and/or with custom logic (updating rendered pages)
- ✨ Supports incremental regeneration (build on demand)
- ✨ Open build matrix (use any rendering strategy with anything else, mostly)
- ✨ CLI harness that lets you build apps with ease and confidence
This is the documentation for the Perseus CLI, but there’s also the core package and integrations to make serving apps on other platforms easier!
Resources
These docs will help you as a reference, but the book should be your first port of call for learning about how to use Perseus and how it works.
- The Book
- GitHub repository
- Crate page
- Gitter chat
- Discord server channel (for Sycamore-related stuff)
Modules
Constants
The current version of the CLI, extracted from the crate version.
Functions
Builds the subcrates to get a directory that we can serve. Returns an exit code.
Checks if the user has the necessary prerequisites on their system (i.e. cargo, wasm-pack, and rollup). These can all be checked
by just trying to run their binaries and looking for errors. If the user has other paths for these, they can define them under the
environment variables PERSEUS_CARGO_PATH, PERSEUS_WASM_PACK_PATH, and PERSEUS_ROLLUP_PATH.
Deletes a corrupted ‘.perseus/’ directory. This qwill be called on certain error types that would leave the user with a half-finished product, which is better to delete for safety and sanity.
Prints the help page.
Prepares the user’s project by copying in the .perseus/ subcrates. We use these subcrates to do all the building/serving, we just
have to execute the right commands in the CLI. We can essentially treat the subcrates themselves as a blackbox of just a folder.
Builds the subcrates to get a directory that we can serve. Returns an exit code.