UNPKG

@skyscanner/eslint-plugin-rules

Version:

ESLint plugin containing rules used at Skyscanner

33 lines (29 loc) 740 B
const { ESLintUtils } = require('@typescript-eslint/utils'); const createRule = ESLintUtils.RuleCreator( (name) => `https://github.com/Skyscanner/eslint-plugin-rules#${name}`, ); const noEnum = createRule({ name: 'no-enum', meta: { type: 'problem', docs: { description: 'Disallow all usages of TypeScript enums', recommended: 'recommended', }, messages: { noEnum: 'In modern TypeScript, you should not need an enum. An object with `as const` should suffice.', }, schema: [], }, defaultOptions: [], create: (context) => ({ TSEnumDeclaration: (node) => { context.report({ node, messageId: 'noEnum', }); }, }), }); module.exports = noEnum;