Saltar a contenido

architecture-it/vite

Libreria diseñada para simplificar y potenciar la configuración de proyectos Vite con Federación.

Configuración de Proyectos

La librería proporciona las configuraciones básicas a implementar en los diferentes proyectos que se puede crear utilizando Vite, es decir, para aplicaciones SPA o Microfrontends (módulo y shell).

Se deberan realizar las configuraciones en el siguiente archivo de Vite: vite.config.ts.

Configuración Técnica para un Shell - Microfrontend

La función shellConfig sirve como un punto de partida técnico para configurar entornos de shell en proyectos de microfrontends que buscan una federación eficiente de módulos y recursos compartidos.

import { shellConfig } from "@architecture-it/vite";

export default shellConfig({
  name: "mi-shell",
  exposes: {
    // ...otras opciones específicas del shell
  },
});

Configuración Técnica para Módulo - Microfrontend

La función moduleConfig está diseñada para configurar proyectos Vite con Federación que necesitan exponer módulos específicos a otros proyectos.

import { moduleConfig } from "@architecture-it/vite";

export default moduleConfig({
  name: "mi-modulo",
  exposes: {
    // ...definiciones de exposiciones
  },
  // ...otras opciones específicas del módulo
});

Configuración Técnica para Aplicaciones (SPA) con Vite

La función spaConfig ofrece una configuración técnica para proyectos Vite que están construyendo SPAs con React.

import { spaConfig } from "@architecture-it/vite";

export default spaConfig({
  // ... configuraciones extras que se deseen agregar
});

Función resolveChunks: Lógica de División de Chunks

La función resolveChunks proporciona una lógica clara y eficiente para dividir la aplicación SPA en chunks (partes) específicas.

Su utilización permitirá tener una gestión precisa de las dependencias y una distribución óptima de recursos durante la construcción del proyecto. Mejorando asi la carga inicial y la eficiencia general del rendimiento de la aplicación. Se utiliza como parte de la configuración de rollupOptions en el (build) de la configuración de Vite.

La función resolveChunks toma el identificador de un archivo como entrada y devuelve una cadena que representa la identificación del chunk al que pertenece ese archivo.

import { spaConfig, resolveChunks } from "@architecture-it/vite";

export default spaConfig({
  build: {
    rollupOptions: {
      output: {
        manualChunks: resolveChunks,
      },
    },
  },
});

BannerPlugin

El BannerPlugin es un componente personalizado diseñado para imprimir un banner informativo en la consola durante la fase de construcción o desarrollo de tu aplicación Vite.

import { spaConfig } from "@architecture-it/vite";
import { BannerPlugin } from './BannerPlugin';

export default spaConfig({
    // Agrega el plugin a la matriz de plugins
    plugins: [BannerPlugin()],

    // ... configuraciones extras que se deseen agregar
});

DynamicImport

Esta función se utiliza para facilitar la importación dinámica de módulos remotos en un entorno de arquitectura de microfrontends.

import {dynamicImport} from "@architecture-it/vite/dynamicImport";

const AppRemote = dynamicImport<IRemoteAppProps>("remote/App");