fix(types): align ValidationErrorItem typings with runtime (v6 backport)#18159
fix(types): align ValidationErrorItem typings with runtime (v6 backport)#18159abdelrahmanSheref101 wants to merge 2 commits intosequelize:v6sequelize/sequelize:v6from abdelrahmanSheref101:fix/v6-typings-validation-errorabdelrahmanSheref101/sequelize:fix/v6-typings-validation-errorCopy head branch name to clipboard
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip CodeRabbit can enforce grammar and style rules using `languagetool`.Configure the |
Pull Request Checklist
No — this change is a typing/runtime alignment; existing tests pass. I can add a test if maintainers want one.
No — not required for this small typings fix.
Yes — updated
ValidationErrorItemTypeand the constructor behavior so generated.d.tsmatches runtime.No issue link — described the problem below.
Yes —
fix(types): align ValidationErrorItem typings with runtime (v6 backport).Description of Changes
The published v6 package shipped
.d.tswith lowercase enum keys while runtime throws capitalized type strings (e.g."notNull Violation","Validation error"). This caused a mismatch for TypeScript consumers.This PR backports a minimal, safe fix for v6:
ValidationErrorItemTypeenum to use the canonical runtime keys (so generated.d.tsreflects what is actually thrown).ValidationErrorItemconstructor accept type strings case-insensitively and preserve the original passed form inthis.type, while mapping to the canonicaloriginvalue internally.Files changed:
packages/core/src/errors/validation-error.ts(enum + constructor logic)Behavior:
.d.tsnow matches runtime values, so TypeScript consumers on v6 get correct typings.List of Breaking Changes
Testing / How I verified
Locally:
yarn install --immutable yarn build yarn testIf you prefer, I can add a small unit/integration test asserting
ValidationErrorItem.typefor the specific cases; otherwise this remains a focused, low-risk backport.If you want I can also attach the
diff -uoutput (pack vs. built) to the PR comments.