gruntfile.js 2.7 KB

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