@@ -28,12 +28,21 @@ function readPostcssConfig(generator) {
2828 return { } ;
2929}
3030
31+ function generateConfig ( option ) {
32+ const args = [ 'init' ] ;
33+ if ( option === 'full' ) {
34+ args . push ( '--full' ) ;
35+ }
36+ const { spawnSync } = require ( 'child_process' ) ;
37+ spawnSync ( './node_modules/.bin/tailwind' , args ) ;
38+ }
39+
3140module . exports = ( api , options ) => {
3241 const postcss = readPostcssConfig ( api . generator ) ;
3342 const configs = {
3443 postcss : {
3544 plugins : {
36- tailwindcss : './tailwind.config.js' ,
45+ tailwindcss : { } ,
3746 'vue-cli-plugin-tailwind/purgecss' : { } ,
3847 } ,
3948 } ,
@@ -46,8 +55,20 @@ module.exports = (api, options) => {
4655 api . injectImports ( api . entryFile , `import './assets/tailwind.css'` ) ;
4756 api . render ( './template' ) ;
4857
49- api . onCreateComplete ( ( ) => {
50- const { spawnSync } = require ( 'child_process' ) ;
51- spawnSync ( './node_modules/.bin/tailwind' , [ 'init' , 'tailwind.config.js' ] ) ;
52- } ) ;
58+ if ( options . overwriteConfig ) {
59+ const filename = 'tailwind.config.js' ;
60+ delete api . generator . files [ filename ] ;
61+ const configPath = path . join ( api . generator . context , filename ) ;
62+ try {
63+ fs . unlinkSync ( configPath ) ;
64+ } catch ( error ) {
65+ throw new Error ( error ) ;
66+ }
67+ }
68+
69+ if ( options . initConfig && options . overwriteConfig !== false ) {
70+ api . onCreateComplete ( ( ) => {
71+ generateConfig ( options . initConfig ) ;
72+ } ) ;
73+ }
5374} ;
0 commit comments