summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Cite/Gruntfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Cite/Gruntfile.js')
-rw-r--r--www/wiki/extensions/Cite/Gruntfile.js83
1 files changed, 83 insertions, 0 deletions
diff --git a/www/wiki/extensions/Cite/Gruntfile.js b/www/wiki/extensions/Cite/Gruntfile.js
new file mode 100644
index 00000000..4082717e
--- /dev/null
+++ b/www/wiki/extensions/Cite/Gruntfile.js
@@ -0,0 +1,83 @@
+/*!
+ * Grunt file
+ *
+ * @package Cite
+ */
+
+/* eslint-env node, es6 */
+
+module.exports = function ( grunt ) {
+ var conf = grunt.file.readJSON( 'extension.json' );
+
+ grunt.loadNpmTasks( 'grunt-banana-checker' );
+ grunt.loadNpmTasks( 'grunt-eslint' );
+ grunt.loadNpmTasks( 'grunt-jsonlint' );
+ grunt.loadNpmTasks( 'grunt-stylelint' );
+ grunt.loadNpmTasks( 'grunt-svgmin' );
+
+ grunt.initConfig( {
+ eslint: {
+ all: [
+ '**/*.js',
+ '{.jsduck,build}/**/*.js',
+ 'modules/**/*.js',
+ '!node_modules/**',
+ '!vendor/**'
+ ]
+ },
+ banana: conf.MessagesDirs,
+ stylelint: {
+ all: [
+ '**/*.css',
+ '**/*.less',
+ '!node_modules/**',
+ '!vendor/**'
+ ]
+ },
+ jsonlint: {
+ all: [
+ '**/*.json',
+ '!node_modules/**',
+ '!vendor/**'
+ ]
+ },
+ // SVG Optimization
+ svgmin: {
+ options: {
+ js2svg: {
+ pretty: true,
+ multipass: true
+ },
+ plugins: [ {
+ cleanupIDs: false
+ }, {
+ removeDesc: false
+ }, {
+ removeRasterImages: true
+ }, {
+ removeTitle: false
+ }, {
+ removeViewBox: false
+ }, {
+ removeXMLProcInst: false
+ }, {
+ sortAttrs: true
+ } ]
+ },
+ all: {
+ files: [ {
+ expand: true,
+ cwd: 'modules/ve-cite/icons',
+ src: [
+ '**/*.svg'
+ ],
+ dest: 'modules/ve-cite/icons/',
+ ext: '.svg'
+ } ]
+ }
+ }
+ } );
+
+ grunt.registerTask( 'test', [ 'eslint', 'stylelint', 'jsonlint', 'banana', 'svgmin' ] );
+ grunt.registerTask( 'default', 'test' );
+};