Quelltext der Datei: http://www.michaelster.ch/jsTestFolder/jQuery/jquery-cookie-plugin/Gruntfile.js

Dateigrösse: 3.38 kb

[Anzeige ohne Zeilennummern]


  1 /*jshint node:true, quotmark:single */
  2 'use strict';
  3 
  4 module.exports = function (grunt) {
  5 
  6     grunt.initConfig({
  7         pkg: grunt.file.readJSON('package.json'),
  8         qunit: {
  9             all: 'test/index.html'
 10         },
 11         jshint: {
 12             options: {
 13                 jshintrc: true
 14             },
 15             grunt: 'Gruntfile.js',
 16             source: 'src/**/*.js',
 17             tests: 'test/**/*.js'
 18         },
 19         uglify: {
 20             options: {
 21                 banner: '/*! <%= pkg.name %> v<%= pkg.version %> | <%= pkg.license %> */\n'
 22             },
 23             build: {
 24                 files: {
 25                     'build/jquery.cookie-<%= pkg.version %>.min.js': 'src/jquery.cookie.js'
 26                 }
 27             }
 28         },
 29         watch: {
 30             options: {
 31                 livereload: true
 32             },
 33             files: '{src,test}/**/*.js',
 34             tasks: 'default'
 35         },
 36         compare_size: {
 37             files: [
 38                 'build/jquery.cookie-<%= pkg.version %>.min.js',
 39                 'src/jquery.cookie.js'
 40             ],
 41             options: {
 42                 compress: {
 43                     gz: function (fileContents) {
 44                         return require('gzip-js').zip(fileContents, {}).length;
 45                     }
 46                 }
 47             }
 48         },
 49         connect: {
 50             saucelabs: {
 51                 options: {
 52                     port: 9999,
 53                     base: ['.', 'test']
 54                 }
 55             },
 56             tests: {
 57                 options: {
 58                     port: 9998,
 59                     base: ['.', 'test'],
 60                     open: 'http://127.0.0.1:9998',
 61                     keepalive: true,
 62                     livereload: true
 63                 }
 64             }
 65         },
 66         'saucelabs-qunit': {
 67             all: {
 68                 options: {
 69                     urls: ['http://127.0.0.1:9999'],
 70                     build: process.env.TRAVIS_JOB_ID,
 71                     browsers: [
 72                         // iOS
 73                         {
 74                             browserName: 'iphone',
 75                             platform: 'OS X 10.9',
 76                             version: '7.1'
 77                         },
 78                         {
 79                             browserName: 'ipad',
 80                             platform: 'OS X 10.9',
 81                             version: '7.1'
 82                         },
 83                         // Android
 84                         {
 85                             browserName: 'android',
 86                             platform: 'Linux',
 87                             version: '4.3'
 88                         },
 89                         // OS X
 90                         {
 91                             browserName: 'safari',
 92                             platform: 'OS X 10.9',
 93                             version: '7'
 94                         },
 95                         {
 96                             browserName: 'safari',
 97                             platform: 'OS X 10.8',
 98                             version: '6'
 99                         },
100                         {
101                             browserName: 'firefox',
102                             platform: 'OS X 10.9',
103                             version: '28'
104                         },
105                         // Windows
106                         {
107                             browserName: 'internet explorer',
108                             platform: 'Windows 8.1',
109                             version: '11'
110                         },
111                         {
112                             browserName: 'internet explorer',
113                             platform: 'Windows 8',
114                             version: '10'
115                         },
116                         {
117                             browserName: 'internet explorer',
118                             platform: 'Windows 7',
119                             version: '11'
120                         },
121                         {
122                             browserName: 'internet explorer',
123                             platform: 'Windows 7',
124                             version: '10'
125                         },
126                         {
127                             browserName: 'internet explorer',
128                             platform: 'Windows 7',
129                             version: '9'
130                         },
131                         {
132                             browserName: 'internet explorer',
133                             platform: 'Windows 7',
134                             version: '8'
135                         },
136                         {
137                             browserName: 'firefox',
138                             platform: 'Windows 7',
139                             version: '29'
140                         },
141                         {
142                             browserName: 'chrome',
143                             platform: 'Windows 7',
144                             version: '34'
145                         },
146                         // Linux
147                         {
148                             browserName: 'firefox',
149                             platform: 'Linux',
150                             version: '29'
151                         }
152                     ]
153                 }
154             }
155         }
156     });
157 
158     // Loading dependencies
159     for (var key in grunt.file.readJSON('package.json').devDependencies) {
160         if (key !== 'grunt' && key.indexOf('grunt') === 0) {
161             grunt.loadNpmTasks(key);
162         }
163     }
164 
165     grunt.registerTask('default', ['jshint', 'qunit', 'uglify', 'compare_size']);
166     grunt.registerTask('saucelabs', ['connect:saucelabs', 'saucelabs-qunit']);
167     grunt.registerTask('ci', ['jshint', 'qunit', 'saucelabs']);
168 };
169