--- /dev/null
+/*!
+ * Grunt file
+ *
+ * @package SyntaxHighlight_GeSHi
+ */
+
+/* eslint-env node */
+module.exports = function ( grunt ) {
+ var conf = grunt.file.readJSON( 'extension.json' );
+
+ grunt.loadNpmTasks( 'grunt-banana-checker' );
+ grunt.loadNpmTasks( 'grunt-contrib-watch' );
+ grunt.loadNpmTasks( 'grunt-eslint' );
+ grunt.loadNpmTasks( 'grunt-jsonlint' );
+ grunt.loadNpmTasks( 'grunt-stylelint' );
+
+ grunt.initConfig( {
+ eslint: {
+ all: [
+ '*.js',
+ 'modules/**/*.js'
+ ]
+ },
+ jsonlint: {
+ all: [
+ '*.json',
+ 'i18n/*.json',
+ 'modules/**/*.json'
+ ]
+ },
+ stylelint: {
+ all: [
+ '**/*.css',
+ '!**/*.generated.css',
+ '!vendor/**',
+ '!node_modules/**'
+ ]
+ },
+ banana: conf.MessagesDirs,
+ watch: {
+ files: [
+ '<%= eslint.all %>',
+ '<%= jsonlint.all %>',
+ '<%= stylelint.all %>'
+ ],
+ tasks: 'test'
+ }
+ } );
+
+ grunt.registerTask( 'test', [ 'eslint', 'jsonlint', 'stylelint', 'banana' ] );
+ grunt.registerTask( 'default', 'test' );
+};