@elsikora/setup-wizard
Version:
Setup Wizard - CLI scaffolding utility
156 lines (153 loc) • 4.87 kB
JavaScript
import { EEslintFeature } from '../enum/eslint-feature.enum.js';
const ESLINT_FEATURE_CONFIG = {
[]: {
configFlag: "withCheckFile",
description: "File naming rules",
packages: [],
},
[]: {
configFlag: "withCss",
description: "CSS support",
packages: [],
},
[]: {
configFlag: "withFsd",
description: "File structure definition",
packages: ["@conarti/eslint-plugin-feature-sliced"],
},
[]: {
configFlag: "withI18next",
description: "i18next localization support",
packages: ["eslint-plugin-i18next"],
},
[]: {
configFlag: "withJavascript",
description: "JavaScript support",
isRequired: true,
packages: [],
},
[]: {
configFlag: "withJsDoc",
description: "JSDoc support",
packages: [],
},
[]: {
configFlag: "withJson",
description: "JSON files support",
packages: [],
},
[]: {
configFlag: "withJsx",
description: "JSX support",
packages: ["eslint-plugin-jsx-a11y"],
},
[]: {
configFlag: "withMarkdown",
description: "Markdown files support",
packages: [],
},
[]: {
configFlag: "withNest",
description: "NestJS framework support",
detect: ["@nestjs/core", "@nestjs/common"],
isRequiresTypescript: true,
packages: ["eslint-plugin-ng-module-sort", "@elsikora/eslint-plugin-nestjs-typed"],
},
[]: {
configFlag: "withNext",
description: "Next.js framework support",
detect: ["next", "next/types"],
packages: ["@next/eslint-plugin-next"],
},
[]: {
configFlag: "withNoSecrets",
description: "Secrets detection",
packages: ["eslint-plugin-no-secrets"],
},
[]: {
configFlag: "withNode",
description: "Node.js specific rules",
detect: ["node", "@types/node"],
packages: ["eslint-plugin-n"],
},
[]: {
configFlag: "withPackageJson",
description: "package.json linting",
packages: [],
},
[]: {
configFlag: "withPerfectionist",
description: "Code organization rules",
packages: [],
},
[]: {
configFlag: "withPrettier",
description: "Prettier integration",
detect: ["prettier"],
packages: [],
},
[]: {
configFlag: "withReact",
description: "React framework support",
detect: ["react", "react-dom", "@types/react"],
packages: ["@eslint-react/eslint-plugin", "eslint-plugin-react"],
},
[]: {
configFlag: "withRegexp",
description: "RegExp linting",
packages: [],
},
[]: {
configFlag: "withSonar",
description: "SonarJS code quality rules",
packages: [],
},
[]: {
configFlag: "withStorybook",
description: "Storybook support",
packages: ["eslint-plugin-storybook"],
},
[]: {
configFlag: "withStylistic",
description: "Stylistic rules",
packages: [],
},
[]: {
configFlag: "withTailwindCss",
description: "Tailwind CSS support",
detect: ["tailwindcss"],
packages: [],
},
[]: {
configFlag: "withTanstack",
description: "TanStack rules",
packages: ["@tanstack/eslint-plugin-router", "@tanstack/eslint-plugin-query"],
},
[]: {
configFlag: "withTypeorm",
description: "TypeORM support",
detect: ["typeorm", "@typeorm/core"],
isRequiresTypescript: true,
packages: ["eslint-plugin-typeorm-typescript"],
},
[]: {
configFlag: "withTypescript",
description: "TypeScript support",
detect: ["typescript", "@types/node"],
isRequiresTypescript: true,
packages: [],
},
[]: {
configFlag: "withUnicorn",
description: "Unicorn rules",
packages: [],
},
[]: {
configFlag: "withYaml",
description: "YAML files support",
packages: [],
},
};
export { ESLINT_FEATURE_CONFIG };
//# sourceMappingURL=eslint-feature-config.constant.js.map