Contributions are welcome! See CONTRIBUTING.md for guidelines on how to contribute.
The project shouldn't require anything more than the rust-toolchain.toml
version of Rust specified which you can set up with rustup
. Once you have that the following runs the test suite.
cargo test
- Bump the versions in
sqruff-lib/Cargo.toml
andsqruff/Cargo.toml
. - Commit the changes.
- Push the changes.
- Tag the commit with the new version
- Release
sqruff-lib
crate
cargo publish -p sqruff-lib
- Release
sqruff
crate
cargo publish -p sqruff
To run the extension locally, install npm in the editors/code
directory and run the following commands:
npm run build:wasm_lsp && npm run compile && npm run run-in-browser
One of the big set of tests that exist in the codebase are those to ensure the parsing of the SQL dialects is correct. These tests are stored in crates/lib/test/fixtures/dialects
and there is a folder for each dialect. In each folder there is an a set of sql files and an accompanying yaml file that contains the expected output of parsing the sql file. To update the yaml files, run the tests with the UPDATE_EXPECT
environment variable set to 1
.
env UPDATE_EXPECT=1 cargo test