eslint-plugin-green
Version:
ESLint plugin for evaluating and promoting green coding practices
40 lines (39 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.expectNoRuleErrors = exports.expectRuleError = exports.verifyCode = exports.getBaseParserOptions = exports.createLinter = void 0;
const eslint_1 = require("eslint");
const createLinter = () => {
const linter = new eslint_1.Linter();
return linter;
};
exports.createLinter = createLinter;
const getBaseParserOptions = () => ({
ecmaVersion: 2018,
sourceType: 'module',
ecmaFeatures: {
jsx: true
}
});
exports.getBaseParserOptions = getBaseParserOptions;
const verifyCode = (linter, code, ruleName, options = {}) => {
const messages = linter.verify(code, {
rules: {
[`green/${ruleName}`]: 'error'
},
parserOptions: {
...(0, exports.getBaseParserOptions)(),
...options
}
});
return messages;
};
exports.verifyCode = verifyCode;
const expectRuleError = (messages, ruleId) => {
expect(messages.length).toBeGreaterThan(0);
expect(messages[0].ruleId).toBe(`green/${ruleId}`);
};
exports.expectRuleError = expectRuleError;
const expectNoRuleErrors = (messages) => {
expect(messages.length).toBe(0);
};
exports.expectNoRuleErrors = expectNoRuleErrors;