X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/84eba72af147a175fb93b7305c1d42b0a4987a8c..e4c529f82588395c666ab6786cc9e5cbe827fb90:/Gruntfile.js diff --git a/Gruntfile.js b/Gruntfile.js index 681ec8b..a97d77c 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,14 +1,29 @@ +/* global module */ + module.exports = function(grunt) { + 'use strict'; + + var build_output_dir = grunt.option('output-dir') || 'build', + less_files = {}; + + less_files[build_output_dir + '/rng.css'] = 'src/editor/styles/main.less'; grunt.initConfig({ requirejs: { compile: { options: { - baseUrl: '', - mainConfigFile: 'entrypoint.js', - out: 'build/rng.js', + useStrict: true, + baseUrl: 'src/editor', + mainConfigFile: 'src/editor/entrypoint.js', + out: build_output_dir + '/rng.js', name: 'entrypoint', - include: ['libs/require'] + include: ['libs/require'], + generateSourceMaps: true, + + // The following two settings are required for source maps to work, + // see: http://requirejs.org/docs/optimization.html#sourcemaps + preserveLicenseComments: false, + optimize: grunt.option('optimize') || 'uglify2' } } }, @@ -16,21 +31,34 @@ module.exports = function(grunt) { production: { options: { paths: [''], - yuicompress: true - }, - files: { - 'build/rng.css': 'styles/main.less' + cleancss: true, + relativeUrls: true, + rootpath: 'src/editor/styles/' }, + files: less_files, }, }, jshint: { - all: ['Gruntfile.js', 'modules/**/*.js', 'views/**/*.js', 'fnpjs/**/*.js'] + all: ['Gruntfile.js', 'src/**/*.js'], + options: { + jshintrc: '.jshintrc' + } + }, + copy: { + resources: { + files: [ + {src: ['libs/bootstrap/img/**'], dest: build_output_dir+'/'}, + ] + } } }); grunt.loadNpmTasks('grunt-contrib-requirejs'); grunt.loadNpmTasks('grunt-contrib-less'); grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-copy'); - grunt.registerTask('default', ['requirejs']); + grunt.registerTask('build', ['requirejs', 'less:production', 'copy:resources']); + grunt.registerTask('lint', ['jshint']); + grunt.registerTask('default', ['build']); }; \ No newline at end of file