ESLint configuration containing multiple presets for different projects.
Table of contents:
Install eslint-config-woofmeow
to your repository as dev dependency:
npm install eslint-config-woofmeow --save-dev
# or
pnpm install eslint-config-woofmeow --save-dev
# or
yarn add eslint-config-woofmeow --dev
This preset includes a basic non-specific configuration compatible with most projects.
To include this preset in your ESLint configuration, add it as an extension:
/* eslint.config.js */
import configs from 'eslint-config-woofmeow/flat';
export default [...configs.base];
Or the same for the eslintrc format:
/* .eslintrc.js */
module.exports = {
extends: 'woofmeow/base-legacy',
};
This preset includes a basic non-specific import configuration compatible with most projects.
To include this preset in your ESLint configuration, add it as an extension:
/* eslint.config.js */
import configs from 'eslint-config-woofmeow/flat';
export default [...configs.import];
Includes the preset
base
Or the same for the eslintrc format:
/* .eslintrc.js */
module.exports = {
extends: 'woofmeow/import-legacy',
};
Includes the preset
base-legacy
This preset includes a configuration specific to atomic design imports.
To include this preset in your ESLint configuration, add it as an extension:
/* eslint.config.js */
import configs from 'eslint-config-woofmeow/flat';
export default [...configs['import-atomic']];
Includes presets
base
andimport
Or the same for the eslintrc format:
/* .eslintrc.js */
module.exports = {
extends: 'woofmeow/import-atomic-legacy',
};
Includes presets
base-legacy
andimport-legacy
This preset includes a configuration specific to Feature-Sliced Design imports. Related to Feature-Sliced Design up to v2.x.x.
To include this preset in your ESLint configuration, add it as an extension:
/* eslint.config.js */
import configs from 'eslint-config-woofmeow/flat';
export default [...configs['import-fsd']];
Includes presets
base
andimport
Or the same for the eslintrc format:
/* .eslintrc.js */
module.exports = {
extends: 'woofmeow/import-fsd-legacy',
};
Includes presets
base-legacy
andimport-legacy
This preset includes a configuration specific to projects using TypeScript.
To include this preset in your ESLint configuration, add it as an extension:
/* eslint.config.js */
import configs from 'eslint-config-woofmeow/flat';
export default [...configs.typescript];
Includes the preset
base
Or the same for the eslintrc format:
/* .eslintrc.js */
module.exports = {
extends: 'woofmeow/typescript-legacy',
};
Includes the preset
base-legacy
This preset includes a configuration specific to projects using React.
To include this preset in your ESLint configuration, add it as an extension:
/* eslint.config.js */
import configs from 'eslint-config-woofmeow/flat';
export default [...configs.react];
Includes the preset
base
Or the same for the eslintrc format:
/* .eslintrc.js */
module.exports = {
extends: 'woofmeow/react-legacy',
};
Includes the preset
base-legacy
This preset includes a configuration specific to projects using Next.js.
To include this preset in your ESLint configuration, add it as an extension:
/* eslint.config.js */
import configs from 'eslint-config-woofmeow/flat';
export default [...configs.next];
Includes presets
base
andreact
Or the same for the eslintrc format:
/* .eslintrc.js */
module.exports = {
extends: 'woofmeow/next-legacy',
};
Includes presets
base-legacy
andreact-legacy
You can combine presets to create your own ESLint configuration.
For example, to create an ESLint configuration for a project using Next.js, TypeScript and Feature Sliced Design you need to add the following presets to your ESLint configuration:
/* eslint.config.js */
import configs from 'eslint-config-woofmeow/flat';
export default [
...configs.next,
...configs.typescript,
...configs['import-fsd'],
];
Or the same for the eslintrc format:
/* .eslintrc.js */
module.exports = {
extends: [
'woofmeow/next-legacy',
'woofmeow/typescript-legacy',
'woofmeow/import-fsd-legacy',
],
};