purescript-analyzer is a compiler frontend for the PureScript programming language.
The project uses the following development dependencies, please install them through cargo install or your preferred package manager. The project assumes some level of familiarity with these tools, but we're always happy to help with any contribution related questions.
To get started, build the crates in compiler-core and compiler-lsp:
$ cargo buildWhen working on individual crates, we recommend running tests with the -p flag:
$ cargo nextest -p indexingLikewise, we also have an integration test suite, tests-integration, to track changes in compiler behaviour using snapshots:
$ just integration
# It also accepts command line arguments for `cargo nextest run`
$ just integration --test resolving 001We also have compatibility tests against the package set, tests-package-set, and it requires a little bit more setup:
$ cd tests-package-set && pnpm install && node download-registry.js && cd ..
$ cargo nextest run -p tests-package-setThere are just rules for generating and inspecting coverage information:
$ just coverage
$ just coverage-html