1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import sass from 'sass';
- import fs from 'fs/promises';
- import path from 'path';
- const name = 'splide';
- const files = [
- './src/css/core/index.scss',
- './src/css/themes/default/index.scss',
- './src/css/themes/sea-green/index.scss',
- './src/css/themes/skyblue/index.scss',
- ];
- async function buildScss( file ) {
- const result = await sass.compileAsync( file, { style: 'compressed' } );
- const outFile = rename( file );
- await fs.mkdir( './dist/css/themes', { recursive: true } );
- await fs.writeFile( outFile, result.css );
- if ( outFile.includes( 'splide-default' ) ) {
- const dir = path.dirname( outFile ).split( '/' ).slice( 0, -1 ).join( '/' );
- await fs.writeFile( `${ dir }/${ name }.min.css`, result.css );
- }
- }
- function rename( file ) {
- file = file.replace( './src/', '' );
- const fragments = path.dirname( file ).split( '/' );
- const dirname = fragments.slice( 0, -1 ).join( '/' );
- return `./dist/${ dirname }/${ name }-${ fragments[ fragments.length - 1 ] }.min.css`;
- }
- Promise.all( files.map( buildScss ) ).catch( e => console.error( e ) );
- export const buildCss = () => {
- files.forEach( buildScss );
- }
|