gruntfile.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. module.exports = function(grunt) {
  2. grunt.initConfig({
  3. pkg: grunt.file.readJSON('package.json'),
  4. concat: {
  5. options: {
  6. separator: ';'
  7. },
  8. dist: {
  9. src: ['js/searx_src/*.js'],
  10. dest: 'js/searx.js'
  11. }
  12. },
  13. uglify: {
  14. options: {
  15. banner: '/*! oscar/searx.min.js | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n'
  16. },
  17. dist: {
  18. files: {
  19. 'js/searx.min.js': ['<%= concat.dist.dest %>']
  20. }
  21. }
  22. },
  23. jshint: {
  24. files: ['gruntfile.js', 'js/searx_src/*.js'],
  25. options: {
  26. // options here to override JSHint defaults
  27. globals: {
  28. jQuery: true,
  29. console: true,
  30. module: true,
  31. document: true
  32. }
  33. }
  34. },
  35. less: {
  36. development: {
  37. options: {
  38. paths: ["less/pointhi", "less/logicodev"]
  39. //banner: '/*! less/oscar/oscar.css | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n'
  40. },
  41. files: {"css/pointhi.css": "less/pointhi/oscar.less",
  42. "css/logicodev.css": "less/logicodev/oscar.less"}
  43. },
  44. production: {
  45. options: {
  46. paths: ["less/pointhi", "less/logicodev"],
  47. //banner: '/*! less/oscar/oscar.css | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n',
  48. cleancss: true
  49. },
  50. files: {"css/pointhi.min.css": "less/pointhi/oscar.less",
  51. "css/logicodev.min.css": "less/logicodev/oscar.less"}
  52. },
  53. bootstrap: {
  54. options: {
  55. paths: ["less/bootstrap"],
  56. cleancss: true
  57. },
  58. files: {"css/bootstrap.min.css": "less/bootstrap/bootstrap.less"}
  59. },
  60. },
  61. watch: {
  62. scripts: {
  63. files: ['<%= jshint.files %>'],
  64. tasks: ['jshint', 'concat', 'uglify']
  65. },
  66. oscar_styles: {
  67. files: ['less/pointhi/**/*.less'],
  68. tasks: ['less:development', 'less:production']
  69. },
  70. bootstrap_styles: {
  71. files: ['less/bootstrap/**/*.less'],
  72. tasks: ['less:bootstrap']
  73. }
  74. }
  75. });
  76. grunt.loadNpmTasks('grunt-contrib-uglify');
  77. grunt.loadNpmTasks('grunt-contrib-jshint');
  78. grunt.loadNpmTasks('grunt-contrib-watch');
  79. grunt.loadNpmTasks('grunt-contrib-concat');
  80. grunt.loadNpmTasks('grunt-contrib-less');
  81. grunt.registerTask('test', ['jshint']);
  82. grunt.registerTask('default', ['jshint', 'concat', 'uglify', 'less']);
  83. grunt.registerTask('styles', ['less']);
  84. };