versacompiler 2.0.0 → 2.0.2

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/README.md CHANGED
@@ -10,14 +10,16 @@
10
10
 
11
11
  ## 🌟 Características Principales
12
12
 
13
- - ⚡ **Compilación rápida** - Compilación paralela optimizada para velocidad
14
- - 🔥 **Hot Module Replacement (HMR)** - Actualizaciones instantáneas durante desarrollo
15
- - 🧩 **Soporte completo para Vue 3** - Single File Components (SFC)
16
- - 📝 **TypeScript nativo** - Transpilación integrada sin configuración adicional
17
- - 🔍 **Linting dual** - ESLint + OxLint para máxima cobertura
18
- - 🎨 **TailwindCSS integrado** - Compilación automática de estilos
19
- - 🗜️ **Minificación avanzada** - OxcMinify para builds optimizados
20
- - 📦 **Bundling inteligente** - Agrupación de módulos configurable
13
+ - ⚡ **Compilación ultra-rápida** - Workers paralelos y cache inteligente
14
+ - 🔥 **Hot Module Replacement (HMR)** - Actualizaciones instantáneas con preservación de estado
15
+ - 🧩 **Soporte completo para Vue 3** - SFC, Composition API, script setup
16
+ - 📝 **TypeScript avanzado** - Language Service, decorators, validación de tipos
17
+ - 🔍 **Sistema de linting dual** - ESLint + OxLint con auto-fix
18
+ - 🎨 **TailwindCSS integrado** - Compilación automática y optimizada
19
+ - 🗜️ **Minificación de última generación** - OxcMinify para builds ultra-optimizados
20
+ - 📦 **Bundling inteligente** - Agrupación configurable de módulos (EN DESARROLLO)
21
+ - 🛠️ **Compilación por archivo** - Granular control de compilación
22
+ - 🧹 **Gestión de caché avanzada** - Cache automático con invalidación inteligente
21
23
 
22
24
  ## ⚡ Instalación
23
25
 
@@ -61,36 +63,60 @@ mi-proyecto/
61
63
  ### 3. Comandos básicos
62
64
 
63
65
  ```bash
64
- # 🔥 Desarrollo con auto-reload
66
+ # 🔥 Desarrollo con auto-reload y HMR
65
67
  versacompiler --watch
66
68
 
69
+ # 🔥 Desarrollo con análisis detallado
70
+ versacompiler --watch --verbose
71
+
67
72
  # 🏗️ Compilar todo el proyecto
68
73
  versacompiler --all
69
74
 
70
- # 🚀 Build para producción
75
+ # 📄 Compilar archivo específico
76
+ versacompiler --file src/components/MyComponent.vue
77
+
78
+ # 📝 Compilar múltiples archivos específicos
79
+ versacompiler src/main.ts src/components/App.vue
80
+
81
+ # 🚀 Build para producción (minificado)
71
82
  versacompiler --all --prod
72
83
 
84
+ # 🧹 Limpiar y recompilar todo
85
+ versacompiler --all --cleanOutput --cleanCache
86
+
73
87
  # 🔍 Solo verificar código (linting)
74
- versacompiler --lint-only
88
+ versacompiler --linter
89
+
90
+ # 🎨 Solo compilar TailwindCSS
91
+ versacompiler --tailwind
75
92
 
76
- # 🧹 Limpiar y recompilar
77
- versacompiler --clean --all
93
+ # Compilación rápida con confirmación automática
94
+ versacompiler --all --prod --yes
95
+
96
+ # 🔬 Verificación de tipos específica
97
+ versacompiler --typeCheck --file src/types.ts
78
98
  ```
79
99
 
80
100
  ## 📖 Configuración
81
101
 
82
102
  ### 🛠️ Comandos CLI Disponibles
83
103
 
