@@ -38,6 +38,11 @@ export interface ElementPlusResolverOptions {
38
38
* a list of component names that have no styles, so resolving their styles file should be prevented
39
39
*/
40
40
noStylesComponents ?: string [ ]
41
+
42
+ /**
43
+ * nightly version
44
+ */
45
+ nightly ?: boolean
41
46
}
42
47
43
48
type ElementPlusResolverOptionsResolved = Required < Omit < ElementPlusResolverOptions , 'exclude' > > &
@@ -73,9 +78,9 @@ function getSideEffectsLegacy(
73
78
}
74
79
75
80
function getSideEffects ( dirName : string , options : ElementPlusResolverOptionsResolved ) : SideEffectsInfo | undefined {
76
- const { importStyle, ssr } = options
77
- const themeFolder = 'element-plus/theme-chalk'
78
- const esComponentsFolder = 'element-plus/es/components'
81
+ const { importStyle, ssr, nightly } = options
82
+ const themeFolder = nightly ? '@element-plus/nightly/theme-chalk' : 'element-plus/theme-chalk'
83
+ const esComponentsFolder = nightly ? '@element-plus/nightly/es/components' : 'element-plus/es/components'
79
84
80
85
if ( importStyle === 'sass' ) {
81
86
return ssr
@@ -104,13 +109,13 @@ function resolveComponent(name: string, options: ElementPlusResolverOptionsResol
104
109
}
105
110
106
111
const partialName = kebabCase ( name . slice ( 2 ) ) // ElTableColumn -> table-column
107
- const { version, ssr } = options
112
+ const { version, ssr, nightly } = options
108
113
109
114
// >=1.1.0-beta.1
110
- if ( compare ( version , '1.1.0-beta.1' , '>=' ) ) {
115
+ if ( compare ( version , '1.1.0-beta.1' , '>=' ) || nightly ) {
111
116
return {
112
117
name,
113
- from : `element-plus/${ ssr ? 'lib' : 'es' } ` ,
118
+ from : `${ nightly ? '@ element-plus/nightly' : 'element-plus' } /${ ssr ? 'lib' : 'es' } ` ,
114
119
sideEffects : getSideEffects ( partialName , options ) ,
115
120
}
116
121
}
@@ -144,13 +149,13 @@ function resolveDirective(name: string, options: ElementPlusResolverOptionsResol
144
149
if ( ! directive )
145
150
return
146
151
147
- const { version, ssr } = options
152
+ const { version, ssr, nightly } = options
148
153
149
154
// >=1.1.0-beta.1
150
- if ( compare ( version , '1.1.0-beta.1' , '>=' ) ) {
155
+ if ( compare ( version , '1.1.0-beta.1' , '>=' ) || nightly ) {
151
156
return {
152
157
name : directive . importName ,
153
- from : `element-plus/${ ssr ? 'lib' : 'es' } ` ,
158
+ from : `${ nightly ? '@ element-plus/nightly' : 'element-plus' } /${ ssr ? 'lib' : 'es' } ` ,
154
159
sideEffects : getSideEffects ( directive . styleName , options ) ,
155
160
}
156
161
}
@@ -183,6 +188,7 @@ export function ElementPlusResolver(
183
188
directives : true ,
184
189
exclude : undefined ,
185
190
noStylesComponents : options . noStylesComponents || [ ] ,
191
+ nightly : false ,
186
192
...options ,
187
193
}
188
194
return optionsResolved
0 commit comments