techexpertspro / portal-ascepa

Portal Web da Ascepa - Associação de e para Cegos do Pará
https://portal-ascepa.vercel.app
MIT License
59 stars 11 forks source link

[BUG] Problemas do Husky para validação de arquivos .scss #109

Closed diogosilvasantana closed 1 month ago

diogosilvasantana commented 1 month ago

Descrição

O Husky está sem regras para validação, o que está ocasionando verificações erradas com sintaxes de códigos que não são erros.

Comportamento esperado

O Husky precisa fazer as validações de lint no código como um todo, executar testes unitários e verificações de stylelint.

Branch

chore/styleguide-scss

Trechos de código

image

Sugestões que possam auxiliar

A sugestão seria configurar o Husky para validar lint do código, stylelint (scss) e executar testes unitários

Para configurar o Husky para rodar lint, validar SCSS e rodar testes unitários em um projeto Angular, siga os passos abaixo:

1. Instalar o Husky e outras dependências necessárias:

Husky é usado para configurar ganchos Git. Pode ser necessário instalar outras ferramentas como lint-staged para rodar linters apenas nos arquivos que foram modificados.

npm install husky lint-staged --save-dev

2. Configurar o Husky:

Inicialize o Husky para criar o diretório .husky com configurações padrão.

npx husky install

3. Adicionar um hook de pre-commit:

Este hook será executado antes de cada commit.

npx husky add .husky/pre-commit "npx lint-staged"

4. Configurar lint-staged no package.json:

lint-staged permite que você execute comandos especificamente nos arquivos que estão em staging (prontos para serem commitados). Aqui, você configurará para rodar o linter do Angular, validar SCSS e executar testes unitários.

"lint-staged": {
  "*.ts": [
    "ng lint",
    "ng test --browsers ChromeHeadless --watch=false",
    "git add"
  ],
  "*.scss": [
    "stylelint --syntax scss",
    "git add"
  ]
}

5. Instalar o Stylelint (se ainda não estiver instalado):

Stylelint é usado para linting de arquivos SCSS.

npm install stylelint stylelint-config-standard --save-dev

6. Configurar o Stylelint:

Crie um arquivo .stylelintrc.json na raiz do seu projeto com as regras desejadas. Exemplo de configuração básica:

{
  "extends": "stylelint-config-standard",
  "rules": {
    "at-rule-no-unknown": null,
    "scss/at-rule-no-unknown": true
  }
}

7. Adicionar scripts relevantes no package.json:

"scripts": {
    "lint": "nx lint"
  }
Werisu commented 1 month ago

Remover as extensões json e scss doarquivo .lintstagedrc. Ta dando um bug no husky com eslint