84
- | Comando | Alias | Descripción |
85
- | ------------- | ----- | -------------------------------- |
86
- | `--watch` | `-w` | Modo observación con HMR |
87
- | `--all` | | Compilar todos los archivos |
88
- | `--prod` | `-p` | Modo producción con minificación |
89
- | `--clean` | | Limpiar directorio de salida |
90
- | `--lint-only` | | Solo ejecutar linting |
91
- | `--verbose` | `-v` | Salida detallada |
92
- | `--init` | | Inicializar configuración |
93
- | `--help` | `-h` | Mostrar ayuda |
104
+ | Comando | Alias | Descripción |
105
+ | ------------------ | ----- | ---------------------------------------------- |
106
+ | `--init` | | Inicializar configuración del proyecto |
107
+ | `--watch` | `-w` | Modo observación con HMR y auto-recompilación |
108
+ | `--all` | | Compilar todos los archivos del proyecto |
109
+ | `--file <archivo>` | `-f` | Compilar un archivo específico |
110
+ | `[archivos...]` | | Compilar múltiples archivos específicos |
111
+ | `--prod` | `-p` | Modo producción con minificación |
112
+ | `--verbose` | `-v` | Mostrar información detallada de compilación |
113
+ | `--cleanOutput` | `-co` | Limpiar directorio de salida antes de compilar |
114
+ | `--cleanCache` | `-cc` | Limpiar caché de compilación |
115
+ | `--yes` | `-y` | Confirmar automáticamente todas las acciones |
116
+ | `--typeCheck` | `-t` | Habilitar/deshabilitar verificación de tipos |
117
+ | `--tailwind` | | Habilitar/deshabilitar compilación TailwindCSS |
118
+ | `--linter` | | Habilitar/deshabilitar análisis de código |
119
+ | `--help` | `-h` | Mostrar ayuda y opciones disponibles |
94
120
 
95
121
  ### 🔧 Archivo de configuración
96
122
 
