UNPKG

@jimmy.codes/eslint-config

Version:

A simple, modern ESLint config that covers most use cases.

87 lines (84 loc) 2.15 kB
import { GLOB_JS, GLOB_JSX, GLOB_TESTS } from "./chunk-N5KZEOXT.js"; // src/rules/typescript.ts var typescriptRules = { "@typescript-eslint/consistent-type-exports": [ "error", { fixMixedExportsWithInlineTypeSpecifier: false } ], "@typescript-eslint/consistent-type-imports": [ "error", { fixStyle: "separate-type-imports" } ], "@typescript-eslint/no-deprecated": "warn", "@typescript-eslint/no-misused-promises": [ "error", { checksVoidReturn: { attributes: false } } ], "@typescript-eslint/no-unnecessary-type-conversion": "error", "@typescript-eslint/no-unused-vars": [ "error", // https://typescript-eslint.io/rules/no-unused-vars/#benefits-over-typescript { args: "all", argsIgnorePattern: "^_", caughtErrors: "all", caughtErrorsIgnorePattern: "^_", destructuredArrayIgnorePattern: "^_", ignoreRestSiblings: true, varsIgnorePattern: "^_" } ], "@typescript-eslint/no-use-before-define": [ "error", { allowNamedExports: false, classes: false, functions: false, variables: true } ], "@typescript-eslint/restrict-template-expressions": [ "error", { allowNumber: true } ], "no-use-before-define": "off" }; // src/configs/typescript.ts async function typescriptConfig() { const { configs } = await import("typescript-eslint"); return [ ...configs.strictTypeChecked, ...configs.stylisticTypeChecked.filter((config) => { return config.name === "typescript-eslint/stylistic-type-checked"; }), { languageOptions: { parserOptions: { projectService: true, tsconfigRootDir: process.cwd() } }, name: "jimmy.codes/typescript", rules: typescriptRules }, { files: [GLOB_JS, GLOB_JSX], ...configs.disableTypeChecked }, { files: GLOB_TESTS, name: "jimmy.codes/typescript/testing", rules: { "@typescript-eslint/no-unsafe-argument": "off", "@typescript-eslint/no-unsafe-assignment": "off" } } ]; } export { typescriptConfig as default };