Skip to content

Commit a9e160c

Browse files
committed
Reintroduce universal selector optimization behind experimental flag
1 parent 2dac5bb commit a9e160c

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

src/featureFlags.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import log from './util/log'
44

55
const featureFlags = {
66
future: [],
7-
experimental: [],
7+
experimental: ['optimizeUniversalDefaults'],
88
}
99

1010
export function flagEnabled(config, flag) {

src/lib/resolveDefaultsAtRules.js

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import postcss from 'postcss'
22
import selectorParser from 'postcss-selector-parser'
3+
import { flagEnabled } from '../featureFlags'
34

45
function minimumImpactSelector(nodes) {
56
let pseudos = nodes.filter((n) => n.type === 'pseudo')
@@ -51,7 +52,7 @@ function extractElementSelector(selector) {
5152
return cache.get(selector)
5253
}
5354

54-
export default function resolveDefaultsAtRules() {
55+
export default function resolveDefaultsAtRules({ tailwindConfig }) {
5556
return (root) => {
5657
let variableNodeMap = new Map()
5758
let universals = new Set()
@@ -90,9 +91,11 @@ export default function resolveDefaultsAtRules() {
9091

9192
let universalRule = postcss.rule()
9293

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+
}
9699

97100
universalRule.append(universal.nodes)
98101
universal.before(universalRule)

0 commit comments

Comments
 (0)