@@ -165,13 +191,23 @@ export default {
165
191
 
166
192
  #### `linter`
167
193
 
168
- Array de configuraciones de linters:
194
+ Array de configuraciones de linters avanzadas:
169
195
 
170
196
  - `name`: Nombre del linter (`'eslint'` o `'oxlint'`)
171
197
  - `bin`: Ruta al binario del linter
172
198
  - `configFile`: Archivo de configuración del linter
173
- - `fix`: Auto-fix de errores
174
- - `paths`: Rutas a analizar
199
+ - `fix`: Auto-fix de errores detectados
200
+ - `paths`: Rutas específicas a analizar
201
+ - `eslintConfig`: Configuración específica de ESLint
202
+ - `cache`: Habilitar cache de ESLint
203
+ - `maxWarnings`: Máximo número de warnings
204
+ - `quiet`: Mostrar solo errores
205
+ - `formats`: Formatos de salida (`'json'`, `'stylish'`, `'compact'`)
206
+ - `oxlintConfig`: Configuración específica de OxLint
207
+ - `rules`: Reglas personalizadas
208
+ - `plugins`: Plugins de OxLint
209
+ - `deny`: Reglas a denegar
210
+ - `allow`: Reglas a permitir
175
211
 
176
212
  #### `bundlers`
177
213
 
@@ -186,91 +222,296 @@ Array de configuraciones de bundling:
186
222
  ### Desarrollo Local
187
223
 
188
224
  ```bash
189
- # Iniciar servidor de desarrollo
225
+ # Iniciar servidor de desarrollo con HMR
190
226
  versacompiler --watch
191
227
 
192
- # Con verbose para debugging
228
+ # Desarrollo con información detallada
193
229
  versacompiler --watch --verbose
194
230
 
231
+ # Compilación específica durante desarrollo
232
+ versacompiler --file src/main.ts
233
+
195
234
  # Solo linting durante desarrollo
196
- versacompiler --lint-only
235
+ versacompiler --linter
236
+
237
+ # Desarrollo con limpieza de caché
238
+ versacompiler --watch --cleanCache
197
239
  ```
198
240
 
199
241
  ### Compilación para Producción
200
242
 
201
243
  ```bash
202
244
  # Build completo para producción
203
- versacompiler --all --prod --clean
245
+ versacompiler --all --prod
246
+
247
+ # Build con limpieza previa
248
+ versacompiler --all --prod --cleanOutput --cleanCache
249
+
250
+ # Build silencioso para CI/CD
251
+ versacompiler --all --prod --yes
204
252
 
205
- # Con análisis detallado
253
+ # Build con análisis detallado
206
254
  versacompiler --all --prod --verbose
207
255
  ```
208
256
 
257
+ ### Flujos de Trabajo Específicos
258
+
259
+ ```bash
260
+ # Compilar solo archivos modificados
261
+ versacompiler file1.vue file2.ts file3.js
262
+
263
+ # Verificación de tipos específica
264
+ versacompiler --typeCheck --file src/types/api.ts
265
+
266
+ # Solo TailwindCSS
267
+ versacompiler --tailwind
268
+
269
+ # Compilación híbrida (linting + compilación)
270
+ versacompiler --all --linter --typeCheck
271
+ ```
272
+
209
273
  ### Integración CI/CD
210
274
 
211
275
  ```bash
212
- # Pipeline de CI
213
- versacompiler --lint-only # Verificar código
214
- versacompiler --all --prod # Build para producción
276
+ # Pipeline de CI completo
277
+ versacompiler --linter # 1. Verificar código
278
+ versacompiler --typeCheck --all # 2. Verificar tipos
279
+ versacompiler --all --prod --yes # 3. Build para producción
280
+ ```
281
+
282
+ ## 🧩 Casos de Uso Avanzados
283
+
284
+ ### 🎮 Desarrollo de Componentes Vue
285
+
286
+ ```bash
287
+ # Compilación específica de componente con hot reload
288
+ versacompiler --watch --file src/components/GameBoard.vue
289
+
290
+ # Desarrollo con validación de tipos estricta
291
+ versacompiler --watch --typeCheck --verbose
292
+
293
+ # Solo compilar estilos para rapid prototyping
294
+ versacompiler --tailwind --file src/styles/components.css
295
+ ```
296
+
297
+ ### 🏢 Proyectos Enterprise
298
+
299
+ ```bash
300
+ # Validación completa antes de commit
301
+ versacompiler --linter --typeCheck --all
302
+
303
+ # Build optimizado para múltiples entornos
304
+ versacompiler --all --prod --cleanOutput --verbose
305
+
306
+ # Análisis de bundle para optimización
307
+ versacompiler --all --prod --verbose | grep "Bundle"
308
+ ```
309
+
310
+ ### 🧪 Testing y CI/CD
311
+
312
+ ```bash
313
+ # Pre-commit hooks
314
+ versacompiler --linter --typeCheck --cleanCache
315
+
316
+ # GitHub Actions / CI Pipeline
317
+ versacompiler --all --prod --yes --verbose
318
+
319
+ # Testing de componentes individuales
320
+ versacompiler --file tests/components/Button.test.ts
321
+ ```
322
+
323
+ ### 🎨 Design System Development
324
+
325
+ ```bash
326
+ # Compilación de componentes de design system
327
+ versacompiler --watch src/design-system/components/
328
+
329
+ # Build de librería de componentes
330
+ versacompiler --all --prod src/design-system/
331
+
332
+ # Validación de tokens de diseño
333
+ versacompiler --tailwind --verbose
215
334
  ```
216
335
 
217
336
  ## 🏗️ Funcionalidades
218
337
 
219
338
  ### 🔥 Hot Module Replacement (HMR)
220
339
 
221
- - **Componentes Vue**: Actualizaciones instantáneas preservando estado
222
- - **TypeScript/JavaScript**: Recarga inteligente de módulos
223
- - **CSS/TailwindCSS**: Inyección de estilos sin recarga
340
+ - **Componentes Vue**: Actualizaciones instantáneas preservando estado de componentes
341
+ - **TypeScript/JavaScript**: Recarga inteligente de módulos sin perder contexto
342
+ - **CSS/TailwindCSS**: Inyección de estilos en tiempo real
343
+ - **Key-based updates**: Sistema de keys únicos para identificación de componentes
224
344
 
225
- ### 🚀 Compilación Paralela
345
+ ### 🚀 Sistema de Compilación Avanzado
226
346
 
227
- - **Pool de workers optimizado** basado en CPU cores
228
- - **Cache inteligente** evita recompilaciones innecesarias
229
- - **Progress bar visual** con métricas en tiempo real
347
+ - **Worker Threads**: Pool de workers TypeScript optimizado para CPU cores
348
+ - **Cache inteligente**: Sistema de cache por archivos con invalidación automática
349
+ - **Compilación incremental**: Solo recompila archivos modificados
350
+ - **Progress tracking**: Métricas en tiempo real con timing detallado
351
+ - **Lazy loading**: Carga de módulos bajo demanda para máxima eficiencia
230
352
 
231
- ### 🔍 Sistema de Linting Dual
353
+ ### 🔍 Sistema de Linting Dual de Nueva Generación
232
354
 
233
- - **ESLint**: Análisis de código JavaScript/TypeScript
355
+ - **ESLint**: Análisis profundo de código JavaScript/TypeScript/Vue
356
+ - Soporte para múltiples formatos de salida (json, stylish, compact)
357
+ - Cache inteligente para acelerar análisis repetitivos
358
+ - Auto-fix avanzado con preservación de formato
234
359
  - **OxLint**: Linter ultra-rápido escrito en Rust
235
- - **Auto-fix**: Corrección automática de problemas
360
+ - Análisis paralelo de archivos
361
+ - Reglas optimizadas para Vue 3 y TypeScript moderno
362
+ - Integración con tsconfig.json
363
+
364
+ ### 📝 TypeScript de Última Generación
365
+
366
+ - **Language Service Host**: Validación de tipos completa y optimizada
367
+ - **Soporte para Decorators**: Experimental decorators y emit decorator metadata
368
+ - **Archivos virtuales**: Soporte para archivos .vue como .vue.ts
369
+ - **Worker-based validation**: Validación de tipos en threads separados
370
+ - **Fallback inteligente**: Modo sincrónico para entornos de testing
371
+ - **Error filtering**: Filtrado inteligente de errores específicos de TypeScript
236
372
 
237
- ### 📦 Minificación Optimizada
373
+ ### 🧩 Soporte Vue 3 de Nivel Profesional
238
374
 
239
- - **OxcMinify**: Minificador de última generación
240
- - **Tree shaking**: Eliminación de código no utilizado
241
- - **Compresión avanzada**: Optimización de tamaño
375
+ - **Vue 3.5 Support**: Soporte completo para las últimas características
376
+ - **Script Setup**: Compilación optimizada de composition API
377
+ - **CSS Modules**: Soporte completo para CSS modules con hashing
378
+ - **Scoped Styles**: Compilación de estilos scoped con scope IDs únicos
379
+ - **SCSS/Sass**: Preprocesadores CSS integrados
380
+ - **Custom Blocks**: Soporte para bloques personalizados en SFC
381
+ - **Slots avanzados**: Compilación optimizada de slots con fallbacks
382
+
383
+ ### 📦 Minificación y Optimización
384
+
385
+ - **OxcMinify**: Minificador de última generación escrito en Rust
386
+ - **Tree shaking**: Eliminación inteligente de código no utilizado
387
+ - **Variable mangling**: Renombrado de variables para máxima compresión
388
+ - **Dead code elimination**: Eliminación de código muerto
389
+ - **Compresión avanzada**: Algoritmos de compresión optimizados
390
+ - **Source maps**: Generación de source maps en desarrollo
391
+
392
+ ### 🛠️ Gestión de Archivos y Cache
393
+
394
+ - **Sistema de cache multinivel**: Cache de configuraciones, compilaciones y validaciones
395
+ - **Invalidación inteligente**: Cache invalidation basado en timestamps y dependencias
396
+ - **Compilación granular**: Compilación por archivo individual o en lotes
397
+ - **Gestión de dependencias**: Tracking automático de dependencias entre archivos
398
+ - **Limpieza automática**: Auto-limpieza de archivos obsoletos
399
+
400
+ ### 🎨 TailwindCSS Integrado
401
+
402
+ - **Compilación automática**: Watch mode integrado para cambios en CSS
403
+ - **Optimización de producción**: Minificación y purging automático
404
+ - **Content scanning**: Escaneo inteligente de archivos para clases utilizadas
405
+ - **Config personalizada**: Soporte para configuraciones personalizadas de Tailwind
242
406
 
243
407
  ## 🚧 Troubleshooting
244
408
 
245
409
  ### ❌ Problemas Frecuentes
246
410
 
247
- #### 🔍 Error: "Cannot resolve module"
411
+ #### 🔍 Error: "Cannot resolve module" o problemas de imports
248
412
 
249
413
  ```bash
250
- # Verificar configuración de aliases
251
- versacompiler --verbose
414
+ # Verificar configuración de aliases y paths
415
+ versacompiler --verbose --file problemFile.ts
252
416
 
253
- # Limpiar cache si persiste
254
- versacompiler --clean
417
+ # Limpiar cache TypeScript si persiste
418
+ versacompiler --cleanCache
419
+
420
+ # Verificar configuración en tsconfig.json
421
+ cat tsconfig.json | grep -A 10 "paths"
255
422
  ```
256
423
 
257
- #### 🔥 HMR no funciona
424
+ #### 🔥 HMR no funciona correctamente
258
425
 
259
426
  ```typescript
260
427
  // Verificar configuración en versacompile.config.ts
261
428
  export default {
262
429
  proxyConfig: {
263
- proxyUrl: '', // Vacío si no usas proxy
430
+ proxyUrl: '', // Vacío si no usas proxy backend
264
431
  assetsOmit: true,
265
432
  },
266
433
  };
267
434
  ```
268
435
 
269
- #### 🐌 Linting muy lento
436
+ ```bash
437
+ # Reiniciar con limpieza de cache
438
+ versacompiler --watch --cleanCache
439
+ ```
440
+
441
+ #### 🐌 Compilación o linting muy lento
270
442
 
271
443
  ```bash
272
444
  # Usar solo OxLint para máxima velocidad
273
- versacompiler --lint-only --verbose
445
+ versacompiler --linter --verbose
446
+
447
+ # Verificar si worker threads están activos
448
+ versacompiler --verbose --typeCheck
449
+
450
+ # Limpiar cache si está corrupto
451
+ versacompiler --cleanCache --cleanOutput
452
+ ```
453
+
454
+ #### 🔴 Errores de TypeScript en archivos Vue
455
+
456
+ ```bash
457
+ # Verificar soporte para decorators en tsconfig.json
458
+ {
459
+ "compilerOptions": {
460
+ "experimentalDecorators": true,
461
+ "emitDecoratorMetadata": true
462
+ }
463
+ }
464
+
465
+ # Ejecutar solo verificación de tipos
466
+ versacompiler --typeCheck --file Component.vue
467
+ ```
468
+
469
+ #### ⚠️ Warnings de dependencias o módulos
470
+
471
+ ```bash
472
+ # Verificar si las dependencias están instaladas
473
+ npm install
474
+
475
+ # Revisar configuración de paths en versacompile.config.ts
476
+ versacompiler --verbose --file problematicFile.ts
477
+ ```
478
+
479
+ #### 🎨 TailwindCSS no se actualiza
480
+
481
+ ```bash
482
+ # Verificar configuración de Tailwind
483
+ versacompiler --tailwind --verbose
484
+
485
+ # Limpiar cache de TailwindCSS
486
+ rm -rf ./node_modules/.cache/tailwindcss
487
+ versacompiler --tailwind --cleanCache
488
+ ```
489
+
490
+ ### 🔧 Configuraciones de Debug
491
+
492
+ #### Habilitar logging detallado
493
+
494
+ ```bash
495
+ # Máximo nivel de detalle
496
+ versacompiler --verbose --all
497
+
498
+ # Debug específico por archivo
499
+ versacompiler --verbose --file src/problematicFile.vue
500
+ ```
501
+
502
+ #### Verificar configuración activa
503
+
504
+ ```bash
505
+ # Ver configuración cargada
506
+ versacompiler --verbose --init # Muestra config actual
507
+ ```
508
+
509
+ #### Performance profiling
510
+
511
+ ```bash
512
+ # Analizar performance de compilación
513
+ versacompiler --verbose --all --prod
514
+ # Revisar timings en la salida
274
515
  ```
275
516
 
276
517
  ## 📚 Documentación
@@ -326,25 +567,60 @@ MIT © [Jorge Jara H](https://github.com/kriollo)
326
567
 
327
568
  ### Compilación de Archivos
328
569
 
329
- - **JavaScript**: Compila archivos `.js` y los coloca en el directorio configurado
330
- - **TypeScript**: Transpila archivos `.ts` a `.js` utilizando las opciones definidas en `tsconfig.json`
331
- - **Vue**: Procesa archivos `.vue`, compila sus scripts, plantillas y estilos
570
+ - **JavaScript (.js)**: Procesamiento, transformaciones y optimización con placement inteligente
571
+ - **TypeScript (.ts)**: Transpilación completa usando TypeScript Compiler API con Language Service
572
+ - **Vue SFC (.vue)**: Compilación completa de Single File Components con:
573
+ - Script compilation (incluyendo script setup)
574
+ - Template compilation con optimizaciones
575
+ - Style compilation (CSS, SCSS, CSS Modules, Scoped)
576
+ - Custom blocks processing
577
+
578
+ ### Sistema de Workers Avanzado
579
+
580
+ - **TypeScript Worker Threads**: Validación de tipos en procesos separados
581
+ - **Fallback sincrónico**: Detección automática de entorno de testing
582
+ - **Pool de workers**: Optimizado según CPU cores disponibles
583
+ - **Cache de validación**: Resultados de validación persistentes
584
+
585
+ ### Minificación de Última Generación
586
+
587
+ - **OxcMinify**: Minificador ultra-rápido en Rust para modo `--prod`
588
+ - **Variable mangling**: Renombrado inteligente de variables
589
+ - **Dead code elimination**: Eliminación de código no utilizado
590
+ - **Modern JavaScript**: Preservación de sintaxis ES2020+
332
591
 
333
- ### Minificación
592
+ ### Sistema de Observación de Archivos
334
593
 
335
- Si se ejecuta con el parámetro `--prod`, el código se minifica utilizando `OxcMinify`.
594
+ - **Chokidar**: Observación eficiente de cambios en archivos
595
+ - **Debounced compilation**: Evita recompilaciones excesivas
596
+ - **Dependency tracking**: Seguimiento de dependencias entre archivos
597
+ - **Hot Module Replacement**: Actualizaciones sin perder estado
336
598
 
337
- ### Observación de Archivos
599
+ ### Cache Multinivel
338
600
 
339
- El compilador observa los cambios en los archivos `.js`, `.ts` y `.vue` en el directorio `src` y recompila automáticamente los archivos modificados.
601
+ - **Configuration cache**: Cache de tsconfig.json y configuraciones
602
+ - **Compilation cache**: Resultados de compilación por archivo
603
+ - **TypeScript cache**: Cache del Language Service Host
604
+ - **File system cache**: Cache de lecturas de archivos
340
605
 
341
606
  ### Dependencias Principales
342
607
 
343
- - **VueJS**: API (vue/compiler-sfc) para compilar archivos .vue
344
- - **TypeScript**: API (transpileModule) para transpilar TypeScript
345
- - **OxcMinify**: API (minify) para minificar código
346
- - **Acorn**: API (Parser) para validar sintaxis
347
- - **BrowserSync**: API (browserSync) para servidor HMR
608
+ - **Vue.js**: `vue/compiler-sfc` para compilación de SFC
609
+ - **TypeScript**: Compiler API completa con Language Service Host
610
+ - **OxcMinify**: Minificación ultra-optimizada
611
+ - **OxLint**: Linting ultra-rápido en Rust
612
+ - **ESLint**: Análisis profundo de código
613
+ - **Chokidar**: Observación de archivos
614
+ - **BrowserSync**: Servidor de desarrollo con HMR
615
+ - **TailwindCSS**: Compilación de utilidades CSS
616
+
617
+ ### Optimizaciones de Performance
618
+
619
+ - **Lazy loading**: Carga de módulos bajo demanda
620
+ - **Module manager**: Gestión inteligente de dependencias pesadas
621
+ - **Compilation batching**: Agrupación de compilaciones
622
+ - **Progressive compilation**: Compilación incremental
623
+ - **Memory management**: Gestión optimizada de memoria en workers
348
624
 
349
625
  ---
350
626