modularcore add
Qué hace
Sección titulada «Qué hace»add <name> instala un componente del registry en el proyecto actual. El proceso es:
- Lee
modularcore.json(falla si no existe — correinitprimero) y detecta el gestor de paquetes y elpackage.jsondel proyecto. - Resuelve recursivamente las
registryDependenciesdel componente pedido (dependencias de otros componentes del registry), en orden de dependencias primero, detectando y rechazando explícitamente los ciclos. - Para cada componente resuelto, comprueba compatibilidad: que el componente soporte el
frameworkdeclarado enmodularcore.json(o seaagnostic), y que laspeerDependenciesrelevantes (React, Svelte, Vue,@angular/core, según el framework del proyecto) estén declaradas en elpackage.jsondel proyecto con un rango semver compatible. - Recolecta las dependencias npm (
dependencies) declaradas por los descriptores resueltos, detectando conflictos de versión entre componentes para el mismo paquete. - Si hay dependencias npm que instalar, muestra la lista y pide confirmación antes de instalar (
--ignore-scripts) y escribir archivos; si no hay dependencias npm, solo pide confirmación para escribir los archivos. - Escribe los archivos de cada componente resueltos, remapeando sus rutas destino según
pathsdemodularcore.json. - Añade a
.env.examplelas variables de entorno que declare el componente (si las hay). - Actualiza
modularcore.jsonregistrando cada componente instalado con su versión eninstalled.
Sintaxis
Sección titulada «Sintaxis»modularcore add <name>Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
<name> |
argumento posicional | Sí | Nombre del componente a instalar, tal como aparece en el registry. |
No expone flags adicionales — la confirmación de instalación y escritura de archivos se pide de forma interactiva.
Ejemplo
Sección titulada «Ejemplo»modularcore add media-pickerSe instalarán las siguientes dependencias npm (--ignore-scripts)react-dropzone@^14.2.3
¿Instalar 1 dependencia(s) con pnpm y escribir los archivos de "media-picker"? (y/N) y
Instalado: media-pickerArchivos escritos: 4.env.example: agregadas MEDIA_PICKER_API_KEYErrores comunes
Sección titulada «Errores comunes»- Sin
modularcore.json: falla conNo se encontró "modularcore.json" en <cwd>. Corre \modularcore init` primero.` - Framework incompatible:
"<name>" no soporta el framework de este proyecto ("<framework>"). Frameworks soportados: ...— el componente no declara soporte para tu framework. - Peer dependency faltante:
"<name>" requiere el peer dependency "<peer>" (<rango>), pero no está declarado en el package.json de este proyecto. - Peer dependency con versión incompatible:
"<name>" requiere "<peer>" <rango>, pero este proyecto declara "<peer>" <rango-instalado>. - Ciclo de dependencias:
Ciclo detectado en registryDependencies: a -> b -> a— el registry tiene una referencia circular entre componentes. - Conflicto de versiones npm:
Conflicto de versiones para "<paquete>": "<v1>" vs "<v2>" entre componentes resueltos. Resuélvelo manualmente en los descriptores. - Dependencia sin versión pineada:
Dependencia "<raw>" no declara versión pineada/semver (formato esperado "nombre@rango").— problema en el propio descriptor del registry, no algo que el usuario controle. - Cancelación: si respondes que no a la confirmación, la operación se aborta con
Operación cancelada por el usuario. No se escribió ningún archivo.y no se toca el sistema de archivos. - Fallo a mitad de escritura: si falla la escritura tras haber escrito ya algunos archivos, el mensaje de error lista explícitamente qué archivos quedaron escritos antes del fallo, para que puedas revisarlos o revertirlos manualmente.
Ver también
Sección titulada «Ver también»- Visión general del CLI
init— requisito previo, generamodularcore.jsondiff— compara un componente ya instalado con la versión del registryupdate— reinyecta un componente ya instalado
Docs v1.0.0 · ModularCore Hub v0.9.1