Document datalog linter introduced in #4503

This commit is contained in:
Gabriel Horner
2022-03-11 14:52:31 -05:00
committed by Tienson Qin
parent 8d40c4667b
commit 320fbea9b9

View File

@@ -51,6 +51,13 @@ scripts/large_vars.clj
To configure the linter, see its `config` var.
### Datalog linting
We use [datascript](https://github.com/tonsky/datascript)'s datalog to power our modeling and querying layer. Since datalog is concise, it is easy to write something invalid. To avoid typos and other preventable mistakes, we lint our queries and rules. Our queries are linted through clj-kondo and [datalog-parser](https://github.com/lambdaforge/datalog-parser). clj-kondo will error if it detects an invalid query. Our rules are linted through a script that also uses the datalog-parser. To run this linter:
```
scripts/lint_rules.clj
```
## Testing
We have unit and end to end tests.