X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/d721cbe5947c8bc75b2e4b0e9602e0e3d45dbbcb..24e1f42110e9836448816a3297c3fb291dda5cea:/Gruntfile.js diff --git a/Gruntfile.js b/Gruntfile.js index 5427659..8417c15 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -2,9 +2,9 @@ module.exports = function(grunt) { 'use strict'; - var build_output_dir = grunt.option('output-dir') || 'build', - less_files = {}; + less_files = {}, + jshint_targets = grunt.option('jshint-targets'); less_files[build_output_dir + '/rng.css'] = 'src/editor/styles/main.less'; @@ -17,13 +17,13 @@ module.exports = function(grunt) { mainConfigFile: 'src/editor/entrypoint.js', out: build_output_dir + '/rng.js', name: 'entrypoint', - include: ['libs/require'], + include: ['libs/require', 'libs/ace/mode-xml'], generateSourceMaps: true, // The following two settings are required for source maps to work, // see: http://requirejs.org/docs/optimization.html#sourcemaps preserveLicenseComments: false, - optimize: 'uglify2' + optimize: grunt.option('optimize') || 'uglify2' } } }, @@ -39,7 +39,7 @@ module.exports = function(grunt) { }, }, jshint: { - all: ['Gruntfile.js', 'src/**/*.js'], + all: jshint_targets ? jshint_targets.split(',') : ['Gruntfile.js', 'src/**/*.js'], options: { jshintrc: '.jshintrc' } @@ -50,6 +50,18 @@ module.exports = function(grunt) { {src: ['libs/bootstrap/img/**'], dest: build_output_dir+'/'}, ] } + }, + githooks: { + all: { + options: { + dest: grunt.option('git-hooks-dir') || '.git/hooks', + }, + 'pre-commit': { + taskNames: ['lint'], + args: '--no-color', + template: 'pre-commit.template.js' + } + } } }); @@ -57,6 +69,7 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-contrib-less'); grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-githooks'); grunt.registerTask('build', ['requirejs', 'less:production', 'copy:resources']); grunt.registerTask('lint', ['jshint']);