| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- /*jshint node:true, quotmark:single */
- 'use strict';
-
- module.exports = function (grunt) {
-
- grunt.initConfig({
- pkg: grunt.file.readJSON('package.json'),
- qunit: {
- all: 'test/index.html'
- },
- jshint: {
- options: {
- jshintrc: true
- },
- grunt: 'Gruntfile.js',
- source: 'src/**/*.js',
- tests: 'test/**/*.js'
- },
- uglify: {
- options: {
- banner: '/*! <%= pkg.name %> v<%= pkg.version %> | <%= pkg.license %> */\n'
- },
- build: {
- files: {
- 'build/jquery.cookie-<%= pkg.version %>.min.js': 'src/jquery.cookie.js'
- }
- }
- },
- watch: {
- options: {
- livereload: true
- },
- files: '{src,test}/**/*.js',
- tasks: 'default'
- },
- compare_size: {
- files: [
- 'build/jquery.cookie-<%= pkg.version %>.min.js',
- 'src/jquery.cookie.js'
- ],
- options: {
- compress: {
- gz: function (fileContents) {
- return require('gzip-js').zip(fileContents, {}).length;
- }
- }
- }
- },
- connect: {
- saucelabs: {
- options: {
- port: 9999,
- base: ['.', 'test']
- }
- },
- tests: {
- options: {
- port: 9998,
- base: ['.', 'test'],
- open: 'http://127.0.0.1:9998',
- keepalive: true,
- livereload: true
- }
- }
- },
- 'saucelabs-qunit': {
- all: {
- options: {
- urls: ['http://127.0.0.1:9999'],
- build: process.env.TRAVIS_JOB_ID,
- browsers: [
- // iOS
- {
- browserName: 'iphone',
- platform: 'OS X 10.9',
- version: '7.1'
- },
- {
- browserName: 'ipad',
- platform: 'OS X 10.9',
- version: '7.1'
- },
- // Android
- {
- browserName: 'android',
- platform: 'Linux',
- version: '4.3'
- },
- // OS X
- {
- browserName: 'safari',
- platform: 'OS X 10.9',
- version: '7'
- },
- {
- browserName: 'safari',
- platform: 'OS X 10.8',
- version: '6'
- },
- {
- browserName: 'firefox',
- platform: 'OS X 10.9',
- version: '28'
- },
- // Windows
- {
- browserName: 'internet explorer',
- platform: 'Windows 8.1',
- version: '11'
- },
- {
- browserName: 'internet explorer',
- platform: 'Windows 8',
- version: '10'
- },
- {
- browserName: 'internet explorer',
- platform: 'Windows 7',
- version: '11'
- },
- {
- browserName: 'internet explorer',
- platform: 'Windows 7',
- version: '10'
- },
- {
- browserName: 'internet explorer',
- platform: 'Windows 7',
- version: '9'
- },
- {
- browserName: 'internet explorer',
- platform: 'Windows 7',
- version: '8'
- },
- {
- browserName: 'firefox',
- platform: 'Windows 7',
- version: '29'
- },
- {
- browserName: 'chrome',
- platform: 'Windows 7',
- version: '34'
- },
- // Linux
- {
- browserName: 'firefox',
- platform: 'Linux',
- version: '29'
- }
- ]
- }
- }
- }
- });
-
- // Loading dependencies
- for (var key in grunt.file.readJSON('package.json').devDependencies) {
- if (key !== 'grunt' && key.indexOf('grunt') === 0) {
- grunt.loadNpmTasks(key);
- }
- }
-
- grunt.registerTask('default', ['jshint', 'qunit', 'uglify', 'compare_size']);
- grunt.registerTask('saucelabs', ['connect:saucelabs', 'saucelabs-qunit']);
- grunt.registerTask('ci', ['jshint', 'qunit', 'saucelabs']);
- };
|