You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
4.0 KiB
107 lines
4.0 KiB
let fs = require('fs'),
|
|
gulp = require('gulp'),
|
|
concat = require('gulp-concat'),
|
|
minify = require('gulp-minify'),
|
|
cleanCSS = require('gulp-clean-css'),
|
|
size = require('gulp-size'),
|
|
sass = require('gulp-sass'),
|
|
sourcemaps = require('gulp-sourcemaps');
|
|
|
|
let packageFile = JSON.parse(fs.readFileSync('source.info.json'));
|
|
let theme = packageFile.source;
|
|
let destPath = packageFile.destPath;
|
|
let watchPath = packageFile.watch;
|
|
|
|
gulp.task('minify-desktop-css', function () {
|
|
let dest = destPath.root + "/" + destPath.assets + "/" + destPath.css;
|
|
let fileName = "desktop.min.css";
|
|
|
|
return gulp.src( theme.desktop.css )
|
|
.pipe(sourcemaps.init())
|
|
.pipe( sass({outputStyle: 'compact'}).on('error', sass.logError))
|
|
.pipe( concat(fileName)) //병합하고
|
|
.pipe(cleanCSS().on('error', function(e){console.log(e);}))
|
|
.pipe(size({ gzip: true, showFiles: true }))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(gulp.dest(dest));
|
|
});
|
|
|
|
// Javascript 합치기 실행
|
|
gulp.task('minify-desktop-js', [], function(){
|
|
let dest = destPath.root + "/" + destPath.assets + "/" + destPath.js;
|
|
let fileName = "desktop.js";
|
|
|
|
return gulp.src( theme.commonJs.concat( theme.desktop.js ) )
|
|
.pipe(sourcemaps.init())
|
|
.pipe(concat(fileName))
|
|
.pipe(minify({ext: {min : '.min.js'},noSource:true}))
|
|
.pipe(size({ gzip: true, showFiles: true }))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(gulp.dest(dest));
|
|
});
|
|
|
|
gulp.task('minify-mobile-css', function () {
|
|
let dest = destPath.root + "/" + destPath.assets + "/" + destPath.css;
|
|
let fileName = "mobile.min.css";
|
|
|
|
return gulp.src( theme.mobile.css )
|
|
.pipe(sourcemaps.init())
|
|
.pipe( sass({outputStyle: 'compact'}).on('error', sass.logError))
|
|
.pipe( concat(fileName)) //병합하고
|
|
.pipe(cleanCSS().on('error', function(e){console.log(e);}))
|
|
.pipe(size({ gzip: true, showFiles: true }))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(gulp.dest(dest));
|
|
});
|
|
|
|
gulp.task('minify-mobile-js', [], function(){
|
|
let dest = destPath.root + "/" + destPath.assets + "/" + destPath.js;
|
|
let fileName = "mobile.js";
|
|
|
|
return gulp.src( theme.commonJs.concat( theme.mobile.js ) )
|
|
.pipe(sourcemaps.init())
|
|
.pipe(concat(fileName))
|
|
.pipe(minify({ext: {min : '.min.js'},noSource:true}))
|
|
.pipe(size({ gzip: true, showFiles: true }))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(gulp.dest(dest));
|
|
});
|
|
|
|
|
|
gulp.task('minify-admin-css', function () {
|
|
let dest = destPath.root + "/" + destPath.assets + "/" + destPath.css;
|
|
let fileName = "admin.min.css";
|
|
|
|
return gulp.src( theme.admin.css )
|
|
.pipe(sourcemaps.init())
|
|
.pipe( sass({outputStyle: 'compact'}).on('error', sass.logError))
|
|
.pipe( concat(fileName)) //병합하고
|
|
.pipe(cleanCSS().on('error', function(e){console.log(e);}))
|
|
.pipe(size({ gzip: true, showFiles: true }))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(gulp.dest(dest));
|
|
});
|
|
|
|
gulp.task('minify-admin-js', [], function(){
|
|
let dest = destPath.root + "/" + destPath.assets + "/" + destPath.js;
|
|
let fileName = "admin.js";
|
|
|
|
return gulp.src( theme.commonJs.concat( theme.admin.js ) )
|
|
.pipe(sourcemaps.init())
|
|
.pipe(concat(fileName))
|
|
.pipe(minify({ext: {min : '.min.js'},noSource:true}))
|
|
.pipe(size({ gzip: true, showFiles: true }))
|
|
.pipe(sourcemaps.write('.'))
|
|
.pipe(gulp.dest(dest));
|
|
});
|
|
|
|
gulp.task('scss-watch', function() {
|
|
gulp.watch(watchPath.desktop.css, ['minify-desktop-css']);
|
|
//gulp.watch(watchPath.desktop.js, ['minify-desktop-js']);
|
|
gulp.watch(watchPath.mobile.css, ['minify-mobile-css']);
|
|
//gulp.watch(watchPath.mobile.js, ['minify-mobile-js']);
|
|
gulp.watch(watchPath.admin.css, ['minify-admin-css']);
|
|
//gulp.watch(watchPath.admin.js, ['minify-admin-js']);
|
|
});
|
|
|
|
gulp.task('default', ['minify-desktop-js', 'minify-desktop-css', 'minify-mobile-js', 'minify-mobile-css','minify-admin-js', 'minify-admin-css']);
|