#front-end #component #cli #rust

build opensass

๐Ÿงฉ A CLI to interact with the OpenSASS ecosystem

1 unstable release

Uses new Rust 2024

new 0.0.1 Apr 19, 2025

#79 in #frontend

MIT license

23KB
247 lines

๐Ÿงฉ OpenSASS

Crates.io docs License

๐Ÿง Linux (Recommended) ๐ŸชŸ Windows
cargo install opensass cargo install opensass
Download Executable File Download .exe File
os -h os -h

๐Ÿงฉ OpenSASS: A CLI tool for downloading reusable OpenSASS components from crates.io and integrating them into your WASM frontend projects.

๐Ÿ“– Table of Contents

๐Ÿš€ Installation

To install the CLI:

cargo install opensass

Or build from source:

git clone https://github.com/opensass/cli.git
cd cli
cargo build --release

โ“ What is OpenSASS?

OpenSASS is a modular CLI tool that enables you to:

  • Download reusable Rust/WASM components published to crates.io.
  • Automatically resolve and import component-specific dependencies and features.
  • Copy relevant source files directly into your src/ directory.
  • Seamlessly integrate with frontend frameworks like Yew, Leptos, and Dioxus.

It simplifies the process of reusing frontend Rust code across projects.

โœจ Features

  • ๐Ÿงฉ Add OpenSASS component-based crates with a single command.
  • โš™ Automatically updates Cargo.toml with proper features.
  • ๐Ÿ” Copies only the src/ files related to the specified feature.

๐Ÿ’ก Usage

Add an OpenSASS component to your project

os add i18nrs yew

This will:

  • Download the i18nrs crate.
  • Extract files only related to the yew feature.
  • Copy src/ files into your project.
  • Update your Cargo.toml dependencies and feature flags.

๐Ÿงช Examples

Using with Yew

os add radio-rs yew

Using with Leptos

os add radio-rs lep

Using with Dioxus

os add radio-rs dio

๐Ÿ“ฆ Roadmap

  • Add components by feature.
  • Auto-update lib.rs & Cargo.toml.
  • Initialize custom WASM templates.
  • TUI support.
  • VS Code extension?

๐Ÿค Contributing

Contributions are welcome! Please:

  1. Fork this repo
  2. Create your branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push and open a PR

๐Ÿ“„ License

Licensed under the MIT License.

Dependencies

~17โ€“31MB
~486K SLoC