@elora-cloud/elora-cli
Version:
elora build cli 前端打包脚手架
41 lines (35 loc) • 1.77 kB
JavaScript
;
var path = require('node:path');
var chalk = require('chalk');
var consola = require('consola');
var gulp = require('gulp');
var autoprefixer = require('gulp-autoprefixer');
var cleanCSS = require('gulp-clean-css');
var gulpSass = require('gulp-sass');
var dartSass = require('sass');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
var path__default = /*#__PURE__*/_interopDefaultCompat(path);
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
var consola__default = /*#__PURE__*/_interopDefaultCompat(consola);
var autoprefixer__default = /*#__PURE__*/_interopDefaultCompat(autoprefixer);
var cleanCSS__default = /*#__PURE__*/_interopDefaultCompat(cleanCSS);
var gulpSass__default = /*#__PURE__*/_interopDefaultCompat(gulpSass);
var dartSass__default = /*#__PURE__*/_interopDefaultCompat(dartSass);
function EloraBuildSkin(option) {
const sass = gulpSass__default.default(dartSass__default.default);
return (gulp.src(path__default.default.resolve(option.srcDir, option.themeSourceDir))
.pipe(sass.sync({
includePaths: ['node_modules'],
}))
.pipe(autoprefixer__default.default({ cascade: false }))
.pipe(cleanCSS__default.default({}, (details) => {
consola__default.default.success(`${chalk__default.default.cyan(details.name)}: ${chalk__default.default.yellow(details.stats.originalSize / 1000)} KB -> ${chalk__default.default.green(details.stats.minifiedSize / 1000)} KB`);
}))
// .pipe(
// rename((path) => {
// path.extname = path.extname.replace('css', 'scss');
// })
// )
.pipe(gulp.dest(option.distDir)));
}
exports.EloraBuildSkin = EloraBuildSkin;