/opt/canhelp/node_modules/tailwindcss/src/lib
NameSizeModeActions
cacheInvalidation.js13860644editdlrm
collapseAdjacentRules.js15310644editdlrm
collapseDuplicateDeclarations.js29520644editdlrm
content.js91960644editdlrm
defaultExtractor.js75510644editdlrm
evaluateTailwindFunctions.js74150644editdlrm
expandApplyAtRules.js194070644editdlrm
expandTailwindAtRules.js82420644editdlrm
findAtConfigPath.js13630644editdlrm
generateRules.js290730644editdlrm
getModuleDependencies.js22500644editdlrm
load-config.ts10590644editdlrm
normalizeTailwindDirectives.js28580644editdlrm
offsets.js121900644editdlrm
partitionApplyAtRules.js10090644editdlrm
regex.js18560644editdlrm
remap-bitfield.js25480644editdlrm
resolveDefaultsAtRules.js47570644editdlrm
setupContextUtils.js426430644editdlrm
setupTrackingContext.js64140644editdlrm
sharedState.js14450644editdlrm
substituteScreenAtRules.js6000644editdlrm
Edit: /opt/canhelp/node_modules/tailwindcss/src/lib/normalizeTailwindDirectives.js (2858B)
import log from '../util/log' export default function normalizeTailwindDirectives(root) { let tailwindDirectives = new Set() let layerDirectives = new Set() let applyDirectives = new Set() root.walkAtRules((atRule) => { if (atRule.name === 'apply') { applyDirectives.add(atRule) } if (atRule.name === 'import') { if (atRule.params === '"tailwindcss/base"' || atRule.params === "'tailwindcss/base'") { atRule.name = 'tailwind' atRule.params = 'base' } else if ( atRule.params === '"tailwindcss/components"' || atRule.params === "'tailwindcss/components'" ) { atRule.name = 'tailwind' atRule.params = 'components' } else if ( atRule.params === '"tailwindcss/utilities"' || atRule.params === "'tailwindcss/utilities'" ) { atRule.name = 'tailwind' atRule.params = 'utilities' } else if ( atRule.params === '"tailwindcss/screens"' || atRule.params === "'tailwindcss/screens'" || atRule.params === '"tailwindcss/variants"' || atRule.params === "'tailwindcss/variants'" ) { atRule.name = 'tailwind' atRule.params = 'variants' } } if (atRule.name === 'tailwind') { if (atRule.params === 'screens') { atRule.params = 'variants' } tailwindDirectives.add(atRule.params) } if (['layer', 'responsive', 'variants'].includes(atRule.name)) { if (['responsive', 'variants'].includes(atRule.name)) { log.warn(`${atRule.name}-at-rule-deprecated`, [ `The \`@${atRule.name}\` directive has been deprecated in Tailwind CSS v3.0.`, `Use \`@layer utilities\` or \`@layer components\` instead.`, 'https://tailwindcss.com/docs/upgrade-guide#replace-variants-with-layer', ]) } layerDirectives.add(atRule) } }) if ( !tailwindDirectives.has('base') || !tailwindDirectives.has('components') || !tailwindDirectives.has('utilities') ) { for (let rule of layerDirectives) { if (rule.name === 'layer' && ['base', 'components', 'utilities'].includes(rule.params)) { if (!tailwindDirectives.has(rule.params)) { throw rule.error( `\`@layer ${rule.params}\` is used but no matching \`@tailwind ${rule.params}\` directive is present.` ) } } else if (rule.name === 'responsive') { if (!tailwindDirectives.has('utilities')) { throw rule.error('`@responsive` is used but `@tailwind utilities` is missing.') } } else if (rule.name === 'variants') { if (!tailwindDirectives.has('utilities')) { throw rule.error('`@variants` is used but `@tailwind utilities` is missing.') } } } } return { tailwindDirectives, applyDirectives } }