eslint-plugin-green
Version:
ESLint plugin for evaluating and promoting green coding practices
42 lines (37 loc) • 928 B
text/typescript
import { Linter } from 'eslint';
import plugin from '../../index';
export const createLinter = () => {
const linter = new Linter();
return linter;
};
export const getBaseParserOptions = () => ({
ecmaVersion: 2018 as const,
sourceType: 'module' as const,
ecmaFeatures: {
jsx: true
}
});
export const verifyCode = (
linter: Linter,
code: string,
ruleName: string,
options: any = {}
) => {
const messages = linter.verify(code, {
rules: {
[`green/${ruleName}`]: 'error'
},
parserOptions: {
...getBaseParserOptions(),
...options
}
});
return messages;
};
export const expectRuleError = (messages: any[], ruleId: string) => {
expect(messages.length).toBeGreaterThan(0);
expect(messages[0].ruleId).toBe(`green/${ruleId}`);
};
export const expectNoRuleErrors = (messages: any[]) => {
expect(messages.length).toBe(0);
};