Smartclic Storybook — Extensión VSCodeExtensión exclusiva para la arquitectura y flujo de trabajo de Smartclic. No está diseñada para uso general: depende del sistema de componentes, variables y convenciones de código propias del proyecto. Funcionalidades1. IntelliSense de componentes VueAutocompletado y documentación en archivos
La extensión carga los datos desde 2. Linter SCSS (
|
| Evento | Acción |
|---|---|
Abrir un archivo .scss |
Lint inmediato |
| Editar el archivo | Lint con 400ms de debounce |
| Guardar el archivo | Aplica automáticamente todos los fixes disponibles (F1, F3, F4, F6) |
| Bombilla (💡) sobre un error | Permite aplicar el fix de forma manual y selectiva |
3. Panel Import Map
Panel lateral (en el Explorador → Import Map) que muestra el estado de todos los micro frontends registrados en importmap.json y permite gestionar su entorno sin tocar los archivos manualmente.
Estados de un MFE
| Ícono | Color | Descripción |
|---|---|---|
✔ pass |
Verde | Corriendo — puerto activo |
⟳ sync~spin |
Amarillo | Compilando — muestra porcentaje en tiempo real (compilando... 42%) |
✖ error |
Rojo | Error de compilación |
⊘ circle-slash |
Rojo | Offline — configurado como local pero el puerto no responde |
○ radio-button-off |
Azul | Dev — apuntando al servidor remoto |
? question |
Amarillo | Personalizado — URL no coincide con local ni dev |
Botones por MFE (inline)
| Botón | Cuándo aparece | Acción |
|---|---|---|
| ⇄ | Tiene URL alternativa | Alterna entre local y dev en importmap.json |
| ▶ | Local pero offline | Lanza el servidor de desarrollo en segundo plano |
| ■ | Corriendo (gestionado o externo) | Detiene el proceso |
Botones del panel (barra de título)
| Botón | Acción |
|---|---|
$(home) Todo local |
Cambia todos los MFEs a sus URLs locales |
$(cloud) Todo dev |
Cambia todos los MFEs a sus URLs de desarrollo |
$(refresh) Recargar |
Relee los tres archivos importmap |
Modo IP
El primer ítem del panel muestra localhost o la IPv4 de red del equipo. Haz clic para alternar. Útil para probar en dispositivos móviles en la misma red local.
Inicio y parada de MFEs
Al hacer clic en ▶ la extensión localiza el repositorio en el workspace y ejecuta el comando correcto:
npm run start—erp-mf-root-config,erp-mf-commonnpm run serve— resto de MFEs
El proceso corre en segundo plano. El output está disponible en Ver → Output → MFE: <nombre>. El ícono y el porcentaje de compilación se actualizan en tiempo real conforme webpack emite progreso.
Si VS Code se cierra y el proceso sigue activo en el puerto, la extensión lo detecta al reabrir y muestra ✔ con botón ■ para detenerlo.
Archivos que se leen
| Archivo | Propósito |
|---|---|
importmap.json |
Estado activo — el que se modifica al cambiar entorno |
importmap-local.json |
URLs locales (//localhost:xxxx/...) |
importmap-dev.json |
URLs del servidor de desarrollo remoto |
Solo se muestran entradas con nombre @sreasons/*. La extensión normaliza automáticamente los alias de clave que difieren entre archivos:
Alias en importmap-local.json |
Clave canónica |
|---|---|
@sreasons/root-config |
@sreasons/erp-mf-root-config |
@sreasons/erp-mf-comun |
@sreasons/erp-mf-common |
@sreasons/erp-mf-seguridad |
@sreasons/erp-mf-security |
4. Snippets SCSS
Fragmentos de código para variables y mixins del design system en archivos .scss. Escribe el prefijo y presiona Tab.
5. Crear Componente
Clic derecho sobre una carpeta en el Explorador → Smartclic: Crear Componente.
Genera la estructura base de un nuevo componente siguiendo las convenciones del proyecto.
Instalación
Instalar el archivo .vsix en VS Code.
Contexto del proyecto
- Librería de componentes:
erp2-componentes-vue - Micro frontends: proyectos que consumen la librería y a los que se aplica el linter SCSS
- Variables del proyecto:
src/assets/styles/_variables.scssen cada micro frontend - Importación estándar:
@use '@/assets/styles/variables' as vars;
@use '@/assets/styles/mixin' as resol;