12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- const { src, dest } = require( 'gulp' );
- const sass = require( 'gulp-dart-sass' );
- const postcss = require( 'gulp-postcss' );
- const cssnano = require( 'cssnano' );
- const autoprefixer = require( 'autoprefixer' );
- const rename = require( 'gulp-rename' );
- const through = require( 'through2' );
- const fs = require( 'fs' );
- const path = require( 'path' );
- function buildCss() {
- return src( [
- './src/css/core/index.scss',
- './src/css/themes/default/index.scss',
- './src/css/themes/sea-green/index.scss',
- './src/css/themes/skyblue/index.scss',
- ], { base: 'src' } )
- .pipe( sass() )
- .pipe( postcss( [
- cssnano( { reduceIdents: false } ),
- autoprefixer(),
- ] ) )
- .pipe( rename( path => {
- const fragments = path.dirname.split( '\\' );
- const dirname = fragments.slice( 0, -1 ).join( '\\' );
- return {
- dirname,
- basename: `splide-${ fragments[ fragments.length - 1 ] }.min`,
- extname : '.css',
- };
- } ) )
- .pipe( dest( 'dist' ) )
- .pipe( copy() );
- }
- function copy() {
- return through( { objectMode: true }, ( file, encoding, cb ) => {
- if ( file.path.includes( 'splide-default' ) ) {
- const result = path.parse( file.path );
- const fragments = result.dir.split( '\\' );
- const dirname = fragments.slice( 0, -1 ).join( '\\' );
- fs.copyFile( file.path, `${ dirname }\\splide.min.css`, error => {
- if ( error ) {
- throw error;
- }
- } );
- }
- cb( null, file );
- } );
- }
- exports.buildCss = buildCss;
|