Gruntfile.js 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. module.exports = function (grunt) {
  2. function createBanner(fileName) {
  3. return '/*\n' +
  4. '* ' + fileName + '\n' +
  5. '* http://github.com/RobinHerbots/jquery.inputmask\n' +
  6. '* Copyright (c) 2010 - <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>\n' +
  7. '* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)\n' +
  8. '* Version: <%= pkg.version %>\n' +
  9. '*/\n';
  10. }
  11. // Project configuration.
  12. grunt.initConfig({
  13. pkg: grunt.file.readJSON('package.json'),
  14. uglify: {
  15. "inputmask": {
  16. dest: 'dist/inputmask/<%= pkg.name %>.js',
  17. src: 'js/<%= pkg.name %>.js',
  18. options: { banner: createBanner('<%= pkg.name %>') }
  19. },
  20. "inputmask.extensions": {
  21. dest: 'dist/inputmask/<%= pkg.name %>.extensions.js',
  22. src: 'js/<%= pkg.name %>.extensions.js',
  23. options: { banner: createBanner('<%= pkg.name %>.extensions') }
  24. },
  25. "inputmask.date.extensions": {
  26. dest: 'dist/inputmask/<%= pkg.name %>.date.extensions.js',
  27. src: 'js/<%= pkg.name %>.date.extensions.js',
  28. options: { banner: createBanner('<%= pkg.name %>.date.extensions') }
  29. },
  30. "inputmask.numeric.extensions": {
  31. dest: 'dist/inputmask/<%= pkg.name %>.numeric.extensions.js',
  32. src: 'js/<%= pkg.name %>.numeric.extensions.js',
  33. options: { banner: createBanner('<%= pkg.name %>.numeric.extensions') }
  34. },
  35. "inputmask.phone.extensions": {
  36. dest: 'dist/inputmask/<%= pkg.name %>.phone.extensions.js',
  37. src: 'js/<%= pkg.name %>.phone.extensions.js',
  38. options: { banner: createBanner('<%= pkg.name %>.phone.extensions') }
  39. },
  40. "inputmask.regex.extensions": {
  41. dest: 'dist/inputmask/<%= pkg.name %>.regex.extensions.js',
  42. src: 'js/<%= pkg.name %>.regex.extensions.js',
  43. options: { banner: createBanner('<%= pkg.name %>.regex.extensions') }
  44. },
  45. "inputmaskbundle": {
  46. files: {
  47. 'dist/<%= pkg.name %>.bundle.js': [
  48. 'js/<%= pkg.name %>.js',
  49. 'js/<%= pkg.name %>.extensions.js',
  50. 'js/<%= pkg.name %>.date.extensions.js',
  51. 'js/<%= pkg.name %>.numeric.extensions.js',
  52. 'js/<%= pkg.name %>.phone.extensions.js',
  53. 'js/<%= pkg.name %>.regex.extensions.js'
  54. ]
  55. },
  56. options: { banner: createBanner('<%= pkg.name %>.bundle') }
  57. }
  58. },
  59. clean: ["dist"],
  60. qunit: {
  61. files: ['qunit/qunit.html']
  62. }
  63. });
  64. // Load the plugin that provides the tasks.
  65. grunt.loadNpmTasks('grunt-contrib-uglify');
  66. grunt.loadNpmTasks('grunt-contrib-clean');
  67. grunt.loadNpmTasks('grunt-contrib-qunit');
  68. // Default task(s).
  69. grunt.registerTask('default', ['clean', 'uglify']);
  70. };