Skip to content

Commit f96f021

Browse files
committed
feat!: Angular 15, split de demo y Material (MDC). Reemplazos de deps legacy y reorganización de estilos/assets.
BREAKING CHANGE: Se requiere Angular 15 (Node ^14.20 | ^16.13 | ^18.10). La demo se separa en projects/plex-demo. Migraciones de Material a MDC.
1 parent 470624e commit f96f021

2 files changed

Lines changed: 87 additions & 3 deletions

File tree

.github/workflows/build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,11 @@ jobs:
7474
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_KEY }}
7575
TZ: "America/Argentina/Salta"
7676

77-
# 4) (OPCIONAL) publicación automática con semantic-release (para activar reemplazar false por github.ref == 'refs/heads/master' || github.ref == 'refs/heads/beta')
77+
# 4) (OPCIONAL) publicación automática con semantic-release
7878
release:
7979
needs: lib-ci
8080
runs-on: ubuntu-latest
81-
if: false
81+
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/beta'
8282
steps:
8383
- uses: actions/checkout@v3
8484
with:
@@ -96,5 +96,5 @@ jobs:
9696
- name: semantic-release
9797
env:
9898
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
99-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
99+
#NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
100100
run: npx semantic-release

MIGRATION.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# MIGRATION GUIDE — @andes/plex v9 (Angular 15)
2+
3+
**TL;DR**
4+
- Actualizamos la librería a **Angular 15** (Ivy parcial con `ng-packagr`).
5+
- La **demo** sale de `src/` y pasa a ser un **proyecto aparte** en `projects/plex-demo`.
6+
- Migramos componentes a **Angular Material v15 (MDC)** y eliminamos/reemplazamos
7+
dependencias legacy donde aplicaba.
8+
- Se reorganizan estilos/assets y se ajustan scripts de build y CI.
9+
10+
11+
## ¿Quién debería leer esto?
12+
- Equipos que consumen `@andes/plex` y van a actualizar a la **v9** (Angular 15).
13+
- Quienes mantienen forks/derivados de Plex o scripts de publicación.
14+
15+
16+
## Requisitos de entorno
17+
- **Node.js**: ^14.20.0 | ^16.13.0 | ^18.10.0 (recomendado)
18+
- **TypeScript**: >= 4.8.2 < 5.0
19+
- **RxJS**: ^7.x
20+
- **Angular CLI/Core**: 15.2.x
21+
Fuente: tabla de compatibilidad oficial de Angular para la línea 15.x.
22+
Asegurate de que tu CI (GitHub Actions) use una de esas versiones de Node.
23+
24+
25+
## Cambios rompientes (BREAKING)
26+
1. **Angular 15 + Ivy parcial**
27+
2. **Demo separada del código fuente**
28+
3. **Angular Material v15 (MDC)**
29+
4. **Reemplazos de librerías deprecadas**
30+
5. **Estilos y assets**
31+
6. **Polyfills**
32+
33+
34+
## Cómo actualizar tu aplicación que usa Plex
35+
1. Actualizá Angular a 15
36+
2. Alineá peerDependencies (usadas por Plex 9)
37+
3. Reemplazos de UI
38+
4. Estilos de Plex
39+
5. Polyfills
40+
6. TypeScript
41+
42+
43+
## Uso de la demo (proyecto `projects/plex-demo`)
44+
- **Desarrollo en caliente** contra el build de la lib:
45+
npm run dev:demo
46+
- **Servir sólo la demo usando el último build existente de la lib:**
47+
npm run start:demo
48+
- **Build de la demo (prod):**
49+
npm run build:demo:prod
50+
51+
52+
## Scripts relevantes en `package.json`
53+
- `build:lib` → compila la librería con `ng-packagr`.
54+
- `postbuild:lib` → parchea exports (estilos/assets) tras el build.
55+
- `build``build:lib` + `postbuild:lib`.
56+
- `build:lib:watch` → watch de la librería (desarrollo demo).
57+
- `start:demo` → verifica `dist/` y corre `ng serve plex-demo`.
58+
- `dev:demo` → build inicial de la lib + watch + serve demo.
59+
- `build:demo` / `build:demo:prod` → compilan la demo (dev/prod).
60+
61+
62+
## CI / Publicación
63+
- Node en Actions: usar 16.18.x o 18.10+ acorde Angular 15.
64+
- Workflows: build.yml ejecuta lint + build de la librería + tests/E2E (si aplica).
65+
- release.yml compila docs y corre semantic-release para publicar.
66+
- Versionado: usamos Conventional Commits y semantic-release.
67+
- Para betas, publicar con rama beta y pre-releases (9.0.0-beta.1, etc.).
68+
- El merge a master corta 9.0.0 estable.
69+
70+
71+
## Notas de compatibilidad
72+
- Si tu app tenía dependencias directas a Bootstrap/jQuery heredadas de Plex 8, extraélas o
73+
reemplazalas por Angular Material.
74+
- core-js ya no debería importarse manualmente.
75+
- Verificá budgets de build de tu app; el bundle de la demo tiene budgets propios.
76+
77+
78+
## Checklist de migración
79+
- [ ] App actualizada a Angular 15 (core, CLI, Material, TS 4.8, RxJS 7)
80+
- [ ] Reemplazos de bootstrapMaterial y otros deps legacy
81+
- [ ] Import de estilos de Plex actualizado
82+
- [ ] Polyfills limpiados
83+
- [ ] CI actualizado a Node compatible
84+
- [ ] Pruebas unitarias y E2E verdes

0 commit comments

Comments
 (0)