Released on August 9th, 2024.
- (
es-toolkit
) Added support for mapKeys, mapValues, cloneDeep, before, after, isSubset, ary, unary, flattenDeep, isEqual, isFunction, isBoolean, isPrimitive, and isTypedArray. - (
es-toolkit/compat
) Added support for matches, isMatch, isArray, isArrayLike, isObjectLike, isArguments, size, bind, flattenDepth, and padStart. - Added compatibility tests with lodash for many functions like initial, last, takeRight, without, uniq, invert, isNull, isUndefined, and isNil.
Released on July 20th, 2024.
- Use the compatibility layer
es-toolkit/compat
in legacy CDN builds.
Released on July 20th, 2024.
es-toolkit
can now be used in various CDNs, like unpkg and jsdelivr. See more in our usage docs
- Added support for flattenObject, isPlainObject, isLength. (3e60443, 3764993, #245)
- Added support for concat in our compatibility layer
es-toolkit/compat
. (e09517f)
- Ensured compatibility with difference and take
Released on July 19th, 2024.
- Fixed a bug where
es-toolkit/compat
was not available in modern Node.js environments. - Added support for max and min in our compatibility layer
es-toolkit/compat
. (e1e6e38)
Released on July 18th, 2024.
We're introducing es-toolkit/compat
, a new module designed as a drop-in replacement for lodash. It replicates lodash's API, making it easier to switch between the two libraries.
es-toolkit/compat
is undergoing rigorous testing using real lodash
test cases. Initial benchmarks suggest it's typically 5% slower and increases bundle size by 10% compared to the original es-toolkit
.
This module is intended to facilitate a smooth transition and should be replaced with the original es-toolkit
for optimal performance once migration is complete.
For more information, see our compatibility documentation.
- Added support for get and set in our compatibility layer
es-toolkit/compat
. (toss#232, toss#223) - Added support for zipObjectDeep in our compatibility layer
es-toolkit/compat
. (toss#150) - Added support for flatMap. (toss#209)
- Added support for startCase, startsWith, and endsWith. (toss#224).
- Added support for withTimeout. (toss#210)
- Fixed
drop
anddropRight
incorrectly accepting negative integers. (toss#218) - Fixed
invert
not to invert inherited properties. (toss#221)
- Improved performance for
dropRightWhile
. (toss#220)
Released on July 15th, 2024.
Released on July 14th, 2024.
- Add support for capitalize, snakeCase, kebabCase, camelCase and lowerCase. (toss#152, toss#161, toss#162, toss#166, 21d6530).
- Add support for negate. (toss#177)
- Add support for isEqual. (toss#174)
- Add support for clone. (toss#155)
- Add support for toFilled. (toss#154)
- Add support for initial and last. (toss#188, toss#149)
- Add support for flattenDeep. (toss#160)
- Optimize the performance of isNil by simplifying its check. (489ac76)
- Optimize the performance of sum. (toss#155)
Released on July 10th, 2024.
- Add support for head and tail. (toss#131, toss#143).
- Add support for unzip. (toss#130)
- Add support for flatten, which is six times faster than
Array#flat
. (toss#147)
Released on July 5th, 2024.
- Add support for orderBy. (toss#123)
- Add support for invert. (toss#125)
- Add support for inRange. (toss#124)
Released on July 3rd, 2024.
- Add support for unzipWith. (toss#113)
- Add support for forEachRight. (toss#119)
- Add support for countBy. (toss#117)
- Add support for without. (toss#115)
- Add support for fill. (toss#109)
- Add support for sampleSize. (toss#101)
- Add support for meanBy. (toss#104)
- Accept number and symbol keys in keyBy and groupBy (toss#98, toss#99)
Released on June 30th, 2024.
- Publish package on JSR.
Released on June 30th, 2024.
- Add support for keyBy. (toss#93).
- Add support for zipObject. (toss#92).
- Add support for compact. (60ae59b)
- Add support for mean. (715bc60)
Released on June 28th, 2024.
- Add support for range. (toss#77, 2db11d8).
- Add support for minBy (toss#71).
- Add support for maxBy (toss#64).
- Enforce stricter argument types in
pickBy
andomitBy
. (toss#60) - Fix a bug in
difference
where one array parameter was not readonly. (toss#83) - Fix a bug in
round
where it incorrectly accepts floating-point numbers asprecision
. (toss#79)
Released on June 15th, 2024.
- Add support for random. (toss#53)
- Add support for randomInt. (99a34e4)
- Add support for using AbortSignals to cancel the
Promise
returned bydelay
. (toss#52)
- Optimized
uniqBy
. (60e7974)
Released on June 15th, 2024.
- Fixed a bug in
dropWhile
where it incorrectly returned the entire array when no elements matched the predicate. (toss#49)
Released on June 14th, 2024.
- Add support for using AbortSignals to cancel
debounce
d functions. (toss#45)
- Optimize the time complexity of
intersection
. (toss#47)
Released on June 13th, 2024.
- Add support for
readonly
arrays in array utilities. (toss#32, e595e5e) - Optimize the time complexity of
uniq
. (toss#40) - Optimize the time complexity of
intersectionBy
. (toss#44)
Released on June 13th, 2024.
- Ensure that the
omit
andpick
functions only accept plain JavaScript objects as arguments. (toss#35)
Released on June 8th, 2024.
- Added the
noop
function. (https://github.com/toss/es-toolkit/commit/678028dd3d60509b99dfec47aed7f1088140d19d)
- Optimized the
difference
anddifferenceBy
functions for better performance with large arrays. (toss#27, toss#28)
- Fixed
shuffle
to ensure it does not modify the original array. (toss#29)
Released on June 5th, 2024.
- Support passing arguments to throttled and debounced functions. (toss#26)
Released on June 4th, 2024.
- Provide correct type declarations for ECMAScript Modules. (toss#21)
Released on June 3rd, 2024.
- Provide correct types for
"module": "Node"
,"Node10"
, and"Node16"
. (toss#16)
Initial release. Released on May 31th, 2024.