Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var SERVER_IP = process.env.SERVER_IP || '54.201.210.241:9080';
- var gulp = require('gulp');
- var gutil = require('gulp-util');
- var sourcemaps = require('gulp-sourcemaps');
- var minifyCSS = require('gulp-minify-css');
- var less = require('gulp-less');
- var autoprefixer = require('gulp-autoprefixer');
- var source = require('vinyl-source-stream');
- var buffer = require('vinyl-buffer');
- var browserify = require('browserify');
- var babelify = require('babelify');
- var uglify = require('gulp-uglify');
- var es2015Preset = require('babel-preset-es2015');
- var stringify = require('stringify');
- var replace = require('gulp-replace');
- var htmlmin = require('gulp-html-minifier');
- function errorHandler(message) {
- gutil.log(gutil.colors.red(message));
- this.emit('end');
- }
- function compileStyles() {
- return gulp.src('./src/index.less')
- .pipe(sourcemaps.init())
- .pipe(less({ compress: true }))
- .pipe(autoprefixer('last 2 versions'))
- .pipe(minifyCSS({ keepBreaks: false }))
- .pipe(sourcemaps.write('./', { sourceRoot: './', includeContent: false }))
- .on('error', errorHandler)
- .pipe(gulp.dest('./dist'));
- }
- function compileScripts() {
- return browserify('./src/app.js', { debug: true })
- .transform(stringify({
- extensions: ['.tpl'],
- minify: true
- }))
- .transform(babelify, {
- presets: [es2015Preset]
- })
- .bundle()
- .pipe(source('app.js'))
- .pipe(replace('54.201.210.241:9080', SERVER_IP))
- .pipe(buffer())
- // .pipe(sourcemaps.init({ loadMaps: true }))
- // .pipe(uglify())
- // .on('error', errorHandler)
- // .pipe(sourcemaps.write('./'))
- .pipe(gulp.dest('./dist'));
- }
- function compileHtml() {
- return gulp.src('./src/**/*.html')
- .pipe(htmlmin({ collapseWhitespace: true }))
- .pipe(gulp.dest('./dist'));
- }
- var allAssets = [
- './src/**/*.png',
- './src/**/*.jpg',
- './src/**/*.ico',
- './src/**/*.ttf',
- './src/robots.txt',
- './node_modules/bootstrap-less/assets/fonts/bootstrap/*'
- ];
- function copyAssets(sourceFiles) {
- return gulp.src(allAssets)
- .pipe(gulp.dest('./dist'));
- }
- gulp.task('styles', compileStyles);
- gulp.task('scripts', compileScripts);
- gulp.task('templates', compileHtml);
- gulp.task('copy-assets', copyAssets);
- gulp.task('watch', function () {
- gulp.watch(['./src/**/*.js', './src/**/*.tpl'], ['scripts']);
- gulp.watch('./src/**/*.less', ['styles']);
- gulp.watch('./src/**/*.html', ['templates']);
- gulp.watch(allAssets, ['copy-assets']);
- });
- gulp.task('build', ['styles', 'scripts', 'templates', 'copy-assets']);
- gulp.task('default', ['build', 'watch']);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement