https://github.com/browserslist/browserslist-rs
Rust-ported Browserslist.
https://github.com/browserslist/browserslist-rs
Last synced: about 1 year ago
JSON representation
Rust-ported Browserslist.
- Host: GitHub
- URL: https://github.com/browserslist/browserslist-rs
- Owner: browserslist
- License: mit
- Created: 2021-11-05T09:22:56.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-08T23:23:14.000Z (about 1 year ago)
- Last Synced: 2025-05-12T05:09:00.833Z (about 1 year ago)
- Language: Rust
- Homepage:
- Size: 592 KB
- Stars: 126
- Watchers: 6
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# browserslist-rs
The tool like [Browserslist](https://github.com/browserslist/browserslist), but written in Rust.
## Project Status
> Can I use this library?
If you don't rely on the features mentioned in the [Limitations](#limitations) section,
you can use it.
We have supported most widely or most frequently used queries,
and there are over 100 tests to make sure it works correctly.
For more detail about development status, please see [Project #1](https://github.com/browserslist/browserslist-rs/projects/1).
## Usage
Please refer to [crate documentation](https://docs.rs/browserslist-rs/).
## Try as Rust crate example
You can try and inspect query result by running example with Cargo:
```sh
cargo run --example inspect --
```
You can also specify additional options, for example:
```sh
cargo run --example inspect -- --mobile-to-desktop 'last 2 versions, not dead'
```
To get more help, you can run:
```sh
cargo run --example inspect -- -h
```
## Limitations
The features below aren't supported currently:
- Custom usage like `> 0.5% in my stats`.
- Custom usage like `cover 99.5% in my stats`.
## Local development setup
1. Clone the repository and enter the project directory
```sh
git clone https://github.com/browserslist/browserslist-rs.git
cd browserslist-rs
```
2. Initialize Git submodules
```sh
git submodule update --init --recursive
```
3. Generate data
```sh
cargo run --manifest-path generate-data/Cargo.toml
```
4. Run the main project (see the [Usage](#usage) section above)
## Credits
Thanks [Andrey Sitnik](https://github.com/ai) for creating the [JavaScript-based Browserslist](https://github.com/browserslist/browserslist) which is under MIT License.
## License
MIT License
Copyright (c) 2021-present Pig Fang