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

fix(plugin-vue): don't use object spread in the config hook #5155

merged 1 commit into from Sep 30, 2021


Copy link

@sodatea sodatea commented Sep 30, 2021


The config object will be merged recursively in vite core, so object
spread shouldn't be used:

config = mergeConfig(config, res)

Otherwise, it would cause an array field to be concatenated with itself.

Fixes #5150

Additional context

I didn't add a test for that issue, because it's not a use case that we intended to support. The documentation clearly stated that the define field is of type Record<string, string>.

But it's a good programming practice to remove the unnecessary object spread anyway.

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.

@patak-dev patak-dev merged commit c1ce471 into vitejs:main Sep 30, 2021
7 checks passed
aleclarson pushed a commit to aleclarson/vite that referenced this pull request Nov 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.

Define array constants in the define configuration will be double length in browser
3 participants