Rocketseat / eslint-config-rocketseat

ESLint configuration used by Rocketseat
https://www.npmjs.com/@rocketseat/eslint-config
734 stars 107 forks source link

Adapt to ESLint 9 #26

Open diego3g opened 3 months ago

diego3g commented 3 months ago

BETA relase adapting to ESLint 9 (please read #21).

For now:

npm i eslint@9 typescript@5 @rocketseat/eslint-config@beta

React

Inside eslint.config.mjs

import config from '@rocketseat/eslint-config/react.mjs'

export default config

Node.js

Inside eslint.config.mjs

import config from '@rocketseat/eslint-config/node.mjs'

export default config
duhnunes commented 3 months ago

Hey @diego3g

Eu consegui chegar a algo mais próximo de antes, indentando uma prop por linha, porém o children ainda teria que indentar na mão e também ainda tem o problema dos 80 characters, no caso de tailwind:

      '@stylistic/jsx-closing-bracket-location': 'error',
      '@stylistic/jsx-closing-tag-location': 'error',
      '@stylistic/jsx-first-prop-new-line': ['error', 'multiprop'],
      '@stylistic/jsx-function-call-newline': ['error', 'always'],
      '@stylistic/jsx-max-props-per-line': ['error', {
        maximum: 1,
      }],

image

Testando também como eu falei aqui: https://github.com/Rocketseat/eslint-config-rocketseat/issues/21#issuecomment-2295338516, podemos usar o spread operator e importar a configuração de @rocketseat/eslint-config dentro do eslint.config.ts criado pelo próprio vite. Nos testes criando um novo projeto com vite, tem se saído bem o resultado.

espero que isso sirva pra alguma coisa