The PR contains a re-write done in Typescript, which ended up with handful of breaking changes. The breaking changes will be covered in depth in docs.
Highlights
Split packages into multiple sub-packages. This is something I recently realized, that with multiple small packages, you can test and benchmark them to find performance bottlenecks.
Use lerna monorepo for multiple packages
Use Typescript over Javascript
Use Circle CI over Travis. Don't know but Travis is getting worse day by day :(
Improvements
Split validation rules into sub directories based upon their type. Same will be done in docs too
With introduction of parser and compiler, now we can compile and cache schema definitions, resulting in unbelievable performance boost.
Some rules like number, date, string auto cast values (More in docs)
Improve tests to cover many edge cases (don't know why they were missing)
A brand new rules object to define rules as functions vs string. This looks sick 👌 when using Typescript.
Breaking changes
It's just an overview of Breaking changes.
No more sanitizations. The sanitizations were a bad abstraction for type casting values for validations (again more in docs)
No more browser build. However, since the entire code base is split into multiple packages, we can easily use those packages on browser with smaller build size.
Couple of rules will behave differently and that's all.
The PR contains a re-write done in Typescript, which ended up with handful of breaking changes. The breaking changes will be covered in depth in docs.
Highlights
Improvements
parser
andcompiler
, now we can compile and cache schema definitions, resulting in unbelievable performance boost.number
,date
,string
auto cast values (More in docs)rules
object to define rules asfunctions
vsstring
. This looks sick 👌 when using Typescript.Breaking changes
It's just an overview of Breaking changes.