Separating tests into indepdent packages
Closed this issue ยท 3 comments
Having all validator packages installed in one Node package (project) may lead to wrong results, and even errors, if dependencies of validators are shared, but have loose versions defined.
The potential solution is to convert this to a monorepo, which has a separate package for each validator.
But the ideal solution should not break dependabot / revonatebot.
@hoeck thoughts?
Can use Turborepo for monorepo management.
To be honest that sounds like over engineering to me.
After having looked at the code of some of the faster packages (gotta learn some new tricks ๐), none of them used any third party dependencies in their hot structure checking sections. So there is no effect of such an isolated dependencies system on the benchmark top scorers. Or at least I do not expect any direct measurable effect.
Before putting in all the work to restructure the whole repo, I'd try to measure the effects of the dependencies first. For example by running the existing benchmarks with a single package vs running with all packages installed.
In the short run I would like to add some more feature-specific benchmarks: optional data, error performance, arrays of objects, unions, intersections, enums.
In the long run I'd like to see a "real world api" benchmark that contains all possible features with a parameterized (e.g. size, shape, number of faulty records) input data set that each package is checked against.
To be honest that sounds like over engineering to me.
That is most likely! ๐ I have this bad habit, called "over engineering".
Closing!