Skip to content

linters/eslint-config

The generic half of the shared ESLint configuration, for any TypeScript project.

It integrates ESLint’s own recommended rules, typescript-eslint, @stylistic/eslint-plugin, eslint-plugin-import-x with its TypeScript resolver, eslint-plugin-perfectionist, eslint-plugin-unicorn, eslint-plugin-n and the generic in-house rules. A project-type layer (the Obsidian plugin one lives in @mnaoumov/obsidian-dev-toolkit) builds on getTypeScriptEslintConfigs and adds only what is specific to it.

Class Description
EslintConfigContext The context for defining ESLint configurations.
Interface Description
DefineEslintConfigsOptions The parameters for defining ESLint configurations.
GetTypeScriptEslintConfigsParams The parameters for getTypeScriptEslintConfigs.
Function Description
createDefaultEslintConfigContext Creates the context of a project laid out the conventional way: sources under src, scripts under scripts, tests beside the sources or under __tests__, and the commitlint, ESLint and Vitest configurations at the root.
defineEslintConfigs Builds the ESLint configurations of a generic TypeScript project.
getEslintCoreConfigs The configurations of ESLint’s own rules. A project-type layer reads it to learn which core rules this configuration sets itself.
getGlobalIgnoreConfigs The global ignores: everything .gitignore names, plus Claude Code’s worktree folder.
getTypeScriptEslintConfigs The generic layers of the shared configuration, without the global ignores.