Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 32 additions & 1 deletion README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Add to your `rescript.json`:
[source,json]
----
{
"bs-dependencies": ["rescript-tea", "@rescript/react"]
"dependencies": ["rescript-tea", "@rescript/react"]
}
----

Expand Down Expand Up @@ -292,6 +292,37 @@ This provides a seamless integration with React while maintaining TEA's guarante
|Pure functions = easy testing
|===

== Package Guarantees

=== No Hidden Runtime Dependencies

rescript-tea has *zero hidden runtime dependencies*. The only runtime dependencies are the explicitly declared peer dependencies:

* `react` / `react-dom` - For rendering
* `@rescript/react` - ReScript React bindings
* `rescript` - ReScript compiler/runtime

All functionality is implemented in pure ReScript with no external JavaScript libraries bundled or required. What you see in `peerDependencies` is exactly what you get.

=== Stable API Surface

The public API is explicitly defined in `.resi` interface files:

* `Tea.resi` - Main module re-exports
* `Tea_Cmd.resi` - Command types and constructors
* `Tea_Sub.resi` - Subscription types and constructors
* `Tea_Json.resi` - JSON decoding combinators
* `Tea_Http.resi` - HTTP request helpers
* `Tea_Html.resi` - HTML element helpers
* `Tea_App.resi` - Application functors
* `Tea_Test.resi` - Testing utilities

Only types and functions exposed in these interfaces are part of the public API. Internal implementation details may change between versions, but the public API follows semantic versioning:

* *Patch* (0.0.x): Bug fixes, no API changes
* *Minor* (0.x.0): Additions only, backwards compatible
* *Major* (x.0.0): Breaking changes (rare, well-documented)

== License

This project is dual-licensed under:
Expand Down
Loading