https://github.com/natefaubion/purescript-psa
Error/Warning reporting frontend for the PureScript compiler
https://github.com/natefaubion/purescript-psa
Last synced: 10 months ago
JSON representation
Error/Warning reporting frontend for the PureScript compiler
- Host: GitHub
- URL: https://github.com/natefaubion/purescript-psa
- Owner: natefaubion
- License: mit
- Created: 2016-01-08T21:57:33.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-07-13T21:51:12.000Z (over 1 year ago)
- Last Synced: 2025-03-31T04:19:06.498Z (11 months ago)
- Language: PureScript
- Size: 91.8 KB
- Stars: 90
- Watchers: 8
- Forks: 12
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-purescript - purescript-psa
- awesome-purescript - purescript-psa - A pretty, flexible error/warning reporting frontend for `psc` (Build Tooling)
README
psa
===
A pretty, flexible error/warning reporting frontend for the PureScript compiler
(`psc`).
* Colors!
* Original source spans in errors
* Fine-grained warning filtering
* Warning persistence
Install
-------
```
npm install -g purescript-psa
```
Sample Usage
------------
Censor all warnings:
```
psa --censor-warnings
```
Censor library warnings:
```
psa --censor-lib
```
Censor source warnings:
```
psa --censor-src
```
Censor specific warning codes:
```
psa --censor-codes=ShadowedName,ImplicitImport,MissingTypeDeclaration
```
Only show specific warning codes:
```
psa --filter-codes=DeprecatedOperatorDecl,DeprecatedClassExport
```
Turn source warnings into errors:
```
psa --strict
```
**Note:** It's assumed `psc` is in your path. If you'd like to use a custom
binary location you can set the `--psc=/foo/bar/psc` flag.
Persisting Warnings
-------------------
`psc` does not persist warnings between compilations, but `psa` can do it with
the `--stash` flag. This serializes the set of warnings to disk and merges it
with the new set on each compilation.
```
psa --stash
```
If you are compiling multiple projects from the same root, you can specify
which stash file should be used:
```
psa --stash=.foo-stash
```
Usage with pulp
---------------
[Pulp](https://github.com/bodil/pulp) supports building with `psa`: it will be used by default if it is installed, and options will be passed through, eg:
```
pulp build -- --stash --censor-lib
```