UNPKG

@elora-cloud/elora-cli

Version:
69 lines (62 loc) 3.04 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); 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 replace = require('gulp-replace'); var gulpSass = require('gulp-sass'); var dartSass = require('sass'); var gulp$1 = require('../utils/gulp.cjs'); require('../utils/paths.cjs'); require('../utils/pkg.cjs'); require('../utils/process.cjs'); 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 replace__default = /*#__PURE__*/_interopDefaultCompat(replace); var gulpSass__default = /*#__PURE__*/_interopDefaultCompat(gulpSass); var dartSass__default = /*#__PURE__*/_interopDefaultCompat(dartSass); /** * compile theme-chalk scss & minify * not use sass.sync().on('error', sass.logError) to throw exception * @return */ function buildThemeChalk(srcDir, themeFileDir, distDir) { const sass = gulpSass__default.default(dartSass__default.default); return (gulp.src(path__default.default.resolve(srcDir, themeFileDir)) .pipe(sass.sync({ loadPaths: ['node_modules', 'node_modules/animate.css/animate.min.css'], })) .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) => { // if (!noElPrefixFile.test(path.basename)) { // path.basename = `elora-${path.basename}`; // } // }) // ) .pipe(gulp.dest(distDir))); } /** * copy source file to packages */ function copyThemeChalkSource(srcDir, themeSourceDir, distDir) { return gulp.src(path__default.default.resolve(srcDir, themeSourceDir)) .pipe(replace__default.default('assets/images', '../assets/images')) .pipe(gulp.dest(path__default.default.resolve(distDir, 'src'))); } function EloraBuildTheme(options) { return gulp.parallel(gulp$1.withTaskName('copyThemeChalkSource', () => copyThemeChalkSource(options.srcDir, options.themeSourceDir, options.distDir)), gulp$1.withTaskName('buildThemeChalk', () => buildThemeChalk(options.srcDir, options.themeFileDir, options.distDir))); } exports.EloraBuildTheme = EloraBuildTheme; exports.copyThemeChalkSource = copyThemeChalkSource; exports.default = EloraBuildTheme;