fix: detect Tailwind in PostCSS plugins object - #6468
Merged
Merged
Conversation
🦋 Changeset detectedLatest commit: e36328b The changes in this PR will be included in the next version bump. This PR includes changesets to release 18 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
jacob-ebey
approved these changes
May 24, 2023
Contributor
|
🤖 Hello there, We just published version Thanks! |
This was referenced Jun 2, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This fixes a Tailwind performance issue when
postcss.config.jscontainsplugins: { tailwindcss: {} }andremix.config.jscontains bothtailwind: trueandpostcss: true. This would cause the Tailwind plugin to be applied twice, with the second run of the plugin effectively being an expensive no-op since all Tailwind syntax has already been processed.Note that this was not an issue when the plugin function had been explicitly called, i.e.
plugins: [tailwindcss()]. Remix avoids adding the Tailwind plugin to PostCSS if it's already present but we were failing to detect when the plugin function hadn't been called — either because the plugin function itself had been passed, i.e.plugins: [require('tailwindcss')], or the plugin config object syntax had been used, i.e.plugins: { tailwindcss: {} }.