4478598f15
## 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
116 lines
2.9 KiB
JSON
116 lines
2.9 KiB
JSON
{
|
|
"name": "effect-fc-next",
|
|
"description": "Write React function components with Effect",
|
|
"version": "0.1.0-beta.0",
|
|
"type": "module",
|
|
"files": [
|
|
"./README.md",
|
|
"./dist"
|
|
],
|
|
"license": "MIT",
|
|
"repository": {
|
|
"url": "git+https://github.com/Thiladev/effect-fc.git"
|
|
},
|
|
"types": "./dist/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"default": "./dist/index.js"
|
|
},
|
|
"./Async": {
|
|
"types": "./dist/Async.d.ts",
|
|
"default": "./dist/Async.js"
|
|
},
|
|
"./Component": {
|
|
"types": "./dist/Component.d.ts",
|
|
"default": "./dist/Component.js"
|
|
},
|
|
"./Form": {
|
|
"types": "./dist/Form.d.ts",
|
|
"default": "./dist/Form.js"
|
|
},
|
|
"./Lens": {
|
|
"types": "./dist/Lens.d.ts",
|
|
"default": "./dist/Lens.js"
|
|
},
|
|
"./LensForm": {
|
|
"types": "./dist/LensForm.d.ts",
|
|
"default": "./dist/LensForm.js"
|
|
},
|
|
"./Memoized": {
|
|
"types": "./dist/Memoized.d.ts",
|
|
"default": "./dist/Memoized.js"
|
|
},
|
|
"./Mutation": {
|
|
"types": "./dist/Mutation.d.ts",
|
|
"default": "./dist/Mutation.js"
|
|
},
|
|
"./MutationForm": {
|
|
"types": "./dist/MutationForm.d.ts",
|
|
"default": "./dist/MutationForm.js"
|
|
},
|
|
"./PubSub": {
|
|
"types": "./dist/PubSub.d.ts",
|
|
"default": "./dist/PubSub.js"
|
|
},
|
|
"./Query": {
|
|
"types": "./dist/Query.d.ts",
|
|
"default": "./dist/Query.js"
|
|
},
|
|
"./QueryClient": {
|
|
"types": "./dist/QueryClient.d.ts",
|
|
"default": "./dist/QueryClient.js"
|
|
},
|
|
"./ReactRuntime": {
|
|
"types": "./dist/ReactRuntime.d.ts",
|
|
"default": "./dist/ReactRuntime.js"
|
|
},
|
|
"./Refreshable": {
|
|
"types": "./dist/Refreshable.d.ts",
|
|
"default": "./dist/Refreshable.js"
|
|
},
|
|
"./ScopeRegistry": {
|
|
"types": "./dist/ScopeRegistry.d.ts",
|
|
"default": "./dist/ScopeRegistry.js"
|
|
},
|
|
"./SetStateAction": {
|
|
"types": "./dist/SetStateAction.d.ts",
|
|
"default": "./dist/SetStateAction.js"
|
|
},
|
|
"./Stream": {
|
|
"types": "./dist/Stream.d.ts",
|
|
"default": "./dist/Stream.js"
|
|
},
|
|
"./View": {
|
|
"types": "./dist/View.d.ts",
|
|
"default": "./dist/View.js"
|
|
}
|
|
},
|
|
"scripts": {
|
|
"lint:tsc": "tsc -b --noEmit",
|
|
"lint:biome": "biome lint",
|
|
"test": "vitest run",
|
|
"build": "tsc -b tsconfig.build.json",
|
|
"pack": "npm pack",
|
|
"clean:cache": "rm -rf .turbo *.tsbuildinfo",
|
|
"clean:dist": "rm -rf dist",
|
|
"clean:modules": "rm -rf node_modules"
|
|
},
|
|
"devDependencies": {
|
|
"@effect/platform-browser": "4.0.0-beta.98",
|
|
"@testing-library/react": "^16.3.0",
|
|
"effect": "4.0.0-beta.98",
|
|
"jsdom": "^26.1.0",
|
|
"vitest": "^3.2.4"
|
|
},
|
|
"peerDependencies": {
|
|
"@types/react": "^19.2.0",
|
|
"effect": "4.0.0-beta.98",
|
|
"react": "^19.2.0"
|
|
},
|
|
"dependencies": {
|
|
"@standard-schema/spec": "^1.1.0",
|
|
"effect-lens": "^2.0.0-beta.1"
|
|
}
|
|
}
|