@@ -448,8 +448,26 @@ async function build() {
448448 tailwindPlugin ,
449449 ! args [ '--minify' ] && formatNodes ,
450450 ...afterPlugins ,
451- ! args [ '--no-autoprefixer' ] && lazyAutoprefixer ( ) ,
452- args [ '--minify' ] && lazyCssnano ( ) ( { preset : [ 'default' , { cssDeclarationSorter : false } ] } ) ,
451+ ! args [ '--no-autoprefixer' ] &&
452+ ( ( ) => {
453+ // Try to load a local `autoprefixer` version first
454+ try {
455+ return require ( 'autoprefixer' )
456+ } catch { }
457+
458+ return lazyAutoprefixer ( )
459+ } ) ( ) ,
460+ args [ '--minify' ] &&
461+ ( ( ) => {
462+ let options = { preset : [ 'default' , { cssDeclarationSorter : false } ] }
463+
464+ // Try to load a local `cssnano` version first
465+ try {
466+ return require ( 'cssnano' )
467+ } catch { }
468+
469+ return lazyCssnano ( ) ( options )
470+ } ) ( ) ,
453471 ] . filter ( Boolean )
454472
455473 let processor = postcss ( plugins )
@@ -485,7 +503,7 @@ async function build() {
485503
486504 let context = null
487505
488- function startWatcher ( ) {
506+ async function startWatcher ( ) {
489507 let changedContent = [ ]
490508 let configDependencies = [ ]
491509 let contextDependencies = new Set ( )
@@ -509,6 +527,35 @@ async function build() {
509527 return resolveConfig ( )
510528 }
511529
530+ let [ beforePlugins , afterPlugins ] = includePostCss ? await loadPostCssPlugins ( ) : [ [ ] , [ ] ]
531+
532+ let plugins = [
533+ ...beforePlugins ,
534+ '__TAILWIND_PLUGIN_POSITION__' ,
535+ ! args [ '--minify' ] && formatNodes ,
536+ ...afterPlugins ,
537+ ! args [ '--no-autoprefixer' ] &&
538+ ( ( ) => {
539+ // Try to load a local `autoprefixer` version first
540+ try {
541+ return require ( 'autoprefixer' )
542+ } catch { }
543+
544+ return lazyAutoprefixer ( )
545+ } ) ( ) ,
546+ args [ '--minify' ] &&
547+ ( ( ) => {
548+ let options = { preset : [ 'default' , { cssDeclarationSorter : false } ] }
549+
550+ // Try to load a local `cssnano` version first
551+ try {
552+ return require ( 'cssnano' )
553+ } catch { }
554+
555+ return lazyCssnano ( ) ( options )
556+ } ) ( ) ,
557+ ] . filter ( Boolean )
558+
512559 async function rebuild ( config ) {
513560 env . DEBUG && console . time ( 'Finished in' )
514561
@@ -548,18 +595,10 @@ async function build() {
548595
549596 tailwindPlugin . postcss = true
550597
551- let [ beforePlugins , afterPlugins ] = includePostCss ? await loadPostCssPlugins ( ) : [ [ ] , [ ] ]
552-
553- let plugins = [
554- ...beforePlugins ,
555- tailwindPlugin ,
556- ! args [ '--minify' ] && formatNodes ,
557- ...afterPlugins ,
558- ! args [ '--no-autoprefixer' ] && lazyAutoprefixer ( ) ,
559- args [ '--minify' ] && lazyCssnano ( ) ( { preset : [ 'default' , { cssDeclarationSorter : false } ] } ) ,
560- ] . filter ( Boolean )
561-
562- let processor = postcss ( plugins )
598+ let tailwindPluginIdx = plugins . indexOf ( '__TAILWIND_PLUGIN_POSITION__' )
599+ let copy = plugins . slice ( )
600+ copy . splice ( tailwindPluginIdx , 1 , tailwindPlugin )
601+ let processor = postcss ( copy )
563602
564603 function processCSS ( css ) {
565604 let start = process . hrtime . bigint ( )
0 commit comments