diff --git a/README.md b/README.md index ae5801cf..0f9a3e2c 100644 --- a/README.md +++ b/README.md @@ -34,15 +34,25 @@ flatpak run md.obsidian.Obsidian Start the server: ```sh -cd sync-server && cargo run config-e2e.yml +cargo install sqlx-cli cargo-machete +cd sync-server +cargo run config-e2e.yml ``` ```sh -cd frontend && npm install && npm run dev +cd frontend +npm install +npm run dev ``` ### Scripts +#### Before pushing + +```sh +scripts/check.sh --fix +``` + #### Update HTTP API TS bindings ```sh diff --git a/scripts/check.sh b/scripts/check.sh index 03bb35fe..576ed0ec 100755 --- a/scripts/check.sh +++ b/scripts/check.sh @@ -2,11 +2,25 @@ set -e +# Parse arguments +FIX_MODE=false +if [[ "$1" == "--fix" ]]; then + FIX_MODE=true + echo "Running in fix mode - will automatically fix linting and formatting issues" +fi + echo "Running checks in sync-server" cd sync-server cargo test --verbose -cargo clippy --all-targets --all-features -cargo fmt --all -- --check + +if [[ "$FIX_MODE" == true ]]; then + cargo clippy --all-targets --all-features --fix --allow-dirty --allow-staged + cargo fmt --all +else + cargo clippy --all-targets --all-features + cargo fmt --all -- --check +fi + cargo machete echo "Running checks in frontend" @@ -16,7 +30,7 @@ npm run build npm run test npm run lint -if [[ $(git status --porcelain) ]]; then +if [[ "$FIX_MODE" == false ]] && [[ $(git status --porcelain) ]]; then git status --porcelain echo "Failing CI because the working directory is not clean after linting" exit 1