X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=Gruntfile.js;h=fdbf0efbc5106fe0d423b8caf2e45841fe97bca7;hb=70d84f29a426b24ea36ee9c40f4b8cdf2c540859;hp=8018212e856894814aa9edf2a7ed90e5f36bc03e;hpb=d8a144d38e8929a49d7e5d49faf87936cacdffc6;p=lhc%2Fweb%2Fwiklou.git diff --git a/Gruntfile.js b/Gruntfile.js index 8018212e85..fdbf0efbc5 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -13,6 +13,7 @@ module.exports = function ( grunt ) { grunt.loadNpmTasks( 'grunt-jsonlint' ); grunt.loadNpmTasks( 'grunt-karma' ); grunt.loadNpmTasks( 'grunt-stylelint' ); + grunt.loadNpmTasks( 'grunt-svgmin' ); karmaProxy[ wgScriptPath ] = { target: wgServer + wgScriptPath, @@ -21,6 +22,9 @@ module.exports = function ( grunt ) { grunt.initConfig( { eslint: { + options: { + reportUnusedDisableDirectives: true + }, all: [ '**/*.js', '!docs/**', @@ -33,9 +37,7 @@ module.exports = function ( grunt ) { '!vendor/**', // Explicitly say "**/*.js" here in case of symlinks '!extensions/**/*.js', - '!skins/**/*.js', - // Skip functions aren't even parseable - '!resources/src/mediawiki.hidpi/skip.js' + '!skins/**/*.js' ] }, jsonlint: { @@ -49,12 +51,48 @@ module.exports = function ( grunt ) { disallowBlankTranslations: false }, core: 'languages/i18n/', + exif: 'languages/i18n/exif/', api: 'includes/api/i18n/', installer: 'includes/installer/i18n/' }, stylelint: { src: '{resources/src,mw-config}/**/*.{css,less}' }, + 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/src', + src: [ + '**/*.svg' + ], + dest: 'resources/src/', + ext: '.svg' + } ] + } + }, watch: { files: [ '.{stylelintrc,eslintrc.json}', @@ -118,9 +156,10 @@ module.exports = function ( grunt ) { return !!( process.env.MW_SERVER && process.env.MW_SCRIPT_PATH ); } ); + grunt.registerTask( 'minify', 'svgmin' ); grunt.registerTask( 'lint', [ 'eslint', 'banana', 'stylelint' ] ); grunt.registerTask( 'qunit', [ 'assert-mw-env', 'karma:main' ] ); grunt.registerTask( 'test', [ 'lint' ] ); - grunt.registerTask( 'default', 'test' ); + grunt.registerTask( 'default', [ 'minify', 'test' ] ); };