Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- source = require 'vinyl-source-stream'
- buffer = require 'vinyl-buffer'
- ftp = require 'vinyl-ftp'
- rs = require 'run-sequence'
- gulp = require 'gulp'
- gulpif = require 'gulp-if'
- sass = require 'gulp-sass'
- gutil = require 'gulp-util'
- notify = require 'gulp-notify'
- uglify = require 'gulp-uglify'
- cssmin = require 'gulp-cssmin'
- useref = require 'gulp-useref'
- imagemin = require 'gulp-imagemin'
- browserify = require 'browserify'
- babelify = require 'babelify'
- watchify = require 'watchify'
- livereload = require 'gulp-server-livereload'
- # -----------------------------------------------
- handleErrors = ->
- args = Array.prototype.slice.call arguments
- notify.onError({
- title: 'Compile Error'
- message: '<%= error.message %>'
- }).apply this, args
- this.emit 'end'
- buildScript = (watch) ->
- props = {
- entries: ['src/js/main.js']
- debug: false
- transform: [babelify.configure({
- presets: ['es2015', 'react']
- })]
- }
- bundler = browserify props
- bundler = watchify bundler if watch
- rebundle = ->
- stream = bundler.bundle()
- stream
- .on 'error', handleErrors
- .pipe source('main.js')
- .pipe buffer()
- # .pipe uglify()
- .pipe gulp.dest('dist/js')
- .pipe notify({title:'JS rebuilt'})
- bundler.on 'update', ->
- rebundle()
- gutil.log 'Rebundle...'
- rebundle()
- # -----------------------------------------------
- gulp.task 'sass', ->
- gulp.src 'src/css/main.sass'
- .pipe sass().on('error', sass.logError)
- .pipe gulp.dest('dist/css')
- gulp.task 'html', ->
- gulp.src('src/index.html')
- .pipe useref()
- .pipe gulpif('*.js', uglify())
- .pipe gulpif('*.css', cssmin())
- .pipe gulp.dest('dist')
- gulp.task 'js', -> buildScript false
- gulp.task 'images', ->
- gulp.src('src/img/*.{jpg,png}')
- .pipe imagemin({
- progressive: true
- })
- .pipe gulp.dest('dist/img')
- gulp.task 'server', ->
- gulp.src('dist')
- .pipe livereload({
- livereload: true
- directoryListing: false
- open: true,
- fallback: 'index.html'
- })
- gulp.task 'default', ['html', 'server'], ->
- buildScript true
- gulp.watch ['src/index.html'], ['html']
- gulp.watch ['src/css/**/*.sass'], ['sass']
- gulp.watch ['src/img/*'], ['images']
- # -----------------------------------------------
- gulp.task 'deploy', ->
- conn = ftp.create
- host: ''
- user: ''
- pass: ''
- parallel: 10
- log: gutil.log
- gulp.src('dist/**', base: 'dist/', buffer: false)
- .pipe conn.newer('/')
- .pipe conn.dest('/')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement