git.iko.soy/rowtype-yoga/purslint
on main help sign in
Update README for Node-based build and demo video.

Document the JS toolchain and embed the demo clip under the logo.

commite248083807596d6df8c6e64438cc8f5522a8d8ae authorMark <mark.eibes@gmail.com> dateThu 29 Jan 2026, 15:23 (8 months ago) parent9f2adcd
2 files changed+20−26
README.md+20−26 demo.mp4
README.md+20−26
@@ -1,6 +1,11 @@
11# PureLint
22
3−![Purslint logo](vscode-extension/purslint.jpg)
3+<p align="center">
4+ <img src="vscode-extension/purslint.jpg" alt="Purslint logo" width="180" />
5+</p>
6+<p align="center">
7+ <video src="demo.mp4" width="480" controls playsinline></video>
8+</p>
49
510A PureScript linter inspired by [hlint](https://github.com/ndmitchell/hlint), providing suggestions for cleaner, more idiomatic PureScript code.
611
@@ -25,33 +30,19 @@ purelint --help
2530
2631- [PureScript](https://www.purescript.org/) compiler (`purs`)
2732- [Spago](https://github.com/purescript/spago) package manager
28−- [Go](https://golang.org/) 1.19+
29−- [psgo](https://github.com/puregocore/psgo) - PureScript to Go compiler
33+- [Node.js](https://nodejs.org/) 18+
3034
3135### Building
3236
3337```bash
3438# Install dependencies
35−spago install
36−
37−# Build CLI
38−purs compile --codegen corefn 'lib/**/*.purs' 'bin/purslint-cli/**/*.purs' '.spago/**/*.purs'
39−psgo output/*/corefn.json
40−cp output/Main/Main.go main_cli.go
41−go build -o purelint main_cli.go
42−
43−# Build LSP
44−purs compile --codegen corefn 'lib/**/*.purs' 'bin/purslint-lsp/**/*.purs' '.spago/**/*.purs'
45−psgo output/*/corefn.json
46−cp output/Main/Main.go main_lsp.go
47−go build -o purelint-lsp main_lsp.go
48−
49−# Build and run tests
50−purs compile --codegen corefn 'lib/**/*.purs' 'test/**/*.purs' '.spago/**/*.purs'
51−psgo output/*/corefn.json
52−cp output/Test.Main/Test_Main.go test_main.go
53−go build -o test-runner test_main.go
54−./test-runner
39+npm install
40+
41+# Build and bundle CLI + LSP
42+npm run dist
43+
44+# Run tests
45+npm test
5546```
5647
5748## Usage
@@ -118,11 +109,12 @@ Create a `purelint.json` file in your project root:
118109
119110## Architecture
120111
121−PureLint is written in PureScript and compiled to Go using `psgo` (purescript-native). This allows:
112+PureLint is written in PureScript and compiled to JavaScript via
113+`purs-backend-es`, then bundled for Node.js. This allows:
122114
123115- Full access to the PureScript CST parser (`purescript-language-cst-parser`)
124−- Native binary performance
125−- Easy distribution without runtime dependencies
116+- Straightforward distribution via npm
117+- A single runtime across CLI and LSP
126118
127119### Project Structure
128120
@@ -162,6 +154,8 @@ via the workflow dispatch.
162154
163155- `purescript-language-cst-parser` - PureScript CST parser
164156- `purescript-lsp` - LSP protocol implementation (Go FFI)
157+- `purs-backend-es` - PureScript to JavaScript backend
158+- `esbuild` - Bundler for CLI and LSP
165159
166160## License
167161
demo.mp4new file

Binary file not shown.