@@ -7,7 +7,6 @@ import prettierParserMeriyah from 'prettier/parser-meriyah'
77import prettierParserFlow from 'prettier/parser-flow'
88import prettierParserTypescript from 'prettier/parser-typescript'
99import { createContext as createContextFallback } from 'tailwindcss/lib/lib/setupContextUtils'
10- import { generateRules as generateRulesFallback } from 'tailwindcss/lib/lib/generateRules'
1110import resolveConfigFallback from 'tailwindcss/resolveConfig'
1211import * as recast from 'recast'
1312import * as astTypes from 'ast-types'
@@ -59,25 +58,7 @@ function sortClasses(
5958 suffix = `${ whitespace . pop ( ) ?? '' } ${ classes . pop ( ) ?? '' } `
6059 }
6160
62- let classNamesWithOrder = [ ]
63- for ( let className of classes ) {
64- let order =
65- env
66- . generateRules ( new Set ( [ className ] ) , env . context )
67- . sort ( ( [ a ] , [ z ] ) => bigSign ( z - a ) ) [ 0 ] ?. [ 0 ] ?? null
68- classNamesWithOrder . push ( [ className , order ] )
69- }
70-
71- classes = classNamesWithOrder
72- . sort ( ( [ , a ] , [ , z ] ) => {
73- if ( a === z ) return 0
74- // if (a === null) return options.unknownClassPosition === 'start' ? -1 : 1
75- // if (z === null) return options.unknownClassPosition === 'start' ? 1 : -1
76- if ( a === null ) return - 1
77- if ( z === null ) return 1
78- return bigSign ( a - z )
79- } )
80- . map ( ( [ className ] ) => className )
61+ classes = env . context . sortClassList ( classes )
8162
8263 for ( let i = 0 ; i < classes . length ; i ++ ) {
8364 result += `${ classes [ i ] } ${ whitespace [ i ] ?? '' } `
@@ -95,7 +76,6 @@ function createParser(original, transform) {
9576 let tailwindConfig = { }
9677 let resolveConfig = resolveConfigFallback
9778 let createContext = createContextFallback
98- let generateRules = generateRulesFallback
9979
10080 let prettierConfigPath = prettier . resolveConfigFile . sync ( options . filepath )
10181 let baseDir = prettierConfigPath
@@ -123,10 +103,6 @@ function createParser(original, transform) {
123103 baseDir ,
124104 'tailwindcss/lib/lib/setupContextUtils'
125105 ) . createContext
126- generateRules = requireFrom (
127- baseDir ,
128- 'tailwindcss/lib/lib/generateRules'
129- ) . generateRules
130106 } catch { }
131107
132108 // suppress "empty content" warning
@@ -143,7 +119,7 @@ function createParser(original, transform) {
143119 contextMap . set ( tailwindConfigPath , { context, hash } )
144120 }
145121
146- transform ( ast , { env : { context, generateRules } } )
122+ transform ( ast , { env : { context } } )
147123 return ast
148124 } ,
149125 }
0 commit comments