Skip to content

Commit c69c4c3

Browse files
Merge pull request #85 from robsonalvesdevbr/develop
feat: Angular 21.0.8 upgrade e resolução de vulnerabilidades de segurança
2 parents fba1ad1 + dd60962 commit c69c4c3

File tree

10 files changed

+33863
-618
lines changed

10 files changed

+33863
-618
lines changed

.github/workflows/playwright-e2e.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: Playwright E2E Tests
22

33
on:
44
push:
5-
branches: [main, develop]
5+
branches: [main]
66
pull_request:
7-
branches: [main, develop]
7+
branches: [main]
88
workflow_dispatch:
99

1010
permissions:
@@ -29,8 +29,8 @@ jobs:
2929
- name: Setup Node.js
3030
uses: actions/setup-node@v4
3131
with:
32-
node-version: '22.12'
33-
cache: 'npm'
32+
node-version: "22.12"
33+
cache: "npm"
3434

3535
- name: Install dependencies
3636
run: npm ci
@@ -96,8 +96,8 @@ jobs:
9696
- name: Setup Node.js
9797
uses: actions/setup-node@v4
9898
with:
99-
node-version: '22.12'
100-
cache: 'npm'
99+
node-version: "22.12"
100+
cache: "npm"
101101

102102
- name: Install dependencies
103103
run: npm ci

.gitignore

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,23 @@ Thumbs.db
4747
/test-results
4848
/playwright-report
4949
/playwright/.cache
50+
51+
# Shell configuration files
52+
.bash_profile
53+
.bashrc
54+
.zshrc
55+
.zprofile
56+
.profile
57+
58+
# Git configuration
59+
.gitconfig
60+
.gitmodules
61+
62+
# MCP configuration
63+
.mcp.json
64+
65+
# Ripgrep configuration
66+
.ripgreprc
67+
68+
# Claude Code configuration
69+
.claude/

CHANGELOG.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [2.1.0] - 2026-01-12
9+
10+
### Security
11+
- Resolvidas 11 vulnerabilidades HIGH relacionadas ao @angular/compiler
12+
13+
### Changed
14+
15+
#### Framework
16+
- Atualizado Angular de 21.0.6 para 21.0.8
17+
- Atualizado @angular/cli de 21.0.4 para 21.0.5
18+
- Atualizado @angular-devkit/build-angular de 21.0.4 para 21.0.5
19+
- Mantido TypeScript 5.9.3 (compatível com Angular 21)
20+
21+
#### Testing & Quality
22+
- Atualizado Vitest de 4.0.16 para 4.0.17
23+
- Atualizado @playwright/test de 1.57.0 para versão mais recente
24+
- Atualizado typescript-eslint de 8.51.0 para 8.53.0
25+
- @angular-eslint já estava na versão 21.1.0 (mais recente)
26+
27+
#### Build Tools
28+
- Atualizado Vite para versão mais recente
29+
- Atualizado webpack-bundle-analyzer para versão mais recente
30+
- Atualizado http-server para versão mais recente
31+
- Atualizado cross-env para versão mais recente
32+
33+
#### Runtime Dependencies
34+
- RxJS mantido em 7.8.2 (compatível)
35+
- Zone.js atualizado para versão mais recente
36+
- Bootstrap mantido em 5.3.8 (aguardando Bootstrap 6 para @use/@forward)
37+
- Atualizado @popperjs/core para versão mais recente
38+
- Atualizado bootstrap-icons de 1.13.1 para versão mais recente
39+
- Atualizado tslib para versão mais recente
40+
- Atualizado jsdom e @types/jasmine para versões mais recentes
41+
42+
### Notes
43+
- Projeto mantém arquitetura zoneless + standalone
44+
- Todos os 497 testes passando (unit tests)
45+
- Build size dentro dos budgets definidos
46+
- 0 vulnerabilidades de segurança (redução de 11 HIGH)
47+
- Warnings SCSS @import permanecem (esperado até Bootstrap 6)
48+
- 46 erros de lint existentes (principalmente uso de `any` em testes) - não impedem funcionamento
49+
50+
### Technical Details
51+
- Node.js: >= 22.12
52+
- TypeScript: 5.9.3
53+
- Angular: 21.0.8
54+
- Vitest: 4.0.17
55+
- Playwright: 1.57.0
56+
57+
---
58+
59+
## [2.0.0] - (data anterior)
60+
61+
### Initial Release
62+
- Portfolio pessoal Angular v21+ usando arquitetura standalone
63+
- Zoneless change detection (signals-based)
64+
- Vitest para testes unitários
65+
- Playwright para testes E2E
66+
- Bootstrap 5.3 + SCSS
67+
- Angular ESLint + Prettier

