diff options
Diffstat (limited to 'Gruntfile.js')
-rw-r--r-- | Gruntfile.js | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..ee4e1c7 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,113 @@ +module.exports = function(grunt) { + + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + concat: { + js: { + options: { + separator: ';' + }, + src: [ + 'libraries/jquery/dist/jquery.js', + 'libraries/bootstrap/dist/js/bootstrap.js', + 'libraries/typeahead.js/dist/typeahead.bundle.js', + 'libraries/list.js/dist/list.js', + 'libraries/leaflet-soton/resources/leaflet/dist/leaflet.js', + 'libraries/leaflet-soton/resources/leaflet-markercluster/dist/leaflet.markercluster.js', + 'libraries/leaflet-soton/resources/leaflet-locatecontrol/src/L.Control.Locate.js', + 'libraries/leaflet-soton/resources/leaflet-hash/leaflet-hash.js', + 'libraries/leaflet-soton/resources/leaflet-indoor/leaflet-indoor.js', + 'libraries/leaflet-soton/resources/leaflet-route/leaflet-route.js', + 'libraries/leaflet-soton/src/leaflet-soton.js', + 'scripts.js' + ], + dest: 'dist/scripts.js', + nonull: true + }, + css: { + src: [ + 'libraries/bootstrap/dist/css/bootstrap.css', + 'libraries/leaflet-soton/resources/leaflet/dist/leaflet.css', + 'libraries/leaflet-soton/resources/leaflet-markercluster/dist/MarkerCluster.css', + 'libraries/leaflet-soton/resources/leaflet-locatecontrol/src/L.Control.Locate.css', + 'libraries/leaflet-soton/src/leaflet-soton.css', + 'style.css' + ], + dest: 'dist/css/style.css', + nonull: true + } + }, + uglify: { + options: { + banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n' + }, + dist: { + files: { + 'dist/scripts.js': ['<%= concat.js.dest %>'] + } + } + }, + cssmin: { + add_banner: { + options: { + banner: '/* My minified css file */' + }, + files: { + 'dist/css/style.css': ['<%= concat.css.dest %>'] + } + } + }, + clean: { + build: ['dist'] + }, + copy: { + index: { + src: 'index.html', + dest: 'dist/index.html', + nonull: true + }, + data: { + src: 'libraries/leaflet-soton/data.json', + dest: 'dist/data.json', + nonull: true + }, + fonts: { + src: 'libraries/bootstrap/dist/fonts/*', + dest: 'dist/fonts/', + expand: 'false', + flatten: true, + nonull: true + }, + images: { + src: 'libraries/leaflet-soton/resources/images/*', + dest: 'dist/images/', + flatten: true, + expand: 'false', + nonull: true + }, + logos: { + src: 'libraries/leaflet-soton/resources/images/logos/*', + dest: 'dist/images/logos/', + flatten: true, + expand: 'false', + nonull: true + }, + locateimage: { + src: 'libraries/leaflet-soton/resources/leaflet-locatecontrol/src/images/*', + dest: 'dist/css/images/', + flatten: true, + expand: 'false', + nonull: true + } + } + }); + + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-copy'); + + grunt.registerTask('default', ['clean:build', 'concat', 'copy']); + grunt.registerTask('release', ['clean:build', 'concat', 'uglify', 'cssmin', 'copy']); +}; |