@reventlessdev/reventless-ppx 1.0.0-alpha.52 → 1.0.0-alpha.53
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.
- package/README.md +66 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
[](https://www.npmjs.com/package/@reventlessdev/reventless-ppx)
|
|
2
|
+
[](https://opensource.org/licenses/Apache-2.0)
|
|
3
|
+
[](https://docs.reventless.dev)
|
|
4
|
+
|
|
5
|
+
# @reventlessdev/reventless-ppx
|
|
6
|
+
|
|
7
|
+
> ⚠️ **Alpha.** APIs and on-disk formats can change without notice between releases.
|
|
8
|
+
> Pin exact versions and expect breaking changes.
|
|
9
|
+
|
|
10
|
+
The **ReScript PPX** for [Reventless](https://docs.reventless.dev) — a spec-driven,
|
|
11
|
+
event-sourced CQRS framework written in [ReScript](https://rescript-lang.org). It
|
|
12
|
+
is a compile-time preprocessor (native OCaml binary) that eliminates boilerplate
|
|
13
|
+
from Reventless application code by deriving framework metadata and wiring
|
|
14
|
+
directly from your component definitions.
|
|
15
|
+
|
|
16
|
+
## What it provides
|
|
17
|
+
|
|
18
|
+
A single PPX binary, invoked by the ReScript compiler, that runs a set of
|
|
19
|
+
transforms over component source — among them: display-name and reference
|
|
20
|
+
inference, DCB tag and read-consistency inference, GWT test inference,
|
|
21
|
+
authorization injection, allowed-states annotations, and module-URL derivation.
|
|
22
|
+
|
|
23
|
+
The package ships as a thin launcher that resolves a **prebuilt per-platform
|
|
24
|
+
binary** installed as an optional dependency
|
|
25
|
+
(`@reventlessdev/reventless-ppx-<platform>`), published for **macOS arm64** and
|
|
26
|
+
**Linux x64** — so it installs automatically with no authentication. On platforms
|
|
27
|
+
with no prebuilt binary (e.g. macOS x64, Linux arm64, Windows via WSL2), it is
|
|
28
|
+
built from source with the OCaml toolchain (`opam` + `dune`).
|
|
29
|
+
|
|
30
|
+
## Where it fits
|
|
31
|
+
|
|
32
|
+
This is build tooling shared across the framework and its example apps, not a
|
|
33
|
+
runtime library. It is referenced from a package's `rescript.json` `ppx-flags`
|
|
34
|
+
and runs only at compile time.
|
|
35
|
+
|
|
36
|
+
## Install
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
pnpm add -D @reventlessdev/reventless-ppx
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Register it in `rescript.json`:
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"ppx-flags": ["@reventlessdev/reventless-ppx/bin"]
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The matching platform binary is pulled in automatically via optional
|
|
51
|
+
dependencies. On an unsupported platform, build from source (requires the OCaml
|
|
52
|
+
toolchain):
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
cd src && opam exec -- dune build
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Links
|
|
59
|
+
|
|
60
|
+
- 📚 Documentation — [docs.reventless.dev](https://docs.reventless.dev)
|
|
61
|
+
- 📦 Repository — [ReventlessDev/reventless-core](https://github.com/ReventlessDev/reventless-core)
|
|
62
|
+
- 📋 [Changelog](./CHANGELOG.md)
|
|
63
|
+
|
|
64
|
+
## License
|
|
65
|
+
|
|
66
|
+
[Apache-2.0](https://opensource.org/licenses/Apache-2.0)
|