pnpm add -D typescript eslint @skarab/eslint-config
Add @skarab/eslint-config/recommended
or @skarab/eslint-config/recommended-commonjs
to the extends section of your ESLint configuration file.
{
"extends": ["some-other-config-you-use", "@skarab/eslint-config/recommended"]
}
This ESLint configuration is designed to be highly customizable, allowing for flexible setup options that cater to different environments and scenarios, including automatic detection of TypeScript.
To start, in your .eslintrc.js
, import the config
function:
const { config } = require('@skarab/eslint-config');
The config
function accepts an object of type ConfigOptions
, enabling you to customize the ESLint setup for your project. The configuration supports automatic TypeScript detection but also allows you to explicitly enable or disable TypeScript support based on your requirements.
Here's an example of configuring the ESLint setup:
// .eslintrc.js
// ...
module.exports = config({
ts: true,
jsx: true,
node: true,
browser: false,
type: 'module',
ecmaVersion: 2020,
environments: ['jest'],
reportUnusedDisableDirectives: true,
ignores: ['**/dist/**', '**/node_modules/**'],
});
For a simple Node.js project using ECMAScript modules:
const basicConfig = config({
node: true,
type: 'module',
});
For a project using TypeScript, where TypeScript is detected automatically:
const tsConfig = config({
// TypeScript is automatically detected
jsx: true,
ecmaVersion: 2020,
});
To explicitly disable TypeScript support:
const tsConfigExplicit = config({
ts: false,
jsx: true,
ecmaVersion: 2020,
});
For a project tailored to run in a browser environment:
const browserConfig = config({
browser: true,
node: false,
});