@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.
Files changed (2) hide show
  1. package/README.md +66 -0
  2. package/package.json +1 -1
package/README.md ADDED
@@ -0,0 +1,66 @@
1
+ [![npm](https://img.shields.io/npm/v/@reventlessdev/reventless-ppx.svg?label=npm)](https://www.npmjs.com/package/@reventlessdev/reventless-ppx)
2
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
3
+ [![Docs](https://img.shields.io/badge/docs-reventless.dev-blue)](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)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/reventless-ppx",
3
- "version": "1.0.0-alpha.52",
3
+ "version": "1.0.0-alpha.53",
4
4
  "description": "ReScript PPX to eliminate boilerplate from Reventless application code",
5
5
  "license": "Apache-2.0",
6
6
  "files": [