誰かが特定のコード構造を使用しているかどうかを確認するために、ESLint のカスタム ルールを作成する必要があります。私はESLintを初めて使用し、ルールの登録に問題があるため、.eslintrc
構成ファイルで実際に使用できます。ルール自体は次のようになります。
some-custom-rule.js
'use strict';
module.exports = function(context) {
function applyRule(node) {
// some logic
}
return {
"Identifier": applyRule
}
};
module.exports.schema = [];
次に、次の構成ファイルがあります。
.eslintrc
{
"ecmaFeatures": {
"blockBindings": true,
"forOf": true,
"modules": true,
"arrowFunctions": true,
"classes": true
},
"rules": {
"semi": 2,
"some-custom-rule": 2
},
"env": {
"es6": true,
"browser": true
}
}
Gulp タスクで ESLint を実行しようとすると、次のエラーが表示されます: 1:1 error Definition for rule 'some-custom-rule' was not found
. これは、ルールを適切に要求しなかったためだと思います。
Gulp タスクは次のとおりです。
var gulp = require('gulp');
var path = require('path');
var conf = require('./conf');
var eslint = require('gulp-eslint');
var rule = require('./rules/some-custom-rule');
gulp.task('eslint', function () {
return gulp.src(path.join(conf.paths.src, '**/*.js'))
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failAfterError());
});
カスタム ルールを利用するにはどうすればよいですか? ESLintなどに渡す必要がありますか? 前もって感謝します!