gruntfile.js 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. reporterOutput: "",
  27. // options here to override JSHint defaults
  28. globals: {
  29. jQuery: true,
  30. console: true,
  31. module: true,
  32. document: true
  33. }
  34. }
  35. },
  36. less: {
  37. development: {
  38. options: {
  39. paths: ["less/pointhi", "less/logicodev"]
  40. //banner: '/*! less/oscar/oscar.css | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n'
  41. },
  42. files: {"css/pointhi.css": "less/pointhi/oscar.less",
  43. "css/logicodev.css": "less/logicodev/oscar.less"}
  44. },
  45. production: {
  46. options: {
  47. paths: ["less/pointhi", "less/logicodev"],
  48. //banner: '/*! less/oscar/oscar.css | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n',
  49. cleancss: true
  50. },
  51. files: {"css/pointhi.min.css": "less/pointhi/oscar.less",
  52. "css/logicodev.min.css": "less/logicodev/oscar.less"}
  53. },
  54. /*
  55. // built with ./manage.sh styles
  56. bootstrap: {
  57. options: {
  58. paths: ["less/bootstrap"],
  59. cleancss: true
  60. },
  61. files: {"css/bootstrap.min.css": "less/bootstrap/bootstrap.less"}
  62. },
  63. */
  64. },
  65. watch: {
  66. scripts: {
  67. files: ['<%= jshint.files %>'],
  68. tasks: ['jshint', 'concat', 'uglify']
  69. },
  70. oscar_styles: {
  71. files: ['less/pointhi/**/*.less'],
  72. tasks: ['less:development', 'less:production']
  73. },
  74. bootstrap_styles: {
  75. files: ['less/bootstrap/**/*.less'],
  76. tasks: ['less:bootstrap']
  77. }
  78. }
  79. });
  80. grunt.loadNpmTasks('grunt-contrib-uglify');
  81. grunt.loadNpmTasks('grunt-contrib-jshint');
  82. grunt.loadNpmTasks('grunt-contrib-watch');
  83. grunt.loadNpmTasks('grunt-contrib-concat');
  84. grunt.loadNpmTasks('grunt-contrib-less');
  85. grunt.registerTask('test', ['jshint']);
  86. grunt.registerTask('default', ['jshint', 'concat', 'uglify', 'less']);
  87. grunt.registerTask('styles', ['less']);
  88. };