Remove lodash dependencies + Optimization #130
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
First of all, thank you for this library! I've been using it in several of my projects.
The main purpose of this PR is to replace the usage of Lodash modules with native JS functions. This not only resolves the installation warning reported in #128, but also reduces the bundle size of the library.
Additionally, while making these changes, I took the liberty to optimize the
mergeObjectsAndSortKeys
function by avoiding unnecessary object-to-array and array-to-object conversions. In the new approach, object merging is performed using a native method, followed by the use of thereduce
function. According to the following benchmark, I found that the new implementation is approximately 77% faster than the previous one.Benchmark
Summary of changes:
mergeObjectsAndSortKeys
function for better performance.cross-env
library (development only) to improve cross-platform compatibility in npm scripts.I hope you find these changes useful and that we can continue improving the library together. I'm available for any adjustments or improvements you might suggest.
Thank you for your time! Best regards! 😄