From 6fa213d5d83953c621262e2d07c925fff561bf7c Mon Sep 17 00:00:00 2001 From: Adam Wathan Date: Mon, 19 Oct 2020 09:40:28 -0400 Subject: [PATCH] Don't calculate didYouMean suggestions prematurely --- src/lib/substituteClassApplyAtRules.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/substituteClassApplyAtRules.js b/src/lib/substituteClassApplyAtRules.js index 8f0f1eee50a2..9763118c4fa7 100644 --- a/src/lib/substituteClassApplyAtRules.js +++ b/src/lib/substituteClassApplyAtRules.js @@ -167,8 +167,6 @@ function makeExtractUtilityRules(css, lookupTree, config) { if (utilityMap[utilityName] === undefined) { // Look for prefixed utility in case the user has goofed const prefixedUtility = prefixSelector(config.prefix, `.${utilityName}`).slice(1) - const suggestedClass = didYouMean(utilityName, Object.keys(utilityMap)) - const suggestionMessage = suggestedClass ? `, but \`${suggestedClass}\` does` : '' if (utilityMap[prefixedUtility] !== undefined) { throw rule.error( @@ -176,6 +174,9 @@ function makeExtractUtilityRules(css, lookupTree, config) { ) } + const suggestedClass = didYouMean(utilityName, Object.keys(utilityMap)) + const suggestionMessage = suggestedClass ? `, but \`${suggestedClass}\` does` : '' + throw rule.error( `The \`${utilityName}\` class does not exist${suggestionMessage}. If you're sure that \`${utilityName}\` exists, make sure that any \`@import\` statements are being properly processed before Tailwind CSS sees your CSS, as \`@apply\` can only be used for classes in the same CSS tree.`, { word: utilityName }