Skip to content

Commit c90dd62

Browse files
Claude/verify npm packaging f oiu6 (#20)
Co-authored-by: Claude <noreply@anthropic.com>
1 parent e773be7 commit c90dd62

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

README.adoc

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Add to your `rescript.json`:
3434
[source,json]
3535
----
3636
{
37-
"bs-dependencies": ["rescript-tea", "@rescript/react"]
37+
"dependencies": ["rescript-tea", "@rescript/react"]
3838
}
3939
----
4040

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

295+
== Package Guarantees
296+
297+
=== No Hidden Runtime Dependencies
298+
299+
rescript-tea has *zero hidden runtime dependencies*. The only runtime dependencies are the explicitly declared peer dependencies:
300+
301+
* `react` / `react-dom` - For rendering
302+
* `@rescript/react` - ReScript React bindings
303+
* `rescript` - ReScript compiler/runtime
304+
305+
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.
306+
307+
=== Stable API Surface
308+
309+
The public API is explicitly defined in `.resi` interface files:
310+
311+
* `Tea.resi` - Main module re-exports
312+
* `Tea_Cmd.resi` - Command types and constructors
313+
* `Tea_Sub.resi` - Subscription types and constructors
314+
* `Tea_Json.resi` - JSON decoding combinators
315+
* `Tea_Http.resi` - HTTP request helpers
316+
* `Tea_Html.resi` - HTML element helpers
317+
* `Tea_App.resi` - Application functors
318+
* `Tea_Test.resi` - Testing utilities
319+
320+
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:
321+
322+
* *Patch* (0.0.x): Bug fixes, no API changes
323+
* *Minor* (0.x.0): Additions only, backwards compatible
324+
* *Major* (x.0.0): Breaking changes (rare, well-documented)
325+
295326
== License
296327

297328
This project is dual-licensed under:

0 commit comments

Comments
 (0)