Rename to resolveDefaultsAtRules
This commit is contained in:
parent
6756a82a67
commit
c5e13c68fe
3 changed files with 66 additions and 5 deletions
|
|
@ -22,7 +22,7 @@ function extractElementSelector(selector) {
|
|||
return cache.get(selector)
|
||||
}
|
||||
|
||||
export default function collapseAdjacentRules() {
|
||||
export default function resolveDefaultsAtRules() {
|
||||
return (root) => {
|
||||
let variableNodeMap = new Map()
|
||||
let universals = new Set()
|
||||
|
|
@ -45,9 +45,8 @@ export default function collapseAdjacentRules() {
|
|||
|
||||
for (let universal of universals) {
|
||||
let selectors = new Set()
|
||||
let universalRule = postcss.rule()
|
||||
|
||||
let rules = variableNodeMap.get(universal.params)
|
||||
let rules = variableNodeMap.get(universal.params) ?? []
|
||||
|
||||
for (let rule of rules) {
|
||||
for (let selector of extractElementSelector(rule.selector)) {
|
||||
|
|
@ -55,6 +54,12 @@ export default function collapseAdjacentRules() {
|
|||
}
|
||||
}
|
||||
|
||||
if (selectors.size === 0) {
|
||||
universal.remove()
|
||||
continue
|
||||
}
|
||||
|
||||
let universalRule = postcss.rule()
|
||||
universalRule.selectors = [...selectors]
|
||||
universalRule.append(universal.nodes)
|
||||
universal.before(universalRule)
|
||||
|
|
@ -3,7 +3,7 @@ import expandTailwindAtRules from './lib/expandTailwindAtRules'
|
|||
import expandApplyAtRules from './lib/expandApplyAtRules'
|
||||
import evaluateTailwindFunctions from '../lib/evaluateTailwindFunctions'
|
||||
import substituteScreenAtRules from '../lib/substituteScreenAtRules'
|
||||
import optimizeUniversalRules from './lib/optimizeUniversalRules'
|
||||
import resolveDefaultsAtRules from './lib/resolveDefaultsAtRules'
|
||||
import collapseAdjacentRules from './lib/collapseAdjacentRules'
|
||||
import { createContext } from './lib/setupContextUtils'
|
||||
import log from '../util/log'
|
||||
|
|
@ -46,7 +46,7 @@ export default function processTailwindFeatures(setupContext) {
|
|||
expandApplyAtRules(context)(root, result)
|
||||
evaluateTailwindFunctions(context)(root, result)
|
||||
substituteScreenAtRules(context)(root, result)
|
||||
optimizeUniversalRules(context)(root, result)
|
||||
resolveDefaultsAtRules(context)(root, result)
|
||||
collapseAdjacentRules(context)(root, result)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -549,3 +549,59 @@ test('with shadows', async () => {
|
|||
`)
|
||||
})
|
||||
})
|
||||
|
||||
test('when no utilities that need the defaults are used', async () => {
|
||||
let config = {
|
||||
mode: 'jit',
|
||||
purge: [
|
||||
{
|
||||
raw: '<div class=""></div>',
|
||||
},
|
||||
],
|
||||
theme: {},
|
||||
plugins: [],
|
||||
corePlugins: ['transform', 'scale', 'rotate', 'skew'],
|
||||
}
|
||||
|
||||
let css = `
|
||||
@tailwind base;
|
||||
/* --- */
|
||||
@tailwind utilities;
|
||||
`
|
||||
|
||||
return run(css, config).then((result) => {
|
||||
expect(result.css).toMatchFormattedCss(`
|
||||
/* --- */
|
||||
`)
|
||||
})
|
||||
})
|
||||
|
||||
test('when a utility uses defaults but they do not exist', async () => {
|
||||
let config = {
|
||||
mode: 'jit',
|
||||
purge: [
|
||||
{
|
||||
raw: '<div class="rotate-3"></div>',
|
||||
},
|
||||
],
|
||||
theme: {},
|
||||
plugins: [],
|
||||
corePlugins: ['rotate'],
|
||||
}
|
||||
|
||||
let css = `
|
||||
@tailwind base;
|
||||
/* --- */
|
||||
@tailwind utilities;
|
||||
`
|
||||
|
||||
return run(css, config).then((result) => {
|
||||
expect(result.css).toMatchFormattedCss(`
|
||||
/* --- */
|
||||
.rotate-3 {
|
||||
--tw-rotate: 3deg;
|
||||
transform: var(--tw-transform);
|
||||
}
|
||||
`)
|
||||
})
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue