From e523dde4d9f2ee0f6168fab3696ed4aeb59fc69a Mon Sep 17 00:00:00 2001 From: Titouan CREACH Date: Sun, 10 Nov 2024 08:17:58 +0100 Subject: [PATCH] chore: update to effet 3.10 (#720) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: update to effet 3.10 * fix: remove package-lock and regenerate bun * fix: remove @effect/schema from the peerDependencies. * chore(effect-ts): adjusts microbundle build * docs: update effect README --------- Co-authored-by: André König Co-authored-by: Louis Orleans --- README.md | 4 ++-- bun.lockb | Bin 308224 -> 307829 bytes effect-ts/package.json | 3 +-- .../src/__tests__/Form-native-validation.tsx | 6 +++--- effect-ts/src/__tests__/Form.tsx | 6 +++--- effect-ts/src/__tests__/__fixtures__/data.ts | 4 ++-- effect-ts/src/effect-ts.ts | 10 ++++++---- effect-ts/src/types.ts | 4 ++-- package.json | 7 +++---- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 07a0362f..b0273b5f 100644 --- a/README.md +++ b/README.md @@ -653,13 +653,13 @@ const App = () => { A powerful TypeScript framework that provides a fully-fledged functional effect system with a rich standard library. -[![npm](https://img.shields.io/bundlephobia/minzip/@effect/schema?style=for-the-badge)](https://bundlephobia.com/result?p=effect) +[![npm](https://img.shields.io/bundlephobia/minzip/effect?style=for-the-badge)](https://bundlephobia.com/result?p=effect) ```typescript jsx import React from 'react'; import { useForm } from 'react-hook-form'; import { effectTsResolver } from '@hookform/resolvers/effect-ts'; -import { Schema } from '@effect/schema'; +import { Schema } from 'effect'; const schema = Schema.Struct({ username: Schema.String.pipe( diff --git a/bun.lockb b/bun.lockb index ec887df0044d785a3796c48e6e96a9e3b83466db..6dddebc4f7d23f85a94ca125e4f1abdd21bad57d 100755 GIT binary patch delta 44577 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 G_?N_s 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 USERNAME_REQUIRED_MESSAGE }), + Schema.nonEmptyString({ message: () => USERNAME_REQUIRED_MESSAGE }), ), password: Schema.String.pipe( - Schema.nonEmpty({ message: () => PASSWORD_REQUIRED_MESSAGE }), + Schema.nonEmptyString({ message: () => PASSWORD_REQUIRED_MESSAGE }), ), }); diff --git a/effect-ts/src/__tests__/Form.tsx b/effect-ts/src/__tests__/Form.tsx index ee6a84a5..d3f6fd2f 100644 --- a/effect-ts/src/__tests__/Form.tsx +++ b/effect-ts/src/__tests__/Form.tsx @@ -1,6 +1,6 @@ -import { Schema } from '@effect/schema'; import { render, screen } from '@testing-library/react'; import user from '@testing-library/user-event'; +import { Schema } from 'effect'; import React from 'react'; import { useForm } from 'react-hook-form'; import { effectTsResolver } from '..'; @@ -10,10 +10,10 @@ const PASSWORD_REQUIRED_MESSAGE = 'password field is required'; const schema = Schema.Struct({ username: Schema.String.pipe( - Schema.nonEmpty({ message: () => USERNAME_REQUIRED_MESSAGE }), + Schema.nonEmptyString({ message: () => USERNAME_REQUIRED_MESSAGE }), ), password: Schema.String.pipe( - Schema.nonEmpty({ message: () => PASSWORD_REQUIRED_MESSAGE }), + Schema.nonEmptyString({ message: () => PASSWORD_REQUIRED_MESSAGE }), ), }); diff --git a/effect-ts/src/__tests__/__fixtures__/data.ts b/effect-ts/src/__tests__/__fixtures__/data.ts index a74af9e6..90368e47 100644 --- a/effect-ts/src/__tests__/__fixtures__/data.ts +++ b/effect-ts/src/__tests__/__fixtures__/data.ts @@ -1,9 +1,9 @@ -import { Schema } from '@effect/schema'; +import { Schema } from 'effect'; import { Field, InternalFieldName } from 'react-hook-form'; export const schema = Schema.Struct({ username: Schema.String.pipe( - Schema.nonEmpty({ message: () => 'A username is required' }), + Schema.nonEmptyString({ message: () => 'A username is required' }), ), password: Schema.String.pipe( Schema.pattern(new RegExp('.*[A-Z].*'), { diff --git a/effect-ts/src/effect-ts.ts b/effect-ts/src/effect-ts.ts index 0dc8f818..f3b8ba70 100644 --- a/effect-ts/src/effect-ts.ts +++ b/effect-ts/src/effect-ts.ts @@ -1,7 +1,7 @@ -import { formatIssue } from '@effect/schema/ArrayFormatter'; -import { decodeUnknown } from '@effect/schema/ParseResult'; import { toNestErrors, validateFieldsNatively } from '@hookform/resolvers'; -import * as Effect from 'effect/Effect'; +import { Effect } from 'effect'; + +import { ArrayFormatter, decodeUnknown } from 'effect/ParseResult'; import type { FieldErrors } from 'react-hook-form'; import type { Resolver } from './types'; @@ -12,7 +12,9 @@ export const effectTsResolver: Resolver = schema, config, )(values).pipe( - Effect.catchAll((parseIssue) => Effect.flip(formatIssue(parseIssue))), + Effect.catchAll((parseIssue) => + Effect.flip(ArrayFormatter.formatIssue(parseIssue)), + ), Effect.mapError((issues) => { const errors = issues.reduce((acc, current) => { const key = current.path.join('.'); diff --git a/effect-ts/src/types.ts b/effect-ts/src/types.ts index 25b6d367..4be50137 100644 --- a/effect-ts/src/types.ts +++ b/effect-ts/src/types.ts @@ -1,5 +1,5 @@ -import { Schema } from '@effect/schema'; -import { ParseOptions } from '@effect/schema/AST'; +import { Schema } from 'effect'; +import { ParseOptions } from 'effect/SchemaAST'; import { FieldValues, ResolverOptions, ResolverResult } from 'react-hook-form'; export type Resolver = ( diff --git a/package.json b/package.json index 660e4cab..1dc5734f 100644 --- a/package.json +++ b/package.json @@ -208,7 +208,7 @@ "build:arktype": "microbundle --cwd arktype --globals @hookform/resolvers=hookformResolvers,react-hook-form=ReactHookForm", "build:valibot": "microbundle --cwd valibot --globals @hookform/resolvers=hookformResolvers,react-hook-form=ReactHookForm", "build:typeschema": "microbundle --cwd typeschema --globals @hookform/resolvers=hookformResolvers,react-hook-form=ReactHookForm,@typeschema/main=main", - "build:effect-ts": "microbundle --cwd effect-ts --globals @hookform/resolvers=hookformResolvers,react-hook-form=ReactHookForm,@effect/schema=EffectSchema,@effect/schema/AST=EffectSchemaAST,@effect/schema/ArrayFormatter=EffectSchemaArrayFormatter,@effect/schema/ParseResult=EffectSchemaArrayFormatter,effect/Effect=Effect", + "build:effect-ts": "microbundle --cwd effect-ts --globals @hookform/resolvers=hookformResolvers,react-hook-form=ReactHookForm,effect=Effect,effect/SchemaAST=EffectSchemaAST,effect/ParseResult=EffectParseResult", "build:vine": "microbundle --cwd vine --globals @hookform/resolvers=hookformResolvers,react-hook-form=ReactHookForm,@vinejs/vine=vine", "build:fluentvalidation-ts": "microbundle --cwd fluentvalidation-ts --globals @hookform/resolvers=hookformResolvers,react-hook-form=ReactHookForm", "postbuild": "node ./config/node-13-exports.js && check-export-map", @@ -256,7 +256,6 @@ }, "homepage": "https://react-hook-form.com", "devDependencies": { - "@effect/schema": "^0.68.17", "@sinclair/typebox": "^0.32.34", "@testing-library/dom": "^10.3.1", "@testing-library/jest-dom": "^6.4.6", @@ -277,7 +276,7 @@ "class-validator": "^0.14.1", "computed-types": "^1.11.2", "cross-env": "^7.0.3", - "effect": "^3.4.7", + "effect": "^3.10.3", "fluentvalidation-ts": "^3.2.0", "fp-ts": "^2.16.7", "io-ts": "^2.2.21", @@ -308,4 +307,4 @@ "peerDependencies": { "react-hook-form": "^7.0.0" } -} \ No newline at end of file +}