Compatible with ESLint 9.0 and Prettier 3.0
The adonisjs/eslint-config ships with the default set of ESLint rules used by the AdonisJS core team. The presets are tuned to work alongside Prettier.
Install the package from the npm registry.
npm i -D @adonisjs/eslint-config@beta
# Install peer dependencies
npm i -D eslint@9 prettier@3After installation, use one of the following presets depending on the nature of your application/library.
For package development: Use the following preset when developing a package
// eslint.config.js
import { configPkg } from '@adonisjs/eslint-config'
export default configPkg()For app development: Use the following preset when developing an AdonisJS application
// eslint.config.js
import { configApp } from '@adonisjs/eslint-config'
export default configApp()If @adonisjs/inertia is installed, the following rules will be automatically enabled for files in inertia/**:
@adonisjs/no-backend-import-in-frontend: Prevents importing backend code in frontend files@adonisjs/prefer-adonisjs-inertia-link: Suggests using AdonisJS typesafe<Link>component instead of Inertia's<Link>component
You can pass additional config blocks as multiple arguments to one of the preset functions.
import { configApp, INCLUDE_LIST, IGNORE_LIST } from '@adonisjs/eslint-config'
export default configApp({
name: 'Custom config',
files: INCLUDE_LIST,
ignores: IGNORE_LIST,
plugins: {
// ESLint plugins go here
},
rules: {
// ESLint rules go here
},
})