|
1 | 1 | import postcss from 'postcss' |
2 | 2 | import selectorParser from 'postcss-selector-parser' |
| 3 | +import { flagEnabled } from '../featureFlags' |
3 | 4 |
|
4 | 5 | function minimumImpactSelector(nodes) { |
5 | 6 | let pseudos = nodes.filter((n) => n.type === 'pseudo') |
@@ -51,7 +52,7 @@ function extractElementSelector(selector) { |
51 | 52 | return cache.get(selector) |
52 | 53 | } |
53 | 54 |
|
54 | | -export default function resolveDefaultsAtRules() { |
| 55 | +export default function resolveDefaultsAtRules({ tailwindConfig }) { |
55 | 56 | return (root) => { |
56 | 57 | let variableNodeMap = new Map() |
57 | 58 | let universals = new Set() |
@@ -90,9 +91,11 @@ export default function resolveDefaultsAtRules() { |
90 | 91 |
|
91 | 92 | let universalRule = postcss.rule() |
92 | 93 |
|
93 | | - // TODO: Fix this, this is a hotfix |
94 | | - // universalRule.selectors = [...selectors] |
95 | | - universalRule.selectors = ['*', '::before', '::after'] |
| 94 | + if (flagEnabled(tailwindConfig, 'optimizeUniversalDefaults')) { |
| 95 | + universalRule.selectors = [...selectors] |
| 96 | + } else { |
| 97 | + universalRule.selectors = ['*', '::before', '::after'] |
| 98 | + } |
96 | 99 |
|
97 | 100 | universalRule.append(universal.nodes) |
98 | 101 | universal.before(universalRule) |
|
0 commit comments