mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
synced 2024-11-23 23:44:53 +00:00
ba38b57c83
Change-Id: Ic7d67098492558fdd6cec292afd22aaf8693a594
49 lines
1,013 B
JavaScript
49 lines
1,013 B
JavaScript
'use strict';
|
||
|
||
module.exports = function ( grunt ) {
|
||
const conf = grunt.file.readJSON( 'extension.json' );
|
||
|
||
grunt.loadNpmTasks( 'grunt-banana-checker' );
|
||
grunt.loadNpmTasks( 'grunt-contrib-watch' );
|
||
grunt.loadNpmTasks( 'grunt-eslint' );
|
||
grunt.loadNpmTasks( 'grunt-stylelint' );
|
||
|
||
grunt.initConfig( {
|
||
eslint: {
|
||
options: {
|
||
cache: true,
|
||
fix: grunt.option( 'fix' )
|
||
},
|
||
all: [
|
||
'**/*.{js,json}',
|
||
'!{tests/externals,docs}/**',
|
||
'!{vendor,node_modules}/**'
|
||
]
|
||
},
|
||
// Lint – Styling
|
||
stylelint: {
|
||
options: {
|
||
syntax: 'less'
|
||
},
|
||
all: [
|
||
'modules/**/*.{css,less}'
|
||
]
|
||
},
|
||
banana: Object.assign( {
|
||
options: { requireLowerCase: false }
|
||
}, conf.MessagesDirs ),
|
||
watch: {
|
||
files: [
|
||
'.{stylelintrc,eslintrc}.json',
|
||
'<%= eslint.all %>',
|
||
'<%= stylelint.all %>'
|
||
],
|
||
tasks: 'test'
|
||
}
|
||
} );
|
||
|
||
grunt.registerTask( 'lint', [ 'eslint', 'stylelint', 'banana' ] );
|
||
grunt.registerTask( 'test', 'lint' );
|
||
grunt.registerTask( 'default', [ 'test' ] );
|
||
};
|