Diligent web site
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

Gruntfile.js 3.3KB

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