Add Element.Delegation test for removing an submit event in IE.
[mootools.git] / Gruntfile.js
blob5a5d3dad0d8088af7ed20276efb8a8421cde79b6
1 "use strict";
3 module.exports = function(grunt) {
5         grunt.loadNpmTasks('grunt-contrib-uglify');
6         require('load-grunt-tasks')(grunt);
8         var fs = require('fs');
9         var pullRequest = process.env.TRAVIS_PULL_REQUEST;      
10         var distTasks = JSON.parse(fs.readFileSync('Tests/dist-tasks.json'));
11         var options = require('./Tests/gruntfile-options');
13         grunt.initConfig({
14                 'connect': options.grunt,
15                 'packager': {
16                         options: {name: 'Core'},
17                         'all':options.packager.all,
18                         'nocompat':options.packager.nocompat,
19                         'specs':options.packager.specs,
20                         'specs-nocompat':options.packager.specsNoCompat,
21                         'dist-all': distTasks.build.compat,
22                         'dist-nocompat': distTasks.build.nocompat
23                 },
24                 uglify: distTasks.uglify,
25                 'karma': {
26                         options: options.karma,
27                         continuous: {
28                                 browsers: ['PhantomJS']
29                         },
30                         sauceTask: {
31                                 browsers: [options.travis.browser]
32                         },
33                         dev: {
34                                 singleRun: false,
35                                 browsers: ['PhantomJS'],
36                                 reporters: 'dots'
37                         },
38                         // Testers for dist build files
39                         compatFull: distTasks.testTasks.compatFull,
40                         compatUglyfied: distTasks.testTasks.compatUglyfied,
41                         nocompatFull: distTasks.testTasks.nocompatFull,
42                         nocompatUglified: distTasks.testTasks.nocompatUglified
43                 },
45                 'clean': {
46                         dist: {src: 'dist/mootools-*.js'},
47                         specs: {src: 'mootools-*.js'}
48                 }
49         });
51         var compatBuild = ['clean:specs', 'packager:all', 'packager:specs'];
52         var nocompatBuild = ['clean:specs', 'packager:nocompat', 'packager:specs-nocompat'];
53         var tasks = options.travis.build == 'default' ? compatBuild : nocompatBuild;
54         tasks =  pullRequest != 'false' ? tasks.concat('karma:continuous') : tasks.concat('karma:sauceTask');
56         grunt.registerTask('default', compatBuild.concat('karma:continuous'));          // local testing - compat build
57         grunt.registerTask('nocompat', nocompatBuild.concat('karma:continuous'));       // local testing - no compat build
58         grunt.registerTask('default:travis', tasks);                                                            // Travis & Sauce Labs
59         grunt.registerTask('distBuild', [                                                                                       // task to build and test /dist files
60                 // Build dist files
61                 'clean:dist', 'packager:dist-all', 'packager:dist-nocompat', 'uglify',
62                 // Test specs against dist files
63                 'clean:specs', 'packager:specs', 'karma:compatFull', 'karma:compatUglyfied',
64                 'clean:specs', 'packager:specs-nocompat', 'karma:nocompatFull', 'karma:nocompatUglified'
65         ]);