This repository contains a shared eslint config used across Apify. It offers several configs:
- JavaScript config
@apify/eslint-config/js
- TypeScript config that also includes JavaScript config
@apify/eslint-config/ts
- Jest config that only applies to test files and folders
@apify/eslint-config/jest
First install the packages as development dependencies:
npm install --save-dev @apify/eslint-config eslint
Optionally, you can install typescript-eslint
or eslint-plugin-jest
if you intend to use TypeScript or Jest.
Add eslint.config.js
file, here's an example configuration for a TypeScript project using ESM and Jest for tests:
import apifyTypescriptConfig from '@apify/eslint-config/ts';
// Optional
import apifyJestConfig from '@apify/eslint-config/jest';
export default [
...apifyTypescriptConfig,
...apifyJestConfig,
{
languageOptions: {
sourceType: 'module',
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
},
},
];
An example configuration for a JavaScript project using CommonJS without Jest:
const apifyJsConfig = require('@apify/eslint-config/js');
module.exports = [
...apifyJsConfig,
];