@@ -213,6 +213,32 @@ async function buildUMD() {
213213}
214214
215215async function buildAllCSS ( ) {
216+ // 拷贝styles
217+ async function copyStyles ( ) {
218+ await copy (
219+ resolve ( __dirname , '../src/styles' ) ,
220+ resolve ( __dirname , '../dist/styles' )
221+ )
222+
223+ const content = [
224+ `@import './styles/theme-default.scss';` ,
225+ `@import './styles/variables.scss';` ,
226+ `@import './styles/mixins/index.scss';` ,
227+ `@import './styles/animation/index.scss';` ,
228+ ]
229+ const projectID = process . env . VITE_APP_PROJECT_ID
230+ if ( projectID ) {
231+ content [ 1 ] = `@import '../variables-${ projectID } .scss';`
232+ }
233+ const scssFiles = await glob ( [ 'dist/es/packages/**/*.scss' ] )
234+ scssFiles . forEach ( ( file ) => {
235+ content . push (
236+ `@import '${ relativeFilePath ( '/dist/style.scss' , '/' + file ) } ';`
237+ )
238+ } )
239+ dest ( 'dist/style.scss' , content . join ( '\n' ) )
240+ }
241+ await copyStyles ( )
216242 await vite . build ( {
217243 logLevel : 'error' ,
218244 resolve : {
@@ -221,7 +247,7 @@ async function buildAllCSS() {
221247 build : {
222248 emptyOutDir : false ,
223249 lib : {
224- entry : './dist/styles/themes/default .scss' ,
250+ entry : './dist/style .scss' ,
225251 formats : [ 'es' ] ,
226252 name : 'style' ,
227253 fileName : 'style' ,
@@ -230,6 +256,29 @@ async function buildAllCSS() {
230256 } )
231257}
232258
259+ async function buildThemeCSS ( ) {
260+ await vite . build ( {
261+ logLevel : 'error' ,
262+ resolve : {
263+ alias : [ { find : '@' , replacement : resolve ( __dirname , '../src' ) } ] ,
264+ } ,
265+ build : {
266+ emptyOutDir : false ,
267+ rollupOptions : {
268+ output : [
269+ {
270+ dir : 'dist/styles/themes' ,
271+ assetFileNames : 'default.css' ,
272+ } ,
273+ ] ,
274+ } ,
275+ lib : {
276+ entry : './dist/styles/themes/default.scss' ,
277+ } ,
278+ } ,
279+ } )
280+ }
281+
233282// 拷贝styles
234283async function copyStyles ( ) {
235284 await copy (
@@ -338,39 +387,45 @@ async function buildCSS(p) {
338387
339388}
340389
341- console . log ( 'clean dist' )
390+ console . time ( 'clean dist' )
342391await deleteAsync ( 'dist' )
343- console . log ( 'clean: ✅ ' )
392+ console . timeEnd ( 'clean dist ' )
344393
345394await generate ( )
346395
347- console . log ( 'build ES Module' )
396+ console . time ( 'build ES Module' )
348397await buildES ( )
349- console . log ( 'build ES Module: ✅ ' )
398+ console . timeEnd ( 'build ES Module' )
350399
351- console . log ( 'build CommonJS' )
400+ console . time ( 'build CommonJS' )
352401await buildCJS ( )
353- console . log ( 'build CommonJS: ✅ ' )
402+ console . timeEnd ( 'build CommonJS' )
354403
355- console . log ( 'build UMD' )
404+ console . time ( 'build UMD' )
356405await buildUMD ( )
357- console . log ( 'build UMD: ✅ ' )
406+ console . timeEnd ( 'build UMD' )
358407
359- console . log ( 'Build CSS' )
408+ console . time ( 'Build CSS' )
360409await buildCSS ( )
361- console . log ( 'Build CSS: ✅ ' )
410+ console . timeEnd ( 'Build CSS' )
362411
363- console . log ( 'Copy Styles' )
412+ console . time ( 'Copy Styles' )
364413await copyStyles ( )
365- console . log ( 'Copy Styles: ✅ ' )
414+ console . timeEnd ( 'Copy Styles' )
366415
367- console . log ( 'Build All CSS' )
416+ console . time ( 'Build All CSS' )
368417await buildAllCSS ( )
369- console . log ( 'Build All CSS: ✅' )
418+ console . timeEnd ( 'Build All CSS' )
419+
420+ console . time ( 'Build Theme CSS' )
421+ await buildThemeCSS ( )
422+ console . timeEnd ( 'Build Theme CSS' )
370423
371- console . log ( 'Build Declaration' )
424+ console . time ( 'Build Declaration' )
372425await buildDeclaration ( )
373- console . log ( 'Build Declaration: ✅' )
426+ console . timeEnd ( 'Build Declaration' )
427+
428+ // await exportProps()
374429
375430await deleteAsync ( [
376431 'dist/es/packages/nutui.react.js' ,
@@ -379,4 +434,6 @@ await deleteAsync([
379434 'dist/es/packages/nutui.react.scss.js' ,
380435] )
381436
382- codeShift ( 'Taro' )
437+ console . time ( 'Build JSDoc' )
438+ codeShift ( )
439+ console . timeEnd ( 'Build JSDoc' )
0 commit comments