MIF_E31211879/desain/assets/node_modules/jquery-wizard-master/gulp/tasks/scripts.js

114 lines
3.3 KiB
JavaScript

'use strict';
import config from '../../config';
import gulp from 'gulp';
import babel from 'gulp-babel';
import gulpif from 'gulp-if';
import sourcemaps from 'gulp-sourcemaps';
import handleErrors from '../util/handleErrors';
import getSrcFiles from '../util/getSrcFiles';
import browser from 'browser-sync';
import header from 'gulp-header';
import rename from 'gulp-rename';
import rollup from 'gulp-rollup';
import uglify from 'gulp-uglify';
import size from 'gulp-size';
import plumber from 'gulp-plumber';
import beautify from '../util/beautify';
import path from 'path';
import notify from 'gulp-notify';
import replace from 'gulp-replace';
export function bundler(src = config.scripts.src, dest = config.scripts.dest, entry = config.scripts.entry, files = config.scripts.files, message = 'Bundler task complete') {
return function () {
let srcFiles = getSrcFiles(src, files);
return gulp.src(srcFiles)
.on('error', handleErrors)
.pipe(plumber({errorHandler: handleErrors}))
.pipe(rollup({
entry: `${src}/${entry}`,
globals: {
jquery: 'jQuery'
}
}))
.pipe(header(config.banner))
.pipe(rename({
basename: config.name,
suffix: '.es'
}))
.pipe(gulp.dest(dest))
.pipe(notify({
title: config.notify.title,
message: message,
onLast: true
}));
};
}
export function scripts(src = config.scripts.src, dest = config.scripts.dest, entry = config.scripts.entry, files = config.scripts.files, message = 'Scripts task complete') {
const createSourcemap = config.deploy || config.scripts.prodSourcemap;
return function () {
let srcFiles = getSrcFiles(src, files);
return gulp.src(`${dest}/${config.name}.es.js`)
.on('error', handleErrors)
.pipe(plumber({errorHandler: handleErrors}))
// .pipe(rollup({
// entry: `${src}/${entry}`
// }))
.pipe(babel({
"presets": ["es2015"],
"plugins": [
["transform-es2015-modules-umd", {
"globals": {
"jquery": "jQuery"
}
}]
]
}))
.pipe(header(config.banner))
.pipe(beautify({
config: path.join(config.paths.root, '.beautifyrc')
}))
.pipe(rename({
basename: config.name
}))
.pipe(gulp.dest(dest))
.pipe(size({
title: 'scripts',
showFiles: true
}))
.pipe(rename({
suffix: '.min'
}))
.pipe(gulpif(createSourcemap, sourcemaps.init()))
.pipe(uglify())
.pipe(header(config.banner))
.pipe(gulpif(
createSourcemap,
sourcemaps.write(config.deploy ? './' : null))
)
.pipe(gulp.dest(dest))
.pipe(size({
title: 'minified scripts',
showFiles: true
}))
.pipe(browser.stream())
.pipe(notify({
title: config.notify.title,
message: message,
onLast: true
}));
};
}
export function version(src = config.scripts.src, file = config.scripts.version) {
return function() {
return gulp.src(path.join(src, file), {base: "./"})
.pipe(replace(/("{0,1}|'{0,1})version\1\s*:\s*("|')([\d.]+)\2/, `$1version$1:$2${config.version}$2`))
.pipe(gulp.dest("./", {overwrite: true}));
}
}