diff --git a/__tests__/fixtures/purge-example.html b/__tests__/fixtures/purge-example.html index c02578771..78132ef46 100644 --- a/__tests__/fixtures/purge-example.html +++ b/__tests__/fixtures/purge-example.html @@ -34,4 +34,6 @@ span.inline-grid.grid-cols-3(class="px-1.5") .flow-root .text-green-700.bg-green-100 .text-left= content - %samp= output \ No newline at end of file + %samp.font-mono{:data-foo => "bar"}= output + .col-span-4[aria-hidden=true] + .tracking-tight#headline diff --git a/__tests__/purgeUnusedStyles.test.js b/__tests__/purgeUnusedStyles.test.js index 6d6a7eb17..4a72b49c2 100644 --- a/__tests__/purgeUnusedStyles.test.js +++ b/__tests__/purgeUnusedStyles.test.js @@ -54,6 +54,10 @@ function assertPurged(result) { expect(result.css).toContain('.text-green-700') expect(result.css).toContain('.bg-green-100') expect(result.css).toContain('.text-left') + expect(result.css).toContain('.font-mono') + expect(result.css).toContain('.col-span-4') + expect(result.css).toContain('.tracking-tight') + expect(result.css).toContain('.tracking-tight') } test('purges unused classes', () => { diff --git a/src/lib/purgeUnusedStyles.js b/src/lib/purgeUnusedStyles.js index 48ba6a85f..9146a510e 100644 --- a/src/lib/purgeUnusedStyles.js +++ b/src/lib/purgeUnusedStyles.js @@ -67,7 +67,7 @@ export default function purgeUnusedUtilities(config) { const broadMatches = content.match(/[^<>"'`\s]*[^<>"'`\s:]/g) || [] // Capture classes within other delimiters like .block(class="w-1/2") in Pug - const innerMatches = content.match(/[^<>"'`\s.()=%]*[^<>"'`\s.()=%:]/g) || [] + const innerMatches = content.match(/[^<>"'`\s.(){}\[\]#=%]*[^<>"'`\s.(){}\[\]#=%:]/g) || [] return broadMatches.concat(innerMatches) },