UNPKG

eslint-config-xaxa

Version:

Modern, ESLint v9+ compatible, Airbnb-based shareable config; including plugins like Import, Prettier, Unicorn, Typescript, Astro, and React.

88 lines (61 loc) 3.16 kB
# eslint-config-xaxa [![npm version][npmv-img]][npmv-url] [![cicd build][linuxbuild-img]][linuxbuild-url] [![Libera Manifesto][libera-manifesto-img]][libera-manifesto-url] [npmv-url]: https://npmjs.com/packages/eslint-config-xaxa [npmv-img]: https://badgen.net/npm/v/eslint-config-xaxa?icon=npm [linuxbuild-url]: https://github.com/tunnckocore/eslint-config-xaxa/actions [linuxbuild-img]: https://badgen.net/github/checks/tunnckoCore/eslint-config-xaxa/master?icon=github [libera-manifesto-url]: https://liberamanifesto.com [libera-manifesto-img]: https://badgen.net/badge/libera/manifesto/grey Modern, ESLint v9+ compatible, config based on Airbnb with support for Astro, Prettier, Plugin Promise, Plugin Unicorn, Plugin Import, React and Typescript. ## Motivation Airbnb Config is basically dead and the main creator is struggling to keep up, and he also left Airbnb a long time ago. So, i got the latest (as of April 2025) from the master branch of the repo and added my preferences on top - i was doing that on my own config for YEARS and never changed. It's time for ESLint v9. Versioning policy scheme is `YY.major.patch`, but i don't change things frequently and i don't plan to support and keep track of what's going on with ESLint rules, changes and whatnot. Versions of dependencies are locked, so there won't be any problems, ever! In the past year, every few weeks when i get into my editor, something breaks.. And no, i didn't updated versions, i didn't changed the lockfiles, i didn't even opened my laptop for weeks on end. But editors were throwing errors constantly. ## Note on Prettier This config uses `eslint-plugin-prettier` to both disable and apply prettier. But it includes my opinionated Prettier config with several plugins like Organize Imports, Tailwind CSS, Astro, and Package.json sorting. You can include it on you `prettier.config.js` and install prettier separately. ## Previous versions Previously there was `eslint-config-xaxa` which was more or less the same thing, and was behind the `xaxa` cli and library wrapper for ESLint. Maybe i'll update the `xaxa` soon to use ESLint 9 and that config. For now just config is fine for me. ## Install using Bun, JSR, pnpm, npm, or whatever: ``` bun add -D eslint-config-xaxa ``` ## Usage For **ESLint prior to v9** you can use `eslint-config-tunnckocore` which is basically what i used in the past few years! ```js // .eslintrc.cjs module.exports = { extends: ['tunnckocore'] }; ``` For **ESLint v9+ and above** use the flat config: ```js // eslint.config.js import eslintConfigXaxa from 'eslint-config-xaxa'; export default eslintConfigXaxa; ``` For **Prettier** make sure your `prettier.config.js` is in ES Modules format, and you should have `"type": "module"` in your package.json. ```js // prettier.config.js import prettierConfigXaxa from 'eslint-config-xaxa/prettier'; export default prettierConfigXaxa; ``` If you want to use just the **Airbnb Base Config** which just includes their style and few rules from the import plugin: ```js // eslint.config.js import airbnbConfig from 'eslint-config-xaxa/airbnb-base'; export default airbnbConfig; ```