Я пытаюсь написать несколько собственных правил ESLint для своего проекта на машинописном тексте. В своем проекте я использую eslint / typescript для линтинга.
Я уже написал настраиваемый плагин eslint, который проверяет настраиваемое правило. Теперь я хочу написать модульные тесты для этого настраиваемого правила. Мой тестовый файл выглядит так:
/**
* @fileoverview This rule verifies that logic can only depend on other logic
* @author Dayem Siddiqui
*/
"use strict";
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const typescriptParser = require('@typescript-eslint/parser')
var rule = require("../../../lib/rules/logic-dependency"),
RuleTester = require("eslint").RuleTester;
//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------
typescriptParser.parseForESLint()
var ruleTester = new RuleTester({ parserOptions: {} });
ruleTester.run("logic-dependency", rule, {
valid: [
`class DeleteLogic {
}
class CreateLogic {
constructor(private deleteLogic: DeleteLogic) {}
}`
],
invalid: [
{
code: `class ExternalClient {
}
class UpdateLogic {
constructor(private externalClient: ExternalClient) {}
}`,
errors: [
{
message: "Logic cannot have a dependency on client",
type: "MethodDefinition"
}
]
}
]
});
Прямо сейчас мои тесты терпят неудачу, потому что по умолчанию eslint понимает только простой код Javascript. Я понимаю, что мне нужно как-то настроить его для использования специального парсера, который позволяет ему понимать / анализировать код машинописного текста. Однако я не могу найти в Интернете хороший пример того, как это сделать.