⚙️ Configurações Essenciais¶
O que faz o arquivo vite.config.js
¶
O arquivo vite.config.js
localizado na pasta app/frontend
é responsável pela configuração do Vite, a ferramenta de build e desenvolvimento utilizada no frontend.
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import tailwindcss from "@tailwindcss/vite";
// https://vite.dev/config/
export default defineConfig({
plugins: [react(), tailwindcss()],
});
Principais pontos da configuração:
- Importação de Plugins:
@vitejs/plugin-react
: Permite que o Vite entenda e otimize projetos React, habilitando recursos como Fast Refresh e suporte a JSX.-
@tailwindcss/vite
: Integra o Tailwind CSS ao processo de build, permitindo o uso das utilidades do Tailwind diretamente nos componentes React. -
Exportação da Configuração:
O arquivo exporta uma configuração padrão do Vite, ativando os plugins mencionados. Isso garante que, ao rodar o projeto (npm run dev
), o ambiente de desenvolvimento já esteja pronto para trabalhar com React e Tailwind CSS de forma otimizada.
Resumo
Este arquivo garante que o frontend tenha um ambiente moderno, rápido e produtivo, com suporte total ao React e ao Tailwind CSS, facilitando o desenvolvimento de interfaces acessíveis.
O que faz o arquivo babel.config.js
¶
O arquivo babel.config.js
localizado na pasta app/frontend
define as configurações do Babel para o frontend.
export default {
presets: [
"@babel/preset-env",
"@babel/preset-react", // Adicione isso
],
};
Função no projeto
O Babel é um transpilador JavaScript que converte código moderno em versões compatíveis com diferentes navegadores. No contexto deste projeto, o arquivo está configurando dois presets principais:
-
@babel/preset-env:
Permite que o código JavaScript moderno seja convertido automaticamente para versões compatíveis com os navegadores suportados pelo projeto. -
@babel/preset-react:
Habilita a transformação de código JSX (usado em React) para JavaScript puro, permitindo que o React funcione corretamente durante o desenvolvimento e na produção.
O que faz o arquivo jest.config.js
¶
O arquivo jest.config.js
localizado na pasta app/frontend
define as configurações do Jest, o framework de testes utilizado no frontend do projeto Mapa da Acessibilidade.
export default {
testEnvironment: "jsdom",
};
Função no projeto
- testEnvironment: "jsdom"
Esta configuração indica que o ambiente de teste será o jsdom, uma implementação em JavaScript do DOM e das APIs do navegador.
Isso permite simular um navegador durante a execução dos testes, tornando possível testar componentes React e outras funcionalidades que dependem do ambiente do browser, sem a necessidade de um navegador real.
Resumo
O arquivo garante que os testes automatizados do frontend sejam executados em um ambiente que simula o navegador, possibilitando a validação de componentes de interface e interações do usuário de forma confiável
O que faz o arquivo eslint.config.js
¶
O arquivo eslint.config.js
localizado na pasta app/frontend
define as regras e configurações do ESLint, a ferramenta de análise estática de código.
import js from "@eslint/js";
import globals from "globals";
import reactHooks from "eslint-plugin-react-hooks";
import reactRefresh from "eslint-plugin-react-refresh";
export default [
{ ignores: ["dist"] },
{
files: ["**/*.{js,jsx}"],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
parserOptions: {
ecmaVersion: "latest",
ecmaFeatures: { jsx: true },
sourceType: "module",
},
},
plugins: {
"react-hooks": reactHooks,
"react-refresh": reactRefresh,
},
rules: {
...js.configs.recommended.rules,
...reactHooks.configs.recommended.rules,
"no-unused-vars": ["error", { varsIgnorePattern: "^[A-Z_]" }],
"react-refresh/only-export-components": [
"warn",
{ allowConstantExport: true },
],
},
},
];
Função no projeto
- Padronização e Qualidade de Código:
O ESLint ajuda a manter o código limpo, padronizado e livre de erros comuns, facilitando a colaboração entre os desenvolvedores.
Principais configurações:
- Ignora a pasta dist
:
Arquivos gerados na build não são analisados.
-
Arquivos analisados:
Todos os arquivos
.js
e.jsx
do projeto. -
Suporte a ECMAScript moderno e JSX:
Permite o uso de recursos modernos do JavaScript e sintaxe JSX do React.
-
Plugins:
eslint-plugin-react-hooks
: Garante o uso correto dos hooks do React.eslint-plugin-react-refresh
: Ajuda no hot reload seguro durante o desenvolvimento.
-
Regras:
- Usa as recomendações padrão do ESLint e dos hooks do React.
- Gera erro para variáveis não utilizadas, exceto se começarem com letra maiúscula ou sublinhado.
- Emite aviso se componentes não forem exportados corretamente para o React Refresh.
O que faz o arquivo package.json
¶
O arquivo package.json
localizado na pasta app/frontend
é o principal arquivo de configuração do frontend do projeto Mapa da Acessibilidade. Ele define as informações essenciais do projeto, scripts de automação, dependências e configurações necessárias para o desenvolvimento, testes e build da aplicação.
Principais funções
-
Identificação do Projeto:
Contém o nome, versão e tipo de módulo do projeto, facilitando a identificação e o gerenciamento pelo npm. -
Scripts:
Define comandos que automatizam tarefas comuns, como: dev
: Inicia o servidor de desenvolvimento com Vite.build
: Gera a versão de produção do frontend.lint
: Executa o ESLint para análise de qualidade do código.preview
: Visualiza o build de produção localmente.tests
: Executa os testes automatizados com Jest.-
test
: Script padrão de teste (não utilizado, apenas exibe uma mensagem de erro). -
Dependências:
Lista todas as bibliotecas e frameworks necessários para rodar o frontend, incluindo: - React e React DOM: Biblioteca principal para construção da interface.
- Vite: Ferramenta de build e servidor de desenvolvimento rápido.
- Tailwind CSS: Framework utilitário para estilização.
- Leaflet e react-leaflet: Para mapas interativos.
- Jest e Testing Library: Para testes automatizados.
-
Outras bibliotecas de suporte, como
uuid
,react-icons
,lucide-react
, etc. -
DevDependencies:
Inclui ferramentas de desenvolvimento, como Babel (transpilação), ESLint (análise de código), plugins do Vite, tipos do React, Prisma (ORM), entre outros.
Importância no projeto
O package.json
garante que todos os desenvolvedores utilizem as mesmas versões de dependências e tenham acesso aos mesmos scripts de automação, tornando o ambiente de desenvolvimento padronizado, previsível e fácil de configurar.
Resumo
Em resumo, o arquivo package.json
é o ponto central de configuração do frontend, responsável por:
- Gerenciar dependências e ferramentas.
- Automatizar tarefas de desenvolvimento, build, testes e lint.
- Garantir a padronização do ambiente de trabalho para toda a equipe.
Dica: Sempre que for instalar uma nova biblioteca ou atualizar alguma dependência, o
package.json
será automaticamente atualizado, e deve ser versionado junto com o projeto.
Conclusão¶
Estes arquivos garantem que o código do frontend siga boas práticas, evite erros comuns e utilize corretamente os recursos propostos, promovendo um desenvolvimento mais seguro, padronizado e eficiente.