diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bb17b909070..860e7cc9b69d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Nothing yet! +### Fixed + +- Support square bracket notation in paths ([#6519](https://github.com/tailwindlabs/tailwindcss/pull/6519)) +- Ensure all plugins are executed for a given candidate ([#6540](https://github.com/tailwindlabs/tailwindcss/pull/6540)) ## [3.0.5] - 2021-12-15 @@ -35,7 +38,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fix text decoration utilities from overriding the new text decoration color/style/thickness utilities when used with a modifier ([#6378](https://github.com/tailwindlabs/tailwindcss/pull/6378)) - Move defaults to their own always-on layer ([#6500](https://github.com/tailwindlabs/tailwindcss/pull/6500)) - Support negative values in safelist patterns ([#6480](https://github.com/tailwindlabs/tailwindcss/pull/6480)) -- Support square bracket notation in paths ([#6519](https://github.com/tailwindlabs/tailwindcss/pull/6519)) ## [3.0.2] - 2021-12-13 diff --git a/src/lib/generateRules.js b/src/lib/generateRules.js index 806a70747e63..be479c4b6487 100644 --- a/src/lib/generateRules.js +++ b/src/lib/generateRules.js @@ -325,7 +325,6 @@ function* resolveMatchedPlugins(classCandidate, context) { for (let [prefix, modifier] of candidatePermutations(candidatePrefix)) { if (context.candidateRuleMap.has(prefix)) { yield [context.candidateRuleMap.get(prefix), negative ? `-${modifier}` : modifier] - return } } } diff --git a/tests/basic-usage.test.js b/tests/basic-usage.test.js index 33adf24df5d6..3bb5bf3741c8 100644 --- a/tests/basic-usage.test.js +++ b/tests/basic-usage.test.js @@ -1,7 +1,7 @@ import fs from 'fs' import path from 'path' -import { run, css } from './util/run' +import { html, run, css } from './util/run' test('basic usage', () => { let config = { @@ -22,3 +22,38 @@ test('basic usage', () => { expect(result.css).toMatchFormattedCss(expected) }) }) + +test('all plugins are executed that match a candidate', () => { + let config = { + content: [{ raw: html`
` }], + theme: { + colors: { + green: { + light: 'green', + }, + }, + }, + corePlugins: { preflight: false }, + } + + let input = css` + @tailwind utilities; + + .bg-green { + /* Empty on purpose */ + } + ` + + return run(input, config).then((result) => { + expect(result.css).toMatchFormattedCss(css` + .bg-green-light { + --tw-bg-opacity: 1; + background-color: rgb(0 128 0 / var(--tw-bg-opacity)); + } + + .bg-green { + /* Empty on purpose */ + } + `) + }) +})