From 870fe479c3e7fb4a6d10fd13eedd00f5e4bc3503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Sun, 13 Apr 2025 00:23:40 +0200 Subject: [PATCH] Form package --- bun.lock | 24 +++++++++--- packages/extension-form/README.md | 9 +++++ packages/extension-form/package.json | 40 ++++++++++++++++++++ packages/extension-form/src/FormExtension.ts | 9 +++++ packages/extension-form/src/index.ts | 1 + packages/extension-form/tsconfig.json | 33 ++++++++++++++++ 6 files changed, 111 insertions(+), 5 deletions(-) create mode 100644 packages/extension-form/README.md create mode 100644 packages/extension-form/package.json create mode 100644 packages/extension-form/src/FormExtension.ts create mode 100644 packages/extension-form/src/index.ts create mode 100644 packages/extension-form/tsconfig.json diff --git a/bun.lock b/bun.lock index 3d51717..deb79f7 100644 --- a/bun.lock +++ b/bun.lock @@ -46,9 +46,21 @@ "vite": "^6.2.6", }, }, + "packages/extension-form": { + "name": "@reffuse/extension-form", + "version": "0.1.0", + "devDependencies": { + "reffuse": "workspace:*", + }, + "peerDependencies": { + "effect": "^3.13.0", + "react": "^19.0.0", + "reffuse": "^0.1.6", + }, + }, "packages/extension-lazyref": { "name": "@reffuse/extension-lazyref", - "version": "0.1.1", + "version": "0.1.2", "devDependencies": { "reffuse": "workspace:*", }, @@ -57,12 +69,12 @@ "@types/react": "^19.0.0", "effect": "^3.13.0", "react": "^19.0.0", - "reffuse": "^0.1.4", + "reffuse": "^0.1.6", }, }, "packages/extension-query": { "name": "@reffuse/extension-query", - "version": "0.1.2", + "version": "0.1.3", "devDependencies": { "reffuse": "workspace:*", }, @@ -73,12 +85,12 @@ "@types/react": "^19.0.0", "effect": "^3.13.0", "react": "^19.0.0", - "reffuse": "^0.1.4", + "reffuse": "^0.1.6", }, }, "packages/reffuse": { "name": "reffuse", - "version": "0.1.5", + "version": "0.1.6", "peerDependencies": { "@types/react": "^19.0.0", "effect": "^3.13.0", @@ -363,6 +375,8 @@ "@reffuse/example": ["@reffuse/example@workspace:packages/example"], + "@reffuse/extension-form": ["@reffuse/extension-form@workspace:packages/extension-form"], + "@reffuse/extension-lazyref": ["@reffuse/extension-lazyref@workspace:packages/extension-lazyref"], "@reffuse/extension-query": ["@reffuse/extension-query@workspace:packages/extension-query"], diff --git a/packages/extension-form/README.md b/packages/extension-form/README.md new file mode 100644 index 0000000..fcf0a16 --- /dev/null +++ b/packages/extension-form/README.md @@ -0,0 +1,9 @@ +# LazyRef extension for Reffuse + +Extension to integrate `@typed/lazy-ref` with Reffuse. + +## Peer dependencies +- `@typed/lazy-ref` +- `reffuse` 0.1.3+ +- `effect` 3.13+ +- `react` & `@types/react` 19+ diff --git a/packages/extension-form/package.json b/packages/extension-form/package.json new file mode 100644 index 0000000..bf44f24 --- /dev/null +++ b/packages/extension-form/package.json @@ -0,0 +1,40 @@ +{ + "name": "@reffuse/extension-form", + "version": "0.1.0", + "type": "module", + "files": [ + "./README.md", + "./dist" + ], + "license": "MIT", + "repository": { + "url": "git+https://github.com/Thiladev/reffuse.git" + }, + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./*": { + "types": "./dist/*.d.ts", + "default": "./dist/*.js" + } + }, + "scripts": { + "build": "tsc", + "lint:tsc": "tsc --noEmit", + "pack": "npm pack", + "clean:cache": "rm -f tsconfig.tsbuildinfo", + "clean:dist": "rm -rf dist", + "clean:node": "rm -rf node_modules" + }, + "devDependencies": { + "reffuse": "workspace:*" + }, + "peerDependencies": { + "effect": "^3.13.0", + "react": "^19.0.0", + "reffuse": "^0.1.6" + } +} diff --git a/packages/extension-form/src/FormExtension.ts b/packages/extension-form/src/FormExtension.ts new file mode 100644 index 0000000..41b50a4 --- /dev/null +++ b/packages/extension-form/src/FormExtension.ts @@ -0,0 +1,9 @@ +import { ReffuseExtension, type ReffuseNamespace } from "reffuse" + + +export const FormExtension = ReffuseExtension.make(() => ({ + useForm( + this: ReffuseNamespace.ReffuseNamespace, + ) { + }, +})) diff --git a/packages/extension-form/src/index.ts b/packages/extension-form/src/index.ts new file mode 100644 index 0000000..f13b7fc --- /dev/null +++ b/packages/extension-form/src/index.ts @@ -0,0 +1 @@ +export * from "./FormExtension.js" diff --git a/packages/extension-form/tsconfig.json b/packages/extension-form/tsconfig.json new file mode 100644 index 0000000..eea16a8 --- /dev/null +++ b/packages/extension-form/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + // Enable latest features + "lib": ["ESNext", "DOM"], + "target": "ESNext", + "module": "NodeNext", + "moduleDetection": "force", + "jsx": "react-jsx", + // "allowJs": true, + + // Bundler mode + "moduleResolution": "NodeNext", + // "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + // "noEmit": true, + + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false, + + // Build + "outDir": "./dist", + "declaration": true + }, + + "include": ["./src"] +}