Skip to content
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

feat: use native AggregateError if available #116

Merged
merged 8 commits into from
Jul 20, 2024

Conversation

MarlonPassos-git
Copy link
Contributor

Summary

Implements logic to use a native implementation if available instead of a polyfill.

Related issue

#75

Code changes

  • Related documentation has been updated, if needed.
  • Related tests have been added or updated, if needed.
  • Related benchmarks have been added or updated, if needed.

Question

To create my test, I had to create a separate file because I encountered issues using vi.stubGlobal in the same file. I discovered this happens because Vitest uses the same workers per test file. Running tests simultaneously causes conflicts with globalThis sharing. More details can be found in this discussion: vitest-dev/vitest#1741. The workaround I found was to use two files. It’s not ideal, but it works. Any suggestions for a better solution are welcome.

Does this PR introduce a breaking change?

No

Bundle impact

Calculating...

- Keep the tests in one file. Use `vi.resetModules` to check for correct behavior when globalThis.AggregateError is undefined and when it‘s not.

- Inline the polyfill so it‘s not instantiated unless necessary.

- Rename the local const to `AggregateErrorOrPolyfill` then use `export { … as … }` to export it as `AggregateError`. This prevents ESBuild from renaming the polyfill to `AggregateError2`, which it does to prevent variable shadowing.
aleclarson
aleclarson previously approved these changes Jul 20, 2024
@aleclarson aleclarson changed the title feat: Use native AggregateError if Available feat: use native AggregateError if available Jul 20, 2024
@aleclarson
Copy link
Member

aleclarson commented Jul 20, 2024

Looks good now! Thanks for all the work you put into this. 👍

Btw, in the future, you should avoid sending PR from your main branch:
https://hynek.me/articles/pull-requests-branch/

@aleclarson aleclarson merged commit 5668b85 into radashi-org:main Jul 20, 2024
7 of 8 checks passed
Copy link

A new beta version 12.2.0-beta.313bfb4 has been published to NPM. 🚀

To install:

pnpm add radashi@12.2.0-beta.313bfb4

The radashi@beta tag also includes this PR.

See the changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants