leptos/examples/suspense_tests
2023-08-24 10:22:35 -04:00
..
e2e refactor(verify-changed-examples): improve readability and runtime (#1556) 2023-08-22 21:22:13 -04:00
src feat: make struct name and path optional for server functions (#1573) 2023-08-24 10:22:35 -04:00
.gitignore test(suspense-tests): add e2e tests (Closes #1519) (#1533) 2023-08-15 06:19:20 -04:00
Cargo.toml feat/change: adopt reactive ownership model and drop cx/Scope (#918) 2023-08-21 19:31:37 -04:00
LICENSE test(suspense-tests): add e2e tests (Closes #1519) (#1533) 2023-08-15 06:19:20 -04:00
Makefile.toml test(suspense-tests): add e2e tests (Closes #1519) (#1533) 2023-08-15 06:19:20 -04:00
README.md refactor(verify-changed-examples): improve readability and runtime (#1556) 2023-08-22 21:22:13 -04:00

Leptos Logo

Leptos Starter Template

This is a template for use with the Leptos web framework and the cargo-leptos tool.

Creating your template repo

If you don't have cargo-leptos installed you can install it with

cargo install cargo-leptos

Then run

cargo leptos new --git leptos-rs/start

to generate a new project template.

cd {projectname}

to go to your newly created project.

Of course you should explore around the project structure, but the best place to start with your application code is in src/app.rs.

Running your project

cargo leptos watch

Installing Additional Tools

By default, cargo-leptos uses nightly Rust, cargo-generate, and sass. If you run into any trouble, you may need to install one or more of these tools.

  1. rustup toolchain install nightly --allow-downgrade - make sure you have Rust nightly
  2. rustup default nightly - setup nightly as default, or you can use rust-toolchain file later on
  3. rustup target add wasm32-unknown-unknown - add the ability to compile Rust to WebAssembly
  4. cargo install cargo-generate - install cargo-generate binary (should be installed automatically in future)
  5. npm install -g sass - install dart-sass (should be optional in future)

Executing a Server on a Remote Machine Without the Toolchain

After running a cargo leptos build --release the minimum files needed are:

  1. The server binary located in target/server/release
  2. The site directory and all files within located in target/site

Copy these files to your remote server. The directory structure should be:

suspense_tests
site/

Set the following enviornment variables (updating for your project as needed):

LEPTOS_OUTPUT_NAME="suspense_tests"
LEPTOS_SITE_ROOT="site"
LEPTOS_SITE_PKG_DIR="pkg"
LEPTOS_SITE_ADDR="127.0.0.1:3000"
LEPTOS_RELOAD_PORT="3001"

Finally, run the server binary.

Testing

This example includes quality checks and end-to-end testing.

To get started run this once.

cargo make ci

To only run the UI tests...

cargo make start-webdriver
cargo leptos watch # or cargo run...
cargo make test-ui

See the E2E README for more information about the testing strategy.