2 var ESLINT_OPTION, SOURCE, browserify, eslint, gulp, minimist, mocha, source;
4 gulp = require('gulp');
6 mocha = require('gulp-mocha');
8 eslint = require('gulp-eslint');
10 minimist = require('minimist');
12 source = require('vinyl-source-stream');
14 browserify = require('browserify');
16 require('coffee-script/register');
24 'no-use-before-define': 0,
27 'no-underscore-dangle': 0,
28 'no-multi-spaces': false,
29 'no-native-reassign': 0,
38 gulp.task('test', function() {
40 options = minimist(process.argv.slice(2), {
46 return gulp.src(options.test).pipe(mocha({
51 gulp.task('lint', function() {
52 return gulp.src(SOURCE).pipe(eslint(ESLINT_OPTION)).pipe(eslint.formatEach('stylish', process.stderr)).pipe(eslint.failOnError());
55 gulp.task('build', function() {
57 entries: ['./escope.js']
58 }).bundle().pipe(source('bundle.js')).pipe(gulp.dest('build'));
61 gulp.task('travis', ['lint', 'test']);
63 gulp.task('default', ['travis']);