This PR was automatically created by Snyk using the credentials of a real user.
Snyk has created this PR to upgrade clsx from 1.1.1 to 1.2.1.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
- The recommended version is **2 versions** ahead of your current version.
- The recommended version was released **8 months ago**, on 2022-07-06.
Release notes Package name: clsx
This is purely an alias for the default export so that TypeScript users can avoid the esModuleInterop setting. In other words, the follow import statements are effectively identical, but the latter is preferred by TypeScript:
Note: This is a performance-related patch only! Across all benchmarks, this version of clsx is ~1M ops/sec faster than clsx@1.1.0. ...It also happens to be 1 byte (gzip) smaller 😅🎉
Patches
fix: Remove needless spacer on string/number condition: ff11464
fix: Remove unnecessary recursive caller for object keys: f43dd23
perf: Guard all toVal calls with truthy assertions: 4fa8811, 019ec02
perf: Reorder typeof checks for common case: 08a5a7f
Run on Node.js v10.13.0. You may find updated browser benchmarks here.
The snippet below is comparing clsx@1.1.1 (this version) to the previous version, and to classnames for ballpark comparison. All candidates are functionally identical!
# Strings
classnames x 3,992,284 ops/sec ±1.64% (94 runs sampled)
clsx@1.1.0 x 11,253,372 ops/sec ±0.35% (96 runs sampled)
clsx@1.1.1 x 12,784,134 ops/sec ±0.42% (97 runs sampled)
# Objects
classnames x 3,772,978 ops/sec ±0.46% (96 runs sampled)
clsx@1.1.0 x 7,288,178 ops/sec ±0.31% (96 runs sampled)
clsx@1.1.1 x 9,412,010 ops/sec ±0.42% (95 runs sampled)
# Arrays
classnames x 1,665,275 ops/sec ±1.83% (93 runs sampled)
clsx@1.1.0 x 8,340,174 ops/sec ±0.53% (96 runs sampled)
clsx@1.1.1 x 9,141,916 ops/sec ±0.42% (95 runs sampled)
# Nested Arrays
classnames x 1,164,706 ops/sec ±1.60% (95 runs sampled)
clsx@1.1.0 x 6,284,485 ops/sec ±0.58% (90 runs sampled)
clsx@1.1.1 x 7,165,151 ops/sec ±0.47% (91 runs sampled)
# Nested Arrays w/ Objects
classnames x 1,597,180 ops/sec ±1.49% (93 runs sampled)
clsx@1.1.0 x 6,345,248 ops/sec ±0.21% (95 runs sampled)
clsx@1.1.1 x 7,651,411 ops/sec ±0.56% (95 runs sampled)
# Mixed
classnames x 2,129,199 ops/sec ±1.46% (94 runs sampled)
clsx@1.1.0 x 6,557,515 ops/sec ±0.73% (91 runs sampled)
clsx@1.1.1 x 8,119,210 ops/sec ±0.42% (93 runs sampled)
# Mixed (Bad Data)
classnames x 1,166,577 ops/sec ±0.84% (94 runs sampled)
clsx@1.1.0 x 2,018,654 ops/sec ±0.15% (98 runs sampled)
clsx@1.1.1 x 2,238,939 ops/sec ±0.34% (95 runs sampled)
Compare
**Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.*
For more information:
🧐 [View latest project report](https://app.snyk.io/org/russellporter/project/84abce1d-50df-4072-be3b-9c0fba064f72?utm_source=github&utm_medium=referral&page=upgrade-pr)
🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/russellporter/project/84abce1d-50df-4072-be3b-9c0fba064f72/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr)
🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/russellporter/project/84abce1d-50df-4072-be3b-9c0fba064f72/settings/integration?pkg=clsx&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades)
This PR was automatically created by Snyk using the credentials of a real user.
Snyk has created this PR to upgrade clsx from 1.1.1 to 1.2.1.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.- The recommended version is **2 versions** ahead of your current version. - The recommended version was released **8 months ago**, on 2022-07-06.
Release notes
Package name: clsx
Patches
clsx
export tooChores
Features
Add named
clsx
export alias (#43, #44): 56ab81fThank you @ danikaze~!
This is purely an alias for the default export so that TypeScript users can avoid the
esModuleInterop
setting. In other words, the followimport
statements are effectively identical, but the latter is preferred by TypeScript:Chores
tape
touvu
for tests: 1c36d10Thank you @ gingerrific~!
Patches
toVal
calls with truthy assertions: 4fa8811, 019ec02typeof
checks for common case: 08a5a7fChores
esm
hook with tests: 0287e40Benchmarks
The snippet below is comparing
clsx@1.1.1
(this version) to the previous version, and toclassnames
for ballpark comparison. All candidates are functionally identical!Commit messages
Package name: clsx
**Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.* For more information: 🧐 [View latest project report](https://app.snyk.io/org/russellporter/project/84abce1d-50df-4072-be3b-9c0fba064f72?utm_source=github&utm_medium=referral&page=upgrade-pr) 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/russellporter/project/84abce1d-50df-4072-be3b-9c0fba064f72/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr) 🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/russellporter/project/84abce1d-50df-4072-be3b-9c0fba064f72/settings/integration?pkg=clsx&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades)