kingdot
Version:
A UI Components Library For Vue
52 lines (43 loc) • 1.46 kB
JavaScript
;
var _require = require('gulp'),
series = _require.series,
src = _require.src,
dest = _require.dest,
parallel = _require.parallel,
task = _require.task;
var stylus = require('gulp-stylus');
var autoprefixer = require('gulp-autoprefixer');
var cssmin = require('gulp-cssmin');
var themes = require('./themes.js');
var tasks = [];
var compiler = function compiler(fieldPath, outputPath) {
return src(fieldPath).pipe(stylus()).pipe(autoprefixer({
overrideBrowserslist: ['Chrome > 31', 'ff > 31', 'ie >= 8']
})).pipe(cssmin()).pipe(dest(outputPath));
};
task('copyfont', function () {
return src('./fonts/**').pipe(cssmin()).pipe(dest('./lib/fonts'));
});
tasks.push('copyfont');
themes.forEach(function (theme) {
var themeTask = [{
taskName: 'compile-' + theme,
filePath: './' + theme + '/index.styl',
outputPath: './lib/' + theme
}, {
taskName: 'compile-' + theme + '-base',
filePath: './' + theme + '/base.styl',
outputPath: './lib/' + theme
}, {
taskName: 'compile-' + theme + '-separate',
filePath: './' + theme + '/src/*',
outputPath: './lib/' + theme
}];
themeTask.forEach(function (item) {
task(item.taskName, function () {
return compiler(item.filePath, item.outputPath);
});
tasks.push(item.taskName);
});
});
exports.build = parallel(series.apply(null, tasks));