@wu-framework/cli 0.3.4 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,37 @@
2
2
 
3
3
  Todos los cambios notables de wu-cli. Formato basado en [Keep a Changelog](https://keepachangelog.com/) y [SemVer](https://semver.org/).
4
4
 
5
+ > Las versiones 0.3.1–0.3.4 fueron rebuilds de binarios sin cambios de comportamiento y no tienen entrada propia.
6
+
7
+ ## [0.3.6] — 2026-06-01
8
+
9
+ Fix puntual de pérdida de estilos en `wu build` con shell custom. Sin cambios breaking.
10
+
11
+ ### Arreglado
12
+
13
+ - **CSS extraído perdido en producción con shell custom**. Vite separa el CSS de cada micro-app (estilos de SFC Vue/Svelte, `.css` importados) en un archivo aparte que solo enlaza el `index.html` propio de la app — que el build descarta. El entry JS importado dinámicamente no carga ese CSS, así que las apps cuyo CSS no va inline en el JS se montaban sin estilo. `injectAppsIntoUserShell` ya detectaba el CSS (quedaba en `wu-manifest.json`/`apps.json`) pero **solo lo metía como dato en `window.__wu_apps`, sin emitir `<link rel="stylesheet">`**. Ahora inyecta el `<link>` por cada app con CSS, igual que `generateProductionShell`; `WuStyleBridge` de wu-framework lo clona al Shadow DOM. Afecta a cualquier proyecto con shell propio (`src/commands/build.zig`).
14
+
15
+ ## [0.3.5] — 2026-05-29
16
+
17
+ Sesión de fixes alrededor de scaffolding multi-framework, aislamiento de estilos entre micro-apps y limpieza de procesos hijo en Windows. Sin cambios breaking.
18
+
19
+ ### Arreglado
20
+
21
+ - **Estilos de Vue pisándose entre micro-apps**. El daemon inyectaba `<style>` por archivo usando `basename(file_path)` como clave, así que todo `mf-*/src/App.vue` compartía el mismo nodo `data-wu-vue="App.vue"` — la última MF en montar borraba los estilos de las demás. Ahora la clave es el path completo (`src/runtime/compile.zig`).
22
+ - **SFC `.vue`/`.svelte` importados por specifier bare/aliased servidos crudos**. Al importar p.ej. `@shared/components/Modal.vue` (resuelto a `/@modules/...`), el dev server solo compilaba `.ts`/`.mts` vía daemon y mandaba el texto del SFC tal cual → el browser fallaba con *"module does not provide an export named 'default'"*. Ahora también se compilan los SFCs que pasan por esa ruta (`src/runtime/dev_server.zig`).
23
+ - **Procesos hijo huérfanos en Windows**. El daemon compilador y los procesos Vite quedaban vivos cuando `wu` moría de forma abrupta (taskkill, crash, cerrar la terminal) — el handler de señales no llega a correr. Nuevo `src/util/jobobject.zig`: ata cada hijo a un Job Object con `JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE`, así mueren con el padre pase lo que pase. Cableado en `dev`, `serve` y el supervisor Vite.
24
+ - **Shells react/vue/svelte no buildeaban**. `wu create` generaba el shell sin `vite.config.js` ni las devDependencies (`vite` + plugin del framework), así que `wu build` fallaba. Ahora se generan ambos para los tres shells (`src/commands/create.zig`).
25
+ - **Shells Vue y Svelte incompletos**. El shell Vue ahora monta vía `createApp` + `App.vue` usando `WuSlot` de `wu-framework/adapters/vue`; el shell Svelte usa el `mount` de Svelte 5 + `App.svelte` con loop imperativo en `onMount`.
26
+ - **Rutas absolutas del shell rotas en build**. Los scripts del `index.html` del shell usaban `/shell/src/main.tsx` y `/shell/main.js`; con Vite usando el dir del shell como root esos paths no resolvían. Cambiados a root-relativos (`/src/main.tsx`, `/main.js`).
27
+ - **`@angular/build` faltante** en el `package.json` mergeado, rompía el build de proyectos Angular con *"Cannot find module '@angular/build/private'"*. Agregado a las devDeps del framework.
28
+ - **`wu dev` ignoraba `proxy.port`**. El puerto estaba hardcoded a 3000 y el campo de `wu.config.json` no tenía efecto. Ahora: `--port` gana, si no se respeta `proxy.port`, y solo si no, 3000 (`src/commands/dev.zig`).
29
+ - **Cuatro memory leaks** detectados con `DebugAllocator`: buffers de `std.Io.Writer.Allocating.fromArrayListAligned` que no se reclamaban en `config.zig` (`writeConfigTo`), `install.zig` (`writeAliasMap`, `generateMergedPackageJson`) y las strings de `findAsset` en `build.zig`. Reclamados con `aw.toArrayList()` / `defer free`.
30
+
31
+ ### Cambiado
32
+
33
+ - **Versión de `wu-framework` en los templates** subida a `^2.1.1` (antes `^1.1.17`), que es la que exporta los adapters como named exports (`WuSlot`, etc.).
34
+ - **`generateRootPackageJsonNamed` recibe el framework del shell** para emitir las devDeps correctas; `wu add` actualizado a la nueva firma.
35
+
5
36
  ## [0.3.0] — 2026-05-18
6
37
 
7
38
  Sesión grande de hardening, refactor de UX y documentación. Sin cambios breaking para usuarios que ya tienen `wu.config.json` válido — pero **una excepción**: el campo `cors` del proxy ahora default `false` (antes hardcoded `true`).
@@ -100,6 +131,8 @@ Primera versión empaquetada en npm.
100
131
 
101
132
  ---
102
133
 
134
+ [0.3.6]: https://github.com/LuisPadre25/wu-cli/compare/v0.3.5...v0.3.6
135
+ [0.3.5]: https://github.com/LuisPadre25/wu-cli/compare/v0.3.0...v0.3.5
103
136
  [0.3.0]: https://github.com/LuisPadre25/wu-cli/compare/v0.2.1...v0.3.0
104
137
  [0.2.1]: https://github.com/LuisPadre25/wu-cli/compare/v0.2.0...v0.2.1
105
138
  [0.2.0]: https://github.com/LuisPadre25/wu-cli/releases/tag/v0.2.0
Binary file
package/bin/wu-darwin-x64 CHANGED
Binary file
package/bin/wu-linux-x64 CHANGED
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wu-framework/cli",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "Native Zig dev server + CLI for wu-framework microfrontends. One binary, one port, all your micro-apps.",
5
5
  "license": "MIT",
6
6
  "author": "Luis Garcia",