summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/UniversalLanguageSelector/Gruntfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/UniversalLanguageSelector/Gruntfile.js')
-rw-r--r--www/wiki/extensions/UniversalLanguageSelector/Gruntfile.js80
1 files changed, 80 insertions, 0 deletions
diff --git a/www/wiki/extensions/UniversalLanguageSelector/Gruntfile.js b/www/wiki/extensions/UniversalLanguageSelector/Gruntfile.js
new file mode 100644
index 00000000..a3ed1f12
--- /dev/null
+++ b/www/wiki/extensions/UniversalLanguageSelector/Gruntfile.js
@@ -0,0 +1,80 @@
+/* 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: {
+ options: {
+ reportUnusedDisableDirectives: true,
+ cache: true
+ },
+ all: '.'
+ },
+ stylelint: {
+ options: {
+ syntax: 'less'
+ },
+ src: [
+ '**/*.css',
+ '**/*.less',
+ '!lib/**',
+ '!node_modules/**',
+ '!vendor/**'
+ ]
+ },
+ jsonlint: {
+ all: [
+ '**/*.json',
+ '!node_modules/**',
+ '!vendor/**'
+ ]
+ },
+ banana: conf.MessagesDirs,
+ // SVG Optimization
+ svgmin: {
+ options: {
+ js2svg: {
+ indent: '\t',
+ pretty: true
+ },
+ multipass: true,
+ plugins: [ {
+ cleanupIDs: false
+ }, {
+ removeDesc: false
+ }, {
+ removeRasterImages: true
+ }, {
+ removeTitle: false
+ }, {
+ removeViewBox: false
+ }, {
+ removeXMLProcInst: false
+ }, {
+ sortAttrs: true
+ } ]
+ },
+ all: {
+ files: [ {
+ expand: true,
+ cwd: 'resources/images',
+ src: [
+ '**/*.svg'
+ ],
+ dest: 'resources/images/',
+ ext: '.svg'
+ } ]
+ }
+ }
+ } );
+
+ grunt.registerTask( 'minify', 'svgmin' );
+ grunt.registerTask( 'test', [ 'eslint', 'stylelint', 'jsonlint', 'banana' ] );
+ grunt.registerTask( 'default', [ 'minify', 'test' ] );
+};