-
Notifications
You must be signed in to change notification settings - Fork 953
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reduce bundle size of apps that import @turf/helpers #2623
Conversation
…e third party geojson-equality-ts (which is essentially a copy of the code we're removing from turf-helpers/lib/). This allows us to remove the dependency on deep-equal which was causing an unintended increase in bundle size for users of turf-helpers. Updated boolean-equal and boolean-overlap to use geojson-equality-ts directly, also allowing us to move helpers to a devDependency in those two packages.
…ng helpers in devDependencies. Rather than "nuance" the test for boolean-equal and boolean-overlap, will leave it as is and revisit later.
…they can be tree-shaken. Taking a conservative approach initially.
Pretty happy with the removal of the code from turf-helpers/lib/ and introduction of geojson-equality-ts. Would like a proper eye cast over the /* @__PURE__ */ annotations though. Some functions in helpers couldn't be marked pure as they rely on something outside that function. For example, can't mark Same for Please double check to make sure I haven't missed any. And if you think there is a case where it could be pure please let me know. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm on board with the stuff that isn't the @__PURE__
annotations. I'm hoping we can avoid that by just moving the code into individual files.
I made that change here #2625 if you have the ability to see if that treeshakes better? I didn't do the geojson-equality removal in that PR, so some amount of stacking with your change is probably required.
Additionally, I just looked at deep-equal
today and realized that it brings in a polyfill for sticky regexes, and the developer seems intent on keeping that in (at least 3 years ago). Perhaps we want to try fast-deep-equal
instead for geojson-equality-ts? I've had good luck with it in the past.
Id be happy to help test the tree shaking parts later today. |
Thanks for the alternative @mfedderly. Did a test with no deep-equal, no PURE comments, and then contents of #2625 merged. These were the results in library mode: ✓ 6 modules transformed. Which is pretty much identical to "removing deep-equal only" from a few days ago: Turf 7.0.0 with PR, turf-helpers isObject call I don't think it's helped with the tree shaking. They're not ideal, however the PURE comments seem to be the most effective, and it sounds like they're widely supported. Is it mainly aesthetics that put you off? They'd only need go in packages where we're exporting multiple things i.e. helpers and maybe meta. |
Aha I looked into this some more. tsup is just bundling it all into a single file anyhow so all my file splitting did exactly 0 to change the tsup output 🤦 . Let me keep digging here. In the meantime, I have a few concerns with the changes proposed here. The first is that changing from The second is that manually adding the PURE annotation seems hard to reason about (can you mark the |
Ok I think I see what's happening here. If the files weren't combined, I think my PR would've helped here as the things could have been treeshaken from the index file. If we removed keepNames, the sideeffectful __name calls don't get put into our output, and therefore do not cause the retention of unused code. Because we do not minify our output, I think we can remove keepNames and manage to restore treeshaking throughout all of the packages in one action. With keepNames disabled, we still get the original names in the output from our build, they just aren't included as strings. I think if a consumer is doing minification they may want to enable keepNames, but it doesn't seem necessary for our builds. Thoughts? |
This wouldn't be relevant in our case as we're not invoking any of the functions during importation / execution of the helpers file. Regardless, this syntax is also supported: /* @NO_SIDE_EFFECTS */ export function f() {}
None of this is stating other things don't rely on factors. It's saying, if nothing else we want to keep uses it, it's safe to leave it out of the bundle entirely. It has no impact on the system other than the value it returns - it sets no global or local state, etc. I took a pretty exacting approach to what pure meant in this first pass as well. In reality we could probably mark the other constants as PURE, and most (all?) the functions as NO_SIDE_EFFECTS.
I wouldn't have thought so? It's about a dozen comments in one file. 40 if we end up annotating the rest. I don't think any of the above are significant enough to eliminate it. In addition to that, removing keepNames means we are:
Feels like annotations are a much more proportional approach to solving this 🤷 |
When I mean hard to keep in sync, I don't disagree that a few comments in @turf/helpers is relatively easy to do today, but Disabling Even though its a wider change to disable it, I don't think keepNames is actually making a difference for consumers other than causing us to have to add annotations to fix treeshaking. If you disable it and then look at the output files, as far as I can tell the names are still retained in the same fashion that they were there in the 6.x builds. turf.min.js is a special case, and has its own build configuration which does not need to specify keepNames, because it is just a rollup. Having built with keepNames off, I can still import it and use it with the normal method names. |
Probably best then to make a call which PR - this one or #2625 - is closer to the result you want, and then push some commits with the combo you want to go with. If removing deep-equal is still part of the strategy, you could cherry pick the first two commits from this PR into 2625 and go from there. Doc generation assumes index.?s is the only file in each package to parse, so anything different will require some level of refactoring. You might be able to reconfigure documentation.js to follow dependencies (see |
What I'm advocating for is this PR minus the changes to @turf/helpers and delete the |
Have rolled back the annotations, and removed the keepNames config. Double check that reflects what you had in mind, and it should be good to go. |
Sorry @mfedderly, I misread this line:
I took that to mean "not as many, though still multiple" files, hence the comments about docs still breaking. Realise now you were saying would not require splitting at all. Apologies for not grasping what you were getting at 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Swapping in the new equality function looks good to me. I trust that dropping keepNames has the intended effect, I don't have the knowledge that Matt does.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM also. Do we want to ship a prerelease of this so that @VIKTORVAV99 can test it and give us another confirmation that we've sorted out the treeshaking before doing a full release?
Feel free to just enable the prerelease action, merge this PR, and then disable it if you want.
Did as suggested with the prepublish action, and have notified Viktor to give it a try. |
* Remove GeojsonEquality library from turf-helpers/lib/ in favour of the third party geojson-equality-ts (which is essentially a copy of the code we're removing from turf-helpers/lib/). This allows us to remove the dependency on deep-equal which was causing an unintended increase in bundle size for users of turf-helpers. Updated boolean-equal and boolean-overlap to use geojson-equality-ts directly. * Removing keepNames from tsup config. --------- Co-authored-by: Tim Welch <[email protected]>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | OpenSSF | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---|---|---|---| | [@aws-sdk/client-cognito-identity-provider](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-cognito-identity-provider) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-cognito-identity-provider)) | dependencies | minor | [`3.625.0` -> `3.629.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-cognito-identity-provider/3.625.0/3.629.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/aws/aws-sdk-js-v3/badge)](https://securityscorecards.dev/viewer/?uri=github.com/aws/aws-sdk-js-v3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-cognito-identity-provider/3.629.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-cognito-identity-provider/3.629.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-cognito-identity-provider/3.625.0/3.629.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-cognito-identity-provider/3.625.0/3.629.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@googlemaps/react-wrapper](https://togithub.com/googlemaps/react-wrapper) | dependencies | patch | [`1.1.35` -> `1.1.42`](https://renovatebot.com/diffs/npm/@googlemaps%2freact-wrapper/1.1.35/1.1.42) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/googlemaps/react-wrapper/badge)](https://securityscorecards.dev/viewer/?uri=github.com/googlemaps/react-wrapper) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@googlemaps%2freact-wrapper/1.1.42?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@googlemaps%2freact-wrapper/1.1.42?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@googlemaps%2freact-wrapper/1.1.35/1.1.42?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@googlemaps%2freact-wrapper/1.1.35/1.1.42?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@iconify-json/simple-icons](https://icon-sets.iconify.design/simple-icons/) | devDependencies | patch | [`1.1.112` -> `1.1.113`](https://renovatebot.com/diffs/npm/@iconify-json%2fsimple-icons/1.1.112/1.1.113) | | [![age](https://developer.mend.io/api/mc/badges/age/npm/@iconify-json%2fsimple-icons/1.1.113?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@iconify-json%2fsimple-icons/1.1.113?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@iconify-json%2fsimple-icons/1.1.112/1.1.113?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@iconify-json%2fsimple-icons/1.1.112/1.1.113?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@sentry/browser](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/browser) ([source](https://togithub.com/getsentry/sentry-javascript)) | dependencies | minor | [`8.24.0` -> `8.25.0`](https://renovatebot.com/diffs/npm/@sentry%2fbrowser/8.24.0/8.25.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/getsentry/sentry-javascript/badge)](https://securityscorecards.dev/viewer/?uri=github.com/getsentry/sentry-javascript) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fbrowser/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fbrowser/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fbrowser/8.24.0/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fbrowser/8.24.0/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@sentry/nextjs](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/nextjs) ([source](https://togithub.com/getsentry/sentry-javascript)) | dependencies | minor | [`8.24.0` -> `8.25.0`](https://renovatebot.com/diffs/npm/@sentry%2fnextjs/8.24.0/8.25.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/getsentry/sentry-javascript/badge)](https://securityscorecards.dev/viewer/?uri=github.com/getsentry/sentry-javascript) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fnextjs/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fnextjs/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fnextjs/8.24.0/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fnextjs/8.24.0/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@sentry/node](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/node) ([source](https://togithub.com/getsentry/sentry-javascript)) | dependencies | minor | [`8.24.0` -> `8.25.0`](https://renovatebot.com/diffs/npm/@sentry%2fnode/8.24.0/8.25.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/getsentry/sentry-javascript/badge)](https://securityscorecards.dev/viewer/?uri=github.com/getsentry/sentry-javascript) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fnode/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fnode/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fnode/8.24.0/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fnode/8.24.0/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@sentry/opentelemetry](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/opentelemetry) ([source](https://togithub.com/getsentry/sentry-javascript)) | dependencies | minor | [`8.24.0` -> `8.25.0`](https://renovatebot.com/diffs/npm/@sentry%2fopentelemetry/8.24.0/8.25.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/getsentry/sentry-javascript/badge)](https://securityscorecards.dev/viewer/?uri=github.com/getsentry/sentry-javascript) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fopentelemetry/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fopentelemetry/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fopentelemetry/8.24.0/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fopentelemetry/8.24.0/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@sentry/profiling-node](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/profiling-node) ([source](https://togithub.com/getsentry/sentry-javascript)) | dependencies | minor | [`8.24.0` -> `8.25.0`](https://renovatebot.com/diffs/npm/@sentry%2fprofiling-node/8.24.0/8.25.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/getsentry/sentry-javascript/badge)](https://securityscorecards.dev/viewer/?uri=github.com/getsentry/sentry-javascript) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fprofiling-node/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fprofiling-node/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fprofiling-node/8.24.0/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fprofiling-node/8.24.0/8.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-a11y](https://togithub.com/storybookjs/storybook/tree/next/code/addons/a11y) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/a11y)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2faddon-a11y/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-a11y/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-a11y/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-a11y/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-a11y/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-actions](https://togithub.com/storybookjs/storybook/tree/next/code/addons/actions) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/actions)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2faddon-actions/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-actions/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-actions/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-actions/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-actions/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-essentials](https://togithub.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-interactions](https://togithub.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-links](https://togithub.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-mdx-gfm](https://togithub.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-viewport](https://togithub.com/storybookjs/storybook/tree/next/code/addons/viewport) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/addons/viewport)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2faddon-viewport/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-viewport/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-viewport/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-viewport/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-viewport/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/components](https://togithub.com/storybookjs/storybook/tree/next/code/deprecated/components) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/deprecated/components)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2fcomponents/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fcomponents/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fcomponents/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fcomponents/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fcomponents/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/core-events](https://togithub.com/storybookjs/storybook/tree/next/code/lib/core-events) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/lib/core-events)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2fcore-events/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fcore-events/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fcore-events/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fcore-events/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fcore-events/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/manager-api](https://togithub.com/storybookjs/storybook/tree/next/code/lib/manager-api) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2fmanager-api/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fmanager-api/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fmanager-api/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fmanager-api/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fmanager-api/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/nextjs](https://togithub.com/storybookjs/storybook/tree/next/code/frameworks/nextjs) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/frameworks/nextjs)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2fnextjs/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fnextjs/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fnextjs/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fnextjs/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fnextjs/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/preview-api](https://togithub.com/storybookjs/storybook/tree/next/code/lib/preview-api) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/lib/preview-api)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2fpreview-api/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2fpreview-api/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2fpreview-api/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2fpreview-api/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2fpreview-api/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/react](https://togithub.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/test](https://togithub.com/storybookjs/storybook/tree/next/code/lib/test) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/lib/test)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2ftest/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftest/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftest/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftest/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftest/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/theming](https://togithub.com/storybookjs/storybook/tree/next/code/lib/theming) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/lib/theming)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2ftheming/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftheming/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftheming/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftheming/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftheming/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/types](https://togithub.com/storybookjs/storybook/tree/next/code/lib/types) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/lib/types)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/@storybook%2ftypes/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2ftypes/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2ftypes/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2ftypes/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2ftypes/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@swc/core](https://swc.rs) ([source](https://togithub.com/swc-project/swc)) | devDependencies | patch | [`1.7.6` -> `1.7.10`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.7.6/1.7.10) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/swc-project/swc/badge)](https://securityscorecards.dev/viewer/?uri=github.com/swc-project/swc) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.7.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@swc%2fcore/1.7.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@swc%2fcore/1.7.6/1.7.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.7.6/1.7.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@turf/helpers](https://togithub.com/Turfjs/turf) | dependencies | minor | [`7.0.0` -> `7.1.0`](https://renovatebot.com/diffs/npm/@turf%2fhelpers/7.0.0/7.1.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/Turfjs/turf/badge)](https://securityscorecards.dev/viewer/?uri=github.com/Turfjs/turf) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@turf%2fhelpers/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@turf%2fhelpers/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@turf%2fhelpers/7.0.0/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@turf%2fhelpers/7.0.0/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@turf/helpers](https://togithub.com/Turfjs/turf) | devDependencies | minor | [`7.0.0` -> `7.1.0`](https://renovatebot.com/diffs/npm/@turf%2fhelpers/7.0.0/7.1.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/Turfjs/turf/badge)](https://securityscorecards.dev/viewer/?uri=github.com/Turfjs/turf) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@turf%2fhelpers/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@turf%2fhelpers/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@turf%2fhelpers/7.0.0/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@turf%2fhelpers/7.0.0/7.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | patch | [`20.14.14` -> `20.14.15`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.14/20.14.15) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/DefinitelyTyped/DefinitelyTyped/badge)](https://securityscorecards.dev/viewer/?uri=github.com/DefinitelyTyped/DefinitelyTyped) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.14/20.14.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.14/20.14.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [ahooks](https://togithub.com/alibaba/hooks) | dependencies | patch | [`3.8.0` -> `3.8.1`](https://renovatebot.com/diffs/npm/ahooks/3.8.0/3.8.1) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/alibaba/hooks/badge)](https://securityscorecards.dev/viewer/?uri=github.com/alibaba/hooks) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ahooks/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ahooks/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ahooks/3.8.0/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ahooks/3.8.0/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [i18next](https://www.i18next.com) ([source](https://togithub.com/i18next/i18next)) | peerDependencies | patch | [`23.12.2` -> `23.12.3`](https://renovatebot.com/diffs/npm/i18next/23.12.2/23.12.3) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/i18next/i18next/badge)](https://securityscorecards.dev/viewer/?uri=github.com/i18next/i18next) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.12.2/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.12.2/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [i18next](https://www.i18next.com) ([source](https://togithub.com/i18next/i18next)) | devDependencies | patch | [`23.12.2` -> `23.12.3`](https://renovatebot.com/diffs/npm/i18next/23.12.2/23.12.3) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/i18next/i18next/badge)](https://securityscorecards.dev/viewer/?uri=github.com/i18next/i18next) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.12.2/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.12.2/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [i18next](https://www.i18next.com) ([source](https://togithub.com/i18next/i18next)) | dependencies | patch | [`23.12.2` -> `23.12.3`](https://renovatebot.com/diffs/npm/i18next/23.12.2/23.12.3) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/i18next/i18next/badge)](https://securityscorecards.dev/viewer/?uri=github.com/i18next/i18next) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next/23.12.2/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next/23.12.2/23.12.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [knip](https://knip.dev) ([source](https://togithub.com/webpro-nl/knip/tree/HEAD/packages/knip)) | devDependencies | patch | [`5.27.1` -> `5.27.2`](https://renovatebot.com/diffs/npm/knip/5.27.1/5.27.2) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/webpro-nl/knip/badge)](https://securityscorecards.dev/viewer/?uri=github.com/webpro-nl/knip) | [![age](https://developer.mend.io/api/mc/badges/age/npm/knip/5.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/knip/5.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/knip/5.27.1/5.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/knip/5.27.1/5.27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [lint-staged](https://togithub.com/lint-staged/lint-staged) | devDependencies | patch | [`15.2.8` -> `15.2.9`](https://renovatebot.com/diffs/npm/lint-staged/15.2.8/15.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/lint-staged/lint-staged/badge)](https://securityscorecards.dev/viewer/?uri=github.com/lint-staged/lint-staged) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lint-staged/15.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lint-staged/15.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lint-staged/15.2.8/15.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lint-staged/15.2.8/15.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [remeda](https://remedajs.com/) ([source](https://togithub.com/remeda/remeda)) | dependencies | minor | [`2.10.0` -> `2.11.0`](https://renovatebot.com/diffs/npm/remeda/2.10.0/2.11.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/remeda/remeda/badge)](https://securityscorecards.dev/viewer/?uri=github.com/remeda/remeda) | [![age](https://developer.mend.io/api/mc/badges/age/npm/remeda/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/remeda/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/remeda/2.10.0/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/remeda/2.10.0/2.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [sherif](https://togithub.com/QuiiBz/sherif) | devDependencies | minor | [`0.10.0` -> `0.11.0`](https://renovatebot.com/diffs/npm/sherif/0.10.0/0.11.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/QuiiBz/sherif/badge)](https://securityscorecards.dev/viewer/?uri=github.com/QuiiBz/sherif) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sherif/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sherif/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sherif/0.10.0/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sherif/0.10.0/0.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [storybook](https://togithub.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://togithub.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | devDependencies | patch | [`8.2.8` -> `8.2.9`](https://renovatebot.com/diffs/npm/storybook/8.2.8/8.2.9) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/storybookjs/storybook/badge)](https://securityscorecards.dev/viewer/?uri=github.com/storybookjs/storybook) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.2.8/8.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [tsx](https://tsx.is) ([source](https://togithub.com/privatenumber/tsx)) | devDependencies | minor | [`4.16.5` -> `4.17.0`](https://renovatebot.com/diffs/npm/tsx/4.16.5/4.17.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/privatenumber/tsx/badge)](https://securityscorecards.dev/viewer/?uri=github.com/privatenumber/tsx) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tsx/4.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsx/4.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsx/4.16.5/4.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsx/4.16.5/4.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [type-fest](https://togithub.com/sindresorhus/type-fest) | devDependencies | minor | [`4.23.0` -> `4.24.0`](https://renovatebot.com/diffs/npm/type-fest/4.23.0/4.24.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/sindresorhus/type-fest/badge)](https://securityscorecards.dev/viewer/?uri=github.com/sindresorhus/type-fest) | [![age](https://developer.mend.io/api/mc/badges/age/npm/type-fest/4.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/type-fest/4.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/type-fest/4.23.0/4.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/type-fest/4.23.0/4.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-cognito-identity-provider)</summary> ### [`v3.629.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-cognito-identity-provider/CHANGELOG.md#36290-2024-08-12) [Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.628.0...v3.629.0) **Note:** Version bump only for package [@​aws-sdk/client-cognito-identity-provider](https://togithub.com/aws-sdk/client-cognito-identity-provider) ### [`v3.628.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-cognito-identity-provider/CHANGELOG.md#36280-2024-08-09) [Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.627.0...v3.628.0) **Note:** Version bump only for package [@​aws-sdk/client-cognito-identity-provider](https://togithub.com/aws-sdk/client-cognito-identity-provider) ### [`v3.627.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-cognito-identity-provider/CHANGELOG.md#36270-2024-08-08) [Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.625.0...v3.627.0) ##### Features - **client-cognito-identity-provider:** Added support for threat protection for custom authentication in Amazon Cognito user pools. ([e2e4ccc](https://togithub.com/aws/aws-sdk-js-v3/commit/e2e4cccb7a504ee0578ba36d7152eafa61494613)) </details> <details> <summary>googlemaps/react-wrapper (@​googlemaps/react-wrapper)</summary> ### [`v1.1.42`](https://togithub.com/googlemaps/react-wrapper/blob/HEAD/CHANGELOG.md#1142-2024-07-25) [Compare Source](https://togithub.com/googlemaps/react-wrapper/compare/v1.1.35...v1.1.42) ##### Bug Fixes - trigger release-please ([9abc212](https://togithub.com/googlemaps/react-wrapper/commit/9abc212e4950de8ada11cb6d6f260306828c33ec)) </details> <details> <summary>getsentry/sentry-javascript (@​sentry/browser)</summary> ### [`v8.25.0`](https://togithub.com/getsentry/sentry-javascript/releases/tag/8.25.0) [Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/8.24.0...8.25.0) ##### Important Changes - **Alpha release of Official Solid Start SDK** This release contains the alpha version of `@sentry/solidstart`, our SDK for [Solid Start](https://start.solidjs.com/)! For details on how to use it, please see the [README](./packages/solidstart/README.md). Any feedback/bug reports are greatly appreciated, please [reach out on GitHub](https://togithub.com/getsentry/sentry-javascript/issues/12538). ##### Other Changes - feat(astro): Add `bundleSizeOptimizations` vite options to integration ([#​13250](https://togithub.com/getsentry/sentry-javascript/issues/13250)) - feat(astro): Always add BrowserTracing ([#​13244](https://togithub.com/getsentry/sentry-javascript/issues/13244)) - feat(core): Add `getTraceMetaTags` function ([#​13201](https://togithub.com/getsentry/sentry-javascript/issues/13201)) - feat(nestjs): Automatic instrumentation of nestjs exception filters ([#​13230](https://togithub.com/getsentry/sentry-javascript/issues/13230)) - feat(node): Add `useOperationNameForRootSpan` to`graphqlIntegration` ([#​13248](https://togithub.com/getsentry/sentry-javascript/issues/13248)) - feat(sveltekit): Add `wrapServerRouteWithSentry` wrapper ([#​13247](https://togithub.com/getsentry/sentry-javascript/issues/13247)) - fix(aws-serverless): Extract sentry trace data from handler `context` over `event` ([#​13266](https://togithub.com/getsentry/sentry-javascript/issues/13266)) - fix(browser): Initialize default integration if `defaultIntegrations: undefined` ([#​13261](https://togithub.com/getsentry/sentry-javascript/issues/13261)) - fix(utils): Streamline IP capturing on incoming requests ([#​13272](https://togithub.com/getsentry/sentry-javascript/issues/13272)) </details> <details> <summary>storybookjs/storybook (@​storybook/addon-a11y)</summary> ### [`v8.2.9`](https://togithub.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#829) [Compare Source](https://togithub.com/storybookjs/storybook/compare/v8.2.8...v8.2.9) - CLI: Fix `init --skip-install` - [#​28853](https://togithub.com/storybookjs/storybook/pull/28853), thanks [@​ndelangen](https://togithub.com/ndelangen)! - Telemetry: Disable save-from-controls logs for example stories - [#​28870](https://togithub.com/storybookjs/storybook/pull/28870), thanks [@​shilman](https://togithub.com/shilman)! </details> <details> <summary>swc-project/swc (@​swc/core)</summary> ### [`v1.7.10`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1710---2024-08-09) [Compare Source](https://togithub.com/swc-project/swc/compare/v1.7.9...v1.7.10) ##### Bug Fixes - **(es/typescript)** Strip optional mark and definite mark ([#​9411](https://togithub.com/swc-project/swc/issues/9411)) ([8c161a0](https://togithub.com/swc-project/swc/commit/8c161a003e741320434f31617bc2de98dd2c9a8f)) - **(es/typescript)** Strip exported default overload function declaration ([#​9412](https://togithub.com/swc-project/swc/issues/9412)) ([b395f48](https://togithub.com/swc-project/swc/commit/b395f483d1e0cb43b1f96126c5c17f9a8c9d0d32)) - **(es/typescript)** Strip `this` param in getter/setter ([#​9414](https://togithub.com/swc-project/swc/issues/9414)) ([442fb7b](https://togithub.com/swc-project/swc/commit/442fb7b48715597d62f8d09327f93acc66f2d1b8)) - **(es/typescript)** Update ts-strip type definition ([#​9415](https://togithub.com/swc-project/swc/issues/9415)) ([165c8fa](https://togithub.com/swc-project/swc/commit/165c8facd42d756077fde99defe91ffe656aede8)) ### [`v1.7.9`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#179---2024-08-09) [Compare Source](https://togithub.com/swc-project/swc/compare/v1.7.6...v1.7.9) ##### Bug Fixes - **(es/typescript)** Strip class modifiers ([#​9399](https://togithub.com/swc-project/swc/issues/9399)) ([124e5ff](https://togithub.com/swc-project/swc/commit/124e5ffa7bcf26215a339450f6b40161dabbe5a4)) </details> <details> <summary>Turfjs/turf (@​turf/helpers)</summary> ### [`v7.1.0`](https://togithub.com/Turfjs/turf/releases/tag/v7.1.0) [Compare Source](https://togithub.com/Turfjs/turf/compare/v7.0.0...v7.1.0) ##### What's Changed - `@turf/distance` Simplify unnecessary union type in turfDistance by [@​isti115](https://togithub.com/isti115) in [https://github.com/Turfjs/turf/pull/2618](https://togithub.com/Turfjs/turf/pull/2618) - Upgrade to Lerna 8 by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2612](https://togithub.com/Turfjs/turf/pull/2612) - Deprecate CHANGELOG, improve release action, PR template, Contributing doc by [@​twelch](https://togithub.com/twelch) in [https://github.com/Turfjs/turf/pull/2621](https://togithub.com/Turfjs/turf/pull/2621) - `@turf/helpers` Reduce bundle size of apps that import [@​turf/helpers](https://togithub.com/turf/helpers) by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2623](https://togithub.com/Turfjs/turf/pull/2623) - `@turf/line-overlap` change deep-equals dependency for smaller bundle size by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2631](https://togithub.com/Turfjs/turf/pull/2631) - `@turf/mask` Converted turf-mask to Typescript and added support for geometry parameters by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2644](https://togithub.com/Turfjs/turf/pull/2644) - `@turf/midpoint` Converted turf-midpoint to Typescript by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2645](https://togithub.com/Turfjs/turf/pull/2645) - `@turf/planepoint` Converted turf-planepoint to Typescript by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2646](https://togithub.com/Turfjs/turf/pull/2646) - `@turf/square` Converted turf-square to Typescript by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2648](https://togithub.com/Turfjs/turf/pull/2648) - `@turf/standard-deviational-ellipse` Converted turf-standard-deviational-ellipse to Typescript by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2649](https://togithub.com/Turfjs/turf/pull/2649) - Pin pnpm version using corepack by [@​RobinVdBroeck](https://togithub.com/RobinVdBroeck) in [https://github.com/Turfjs/turf/pull/2602](https://togithub.com/Turfjs/turf/pull/2602) - `@turf/tesselate` Converted turf-tesselate to Typescript by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2650](https://togithub.com/Turfjs/turf/pull/2650) - `@turf/transform-rotate` Converted turf-transform-rotate to Typescript by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2651](https://togithub.com/Turfjs/turf/pull/2651) - `@turf/transform-scale` Converted turf-transform-scale to Typescript by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2652](https://togithub.com/Turfjs/turf/pull/2652) - `@turf/transform-translate` Converted turf-transform-translate to Typescript by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2653](https://togithub.com/Turfjs/turf/pull/2653) - `@turf/unkink-polygon` Converted turf-unkink-polygon to Typescript by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2654](https://togithub.com/Turfjs/turf/pull/2654) - `@turf/voronoi` Converted turf-voronoi to Typescript by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2655](https://togithub.com/Turfjs/turf/pull/2655) - `@turf/boolean-intersects` Fix boolean-intersects docs by [@​izzybps](https://togithub.com/izzybps) in [https://github.com/Turfjs/turf/pull/2593](https://togithub.com/Turfjs/turf/pull/2593) - Updated documentation.js to resolve critical parse-url vulnerability by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2664](https://togithub.com/Turfjs/turf/pull/2664) - `@turf/area`: bug fix: off-by-one bug in area calculation by [@​Abdumbo99](https://togithub.com/Abdumbo99) in [https://github.com/Turfjs/turf/pull/2665](https://togithub.com/Turfjs/turf/pull/2665) - Upgrade dependencies by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2668](https://togithub.com/Turfjs/turf/pull/2668) - `@turf/isobands` `@turf/isolines` Remove unused matrix-to-grid dependency by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2669](https://togithub.com/Turfjs/turf/pull/2669) - `@turf/random` fix randomPolygon generating polygons outside of the given `bbox` by [@​nnmrts](https://togithub.com/nnmrts) in [https://github.com/Turfjs/turf/pull/2659](https://togithub.com/Turfjs/turf/pull/2659) - `@turf/boolean-intersects` `@turf/booean-disjoint` Expose options parameter to ignore self intersections. by [@​01100100](https://togithub.com/01100100) in [https://github.com/Turfjs/turf/pull/2636](https://togithub.com/Turfjs/turf/pull/2636) - `@turf/boolean-valid` fix checkClosingRing to check for polygon being closed by [@​superDoss](https://togithub.com/superDoss) in [https://github.com/Turfjs/turf/pull/2563](https://togithub.com/Turfjs/turf/pull/2563) - `@turf/helpers` Implemented azimuthToBearing by [@​basvdijk](https://togithub.com/basvdijk) in [https://github.com/Turfjs/turf/pull/2674](https://togithub.com/Turfjs/turf/pull/2674) - Added support/6.x branch to CI config by [@​smallsaucepan](https://togithub.com/smallsaucepan) in [https://github.com/Turfjs/turf/pull/2673](https://togithub.com/Turfjs/turf/pull/2673) - `@turf/nearest-point-on-line` include index of MultiLineString geometries in nearest-point-on-line by [@​andrewharvey](https://togithub.com/andrewharvey) in [https://github.com/Turfjs/turf/pull/2574](https://togithub.com/Turfjs/turf/pull/2574) - `@turf/point-to-line-distance` Fix two small typos by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2675](https://togithub.com/Turfjs/turf/pull/2675) - Update PR/develop action to cache pnpm files by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2671](https://togithub.com/Turfjs/turf/pull/2671) - Add explicit geojson types dependency by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2676](https://togithub.com/Turfjs/turf/pull/2676) - Rework prettier setup by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2677](https://togithub.com/Turfjs/turf/pull/2677) - Update [@​types/geojson](https://togithub.com/types/geojson) to 7946.0.10 minimum by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2688](https://togithub.com/Turfjs/turf/pull/2688) - `@turf/mask` Stop turf-mask mutating by default, make it an option by [@​farkmarnum](https://togithub.com/farkmarnum) in [https://github.com/Turfjs/turf/pull/2635](https://togithub.com/Turfjs/turf/pull/2635) - Add test.example.js to .prettierignore by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2689](https://togithub.com/Turfjs/turf/pull/2689) - `@turf/mask` Fix [@​turf/mask](https://togithub.com/turf/mask) benchmarks to exclude test fixtures that are not usable by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2692](https://togithub.com/Turfjs/turf/pull/2692) - `@turf/kinks` Revert [@​turf/kinks](https://togithub.com/turf/kinks) to 6.5.0 version by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2693](https://togithub.com/Turfjs/turf/pull/2693) - `@turf/cluster-dbscan`Update cluster-dbscan docs by [@​mwenko](https://togithub.com/mwenko) in [https://github.com/Turfjs/turf/pull/2624](https://togithub.com/Turfjs/turf/pull/2624) - `@turf/*-grid` `@turf/area` `@turf/helpers` Clarify behavior of some existing turf modules by [@​twelch](https://togithub.com/twelch) in [https://github.com/Turfjs/turf/pull/2683](https://togithub.com/Turfjs/turf/pull/2683) - Upgrade pnpm/action-setup in github actions by [@​mfedderly](https://togithub.com/mfedderly) in [https://github.com/Turfjs/turf/pull/2696](https://togithub.com/Turfjs/turf/pull/2696) ##### New Contributors - [@​isti115](https://togithub.com/isti115) made their first contribution in [https://github.com/Turfjs/turf/pull/2618](https://togithub.com/Turfjs/turf/pull/2618) - [@​izzybps](https://togithub.com/izzybps) made their first contribution in [https://github.com/Turfjs/turf/pull/2593](https://togithub.com/Turfjs/turf/pull/2593) - [@​Abdumbo99](https://togithub.com/Abdumbo99) made their first contribution in [https://github.com/Turfjs/turf/pull/2665](https://togithub.com/Turfjs/turf/pull/2665) - [@​nnmrts](https://togithub.com/nnmrts) made their first contribution in [https://github.com/Turfjs/turf/pull/2659](https://togithub.com/Turfjs/turf/pull/2659) - [@​01100100](https://togithub.com/01100100) made their first contribution in [https://github.com/Turfjs/turf/pull/2636](https://togithub.com/Turfjs/turf/pull/2636) - [@​superDoss](https://togithub.com/superDoss) made their first contribution in [https://github.com/Turfjs/turf/pull/2563](https://togithub.com/Turfjs/turf/pull/2563) - [@​basvdijk](https://togithub.com/basvdijk) made their first contribution in [https://github.com/Turfjs/turf/pull/2674](https://togithub.com/Turfjs/turf/pull/2674) - [@​andrewharvey](https://togithub.com/andrewharvey) made their first contribution in [https://github.com/Turfjs/turf/pull/2574](https://togithub.com/Turfjs/turf/pull/2574) - [@​farkmarnum](https://togithub.com/farkmarnum) made their first contribution in [https://github.com/Turfjs/turf/pull/2635](https://togithub.com/Turfjs/turf/pull/2635) **Full Changelog**: https://github.com/Turfjs/turf/compare/v7.0.0...v7.1.0 </details> <details> <summary>alibaba/hooks (ahooks)</summary> ### [`v3.8.1`](https://togithub.com/alibaba/hooks/releases/tag/v3.8.1) [Compare Source](https://togithub.com/alibaba/hooks/compare/v3.8.0...v3.8.1) ##### What's Changed - 🐛 fix(useResponse): adds default export by [@​CJY0208](https://togithub.com/CJY0208) in [https://github.com/alibaba/hooks/pull/2555](https://togithub.com/alibaba/hooks/pull/2555) - 🐛 fix(useSelections): `setSelected` should support non-array value by [@​liuyib](https://togithub.com/liuyib) in [https://github.com/alibaba/hooks/pull/2559](https://togithub.com/alibaba/hooks/pull/2559) - 🐛 fix(useResetState): </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/weareinreach/InReach). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjAuMSIsInRhcmdldEJyYW5jaCI6ImRldiIsImxhYmVscyI6WyJhdXRvbWVyZ2UiLCJkZXBlbmRlbmNpZXMiLCJrb2RpYWs6IG1lcmdlLm1ldGhvZCA9ICdzcXVhc2gnIl19--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
## [1.0.5](https://github.com/equinor/webviz-subsurface-components/compare/[email protected]@1.0.5) (2024-10-11) ### Bug Fixes * bump @turf/simplify from 7.0.0 to 7.1.0 in /typescript ([#2309](#2309)) ([0b9903a](0b9903a)), closes [Turfjs/turf#2618](Turfjs/turf#2618) [Turfjs/turf#2612](Turfjs/turf#2612) [Turfjs/turf#2621](Turfjs/turf#2621) [Turfjs/turf#2623](Turfjs/turf#2623) [Turfjs/turf#2631](Turfjs/turf#2631) [Turfjs/turf#2644](Turfjs/turf#2644) [Turfjs/turf#2645](Turfjs/turf#2645) [Turfjs/turf#2646](Turfjs/turf#2646) [Turfjs/turf#2648](Turfjs/turf#2648) [Turfjs/turf#2649](Turfjs/turf#2649) [Turfjs/turf#2602](Turfjs/turf#2602) [Turfjs/turf#2650](Turfjs/turf#2650) [Turfjs/turf#2651](Turfjs/turf#2651) [Turfjs/turf#2652](Turfjs/turf#2652) [Turfjs/turf#2653](Turfjs/turf#2653) [Turfjs/turf#2654](Turfjs/turf#2654) [Turfjs/turf#2655](Turfjs/turf#2655) [Turfjs/turf#2593](Turfjs/turf#2593) [Turfjs/turf#2664](Turfjs/turf#2664) [Turfjs/turf#2665](Turfjs/turf#2665) [Turfjs/turf#2668](Turfjs/turf#2668) [Turfjs/turf#2669](Turfjs/turf#2669) [Turfjs/turf#2659](Turfjs/turf#2659) [Turfjs/turf#2636](Turfjs/turf#2636) [Turfjs/turf#2563](Turfjs/turf#2563) [Turfjs/turf#2674](Turfjs/turf#2674) [Turfjs/turf#2673](Turfjs/turf#2673) [Turfjs/turf#2574](Turfjs/turf#2574) [Turfjs/turf#2675](Turfjs/turf#2675) [Turfjs/turf#2671](Turfjs/turf#2671) [Turfjs/turf#2676](Turfjs/turf#2676) [Turfjs/turf#2677](Turfjs/turf#2677) [Turfjs/turf#2688](Turfjs/turf#2688) [Turfjs/turf#2635](Turfjs/turf#2635) [Turfjs/turf#2689](Turfjs/turf#2689) [Turfjs/turf#2692](Turfjs/turf#2692) [Turfjs/turf#2693](Turfjs/turf#2693) [Turfjs/turf#2624](Turfjs/turf#2624) [Turfjs/turf#2683](Turfjs/turf#2683) [Turfjs/turf#2696](Turfjs/turf#2696) [Turfjs/turf#2618](Turfjs/turf#2618) [Turfjs/turf#2593](Turfjs/turf#2593) [Turfjs/turf#2665](Turfjs/turf#2665) [Turfjs/turf#2659](Turfjs/turf#2659) [Turfjs/turf#2636](Turfjs/turf#2636) [Turfjs/turf#2563](Turfjs/turf#2563) [#2696](https://github.com/equinor/webviz-subsurface-components/issues/2696) [#2683](https://github.com/equinor/webviz-subsurface-components/issues/2683) [#2624](https://github.com/equinor/webviz-subsurface-components/issues/2624) [#2693](https://github.com/equinor/webviz-subsurface-components/issues/2693) [#2692](https://github.com/equinor/webviz-subsurface-components/issues/2692) [#2635](https://github.com/equinor/webviz-subsurface-components/issues/2635) [#2688](https://github.com/equinor/webviz-subsurface-components/issues/2688) [#2677](https://github.com/equinor/webviz-subsurface-components/issues/2677)
## [1.5.9](https://github.com/equinor/webviz-subsurface-components/compare/[email protected]@1.5.9) (2024-10-11) ### Bug Fixes * bump @turf/simplify from 7.0.0 to 7.1.0 in /typescript ([#2309](#2309)) ([0b9903a](0b9903a)), closes [Turfjs/turf#2618](Turfjs/turf#2618) [Turfjs/turf#2612](Turfjs/turf#2612) [Turfjs/turf#2621](Turfjs/turf#2621) [Turfjs/turf#2623](Turfjs/turf#2623) [Turfjs/turf#2631](Turfjs/turf#2631) [Turfjs/turf#2644](Turfjs/turf#2644) [Turfjs/turf#2645](Turfjs/turf#2645) [Turfjs/turf#2646](Turfjs/turf#2646) [Turfjs/turf#2648](Turfjs/turf#2648) [Turfjs/turf#2649](Turfjs/turf#2649) [Turfjs/turf#2602](Turfjs/turf#2602) [Turfjs/turf#2650](Turfjs/turf#2650) [Turfjs/turf#2651](Turfjs/turf#2651) [Turfjs/turf#2652](Turfjs/turf#2652) [Turfjs/turf#2653](Turfjs/turf#2653) [Turfjs/turf#2654](Turfjs/turf#2654) [Turfjs/turf#2655](Turfjs/turf#2655) [Turfjs/turf#2593](Turfjs/turf#2593) [Turfjs/turf#2664](Turfjs/turf#2664) [Turfjs/turf#2665](Turfjs/turf#2665) [Turfjs/turf#2668](Turfjs/turf#2668) [Turfjs/turf#2669](Turfjs/turf#2669) [Turfjs/turf#2659](Turfjs/turf#2659) [Turfjs/turf#2636](Turfjs/turf#2636) [Turfjs/turf#2563](Turfjs/turf#2563) [Turfjs/turf#2674](Turfjs/turf#2674) [Turfjs/turf#2673](Turfjs/turf#2673) [Turfjs/turf#2574](Turfjs/turf#2574) [Turfjs/turf#2675](Turfjs/turf#2675) [Turfjs/turf#2671](Turfjs/turf#2671) [Turfjs/turf#2676](Turfjs/turf#2676) [Turfjs/turf#2677](Turfjs/turf#2677) [Turfjs/turf#2688](Turfjs/turf#2688) [Turfjs/turf#2635](Turfjs/turf#2635) [Turfjs/turf#2689](Turfjs/turf#2689) [Turfjs/turf#2692](Turfjs/turf#2692) [Turfjs/turf#2693](Turfjs/turf#2693) [Turfjs/turf#2624](Turfjs/turf#2624) [Turfjs/turf#2683](Turfjs/turf#2683) [Turfjs/turf#2696](Turfjs/turf#2696) [Turfjs/turf#2618](Turfjs/turf#2618) [Turfjs/turf#2593](Turfjs/turf#2593) [Turfjs/turf#2665](Turfjs/turf#2665) [Turfjs/turf#2659](Turfjs/turf#2659) [Turfjs/turf#2636](Turfjs/turf#2636) [Turfjs/turf#2563](Turfjs/turf#2563) [#2696](https://github.com/equinor/webviz-subsurface-components/issues/2696) [#2683](https://github.com/equinor/webviz-subsurface-components/issues/2683) [#2624](https://github.com/equinor/webviz-subsurface-components/issues/2624) [#2693](https://github.com/equinor/webviz-subsurface-components/issues/2693) [#2692](https://github.com/equinor/webviz-subsurface-components/issues/2692) [#2635](https://github.com/equinor/webviz-subsurface-components/issues/2635) [#2688](https://github.com/equinor/webviz-subsurface-components/issues/2688) [#2677](https://github.com/equinor/webviz-subsurface-components/issues/2677)
## [1.0.6](https://github.com/equinor/webviz-subsurface-components/compare/[email protected]@1.0.6) (2024-10-11) ### Bug Fixes * bump @turf/simplify from 7.0.0 to 7.1.0 in /typescript ([#2309](#2309)) ([0b9903a](0b9903a)), closes [Turfjs/turf#2618](Turfjs/turf#2618) [Turfjs/turf#2612](Turfjs/turf#2612) [Turfjs/turf#2621](Turfjs/turf#2621) [Turfjs/turf#2623](Turfjs/turf#2623) [Turfjs/turf#2631](Turfjs/turf#2631) [Turfjs/turf#2644](Turfjs/turf#2644) [Turfjs/turf#2645](Turfjs/turf#2645) [Turfjs/turf#2646](Turfjs/turf#2646) [Turfjs/turf#2648](Turfjs/turf#2648) [Turfjs/turf#2649](Turfjs/turf#2649) [Turfjs/turf#2602](Turfjs/turf#2602) [Turfjs/turf#2650](Turfjs/turf#2650) [Turfjs/turf#2651](Turfjs/turf#2651) [Turfjs/turf#2652](Turfjs/turf#2652) [Turfjs/turf#2653](Turfjs/turf#2653) [Turfjs/turf#2654](Turfjs/turf#2654) [Turfjs/turf#2655](Turfjs/turf#2655) [Turfjs/turf#2593](Turfjs/turf#2593) [Turfjs/turf#2664](Turfjs/turf#2664) [Turfjs/turf#2665](Turfjs/turf#2665) [Turfjs/turf#2668](Turfjs/turf#2668) [Turfjs/turf#2669](Turfjs/turf#2669) [Turfjs/turf#2659](Turfjs/turf#2659) [Turfjs/turf#2636](Turfjs/turf#2636) [Turfjs/turf#2563](Turfjs/turf#2563) [Turfjs/turf#2674](Turfjs/turf#2674) [Turfjs/turf#2673](Turfjs/turf#2673) [Turfjs/turf#2574](Turfjs/turf#2574) [Turfjs/turf#2675](Turfjs/turf#2675) [Turfjs/turf#2671](Turfjs/turf#2671) [Turfjs/turf#2676](Turfjs/turf#2676) [Turfjs/turf#2677](Turfjs/turf#2677) [Turfjs/turf#2688](Turfjs/turf#2688) [Turfjs/turf#2635](Turfjs/turf#2635) [Turfjs/turf#2689](Turfjs/turf#2689) [Turfjs/turf#2692](Turfjs/turf#2692) [Turfjs/turf#2693](Turfjs/turf#2693) [Turfjs/turf#2624](Turfjs/turf#2624) [Turfjs/turf#2683](Turfjs/turf#2683) [Turfjs/turf#2696](Turfjs/turf#2696) [Turfjs/turf#2618](Turfjs/turf#2618) [Turfjs/turf#2593](Turfjs/turf#2593) [Turfjs/turf#2665](Turfjs/turf#2665) [Turfjs/turf#2659](Turfjs/turf#2659) [Turfjs/turf#2636](Turfjs/turf#2636) [Turfjs/turf#2563](Turfjs/turf#2563) [#2696](https://github.com/equinor/webviz-subsurface-components/issues/2696) [#2683](https://github.com/equinor/webviz-subsurface-components/issues/2683) [#2624](https://github.com/equinor/webviz-subsurface-components/issues/2624) [#2693](https://github.com/equinor/webviz-subsurface-components/issues/2693) [#2692](https://github.com/equinor/webviz-subsurface-components/issues/2692) [#2635](https://github.com/equinor/webviz-subsurface-components/issues/2635) [#2688](https://github.com/equinor/webviz-subsurface-components/issues/2688) [#2677](https://github.com/equinor/webviz-subsurface-components/issues/2677)
## [1.3.14](https://github.com/equinor/webviz-subsurface-components/compare/[email protected]@1.3.14) (2024-10-11) ### Bug Fixes * bump @turf/simplify from 7.0.0 to 7.1.0 in /typescript ([#2309](#2309)) ([0b9903a](0b9903a)), closes [Turfjs/turf#2618](Turfjs/turf#2618) [Turfjs/turf#2612](Turfjs/turf#2612) [Turfjs/turf#2621](Turfjs/turf#2621) [Turfjs/turf#2623](Turfjs/turf#2623) [Turfjs/turf#2631](Turfjs/turf#2631) [Turfjs/turf#2644](Turfjs/turf#2644) [Turfjs/turf#2645](Turfjs/turf#2645) [Turfjs/turf#2646](Turfjs/turf#2646) [Turfjs/turf#2648](Turfjs/turf#2648) [Turfjs/turf#2649](Turfjs/turf#2649) [Turfjs/turf#2602](Turfjs/turf#2602) [Turfjs/turf#2650](Turfjs/turf#2650) [Turfjs/turf#2651](Turfjs/turf#2651) [Turfjs/turf#2652](Turfjs/turf#2652) [Turfjs/turf#2653](Turfjs/turf#2653) [Turfjs/turf#2654](Turfjs/turf#2654) [Turfjs/turf#2655](Turfjs/turf#2655) [Turfjs/turf#2593](Turfjs/turf#2593) [Turfjs/turf#2664](Turfjs/turf#2664) [Turfjs/turf#2665](Turfjs/turf#2665) [Turfjs/turf#2668](Turfjs/turf#2668) [Turfjs/turf#2669](Turfjs/turf#2669) [Turfjs/turf#2659](Turfjs/turf#2659) [Turfjs/turf#2636](Turfjs/turf#2636) [Turfjs/turf#2563](Turfjs/turf#2563) [Turfjs/turf#2674](Turfjs/turf#2674) [Turfjs/turf#2673](Turfjs/turf#2673) [Turfjs/turf#2574](Turfjs/turf#2574) [Turfjs/turf#2675](Turfjs/turf#2675) [Turfjs/turf#2671](Turfjs/turf#2671) [Turfjs/turf#2676](Turfjs/turf#2676) [Turfjs/turf#2677](Turfjs/turf#2677) [Turfjs/turf#2688](Turfjs/turf#2688) [Turfjs/turf#2635](Turfjs/turf#2635) [Turfjs/turf#2689](Turfjs/turf#2689) [Turfjs/turf#2692](Turfjs/turf#2692) [Turfjs/turf#2693](Turfjs/turf#2693) [Turfjs/turf#2624](Turfjs/turf#2624) [Turfjs/turf#2683](Turfjs/turf#2683) [Turfjs/turf#2696](Turfjs/turf#2696) [Turfjs/turf#2618](Turfjs/turf#2618) [Turfjs/turf#2593](Turfjs/turf#2593) [Turfjs/turf#2665](Turfjs/turf#2665) [Turfjs/turf#2659](Turfjs/turf#2659) [Turfjs/turf#2636](Turfjs/turf#2636) [Turfjs/turf#2563](Turfjs/turf#2563) [#2696](https://github.com/equinor/webviz-subsurface-components/issues/2696) [#2683](https://github.com/equinor/webviz-subsurface-components/issues/2683) [#2624](https://github.com/equinor/webviz-subsurface-components/issues/2624) [#2693](https://github.com/equinor/webviz-subsurface-components/issues/2693) [#2692](https://github.com/equinor/webviz-subsurface-components/issues/2692) [#2635](https://github.com/equinor/webviz-subsurface-components/issues/2635) [#2688](https://github.com/equinor/webviz-subsurface-components/issues/2688) [#2677](https://github.com/equinor/webviz-subsurface-components/issues/2677)
## [2.1.4](https://github.com/equinor/webviz-subsurface-components/compare/[email protected]@2.1.4) (2024-10-11) ### Bug Fixes * bump @turf/simplify from 7.0.0 to 7.1.0 in /typescript ([#2309](#2309)) ([0b9903a](0b9903a)), closes [Turfjs/turf#2618](Turfjs/turf#2618) [Turfjs/turf#2612](Turfjs/turf#2612) [Turfjs/turf#2621](Turfjs/turf#2621) [Turfjs/turf#2623](Turfjs/turf#2623) [Turfjs/turf#2631](Turfjs/turf#2631) [Turfjs/turf#2644](Turfjs/turf#2644) [Turfjs/turf#2645](Turfjs/turf#2645) [Turfjs/turf#2646](Turfjs/turf#2646) [Turfjs/turf#2648](Turfjs/turf#2648) [Turfjs/turf#2649](Turfjs/turf#2649) [Turfjs/turf#2602](Turfjs/turf#2602) [Turfjs/turf#2650](Turfjs/turf#2650) [Turfjs/turf#2651](Turfjs/turf#2651) [Turfjs/turf#2652](Turfjs/turf#2652) [Turfjs/turf#2653](Turfjs/turf#2653) [Turfjs/turf#2654](Turfjs/turf#2654) [Turfjs/turf#2655](Turfjs/turf#2655) [Turfjs/turf#2593](Turfjs/turf#2593) [Turfjs/turf#2664](Turfjs/turf#2664) [Turfjs/turf#2665](Turfjs/turf#2665) [Turfjs/turf#2668](Turfjs/turf#2668) [Turfjs/turf#2669](Turfjs/turf#2669) [Turfjs/turf#2659](Turfjs/turf#2659) [Turfjs/turf#2636](Turfjs/turf#2636) [Turfjs/turf#2563](Turfjs/turf#2563) [Turfjs/turf#2674](Turfjs/turf#2674) [Turfjs/turf#2673](Turfjs/turf#2673) [Turfjs/turf#2574](Turfjs/turf#2574) [Turfjs/turf#2675](Turfjs/turf#2675) [Turfjs/turf#2671](Turfjs/turf#2671) [Turfjs/turf#2676](Turfjs/turf#2676) [Turfjs/turf#2677](Turfjs/turf#2677) [Turfjs/turf#2688](Turfjs/turf#2688) [Turfjs/turf#2635](Turfjs/turf#2635) [Turfjs/turf#2689](Turfjs/turf#2689) [Turfjs/turf#2692](Turfjs/turf#2692) [Turfjs/turf#2693](Turfjs/turf#2693) [Turfjs/turf#2624](Turfjs/turf#2624) [Turfjs/turf#2683](Turfjs/turf#2683) [Turfjs/turf#2696](Turfjs/turf#2696) [Turfjs/turf#2618](Turfjs/turf#2618) [Turfjs/turf#2593](Turfjs/turf#2593) [Turfjs/turf#2665](Turfjs/turf#2665) [Turfjs/turf#2659](Turfjs/turf#2659) [Turfjs/turf#2636](Turfjs/turf#2636) [Turfjs/turf#2563](Turfjs/turf#2563) [#2696](https://github.com/equinor/webviz-subsurface-components/issues/2696) [#2683](https://github.com/equinor/webviz-subsurface-components/issues/2683) [#2624](https://github.com/equinor/webviz-subsurface-components/issues/2624) [#2693](https://github.com/equinor/webviz-subsurface-components/issues/2693) [#2692](https://github.com/equinor/webviz-subsurface-components/issues/2692) [#2635](https://github.com/equinor/webviz-subsurface-components/issues/2635) [#2688](https://github.com/equinor/webviz-subsurface-components/issues/2688) [#2677](https://github.com/equinor/webviz-subsurface-components/issues/2677)
As part of a previous bug fix (#2530), unmaintained code from a third party package was included in turf-helpers for use by other packages. This was a convenient approach at the time given there wasn't a clear strategy for where to put code we want to share internally, but not necessary publish.
Unfortunately that lead to a 50kB increase in bundle size by users of turf-helpers, even if they used none of the recently added code.
This PR reverts turf-helpers to its original responsibilities, and instead leverages a recently created third party package that (surprise!) contains exactly the functionality we need.
This approach isn't perfect - the bundle size is still about 4kB larger than it used to be. However this may have more to do with other changes between 6.5.0 and 7.0.0, and will require further investigation down the track.
Resolves #2616.
npm test
at the sub modules where changes have occurred.npm run lint
to ensure code style at the turf module level.