@@ -22,11 +22,16 @@ export const options = [
2222 usage : '-c, --config <file>' ,
2323 description : 'Tailwind config file.' ,
2424 } ,
25+ {
26+ usage : '--no-autoprefixer' ,
27+ description : "Don't add vendor prefixes using autoprefixer." ,
28+ } ,
2529]
2630
2731export const optionMap = {
2832 output : [ 'output' , 'o' ] ,
2933 config : [ 'config' , 'c' ] ,
34+ noAutoprefixer : [ 'no-autoprefixer' ] ,
3035}
3136
3237/**
@@ -60,11 +65,11 @@ function stopWithHelp(...msgs) {
6065 * @param {string } outputFile
6166 * @return {Promise }
6267 */
63- function build ( inputFile , configFile , outputFile ) {
68+ function build ( inputFile , configFile , outputFile , autoprefix ) {
6469 const css = utils . readFile ( inputFile )
6570
6671 return new Promise ( ( resolve , reject ) => {
67- postcss ( [ tailwind ( configFile ) , autoprefixer ] )
72+ postcss ( [ tailwind ( configFile ) ] . concat ( autoprefix ? [ autoprefixer ] : [ ] ) )
6873 . process ( css , {
6974 from : inputFile ,
7075 to : outputFile ,
@@ -82,8 +87,10 @@ function build(inputFile, configFile, outputFile) {
8287 * @param {string } outputFile
8388 * @return {Promise }
8489 */
85- function buildToStdout ( inputFile , configFile , outputFile ) {
86- return build ( inputFile , configFile , outputFile ) . then ( result => process . stdout . write ( result . css ) )
90+ function buildToStdout ( inputFile , configFile , outputFile , autoprefix ) {
91+ return build ( inputFile , configFile , outputFile , autoprefix ) . then ( result =>
92+ process . stdout . write ( result . css )
93+ )
8794}
8895
8996/**
@@ -95,12 +102,12 @@ function buildToStdout(inputFile, configFile, outputFile) {
95102 * @param {int[] } startTime
96103 * @return {Promise }
97104 */
98- function buildToFile ( inputFile , configFile , outputFile , startTime ) {
105+ function buildToFile ( inputFile , configFile , outputFile , autoprefix , startTime ) {
99106 utils . header ( )
100107 utils . log ( )
101108 utils . log ( emoji . go , 'Building...' , chalk . bold . cyan ( inputFile ) )
102109
103- return build ( inputFile , configFile , outputFile ) . then ( result => {
110+ return build ( inputFile , configFile , outputFile , autoprefix ) . then ( result => {
104111 utils . writeFile ( outputFile , result . css )
105112
106113 const prettyTime = prettyHrtime ( process . hrtime ( startTime ) )
@@ -126,6 +133,7 @@ export function run(cliParams, cliOptions) {
126133 const inputFile = cliParams [ 0 ]
127134 const configFile = cliOptions . config && cliOptions . config [ 0 ]
128135 const outputFile = cliOptions . output && cliOptions . output [ 0 ]
136+ const autoprefix = ! cliOptions . noAutoprefixer
129137
130138 ! inputFile && stopWithHelp ( 'CSS file is required.' )
131139 ! utils . exists ( inputFile ) && stop ( chalk . bold . magenta ( inputFile ) , 'does not exist.' )
@@ -135,8 +143,8 @@ export function run(cliParams, cliOptions) {
135143 stop ( chalk . bold . magenta ( configFile ) , 'does not exist.' )
136144
137145 const buildPromise = outputFile
138- ? buildToFile ( inputFile , configFile , outputFile , startTime )
139- : buildToStdout ( inputFile , configFile , outputFile )
146+ ? buildToFile ( inputFile , configFile , outputFile , autoprefix , startTime )
147+ : buildToStdout ( inputFile , configFile , outputFile , autoprefix )
140148
141149 buildPromise . then ( resolve ) . catch ( reject )
142150 } )
0 commit comments