Skip to main content

๐ŸŸก Recommended

Use as the default baseline for most TypeScript codebases.

Config keyโ€‹

typefest.configs.recommended

Flat Config exampleโ€‹

import typefest from "eslint-plugin-typefest";

export default [typefest.configs.recommended];

This preset does not require type information.

If you want the same baseline plus type-aware helper rules, use typefest.configs["recommended-type-checked"].

import tsParser from "@typescript-eslint/parser";
import typefest from "eslint-plugin-typefest";

export default [
{
files: ["src/**/*.ts", "src/**/*.tsx"],
languageOptions: {
parser: tsParser,
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
},
},
plugins: {
typefest,
},
rules: {
...typefest.configs.recommended.rules,
},
},
];

This option is useful when you want the recommended rule set, but only for specific file globs.

Rules in this presetโ€‹

  • Fix legend:
    • ๐Ÿ”ง = autofixable
    • ๐Ÿ’ก = suggestions available
    • โ€” = report only
RuleFix
prefer-ts-extras-assert-defined๐Ÿ”ง ๐Ÿ’ก
prefer-ts-extras-assert-error๐Ÿ’ก
prefer-ts-extras-assert-present๐Ÿ”ง ๐Ÿ’ก
prefer-ts-extras-is-defined๐Ÿ”ง
prefer-ts-extras-is-defined-filter๐Ÿ”ง
prefer-ts-extras-is-finite๐Ÿ”ง
prefer-ts-extras-is-infinite๐Ÿ”ง
prefer-ts-extras-is-integer๐Ÿ”ง
prefer-ts-extras-is-present๐Ÿ”ง
prefer-ts-extras-is-present-filter๐Ÿ”ง
prefer-ts-extras-is-safe-integer๐Ÿ”ง
prefer-ts-extras-key-in๐Ÿ”ง
prefer-ts-extras-not๐Ÿ”ง
prefer-ts-extras-object-has-in๐Ÿ”ง ๐Ÿ’ก
prefer-ts-extras-object-has-own๐Ÿ”ง ๐Ÿ’ก
prefer-type-fest-abstract-constructor๐Ÿ”ง
prefer-type-fest-and-all๐Ÿ”ง
prefer-type-fest-arrayable๐Ÿ”ง
prefer-type-fest-async-return-type๐Ÿ”ง
prefer-type-fest-conditional-pick๐Ÿ”ง
prefer-type-fest-conditional-pick-deep๐Ÿ”ง
prefer-type-fest-constructor๐Ÿ”ง
prefer-type-fest-except๐Ÿ”ง
prefer-type-fest-if๐Ÿ”ง
prefer-type-fest-iterable-element๐Ÿ”ง
prefer-type-fest-json-array๐Ÿ”ง
prefer-type-fest-json-object๐Ÿ”ง
prefer-type-fest-json-primitive๐Ÿ”ง
prefer-type-fest-json-value๐Ÿ’ก
prefer-type-fest-keys-of-union๐Ÿ”ง
prefer-type-fest-less-than๐Ÿ”ง
prefer-type-fest-less-than-or-equal๐Ÿ”ง
prefer-type-fest-literal-union๐Ÿ”ง
prefer-type-fest-merge-exclusive๐Ÿ”ง
prefer-type-fest-non-empty-tuple๐Ÿ”ง
prefer-type-fest-omit-index-signature๐Ÿ”ง
prefer-type-fest-optional๐Ÿ”ง
prefer-type-fest-or-all๐Ÿ”ง
prefer-type-fest-partial-deep๐Ÿ”ง
prefer-type-fest-primitive๐Ÿ”ง
prefer-type-fest-promisable๐Ÿ”ง
prefer-type-fest-readonly-deep๐Ÿ”ง
prefer-type-fest-require-all-or-none๐Ÿ”ง
prefer-type-fest-require-at-least-one๐Ÿ”ง
prefer-type-fest-require-exactly-one๐Ÿ”ง
prefer-type-fest-require-one-or-none๐Ÿ”ง
prefer-type-fest-required-deep๐Ÿ”ง
prefer-type-fest-schema๐Ÿ”ง
prefer-type-fest-set-non-nullable๐Ÿ”ง
prefer-type-fest-set-optional๐Ÿ”ง
prefer-type-fest-set-readonly๐Ÿ”ง
prefer-type-fest-set-required๐Ÿ”ง
prefer-type-fest-simplify๐Ÿ”ง
prefer-type-fest-tagged-brands๐Ÿ”ง
prefer-type-fest-tuple-of๐Ÿ”ง
prefer-type-fest-union-member๐Ÿ”ง
prefer-type-fest-union-to-tuple๐Ÿ”ง
prefer-type-fest-unknown-array๐Ÿ”ง
prefer-type-fest-unknown-map๐Ÿ”ง
prefer-type-fest-unknown-record๐Ÿ”ง
prefer-type-fest-unknown-set๐Ÿ”ง
prefer-type-fest-unwrap-tagged๐Ÿ”ง
prefer-type-fest-value-of๐Ÿ”ง
prefer-type-fest-writable๐Ÿ”ง
prefer-type-fest-writable-deep๐Ÿ”ง