CLAUDE.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ npm run clean # remove dist, cache, .angular
156156
157157
### SCSS @import Deprecation Warnings ⚠️
158158
159-
**Status**: Esperado e documentado
159+
**Status**: Esperado, documentado e **não silenciável** no Angular CLI atual
160160
**Quantidade**: 23 warnings durante build
161161
**Root Cause**: Bootstrap 5.3.8 usa `@import` (deprecated em Dart Sass)
162162
**Impacto**: Nenhum (apenas informativo até Dart Sass 3.0)
@@ -169,7 +169,22 @@ npm run clean # remove dist, cache, .angular
169169
- Bootstrap 6 terá suporte nativo para o sistema modular do Sass
170170
- Investimento de tempo será feito uma única vez após Bootstrap 6
171171
172+
**Por que não é possível silenciar os warnings?**
173+
- ✅ `.sassrc.json` existe no projeto mas **não é lido pelo Angular CLI**
174+
- ❌ `angular.json` com `stylePreprocessorOptions` não aceita `quietDeps` ou `silenceDeprecations`
175+
- ⚠️ Variável `SASS_QUIET_DEPS=1` reduz parcialmente (23 → 16) mas não elimina todos
176+
- 🔒 Angular CLI usa implementação embedded do Sass que não processa `.sassrc.json`
177+
178+
**Alternativas testadas e descartadas:**
179+
1. Arquivo `.sassrc.json` - Existe mas ignorado pelo Angular CLI
180+
2. Configuração em `angular.json` - Schema validation não permite as propriedades necessárias
181+
3. Variáveis de ambiente - Reduz mas não elimina completamente
182+
4. Migração manual Bootstrap → @use/@forward - Quebraria funcionalidades do Bootstrap 5
183+
184+
**Conclusão**: Warnings são **informativos** e devem ser aceitos até Bootstrap 6. Não afetam funcionalidade, build ou produção.
185+
172186
**Referências**:
173187
- [Sass @import deprecation](https://sass-lang.com/documentation/at-rules/import)
174188
- [Bootstrap 6 roadmap](https://github.com/twbs/bootstrap/discussions)
175189
- Arquivos afetados: `src/scss/_bootstrap-custom.scss`, `src/css/styles.scss`
190+
- Arquivo de configuração (não lido): `.sassrc.json`

dependency-report-before.txt

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
[email protected] /home/robson/Documents/workspace/source_code/github.com/robsonalvesdevbr/robsonalvesdevbr-angular
2+
├── @angular-devkit/[email protected]
3+
├── @angular-eslint/[email protected]
4+
├── @angular-eslint/[email protected]
5+
├── @angular-eslint/[email protected]
6+
├── @angular-eslint/[email protected]
7+
├── @angular/[email protected]
8+
├── @angular/[email protected]
9+
├── @angular/[email protected]
10+
├── @angular/[email protected]
11+
├── @angular/[email protected]
12+
├── @angular/[email protected]
13+
├── @angular/[email protected]
14+
├── @angular/[email protected]
15+
├── @angular/[email protected]
16+
├── @angular/[email protected]
17+
├── @playwright/[email protected]
18+
├── @popperjs/[email protected]
19+
├── @standard-schema/[email protected]
20+
├── @types/[email protected]
21+
├── @vitest/[email protected]
22+
├── @vitest/[email protected]
23+
├── @vitest/[email protected]
24+
25+
26+
27+
28+
29+
30+
31+
32+
33+
34+
35+
36+
37+
38+
39+
40+
41+
42+
43+

0 commit comments

Comments
 (0)