Add Effect v4 support, Fast Refresh tooling, and revamped docs (#56)
## Summary - Add `effect-fc-next`, a React 19 integration targeting Effect v4 beta. - Introduce component lifecycles, scoped resources, queries, mutations, forms, lenses, views, and refreshable components. - Add `@effect-view/vite-plugin` for Vite Fast Refresh support. - Add an Effect v4 example application covering the new APIs. - Expand test coverage for both the existing and next-generation packages. - Replace the starter Docusaurus content with complete Effect View documentation while preserving the Effect v3 docs as a versioned snapshot. - Update the landing page, navigation, package scripts, and build output. - Extend CI with linting, tests, package builds, Docker builds, and container publishing. ## Validation - `bun lint:tsc` - `bun lint:biome` - `bun test` - `bun run build` - `bun pack` - Docker image build --------- Co-authored-by: Julien Valverdé <julien.valverde@mailo.com> Reviewed-on: Thilawyn/effect-fc#56
This commit was merged in pull request #56.
This commit is contained in:
@@ -1,7 +1,61 @@
|
||||
# Effect FC Monorepo
|
||||
<p align="center">
|
||||
<a href="https://thila.dev/effect-view">
|
||||
<img src="packages/docs/static/img/logo.svg" width="104" height="104" alt="Effect View logo" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
[Effect-TS](https://effect.website/) integration for React 19.2+ that allows you to write function components using Effect generators.
|
||||
<h1 align="center">Effect View Monorepo</h1>
|
||||
|
||||
This monorepo contains:
|
||||
- [The `effect-fc` library](packages/effect-fc)
|
||||
- [An example project](packages/example)
|
||||
<p align="center">
|
||||
Write React components as typed Effect programs.
|
||||
</p>
|
||||
|
||||
This repository contains Effect View, its documentation, development examples,
|
||||
and supporting tooling. Effect View brings Effect's typed services, resource
|
||||
safety, concurrency, and data modeling to React while keeping ordinary React
|
||||
components, hooks, and JSX.
|
||||
|
||||
## Packages
|
||||
|
||||
| Package | Description |
|
||||
| --- | --- |
|
||||
| [`effect-view`](packages/effect-fc-next) | The Effect View library for Effect v4 and React 19. |
|
||||
| [`@effect-view/vite-plugin`](packages/vite-plugin) | Vite Fast Refresh support for Effect View components. |
|
||||
| [`docs`](packages/docs) | The [Effect View documentation](https://thila.dev/effect-view), built with Docusaurus. |
|
||||
| [`example-next`](packages/example-next) | Example application using Effect View and Effect v4. |
|
||||
| [`effect-fc`](packages/effect-fc) | Legacy Effect v3 package. |
|
||||
| [`example`](packages/example) | Example application for the legacy package. |
|
||||
|
||||
## Development
|
||||
|
||||
The monorepo uses [Bun](https://bun.sh/) workspaces and
|
||||
[Turborepo](https://turbo.build/).
|
||||
|
||||
```bash
|
||||
bun install
|
||||
```
|
||||
|
||||
Run checks and builds from the repository root:
|
||||
|
||||
```bash
|
||||
bun run lint:tsc
|
||||
bun run lint:biome
|
||||
bun run test
|
||||
bun run build
|
||||
```
|
||||
|
||||
Start the Effect View example or documentation site:
|
||||
|
||||
```bash
|
||||
bun run --cwd packages/example-next dev
|
||||
bun run --cwd packages/docs start
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
Read the documentation at
|
||||
[thila.dev/effect-view](https://thila.dev/effect-view).
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
|
||||
Reference in New Issue
Block a user