@@ -24,7 +24,22 @@ const iconMap = {
24
24
mdi : 'mdi-v4'
25
25
}
26
26
27
- const components = [ ]
27
+ const components = [
28
+ 'QLayout' ,
29
+ 'QHeader' ,
30
+ 'QDrawer' ,
31
+ 'QPageContainer' ,
32
+ 'QPage' ,
33
+ 'QToolbar' ,
34
+ 'QToolbarTitle' ,
35
+ 'QBtn' ,
36
+ 'QIcon' ,
37
+ 'QList' ,
38
+ 'QItem' ,
39
+ 'QItemSection' ,
40
+ 'QItemLabel'
41
+ ]
42
+
28
43
const directives = [ ]
29
44
const plugins = [ ]
30
45
@@ -43,10 +58,21 @@ module.exports = (api, opts) => {
43
58
const deps = {
44
59
dependencies,
45
60
devDependencies : {
46
- 'babel-plugin-transform-imports' : '1.5.0' ,
61
+ 'babel-plugin-transform-imports' : '1.5.0'
62
+ }
63
+ }
64
+
65
+ if ( opts . quasar . cssPreprocessor === 'styl' ) {
66
+ Object . assign ( deps . devDependencies , {
47
67
stylus : '^0.54.5' ,
48
68
'stylus-loader' : '^3.0.2'
49
- }
69
+ } )
70
+ }
71
+ else if ( [ 'sass' , 'scss' ] . includes ( opts . quasar . cssPreprocessor ) ) {
72
+ Object . assign ( deps . devDependencies , {
73
+ 'node-sass' : '^4.13.0' ,
74
+ 'sass-loader' : '^8.0.0'
75
+ } )
50
76
}
51
77
52
78
if ( opts . quasar . rtlSupport ) {
@@ -57,13 +83,13 @@ module.exports = (api, opts) => {
57
83
58
84
// modify plugin options
59
85
extendPluginOptions ( api , ( pluginOptions , transpileDependencies ) => {
60
- pluginOptions . quasar = pluginOptions . quasar || { }
61
-
62
- if ( opts . quasar . rtlSupport ) {
63
- pluginOptions . quasar . rtlSupport = opts . quasar . rtlSupport
64
- }
65
-
66
- pluginOptions . quasar . importStrategy = opts . quasar . importStrategy
86
+ pluginOptions . quasar = Object . assign (
87
+ pluginOptions . quasar || { } ,
88
+ {
89
+ importStrategy : opts . quasar . importStrategy ,
90
+ rtlSupport : opts . quasar . rtlSupport
91
+ }
92
+ )
67
93
68
94
transpileDependencies . push ( 'quasar' )
69
95
@@ -76,6 +102,10 @@ module.exports = (api, opts) => {
76
102
api . render ( './templates/rtl' )
77
103
}
78
104
105
+ if ( opts . quasar . cssPreprocessor !== 'none' ) {
106
+ api . render ( `./templates/${ opts . quasar . cssPreprocessor } ` )
107
+ }
108
+
79
109
if ( opts . quasar . replaceComponents ) {
80
110
const extension = hasTS ? 'ts' : 'js' ,
81
111
routerFile = api . resolve ( `src/router.${ extension } ` ) ,
@@ -105,7 +135,12 @@ module.exports = (api, opts) => {
105
135
opts . quasar . features . push ( opts . quasar . iconSet )
106
136
}
107
137
108
- lines += `\nimport './styles/quasar.styl'`
138
+ if ( opts . quasar . cssPreprocessor !== 'none' ) {
139
+ lines += `\nimport './styles/quasar.${ opts . quasar . cssPreprocessor } '`
140
+ }
141
+ else {
142
+ lines += `\nimport 'quasar/dist/quasar.css'`
143
+ }
109
144
110
145
if ( opts . quasar . features . includes ( 'ie' ) ) {
111
146
lines += `\nimport 'quasar/dist/quasar.ie.polyfills'`
0 commit comments