Invalidate candidates with bad variants up front
This commit is contained in:
parent
92d1664d2f
commit
7db4c3a403
6 changed files with 10 additions and 5 deletions
|
|
@ -201,6 +201,11 @@ function splitWithSeparator(input, separator) {
|
|||
function* resolveMatches(candidate, context) {
|
||||
let separator = context.tailwindConfig.separator
|
||||
let [classCandidate, ...variants] = splitWithSeparator(candidate, separator).reverse()
|
||||
|
||||
if (!variants.every((variant) => context.variantMap.has(variant))) {
|
||||
return []
|
||||
}
|
||||
|
||||
let important = false
|
||||
|
||||
if (classCandidate.startsWith('!')) {
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ test('with variants', async () => {
|
|||
mode: 'jit',
|
||||
purge: [
|
||||
{
|
||||
raw: '<div class="backdrop-brightness-100 hover:backdrop-brightness-150 backdrop-contrast-50 lg:backdrop-contrast-100"></div>',
|
||||
raw: '<div class="bad-variant:backdrop-brightness-100 backdrop-brightness-100 hover:backdrop-brightness-150 backdrop-contrast-50 lg:backdrop-contrast-100"></div>',
|
||||
},
|
||||
],
|
||||
corePlugins: ['backdropFilter', 'backdropBrightness', 'backdropContrast'],
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ test('basic ring width', async () => {
|
|||
mode: 'jit',
|
||||
purge: [
|
||||
{
|
||||
raw: '<div class="shadow shadow-md shadow-lg"></div>',
|
||||
raw: '<div class="bad-variant:shadow shadow shadow-md shadow-lg"></div>',
|
||||
},
|
||||
],
|
||||
corePlugins: ['boxShadow'],
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ test('with variants', async () => {
|
|||
mode: 'jit',
|
||||
purge: [
|
||||
{
|
||||
raw: '<div class="brightness-100 hover:brightness-150 contrast-50 lg:contrast-100"></div>',
|
||||
raw: '<div class="bad-variant:brightness-100 brightness-100 hover:brightness-150 contrast-50 lg:contrast-100"></div>',
|
||||
},
|
||||
],
|
||||
corePlugins: ['filter', 'brightness', 'contrast'],
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ test('basic ring width', async () => {
|
|||
mode: 'jit',
|
||||
purge: [
|
||||
{
|
||||
raw: '<div class="ring ring-2 ring-4 ring-blue-500 ring-offset-2 ring-offset-blue-100"></div>',
|
||||
raw: '<div class="bad-variant:ring ring ring-2 ring-4 ring-blue-500 ring-offset-2 ring-offset-blue-100"></div>',
|
||||
},
|
||||
],
|
||||
corePlugins: ['ringColor', 'ringOffsetColor', 'ringOffsetWidth', 'ringOpacity', 'ringWidth'],
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ test('with variants', async () => {
|
|||
mode: 'jit',
|
||||
purge: [
|
||||
{
|
||||
raw: '<div class="scale-50 hover:scale-100 translate-x-4 lg:translate-x-6"></div>',
|
||||
raw: '<div class="bad-variant:scale-50 scale-50 hover:scale-100 translate-x-4 lg:translate-x-6"></div>',
|
||||
},
|
||||
],
|
||||
corePlugins: ['transform', 'scale', 'translate'],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue