mediawiki-extensions-Confir.../Gruntfile.js

44 lines
1,021 B
JavaScript
Raw Normal View History

/* eslint-env node */
module.exports = function ( grunt ) {
const messagesDirs = require( './extension.json' ).MessagesDirs;
for ( const subExtension of [
'QuestyCaptcha',
'ReCaptchaNoCaptcha',
'FancyCaptcha',
'hCaptcha'
] ) {
// eslint-disable-next-line security/detect-non-literal-require
messagesDirs[ subExtension ] = require( './' + subExtension + '/extension.json' )
.MessagesDirs[ subExtension ]
.map( ( path ) => subExtension + '/' + path );
}
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-eslint' );
grunt.loadNpmTasks( 'grunt-stylelint' );
grunt.initConfig( {
eslint: {
options: {
cache: true,
fix: grunt.option( 'fix' )
},
all: [
'**/*.{js,json}',
'!{vendor,node_modules}/**'
]
},
stylelint: {
all: [
'**/*.{css,less}',
'!node_modules/**',
'!vendor/**'
]
},
banana: messagesDirs
} );
grunt.registerTask( 'test', [ 'eslint', 'stylelint', 'banana' ] );
grunt.registerTask( 'default', 'test' );
};