6e802b1855c61aa8d50af42c13b0e225cfb01fea
[platform/framework/web/crosswalk-tizen.git] /
1 (function() {
2   var ESLINT_OPTION, SOURCE, browserify, eslint, gulp, minimist, mocha, source;
3
4   gulp = require('gulp');
5
6   mocha = require('gulp-mocha');
7
8   eslint = require('gulp-eslint');
9
10   minimist = require('minimist');
11
12   source = require('vinyl-source-stream');
13
14   browserify = require('browserify');
15
16   require('coffee-script/register');
17
18   SOURCE = ['*.js'];
19
20   ESLINT_OPTION = {
21     rules: {
22       'quotes': 0,
23       'eqeqeq': 0,
24       'no-use-before-define': 0,
25       'no-shadow': 0,
26       'no-new': 0,
27       'no-underscore-dangle': 0,
28       'no-multi-spaces': false,
29       'no-native-reassign': 0,
30       'no-loop-func': 0,
31       'no-lone-blocks': 0
32     },
33     env: {
34       'node': true
35     }
36   };
37
38   gulp.task('test', function() {
39     var options;
40     options = minimist(process.argv.slice(2), {
41       string: 'test',
42       "default": {
43         test: 'test/*.coffee'
44       }
45     });
46     return gulp.src(options.test).pipe(mocha({
47       reporter: 'spec'
48     }));
49   });
50
51   gulp.task('lint', function() {
52     return gulp.src(SOURCE).pipe(eslint(ESLINT_OPTION)).pipe(eslint.formatEach('stylish', process.stderr)).pipe(eslint.failOnError());
53   });
54
55   gulp.task('build', function() {
56     return browserify({
57       entries: ['./escope.js']
58     }).bundle().pipe(source('bundle.js')).pipe(gulp.dest('build'));
59   });
60
61   gulp.task('travis', ['lint', 'test']);
62
63   gulp.task('default', ['travis']);
64
65 }).call(this);