๐ refactorings to make dependency-cruiser run a little more efficient
- 749e6ca/ 8589066 perf(main|schema|tools): pre-compiles json schemas at build time - removes ajv as a runtime dependency (#1029)
relevant for everyone; the validation step now takes 10x less time and we could drop ajv as a runtime dependency, which makes for a faster install as well as a reduction in dependency management. - be41175/ 9ea6405 perf(derive/reachable): simplifies & cleans up the algorithm (#1030/ #1031)
I have the feeling I'm not done there yet, but this already makes the algo run 1.3 - 1.5x faster, so if something with reachables in your rule set you might notice an improvement. - 9ea6405 (#1031) also caches regex compilations throughout dependency-cruiser making the validation 1.5x - 2.5x faster (it already didn't take that much time, but every 10ms counts).
- c558d42 perf(extract/typescript): adds various performance optimizations (#1026)
relevant if you use dependency-cruiser on typescript sources; should make running it a bit faster - 2bab7b4 refactor(extract|graph-utl): replaces fixed arrays with sets (#1027)
- 3dbdc5c refactor(extract|graph-utl): replaces two leftover forEach'es with for .. of loops
Both theoretically more efficient on processor & memory - couldn't measure improvements on my 'practice' repos, though. The resulting code is more readable though, so kept it in nonetheless.
๐ท maintenance
- 6293a6d build(npm): updates external dependencies
- d7f0824 refactor(main/options): uses more correct .test a.o.t. .match for checking collapse pattern
- 7fa5523 refactor(report/anon): simplifies wordlist sanitization function
- da7de5d chore(rule-set): adds logging statements to sub steps of the rule set validation