fix(plugin-swc): use SWC when useAtYourOwnRisk_mutateSwcOptions is provided
#951
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
When
useAtYourOwnRisk_mutateSwcOptionsis provided, Vite's React SWC plugin should opt into the SWC code path, rather than using esbuild.The current workaround when changing SWC options while not specifying SWC plugins is to provide an empty
pluginsarray.Lost quite a few hours playing with configurations to reach my end-goal of preserving JSDoc comments in the produced output (something not supported by esbuild), not understanding why overriding SWC options seemingly had no effect.
I.e., the following currently has no effect when building:
The current workaround is to specify an empty plugins array:
I understand that my use-case is quite unique, but I still found the current behaviour unexpected.
Note: This commit only touches the SWC plugin. The Babel-backed plugin has a similar issue where the provided Babel configuration is sometimes completely ignored (this seemed intentional due to the
canSkipBabelfunction, so I decided not to touch that plugin).