Gruntfile.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*jshint node: true */
  2. module.exports = function (grunt) {
  3. 'use strict';
  4. grunt.loadNpmTasks('grunt-contrib-concat');
  5. grunt.loadNpmTasks('grunt-contrib-connect');
  6. grunt.loadNpmTasks('grunt-contrib-uglify');
  7. grunt.loadNpmTasks('grunt-contrib-watch');
  8. grunt.initConfig({
  9. pkg: grunt.file.readJSON('package.json'),
  10. concat: {
  11. dist: {
  12. src: [
  13. 'src/start.frag',
  14. 'src/main.js',
  15. 'src/completer.js',
  16. 'src/dropdown.js',
  17. 'src/strategy.js',
  18. 'src/adapter.js',
  19. 'src/textarea.js',
  20. 'src/ie_textarea.js',
  21. 'src/content_editable.js',
  22. 'src/vendor/textarea_caret.js',
  23. 'src/end.frag'
  24. ],
  25. dest: 'dist/jquery.textcomplete.js'
  26. }
  27. },
  28. uglify: {
  29. options: {
  30. banner:
  31. '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +
  32. '<%= grunt.template.today("yyyy-mm-dd") %> */',
  33. sourceMap: 'dist/jquery.textcomplete.min.map'
  34. },
  35. all: {
  36. files: {
  37. 'dist/jquery.textcomplete.min.js': [
  38. 'dist/jquery.textcomplete.js'
  39. ]
  40. }
  41. }
  42. },
  43. connect: {
  44. server: {
  45. options: {
  46. port: 8000,
  47. base: '../'
  48. }
  49. }
  50. },
  51. watch: {
  52. all: {
  53. files: ['src/*.js'],
  54. tasks: ['concat', 'uglify']
  55. }
  56. }
  57. });
  58. grunt.registerTask('default', ['connect', 'watch']);
  59. grunt.registerTask('build', ['concat', 'uglify']);
  60. };