Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce superstruct resolver size #128

Merged
merged 11 commits into from
Feb 3, 2021
Merged

Conversation

jorisre
Copy link
Member

@jorisre jorisre commented Feb 3, 2021

I removed criteriaMode because Superstruct can't return all errors for a same field. By removing criteriaMode the bundle's size is reduced by ~74%. We just have to add an explanation about Superstruct resolver in the new documentation for users.
Let me know if you're ok with these changes

I found an explanation about errors in typings:
carbon

@jorisre jorisre requested a review from bluebill1049 February 3, 2021 13:02
@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2021

Size Change: -3.12 kB (-19%) 👏

Total Size: 13.1 kB

Filename Size Change
superstruct/dist/superstruct.js 269 B -793 B (-75%) 🏆
superstruct/dist/superstruct.modern.js 274 B -735 B (-73%) 🏆
superstruct/dist/superstruct.module.js 282 B -802 B (-74%) 🏆
superstruct/dist/superstruct.umd.js 367 B -791 B (-68%) 🏆
ℹ️ View Unchanged
Filename Size Change
dist/resolvers.js 272 B 0 B
dist/resolvers.modern.js 281 B 0 B
dist/resolvers.module.js 285 B 0 B
dist/resolvers.umd.js 367 B 0 B
joi/dist/joi.js 708 B 0 B
joi/dist/joi.modern.js 586 B 0 B
joi/dist/joi.module.js 720 B 0 B
joi/dist/joi.umd.js 806 B 0 B
vest/dist/vest.js 714 B 0 B
vest/dist/vest.modern.js 657 B 0 B
vest/dist/vest.module.js 724 B 0 B
vest/dist/vest.umd.js 793 B 0 B
yup/dist/yup.js 755 B 0 B
yup/dist/yup.modern.js 650 B 0 B
yup/dist/yup.module.js 769 B 0 B
yup/dist/yup.umd.js 848 B 0 B
zod/dist/zod.js 470 B 0 B
zod/dist/zod.modern.js 408 B 0 B
zod/dist/zod.module.js 485 B 0 B
zod/dist/zod.umd.js 578 B 0 B

compressed-size-action

@@ -12,6 +12,7 @@
"license": "MIT",
"peerDependencies": {
"react-hook-form": ">=6.6.0",
"@hookform/resolvers": "^1.0.0"
"@hookform/resolvers": "^1.0.0",
"superstruct": ">+0.12.0"
Copy link
Member Author

@jorisre jorisre Feb 3, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Force inlining superstruct

@bluebill1049
Copy link
Member

Oh, I didn't know about this. Thanks for digging into that. I will include that in the doc.

@jorisre jorisre changed the base branch from add-error-ref to beta February 3, 2021 21:49
@jorisre jorisre merged commit 0ddf75a into beta Feb 3, 2021
@jorisre jorisre deleted the reduce-superstruct-resolver-size branch February 3, 2021 22:01
@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2021

🎉 This PR is included in version 2.0.0-beta.11 🎉

The release is available on:

Your semantic-release bot 📦🚀

@jorisre jorisre mentioned this pull request Mar 3, 2021
5 tasks
jorisre added a commit that referenced this pull request Apr 2, 2021
* feat: V2 init

BREAKING CHANGE: there will be some breaking changes in the next versions

* feat: improve modules support

* fix: yup resolver typescript errors

* Fix: vest validate all criteria + better TypeSript support + add tests

* test: add components test to ensure TypeScript is working as expected

Related to #97

* chore: improve zod resolvers types

* chore(eslint): remove warnings

* test: add severals tests & improve typings

* chore: setup compressed-size

* test: update describe

* feat: add Zod sync validation (#114)

* feat: add Joi sync validation (#116)

* feat: add Joi sync validation

* fix(joi): sync error

* test: add validateAllCriteria test

* test(joi): update test description

* feat: add Yup sync validation (#115)

* feat: add Yup sync validation

* test(zod): add tests

* test(zod): update tests

* test(yup): add validateAllCriteria test

* feat: add Vest sync validation + update to v3 (#117)

* feat: update to react-hook-form v7

BREAKING CHANGE: Require react-hook-form >= 7

* chore: fix typescript error (#123)

* chore: update deps

* chore: fix TypeScript error

* refactor: replace deprecated transformToNestObject (#125)

* fix: pass down Joi context (#124)

* fix: zod union error + reduce size (#126)

* test: extract fixtures

* fix: zod resolver union error + reduce resolver size

* feat: add error's ref (#127)

* feat: add error's ref

* test: add error's ref + extract fixtures

* test: add nested test

* refactor: rename toNestObject to toNestError

* Reduce superstruct resolver size (#128)

* test: extract test's fixtures

* test: jest fixtures config

* perf: reduce superstruct resolver size

* feat: add error's ref

* test: add error's ref + extract fixtures

* test: add nested test

* refactor: rename toNestObject to toNestError

* refactor: remove duplicate line

* chore: update superstruct peer dep

* perf: reduce vest resolver size (#129)

* test: extract test's fixtures

* test: jest fixtures config

* perf: reduce superstruct resolver size

* feat: add error's ref

* test: add error's ref + extract fixtures

* test: add nested test

* refactor: rename toNestObject to toNestError

* refactor: remove duplicate line

* perf: recude vest resolver bundle size

* perf: reduce joi resolver's size (#131)

* perf: reduce Joi resolver's size

* perf: reduce Vest resolver's size

* perf: reduce yup resolver's size (#130)

* refactor: remove convertArrayToPathName (#132)

* perf: reduce joi and yup bundle size (#134)

* fix(types): add Lazy schema support to resolver

* docs: v2 doc (#136)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants