cloudflare/JSON.is
Publicmirrored fromhttps://github.com/cloudflare/JSON.is
gulpfile.coffee
89lines · modecode
10 years ago
| 1 | bower = require 'gulp-bower' |
| 2 | browserify = require 'browserify' |
| 3 | buffer = require 'gulp-buffer' |
| 4 | coffee = require 'gulp-coffee' |
| 5 | concat = require 'gulp-concat' |
| 6 | connect = require 'gulp-connect' |
| 7 | fs = require 'fs' |
| 8 | gulp = require 'gulp' |
| 9 | gulpif = require 'gulp-if' |
| 10 | gutil = require 'gulp-util' |
| 11 | jade = require 'gulp-jade' |
| 12 | nib = require 'nib' |
| 13 | Path = require 'path' |
| 14 | replace = require 'gulp-replace' |
| 15 | source = require 'vinyl-source-stream' |
| 16 | stylus = require 'gulp-stylus' |
| 17 | uglify = require 'gulp-uglify' |
| 18 | |
| 19 | handleError = (err) -> |
| 20 | gutil.log err |
| 21 | gutil.beep() |
| 22 | |
| 23 | @emit 'end' |
| 24 | |
| 25 | process.exit(1) |
| 26 | |
| 27 | STYLUS_OPTS = |
| 28 | use: [nib()] |
| 29 | errors: true |
| 30 | paths: [ |
| 31 | __dirname |
| 32 | Path.join(__dirname, 'bower_components') |
| 33 | ] |
| 34 | |
| 35 | gulp.task 'js', -> |
| 36 | browserify({ |
| 37 | entries: [ |
| 38 | './coffee/app.coffee' |
| 39 | ] |
| 40 | extensions: ['.coffee'] |
| 41 | }) |
| 42 | .bundle() |
| 43 | .pipe(source('app.js')) |
| 44 | .pipe(gulp.dest('./build/js')) |
| 45 | |
| 46 | gulp.task 'css', -> |
| 47 | gulp.src('./styl/**/*.styl') |
| 48 | .pipe(stylus(STYLUS_OPTS)) |
| 49 | .on('error', handleError) |
| 50 | .pipe(gulp.dest('./build/css')) |
| 51 | |
| 52 | gulp.task 'html', -> |
| 53 | gulp.src('./jade/**/*.jade') |
| 54 | .pipe(jade().on('error', handleError)) |
| 55 | .pipe(gulp.dest('./build')) |
| 56 | |
| 57 | gulp.task 'watch', -> |
| 58 | gulp.watch ['./coffee/**'], ['js'] |
| 59 | gulp.watch ['./styl/**'], ['css'] |
| 60 | gulp.watch ['./jade/**'], ['html'] |
| 61 | |
| 62 | gulp.task 'connect', -> |
| 63 | connect.server |
| 64 | root: ['build'] |
| 65 | port: 9002 |
| 66 | livereload: |
| 67 | port: 35133 |
| 68 | connect: |
| 69 | redirect: false |
| 70 | |
| 71 | middleware: (conn, o) -> |
| 72 | [(req, res, next) -> |
| 73 | if not /^[^?]+\./.test(req.url) |
| 74 | req.url = '' |
| 75 | next() |
| 76 | return |
| 77 | ] |
| 78 | |
| 79 | gulp.task 'build', [ |
| 80 | 'js' |
| 81 | 'css' |
| 82 | 'html' |
| 83 | ] |
| 84 | |
| 85 | gulp.task 'default', [ |
| 86 | 'build' |
| 87 | 'watch' |
| 88 | 'connect' |
| 89 | ] |