Skip to content

refactor(plugin-legacy): improve default polyfill#8312

Merged
patak-cat merged 3 commits intovitejs:mainfrom
sapphi-red:refactor/legacy-default-polyfill
Jun 1, 2022
Merged

refactor(plugin-legacy): improve default polyfill#8312
patak-cat merged 3 commits intovitejs:mainfrom
sapphi-red:refactor/legacy-default-polyfill

Conversation

@sapphi-red
Copy link
Member

@sapphi-red sapphi-red commented May 24, 2022

Description

This PR fixes the following things.

I tested this with create-vite (vanilla-js) with IE 11.

Additional context


What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

Before submitting the PR, please make sure you do the following

  • Read the Contributing Guidelines.
  • Read the Pull Request Guidelines and follow the Commit Convention.
  • Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
  • Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
  • Ideally, include relevant tests that fail without this PR but pass with it.

@sapphi-red sapphi-red added plugin: legacy p2-nice-to-have Not breaking anything but nice to have (priority) labels May 24, 2022
Comment on lines +146 to +152
// check if the target needs Promise polyfill because SystemJS relies on it
// https://github.com/systemjs/systemjs#ie11-support
await detectPolyfills(
`Promise.resolve(); Promise.all();`,
targets,
legacyPolyfills
)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Polyfills other than core-js/modules/es.promise may be added for Promise.resolve/Promise.all so the if condition is not correct.

// check if the target needs Promise polyfill because SystemJS relies on it
// https://github.com/systemjs/systemjs#ie11-support
await detectPolyfills(
`Promise.resolve(); Promise.all();`,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding Promise.all() makes legacyPolyfills to include core-js/modules/es.array.iterator.js.

@sapphi-red sapphi-red changed the title refactor(plugin-legacy): default polyfill refactor(plugin-legacy): improve default polyfill May 24, 2022
@patak-cat patak-cat merged commit 4370d91 into vitejs:main Jun 1, 2022
@sapphi-red sapphi-red deleted the refactor/legacy-default-polyfill branch June 1, 2022 11:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

p2-nice-to-have Not breaking anything but nice to have (priority) plugin: legacy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants