# Modyo CLI
La interfaz de línea de comandos de Modyo (CLI) es una herramienta de línea de comandos basada en dos principios de aceleración e integración, estos principios tienen un comando get y push respectivamente.
# Instalación
Primero, necesita instalar la CLI de Modyo globalmente en su máquina local para tener disponible el comando modyo-cli
, esto le permitirá inicializar un proyecto con algunas decisiones arquitectónicas de front-end predefinidas, o usar para inicializar un widget desde catálogo si tiene acceso.
Para instalar el modyo-cli globalmente, debe usar una de estas opciones:
$ npm i -g @modyo/cli #via npm
$ yarn global add @modyo/cli #via yarn
Este comando hará que el comando modyo-cli esté disponible en la sesión de terminal globalmente
Los comandos disponibles son:
- modyo-cli (-v|--version|version)
- modyo-cli help [COMMAND]
- modyo-cli autocomplete [SHELL]
- modyo-cli get NAME [DIRECTORY]
- modyo-cli push NAME
# Plantillas de widget
En nuestro catálogo de widgets, ofrecemos plantillas que contienen lo mínimo para subir un widget a Modyo Platform. Las plantillas las puedes encontrar en los siguientes frameworks:
Puedes clonar estos repositorios, modificarlos a tus necesidades, y usar modyo-cli para hacer un push hacia la plataforma. Para más información de como enviar widgets a Modyo Platform, ve modyo-cli push NAME.
# modyo-cli (-v|--version|version)
Imprime la versión de modyo-cli
.
$ modyo-cli (-v|--version|version)
modyo-cli/3.0.6 darwin-x64 node-v12.13.1
# modyo-cli help [COMMAND]
Muestra ayuda contextual dependiendo del comando que se escriba.
USAGE
$ modyo-cli help [COMMAND]
ARGUMENTS
autocomplete Display autocomplete installation instructions
get Pull a widget from our catalog into a new directory
help Display help for modyo-cli
push Push widget to Modyo platform
La siguiente lista son las variables de entorno que puedes configurar:
MODYO_ACCOUNT_URL=account-url
MODYO_VERSION=version
MODYO_TOKEN=token
MODYO_SITE_ID=siteId
MODYO_SITE_HOST=siteHost
MODYO_BUILD_COMMAND=buildCommand
MODYO_REGEX_EXCLUDE=regexToExcludeFiles
MODYO_BUILD_DIRECTORY=buildDirectoryPath
# Variables de entorno
Para facilitar el proceso de subir tus widgets a la plataforma Modyo, puedes hacer uso del archivo de variables de entorno .env
. Sigue estos pasos para crear tu archivo:
- Crea un archivo
.env
en la raíz de tu proyecto. - Agrega la siguiente información:
MODYO_ACCOUNT_URL=test.miModyo.com
MODYO_VERSION=9
MODYO_TOKEN=ak9cb2....a53s
MODYO_SITE_HOST=miSitio
MODYO_WIDGET_NAME=miNuevoWidget
MODYO_BUILD_COMMAND=build
MODYO_BUILD_DIRECTORY=dist
- Al hacer uso de modyo-cli dentro de la raíz de tu proyecto, se agregarán los datos del archivo automáticamente.
Tip
Recomendamos utilizar un archivo de variables de entorno para facilitar el uso de modyo-cli y evitar el registro de información sensible.
# modyo-cli autocomplete [SHELL]
Modyo ofrece la habilidad de autocompletar los comandos de nuestro CLI si se configura esta opción.
USAGE
$ modyo-cli autocomplete [SHELL]
ARGUMENTS
SHELL shell type
OPTIONS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
EXAMPLE
$ modyo-cli autocomplete
$ modyo-cli autocomplete bash
$ modyo-cli autocomplete zsh
$ modyo-cli autocomplete --refresh-cache
# Instrucciones para utilizar MODYO-CLI CLI Autocomplete
- Agregar autocomplete variable de entorno para tu perfil de zsh y agregarlo a source
$ printf "eval $(modyo-cli autocomplete:script zsh)" >> ~/.zshrc; source ~/.zshrc
Tip
Después del comando, puedes correr $ compaudit -D
para verificar que no hay conflictos en los permisos.
- Prueba que funcione correctamente, e.g.:
$ modyo-cli <TAB> #Completar comando
$ modyo-cli command --<TAB> #Completar opción
# Obtenga una plantilla para un proyecto
La CLI de Modyo está diseñada para funcionar en base a una arquitectura de micro front-end y acelerará el proceso de inicialización de un widget.
# modyo-cli get NAME [DIRECTORY]
El comando get
se usa para obtener una plantilla de widget de nuestro catálogo de widgets utilizando un token proporcionado por Modyo.
USAGE
$ modyo-cli get NAME [DIRECTORY]
ARGUMENTS
NAME The name of the widget
DIRECTORY Name of directory to init
OPTIONS
-f, --force Override folder if exist
-h, --help Output usage information
-o, --organization [default: modyo] Github organization
-x, --no-install Don't install packages
EXAMPLE
$ modyo-cli get name [directory]
Hay algunas plantillas de widgets públicos a los que se puede acceder a través de este comando
EJEMPLOS
$ modyo-cli get modyo-widgets-template-vue [DIRECTORY] #to initialize a widget
Desde este comando y en adelante, puede continuar utilizando el widget como cualquier otro widget de Vue.
# modyo-cli push NAME
Integra un widget escrito en Vue al sitio seleccionado de Modyo Platform.
Utilizarás un argumento llamado nombre para cargar el widget en la plataforma y algunos indicadores requeridos como token site_base id
o host
para identificar la plataforma Modyo que aloja el widget y tienen un indicador adicional para evitar el flujo de proceso manual de la publicación del widget.
Advertencia
Por el momento, Modyo CLI sólo ofrece soporte para widgets hechos y compilados con las herramientas incluídas por defecto de Vue.
USAGE
$ modyo-cli push NAME
ARGUMENTS
NAME The name of the widget
OPTIONS
-b, --build-command=build-command [default: build] Build command in package.json
-d, --build-directory=build-directory [default: dist] Build directory path
-h, --help Output usage information
-i, --site-id=site-id Id of the site where the widget will be pushed
-l, --disable-liquid Disable Liquid
-n, --site-host=site-host Host of the site where the widget will be pushed
-p, --publish Force widget publication
-t, --token=token (required) Modyo Api token
-u, --account-url=account-url (required) URL of your Modyo account ex("https://account.modyo.com")
-v, --version=8|9 [default: 9] Version of Modyo platform
EXAMPLE
$ modyo-cli push <NAME>
# Variables de entorno
Para hacer push hacia la plataforma, es necesario llenar las opciones requeridas. Para esto, hay dos opciones para le envío: escribir el comando con opciones o usar un archivo .env
. Funcionan de la misma manera pero se implementan diferente.
# Archivo de variables de entorno
En el directorio raíz del widget, crea un archivo .env
que contenga los siguientes datos:
MODYO_ACCOUNT_URL=https://test.miModyo.com //URL de la cuenta dueña del sitio
MODYO_VERSION=9 //La versión de la plataforma Modyo
MODYO_TOKEN=ax93...nm3 //El token para accesar a la API administrativa
MODYO_SITE_HOST=miHost //El nombre de Host, localizado dentro de la plataforma, en la sección de sitios
MODYO_SITE_ID=miStage //(Opcional) Esta variable solo se utiliza en el caso de hacer push hacia un stage. Solo se utiliza una variable MODYO_SITE_HOST o MODYO_SITE_ID. El Id se obtiene utilizando nuestra API /api/admin/sites.
MODYO_WIDGET_NAME=miWidget //El nombre del widget
MODYO_BUILD_COMMAND=build //El comando para package.json (default: build)
MODYO_BUILD_DIRECTORY=dist //La ruta del widget (default: dist)
# Opciones
En una terminal con modyo-cli instalado, es posible hacer push a través de la linea de comandos de la siguiente manera:
modyo-cli push miWidget -b build -d dist -n miHost -v 9 -u "https://test.miModyo.com" -t $TOKEN
# Push hacia Stage
Al utilizar nuestra API de administración, también podrás hacer push hacia un stage. Sigue estos pasos para hacer un push hacia tu stage desde Modyo CLI.
- Haz una llamada a nuestra API de administración /api/admin/sites, por ejemplo:
curl -X GET https://test.modyo.com/api/admin/sites
Recibirás un JSON con toda la información relacionada a sitios. Dentro de este JSON, en la información de tu sitio, existe un apartado de stages en donde encontrarás el Id necesario para hacer push a este stage, a través de Modyo CLI.
"meta": [...],
"sites": [
...,
"name": "miHost",
"stages": [
{
"id": 1044,
"uuid": "7a5d4b2d-de98-4c7f-8f0d-2c08599a218c",
"name": "CLI DEMO",
"host": "cli-demo",
"stage_name": "main",
"created_at": "2019-03-15T11:02:07.000-03:00",
"original_stage": "",
"base_stage": true
},
{
"id": 2673,
"uuid": "951b258b-5c86-4e7b-a21a-8e605e9cf0de",
"name": "Test Stage CLI DEMO",
"host": "test-cli-demo",
"stage_name": "Test",
"created_at": "2022-08-10T18:03:19.000-04:00",
"original_stage": "main",
"base_stage": false
}
],
]
- Abre tu archivo de variables de entorno
.env
. Se debe borrar la variable MODYO_SITE_HOST ya que usaremos el Id del sitio. Para hacer push hacia un stage, solo se puede usar MODYO_SITE_ID. Agrega el MODYO_SITE_ID de la siguiente manera:
MODYO_ACCOUNT_URL=https://test.miModyo.com
MODYO_VERSION=9
MODYO_TOKEN=ax93...nm3
MODYO_WIDGET_NAME=miWidget
MODYO_BUILD_COMMAND=build
MODYO_BUILD_DIRECTORY=dist
MODYO_SITE_ID=2673
- En tu terminal, haz push a tu stage utilizando Modyo CLI:
modyo-cli push miWidget
En caso de querer hacer push a main, se tiene que modificar la variable MODYO_SITE_ID para main o borrar esta variable y usar MODYO_SITE_HOST.
← Widgets Plantillas →