Skip to content

browserslist/browserslist-rs

Repository files navigation

browserslist-rs

The tool like Browserslist, but written in Rust.

Project Status

Can I use this library?

If you don't rely on the features mentioned in the 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.

Usage

Please refer to crate documentation.

Try as Rust crate example

You can try and inspect query result by running example with Cargo:

cargo run --example inspect -- <query>

You can also specify additional options, for example:

cargo run --example inspect -- --mobile-to-desktop 'last 2 versions, not dead'

To get more help, you can run:

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

    git clone https://github.com/browserslist/browserslist-rs.git
    cd browserslist-rs
  2. Initialize Git submodules

    git submodule update --init --recursive
  3. Generate data

    cargo run --manifest-path generate-data/Cargo.toml
  4. Run the main project (see the Usage section above)

Credits

Thanks Andrey Sitnik for creating the JavaScript-based Browserslist which is under MIT License.

License

MIT License

Copyright (c) 2021-present Pig Fang