Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

@wesleydevrodio/eslint-config

TypeScript ESLint Prettier

🚀 Configuração ESLint e Prettier opinativa e completa, focada exclusivamente em projetos TypeScript (Next.js e APIs RESTful).

📦 Instalação

Agora ficou muito mais simples! Todas as ferramentas necessárias (ESLint, Prettier, TypeScript e plugins) já vêm incluídas automaticamente.

Via NPM

npm install --save-dev @wesleydevrodio/eslint-config

Via PNPM (Recomendado)

pnpm add -D @wesleydevrodio/eslint-config

Via Yarn

yarn add -D @wesleydevrodio/eslint-config

📋 Como funciona

Ao instalar este pacote, você não precisa instalar manualmente o eslint, prettier ou qualquer plugin. Eles já estão listados como dependências diretas e estarão disponíveis no seu node_modules.

🔧 Uso

Next.js

Crie um arquivo eslint.config.js na raiz do seu projeto:

import eslintConfig from "@wesleydevrodio/eslint-config/next";

export default eslintConfig;

API (Node.js / TypeScript)

Para projetos de API (sem React), use a configuração de API:

import eslintConfig from "@wesleydevrodio/eslint-config/api";

export default eslintConfig;

Prettier + Tailwind CSS (OBRIGATÓRIO)

⚠️ Importante: Para que o Prettier e o plugin Tailwind CSS funcionem, você DEVE criar um arquivo prettier.config.js na raiz do seu projeto:

export { default } from "@wesleydevrodio/eslint-config/prettier";

Sem este arquivo, o Prettier não aplicará a formatação e o Tailwind CSS não ordenará as classes automaticamente.

Personalizando (opcional):

Se quiser customizar alguma configuração:

import prettierConfig from "@wesleydevrodio/eslint-config/prettier";

export default {
  ...prettierConfig,
  // Suas personalizações aqui
  printWidth: 100, // exemplo
};

✨ Funcionalidades

Esta configuração inclui:

🎯 Regras Base

  • ✅ Point e vírgula obrigatório
  • ✅ Uso de const preferencial
  • ✅ Sem var
  • ✅ Igualdade estrita (===)
  • ✅ Sem eval()

⚡ Async/Await

  • ✅ require-await - Funções async devem ter await
  • ✅ no-return-await - Sem return await desnecessário
  • ✅ no-promise-executor-return - Sem return em Promise executor

🎨 Estilo de Código

  • ✅ Template literals preferenciais
  • ✅ Arrow functions em callbacks
  • ✅ Object shorthand
  • ✅ Sem ternários aninhados
  • ✅ Sem ternários desnecessários

📦 Imports

  • ✅ Sem imports duplicados
  • ✅ Linha em branco após imports
  • ✅ Ordenação automática de imports (alfabética)
  • ✅ Agrupamento por tipo (builtin, external, internal, etc.)

💅 Prettier

  • ✅ Configuração integrada
  • ✅ Point e vírgula: true
  • ✅ Aspas duplas
  • ✅ Tab width: 2 espaços
  • ✅ Print width: 80 caracteres
  • ✅ Arrow parens: avoid
  • ✅ End of line: auto
  • ✅ Plugin Tailwind CSS - Ordena classes automaticamente

🎯 Next.js Específico

  • ✅ Core Web Vitals rules
  • ✅ TypeScript support
  • ✅ Ignora automaticamente .next/, out/, build/, etc.

📝 Scripts Recomendados

Adicione estes scripts ao seu package.json:

{
  "scripts": {
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "format": "prettier --write .",
    "format:check": "prettier --check ."
  }
}

🚀 Publicação (para o mantenedor)

  1. Faça login no NPM:
npm login
  1. Publique o pacote:
npm publish --access public
  1. Para atualizar:
npm version patch  # ou minor, ou major
npm publish

📄 Licença

MIT © Wesley Rodio

🤝 Contribuindo

Este é um projeto de uso pessoal, mas sugestões são bem-vindas!

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages