lanekeep 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +25 -11
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -97,23 +97,37 @@ A warm run with no changes executes no JavaScript at all — every file is a cac
97
97
 
98
98
  ## Installation
99
99
 
100
- Not yet published. The distribution is built and tested — one npm package per platform plus a
101
- launcher that resolves the right one, and every crate publishable to crates.io — but no
102
- version has been released yet.
100
+ Pick whichever matches the project you are adding it to:
103
101
 
104
- When it ships:
102
+ ```bash
103
+ npm install --save-dev lanekeep # Node
104
+ pip install lanekeep # Python
105
+ brew install fmsouza/tap/lanekeep # macOS and Linux, system-wide
106
+ cargo install lanekeep-cli # from source
107
+ ```
108
+
109
+ For a Go project, pin it in `go.mod` alongside your other tools:
105
110
 
106
111
  ```bash
107
- npm install --save-dev lanekeep # or: cargo install lanekeep-cli
112
+ go get -tool github.com/fmsouza/lanekeep/cmd/lanekeep
108
113
  ```
109
114
 
110
- A single static binary with the JavaScript engine compiled in. **Node.js is not required to
111
- run lanekeep**, even though rules are written in TypeScript it is required only to install
112
- it from npm, where it picks which binary to fetch.
115
+ then `go tool lanekeep check ./...`. Go can only install and pin things written in Go, so
116
+ that package is a small launcher which fetches the real binary on first use, verifies it
117
+ against the release's published checksums, and caches it. Set `LANEKEEP_BINARY` to an
118
+ already-installed lanekeep and it fetches nothing.
119
+
120
+ Or download a binary from the [releases page](https://github.com/fmsouza/lanekeep/releases).
121
+
122
+ A single static binary with the JavaScript engine compiled in. **No runtime is required to run
123
+ lanekeep**, even though rules are written in TypeScript — Node, Python or Go is needed only to
124
+ install it from that ecosystem, where it picks which binary to fetch. Nothing is pulled in as a
125
+ dependency any of those ways.
113
126
 
114
- Prebuilt for macOS on Apple silicon, Linux on x86-64 and arm64, and Windows on x86-64.
115
- Intel macOS is not prebuilt `cargo install lanekeep-cli` builds it from source, and the
116
- npm launcher says so rather than failing obscurely.
127
+ Prebuilt for macOS on Apple silicon, Linux on x86-64 and arm64, and Windows on x86-64. The
128
+ Linux binaries are built against glibc 2.17, so they run on anything from RHEL 7 onwards.
129
+ Intel macOS is not prebuilt `cargo install lanekeep-cli` builds it from source, and both the
130
+ npm launcher and the Homebrew formula say so rather than failing obscurely.
117
131
 
118
132
  See [`docs/releasing.md`](docs/releasing.md) for how a release is cut.
119
133
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lanekeep",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Deterministic, AST-based architectural conformance checking",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "repository": {
@@ -20,9 +20,9 @@
20
20
  "node": ">=18"
21
21
  },
22
22
  "optionalDependencies": {
23
- "@lanekeep/darwin-arm64": "0.3.1",
24
- "@lanekeep/linux-arm64": "0.3.1",
25
- "@lanekeep/linux-x64": "0.3.1",
26
- "@lanekeep/win32-x64": "0.3.1"
23
+ "@lanekeep/darwin-arm64": "0.4.0",
24
+ "@lanekeep/linux-arm64": "0.4.0",
25
+ "@lanekeep/linux-x64": "0.4.0",
26
+ "@lanekeep/win32-x64": "0.4.0"
27
27
  }
28
28
  }