Saltar al contenido principal

Comandos de la CLI de la plataforma de Jutro

La CLI de Jutro Digital Platform utiliza un comando base jutro, con comandos opcionales que dependen de la característica:

Por ejemplo, puede usar el comando generate con el argumento themes para crear un archivo .css que se pueda utilizar para una nueva definición de tema en una aplicación de Jutro.

jutro generate:themes

En esta página obtendrá información sobre lo siguiente:

  • Opciones y comandos que proporciona la CLI de Jutro Digital Platform.
  • Cómo ejecutar estos comandos.
Tip: Los comandos de Jutro cli-platform se deben ejecutar desde la

raíz de la aplicación de Jutro.

¿Qué proporciona la CLI de la plataforma de Jutro?​

Para encontrar todos los comandos disponibles en la CLI de la plataforma de Jutro, ejecute:

jutro --help

Esto proporciona una salida similar a la siguiente:

The CLI tool for Jutro Digital Platform

VERSION
@jutro/cli-platform/0.17.2-next.0 darwin-x64 node-v16.14.2

USAGE
$ jutro [COMMAND]

TOPICS
generate Generates i18n translations for your Jutro app
validate Validates your Jutro app to ensure that it follows Guidewire standards

También puede encontrar las opciones de comando utilizando el siguiente comando:

jutro generate --help

Para obtener más información sobre los comandos de características individuales, como themes, ejecute el siguiente comando:

jutro generate:themes --help

Lista de comandos​

Los siguientes comandos están disponibles en la CLI de la plataforma de Jutro:

Comandos de codemod​

ComandoDescripción
Enlace
jutro codemod:applyEjecuta scripts de codemod para actualizar el código de su aplicación.Enlace a la sección

Comandos de generación​

ComandoDescripción
Enlace
jutro generate:i18nGenera traducciones de internacionalización para su aplicación de Jutro.Enlace a la sección
jutro generate:themesGenera un archivo de definición de tema para su aplicación de Jutro.Enlace a la sección
jutro generate:buildInfoGenera información de compilación para la aplicación y la escribe en un archivo JSON.Enlace a la sección
jutro generate:componentGenera componentes básicos.Enlace a la sección
jutro generate:digital-sdkGenera un SDK para una aplicación de Jutro.Enlace a la sección

Comandos de validación​

ComandoDescripción
Enlace
jutro validate:dependenciesValida las dependencias de la aplicación de Jutro.Enlace a la sección
jutro validate:foldersValida la estructura de carpetas de la aplicación de Jutro.Enlace a la sección
jutro validate:i18nValida las traducciones de internacionalización en su aplicación de Jutro.Enlace a la sección
jutro validate:lintersValida la configuración de los linters en su aplicación de Jutro.Enlace a la sección
jutro validate:migrationsValida las migraciones en su aplicación de Jutro.Enlace a la sección
jutro validate:testsValida las pruebas definidas en su aplicación de Jutro.Enlace a la sección
jutro validate:lighthouseGenera un informe de Lighthouse en su aplicación de Jutro.Enlace a la sección
jutro validate:metadataValida los archivos de metadatos con respecto a un esquema especificado.Enlace a la sección

Comandos de la aplicación​

ComandoDescripción
Enlace
jutro app:testsEjecuta las pruebas unitarias de su aplicaciónEnlace a la sección
jutro app:startAgrupa e inicia su aplicación de JutroEnlace a la sección
jutro app:buildCrea una compilación de aplicaciónEnlace a la sección

Comandos de codemod​

Uso de codemods en su aplicación​

jutro codemod:apply --name=<CODEMOD-NAME>

El comando codemod:apply se utiliza para ejecutar codemods que modifican el código de la aplicación. Puede usar un codemod a la vez con el argumento --name. Para obtener más detalles sobre los codemods disponibles, consulte la documentación sobre codemods.

Parámetro
DescripciónValor predeterminado
--nameNombre de un codemod que se ejecutará.No hay ningún valor predeterminado.
--codemodsModuleUbicación del módulo que contiene el codemod que desea ejecutar. Si no se encuentra una versión local, utilizará npm para instalar el módulo en una carpeta temporal.@jutro/codemods
--projectPathRuta al directorio donde se aplicarán los codemods. Puede ser una raíz del proyecto o un subdirectorio de un proyecto..
--tmpDirDirectorio temporal que se usa para almacenar codemods en caché. Si no se especifica, se utiliza el directorio temporal del sistema.Directorio temporal del sistema.

Comandos de generación​

Generación de traducciones de internacionalización​

jutro generate:i18n

El comando generate:i18n genera traducciones de internacionalización (i18n) para su aplicación Jutro. La CLI extrae los mensajes de todos los archivos JSX y de metadatos que se encuentran en la aplicación y los agrupa en dos archivos de traducción de forma predeterminada:

  • src/i18n/lang.json: archivo de traducción de plantilla
  • src/i18n/yy.json: archivo de traducción de Sherlock

El archivo de plantilla lang.json debe usarse como base para traducir su aplicación a otros idiomas. Debe crear archivos de traducción para cada idioma, por ejemplo, en.json para inglés y de.json para alemán. Luego, colóquelos en src/i18n la carpeta de la aplicación para que Jutro pueda recogerlos.

Note: No realice cambios en el archivo lang.json, ya que estos se sobrescribirían en cada compilación de la aplicación.

La traducción de Sherlock se usa para identificar claves no traducidas en su código.

Los archivos generados tienen la siguiente estructura:

lang.json:

{
"jutro-app.Pages.Settings.header": "Settings",
"jutro-app.Pages.Settings.title": "Settings",
"jutro-app.app.commonAvatar.welcomePage": "Go to the Welcome Page"
}

yy.json:

{
"jutro-app.Pages.Settings.header": "[2TbH15_Settings]",
"jutro-app.Pages.Settings.title": "[2IeCt0_Settings]",
"jutro-app.app.commonAvatar.welcomePage": "[3OqyfH_Go to the Welcome Page]"
}

El comando generate:i18n acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--metadataMessageOutputDirDefine el directorio de salida para los mensajes de metadatos extraídos.i18n
--jsxMessageOutputPathDefine el directorio de salida para los mensajes JSX extraídos.i18n/src/js-jsx-strings.json
--messagesFileNamePatternDefine dónde se almacenan los mensajes extraídos.i18n/src/**/*.json
--mergeBizCompOutputDirDefine el nombre de archivo de salida de las traducciones combinadas.i18n/biz-comp-translations
--languageOutputFileNameDefine la plantilla de archivo de salida de idioma.lang.json
--pseudoTypeDefine el pseudotipo que se utilizará. Puede ser uno de 'expansion', 'sherlock' o 'both'.sherlock
--pseudoOutputFileNameDefine la plantilla de nombre de archivo de salida.yy.json
--editorProjectIdDefine el ID del proyecto del editor y habilita las traducciones del editor i18n.ID en editorProject.json
--editorMessageOutputPathDefine el directorio de salida para los mensajes del editor extraídos.i18n/editorTranslations.json
--helpImprime detalles sobre el comando en el terminal.No se aceptaron argumentos.

Generación de definiciones de temas para aplicaciones de Jutro​

jutro generate:themes

El comando generate:themes convierte y mapea el tema definido por los tokens de diseño proporcionados en un tema definido por variables CSS que se puede utilizar en la aplicación de Jutro. La interfaz de línea de comandos (CLI) utiliza el archivo .themesConfig.json para generar un archivo .css basado en los archivos de entrada de token de diseño definidos en la configuración.

Cuando no hay un archivo .themesConfig.json presente y ejecuta el comando, la CLI le solicita que especifique la siguiente información si aún no se proporciona utilizando estos parámetros:

  1. El nombre del tema.
  2. La expresión que indica la ruta de entrada del token de tema (la ruta predeterminada es src/tokens/**/*.json).
  3. El nombre del archivo de salida.
  4. La ruta opcional de asignación de variable personalizada al token.
  5. La ruta de transformación personalizada opcional.
  6. La opción de agregar otro tema.

El comando generate:themes acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--configPath,-cDefine la ruta del directorio que contiene el archivo .themesConfig.json.Directorio de trabajo actual.
--encapsulateThemes,-sCuando la aplicación se utiliza como microfrontend, los temas generados entrarán en el alcance de esta aplicación, no en la aplicación shell. El selector de CSS incluirá el scopeName de la aplicación.false
--helpImprime detalles sobre el comando en el terminal.No se aceptaron argumentos.
--clearCacheBorra la caché. Use esta opción para iniciar sesión como un usuario diferente.No se aceptaron argumentos.
--cliInfoMuestra información sobre la configuración y la ubicación del archivo de caché.No se aceptaron argumentos.
--resetRestablece la configuración a los valores predeterminados y borra la caché.No se aceptaron argumentos.
Note: Para el parámetro --encapsulateThemes, el scopeName de una aplicación microfrontend se determina mediante la variable de entorno JUTRO_APP_ID.

Generación de información de compilación para aplicaciones de Jutro​

jutro generate:buildInfo

El comando generate:buildInfo genera información de compilación para la aplicación y la escribe en un archivo JSON. El archivo generado puede servir de recurso estático.

La información de compilación incluye lo siguiente:

  1. Nombre de la aplicación.
  2. Versión de la aplicación.
  3. Versión de Jutro.
  4. Hash de confirmación.

Un ejemplo de archivo de información de compilación tiene el siguiente aspecto:

{
"APPLICATION_NAME":"gw-templates-starter-standalone",
"APPLICATION_VERSION":"1.8.1-next.0",
"JUTRO_VERSION":"10.9.2",
"COMMIT_HASH":"b7cfb0f2"
}

La CLI le solicita que ingrese la siguiente información si aún no se proporciona como parámetros:

  1. Directorio de salida.
  2. Nombre del archivo de salida.
  3. Ruta al directorio de paquetes.

El comando generate:buildInfo acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--outputDir,-dEspecifica el directorio de la aplicación en el que escribir el archivo de información de compilación.src/assets
--outputFile,-fEspecifica el nombre del archivo en el que escribir la información de compilación. Tenga en cuenta que no debe incluir la extensión de archivo.build
--packageDir,-pEspecifica el directorio que contiene el archivo de aplicación package.json.Directorio de trabajo actual.
--buildValues,-bEspecifica valores de compilación personalizados con la forma “NAME:VALUE NAME2:VALUE2 ...”.String vacío "".
--helpImprime detalles sobre el comando en el terminal.No se aceptaron argumentos.
--clearCacheBorra la caché. Use esta opción para iniciar sesión como un usuario diferente.No se aceptaron argumentos.
--cliInfoMuestra información sobre la configuración y la ubicación del archivo de caché.No se aceptaron argumentos.
--resetRestablece la configuración a los valores predeterminados y borra la caché.No se aceptaron argumentos.

Generación de un componente​

jutro generate:component

El comando generate:component genera un componente básico de React. La CLI valida la entrada, genera el componente, incluye las dependencias necesarias y ejecuta linters para garantizar la calidad del código.

Por ejemplo, si utiliza este comando para generar un componente llamado Sample, generará los siguientes archivos:

Sample/
├── index.ts Exports the component from Sample.tsx
├── Sample.messages.ts An example of a messages for internationalization.
├── Sample.module.scss CSS formatting rules tags with the ".sample" class.
└── Sample.tsx A react component that displays a div that contained the translated text from Sample.messages.

Puede utilizar este comando para ayudar a crear componentes personalizados mediante la creación de una base sobre la que pueda construir su componente. Simplemente actualice el archivo Sample.tsx con el código requerido; luego, use los mensajes y los archivos CSS para agregar texto y formato traducibles, respectivamente.

La CLI le solicita que ingrese la siguiente información si aún no se proporciona como parámetros:

  1. Nombre del componente que se generará.
  2. Ruta del archivo de salida.

El comando generate:component acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--name,-nEspecifica el nombre del componente generado.No hay ningún valor predeterminado.
--path,-pEspecifica la ruta de la carpeta de destino para el componente generado.No hay ningún valor predeterminado.
--helpImprime detalles sobre el comando en el terminal.No se aceptaron argumentos.
--clearCacheBorra la caché. Use esta opción para iniciar sesión como un usuario diferente.No se aceptaron argumentos.
--cliInfoMuestra información sobre la configuración y la ubicación del archivo de caché.No se aceptaron argumentos.
--resetRestablece la configuración a los valores predeterminados y borra la caché.No se aceptaron argumentos.

Generación del SDK de Digital​

Para obtener más información sobre cómo generar el SDK de Digital mediante la CLI de la plataforma de Jutro, consulte Generación y configuración del SDK.

Generación de un formulario de muestra de Jutro​

Este comando genera un formulario de muestra utilizando el componente obsoleto de Jutro MetadataForm, pero el código que crea no es válido. No se recomienda su uso después de Innsbruck.

Generación de un componente de asistente de Jutro​

Este comando genera un componente de asistente de Jutro usando componentes de metadatos obsoletos, pero el código que crea no es válido. No se recomienda su uso después de Innsbruck.

Generación de una página​

Este comando genera un componente de página usando componentes de metadatos obsoletos, pero el código que crea no es válido. No se recomienda su uso después de Innsbruck.

Generación de un registro de cambios​

Este comando se utiliza como parte del proceso de desarrollo de Jutro y no funciona cuando lo utilizan usuarios externos.

Comandos de validación​

Validación de las dependencias de la aplicación de Jutro​

jutro validate:dependencies

El comando validate:dependencies verifica las dependencias del proyecto. Compara el archivo package.json del proyecto con los módulos que utiliza el proyecto y proporciona una lista de todas las dependencias no utilizadas, faltantes, duplicadas y con versiones no estrictas.

Esta herramienta también verifica invalidFiles y invalidDirs:

  • La propiedad invalidFiles contiene archivos con errores de sintaxis o permisos. Los detalles del error proporcionan el valor. La búsqueda almacena solo un error.
  • La propiedad invalidDirs contiene directorios con errores de permisos. Los detalles del error proporcionan el valor.

Debe agregar un archivo .depcheckrc.js en la raíz del proyecto que enumere los módulos que se deben ignorar. El archivo .depcheckrc.js tiene la siguiente forma:

const options = {
ignoreMatches: [
'@jutro/auth',
'@jutro/cli-snapshot-tools',
'@jutro/cli-snapshots',
'@jutro/components',
'@jutro/platform',
'@jutro/prop-types',
'jest-extended',
'src',
'jest-teamcity-reporter',
'json5-jest',
'lerna',
'lint-staged',
'prop-types',
'ts-jest',
],
};

module.exports = { options };

El comando validate:dependencies acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--globIgnorePatternsPatrones de archivos que se deben ignorar.'**/__mocks__/**', '**/__local_mocks__/**', '**/basic.metadata.schema.json', '**/dist/**', '**/node_modules/**', '**/src/generated/**'
--packageFileNamePatternNombre del archivo del paquete.**/package.json

Validación de las carpetas de su aplicación de Jutro​

jutro validate:folders

El comando validate:folders valida los archivos necesarios y la estructura de la aplicación tras compararla con una estructura de aplicación de Jutro predeterminada. El comando registra archivos o carpetas faltantes.

Este comando le ayuda a asegurarse de que su aplicación coincida con la estructura prevista por nuestros trabajos de CICD.

El comando prevé que la aplicación respete la siguiente estructura:

.
├── src
│ ├── app
│ │ ├── App.{tsx,js}
│ │ ├── App.messages.{ts,js}
│ │ ├── App.module.scss
│ │ ├── App.test.{tsx,js}
│ ├── assets
│ │ ├── fonts
│ │ ├── icons
│ │ ├── images
│ │ ├── styles
│ │ └── manifest.json
│ ├── i18n
│ │ └── en.json
│ ├── config
│ │ └── config.json
├── .babelrc
├── .editorconfig
├── .env
├── .env.production
├── .depcheckrc.js
├── .eslint.js
├── .eslintignore
├── .eslintrc.js
├── .gitignore
├── .nvmrc
├── .prettierignore
├── .prettierrc.js
├── .stylelintignore
├── .stylelintrc
├── commitlint.config.js
├── README.md
├── tsconfig.app.json
└── typings.d.ts
Warning: Si la aplicación no coincide con esta estructura, es posible que partes de ella se puedan ocultar de las canalizaciones de validación de CICD.

El comando validate:folders acepta el siguiente parámetro:

|

Parámetro
| Descripción | Valor predeterminado | | --custom-packages | Cambio a la estructura de validación de paquetes personalizada. Consulte aquí para obtener más detalles. | No se aceptaron argumentos. |

Parámetro de paquetes personalizados​

Puede agregar el parámetro --custom-packages para validar una estructura basada en canalizaciones para su repositorio de paquetes personalizados. Una estructura válida se ve así:

.
├── package.json
└── packages/
└── {package-name}/
├── package.json
└── src/
└── index.ts

La CLI saldrá con un error en las siguientes situaciones:

  • No hay ningún directorio /packages en la raíz.
  • No hay ningún archivo package.json en la raíz.
  • No todos los directorios /packages/{package-name} tienen un archivo package.json y /src/index.js.

Validación de las traducciones de i18n en su aplicación de Jutro​

jutro validate:i18n

El comando validate:i18n vuelve a generar la traducción actualizada en lang.json. A continuación, verifica si el archivo de traducción especificado por el indicador --translationFileName (por defecto es en.json) coincide con el archivo generado.

El comando validate:i18n acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--jsxFileNamePattern,-jPatrón de nombre de archivo de sus archivos JSX.src/**/*.{ts,tsx,js,jsx}
--metadataFileNamePattern,-mPatrón de nombre de archivo para sus archivos JSON de metadatos.src/**/*.{metadata,config}.json5
--translationOutputDir,-oDirectorio para almacenar mensajes de salida que combinan traducciones predeterminadas y extraídas.src/i18n
--fileNameIgnorePatternLista separada por comas de patrones de nombres de archivo que se deben ignorar.
**/__mocks__/**,**/__local_mocks__/**,**/basic.metadata.schema.json,**/dist/**,**/node_modules/**
--translationFileNameArchivo de traducción que se debe verificar en comparación con lang.json.en.json
--helpImprime detalles sobre el comando en el terminal.No se aceptaron argumentos.
--clearCacheBorra la caché. Use esta opción para iniciar sesión como un usuario diferente.No se aceptaron argumentos.
--cliInfoMuestra información sobre la configuración y la ubicación del archivo de caché.No se aceptaron argumentos.
--resetRestablece la configuración a los valores predeterminados y borra la caché.No se aceptaron argumentos.

Validación de linters en su aplicación de Jutro​

jutro validate:linters

El comando validate:linters ejecuta eslint, stylelint y prettier en la aplicación, y le notifica si la aplicación tiene algún problema. El comando utiliza process.cwd para ejecutar los linters a través de la línea de comandos en el directorio node_module/.bin.

Note: Este comando no usa ningún script de linting que pueda estar presente en el archivo package.json.
Warning: Para ejecutar este comando, debe instalar los siguientes paquetes en el directorio node_modules:
  • prettier
  • eslint
  • stylelint

El comando validate:linters acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--eslintFlagsInvalida los parámetros predeterminados para eslint"**/*.{ts,tsx,js,jsx}"
--eslintMetadataFlagsInvalida los parámetros predeterminados para los componentes de metadatos de eslint"**/*.json5" --parser jsonc-eslint-parser --no-error-on-unmatched-pattern
--stylelintFlagsInvalida los parámetros predeterminados para stylelint"**/*.{scss, css}"
--prettierFlagsInvalida los parámetros predeterminados para prettier--check "${ALL_FILES_PATTERN}"1

1: El ALL_FILES_PATTERN se define en @jutro/cli-common/ALL_FILES_PATTERN. Su valor es {ts,tsx,js,jsx,json,json5,scss,css,html,mdx}.

Detalles del linter​

eslint​

Este linter se ejecuta en todos los archivos TypeScript y JavaScript de acuerdo con la configuración ESLint de su aplicación (.eslintrc.js), que, si se implementa correctamente, se basa en el paquete @jutro/eslint-config de Jutro.

Componentes de metadatos de eslint​

Este linter se ejecuta en todos los archivos de metadatos de Jutro (json5) de acuerdo con la configuración ESLint de su aplicación (.eslintrc.js), que, si se implementa correctamente, se basa en el paquete @jutro/eslint-config de Jutro.

Warning: No se recomienda invalidar eslintMetadataFlags, ya que Jutro espera un formato determinado.
stylelint​

Este linter se ejecuta en todos los archivos scss y css de acuerdo con la configuración Stylelint de su aplicación (.stylelintrc), que, si se implementa correctamente, se basa en el paquete @jutro/stylelint-config de Jutro.

prettier​

Esto ejecuta el formateador de código dogmático prettier en todos los archivos ts, tsx, js, jsx, json, json5, scss, css, html y mdx de acuerdo con la configuración Prettier de su aplicación (.prettierrc), que, si se implementa correctamente, se basa en el archivo @jutro/build-tools/prettier-config/index de Jutro.

Validación de los paquetes de migración en su aplicación de Jutro​

Este comando se utiliza como parte del proceso de desarrollo de Jutro y no funciona cuando lo utilizan usuarios externos.

Validación de las pruebas en su aplicación de Jutro​

jutro validate:tests
Warning: El comando validate:tests ahora está obsoleto. En su lugar, use el comando jutro app:tests para ejecutar las pruebas unitarias de la aplicación.

Generación de un informe de Lighthouse en su aplicación de Jutro​

jutro validate:lighthouse

El comando validate:lighthouse crea un informe de Lighthouse para su aplicación de Jutro.

El comando validate:lighthouse acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--urlLa URL de su aplicaciónhttp://localhost:3001/
--configRuta relativa a un archivo de configuración personalizadoUn archivo .lighthouserc en el directorio raíz del proyecto.
--outputModo de salida de informe separado por comas. Los modos aceptados son 'html', 'json' o 'csv'html
--outputDirDirectorio de salida para el informeDirectorio actual.
--loginScriptPathRuta a un script de inicio de sesión puppeteerNo hay ningún valor predeterminado.
--usernameNombre de usuario para el script de inicio de sesiónNo hay ningún valor predeterminado.
--passwordContraseña del script de inicio de sesiónNo hay ningún valor predeterminado.

Configuración de Lighthouse​

La ruta debe ser absoluta o relativa al directorio raíz del proyecto. Si no se proporciona el param, la ruta predeterminada será un archivo .lighthouserc en el directorio raíz del proyecto. Si no se encuentra este archivo, utiliza la configuración predeterminada de Lighthouse.

El archivo de configuración puede ser un archivo JSON, JS o YML.

Para ver el formato de configuración, consulte: https://github.com/GoogleChrome/lighthouse/blob/master/docs/configuration.md

Script de inicio de sesión puppeteer​

Si la aplicación tiene habilitada la autenticación, puede especificar su propio script puppeteer para realizar el inicio de sesión antes de generar el informe.

El script de inicio de sesión recibirá la instancia del navegador y, si se proporcionan, el inicio de sesión y la contraseña pasados en los argumentos del comando.

El script de inicio de sesión debe tener un aspecto similar al siguiente:

const page = await browser.newPage();
await page.goto('http://localhost:3001'); // Application URL matching the one you give from the command
const usernameInput = 'input[name="username"]';
const passwordInput = 'input[name="password"]';
await page.waitForSelector(usernameInput);
await page.type(usernameInput, username); // username from the -l in the command
await page.keyboard.press('Enter');
await page.waitForSelector(passwordInput);
await page.type(usernameInput, username);
await page.type(passwordInput, password); // password from the -p in the command
await page.keyboard.press('Enter');
Note: No puede redefinir variables con el nombre browser, username o password como se pasan de la CLI a su script.

Hay un script de inicio de sesión por defecto proporcionado para nuestra página de inicio de sesión predeterminada de Okta, por eso, es posible ejecutarlo pasando solo el nombre de usuario y la contraseña:

jutro validate:lighthouse -u http://localhost:3001 -o ./lighthouse -l username -p password

Validación de los metadatos en su aplicación de Jutro​

jutro validate:metadata

El comando validate:metadata valida sus archivos de metadatos con respecto a un esquema específico y registra los resultados de la validación, incluidos errores y mensajes de acción correcta.

El comando validate:metadata acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--fileNamePattern o -fEspecifica el patrón para los nombres de archivos de metadatos coincidentes que se van a validar.src/**/*.{metadata,config}.json5
--schemaPath,-sEspecifica la ruta al archivo de esquema utilizado para validar archivos de metadatos.No hay ningún valor predeterminado.
--helpImprime detalles sobre el comando en el terminal.No se aceptaron argumentos.
--clearCacheBorra la caché. Use esta opción para iniciar sesión como un usuario diferente.No se aceptaron argumentos.
--cliInfoMuestra información sobre la configuración y la ubicación del archivo de caché.No se aceptaron argumentos.
--resetRestablece la configuración a los valores predeterminados y borra la caché.No se aceptaron argumentos.

Comandos de la aplicación​

Comando de ejecución de pruebas unitarias de la aplicación​

jutro app:tests

El comando app:tests usa jest para ejecutar todas las pruebas unitarias definidas en su aplicación y registra las correctas y las fallidas.

El comando app:tests acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--jestConfigPathRuta a su archivo de configuración de jest.jest.config.js
--overridesPathRuta a un archivo de invalidaciones para invalidar cualquiera de los valores de configuración de la aplicación para la prueba.overrides.config.js
--verifySi es true, la instalación de la aplicación se verifica antes de iniciar las pruebas.true

Además, el comando acepta cualquier parámetro de la CLI de jest. Consulte la documentación de jest para obtener información adicional.

Comando de inicio de la aplicación​

jutro app:start

app:start agrupa e inicia la aplicación en el servidor local. Se lo puede ejecutar en uno de los dos modos development o production. El mode se utiliza para configurar las variables globales process.env.NODE_ENV y process.env.BABEL_ENV, así como para pasar React al modo correcto. Una vez que la aplicación está agrupada, se abre una nueva ventana del navegador con la aplicación ejecutándose en ella.

Note: Este comando requiere que react sea una dependencia en su package.json.

Este comando lee la configuración de proxy de su package.json.

El comando app:start acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--modeEntorno para compilar e iniciar. Acepta development o production como valores.development
--verifyVerifique la instalación de la aplicación antes de iniciarla.true

Variables de entorno de inicio de la aplicación​

Las siguientes variables de entorno se utilizan para establecer opciones para su aplicación al iniciarla con este comando.

Variable de entorno
DescripciónValor predeterminado
process.env.PORTPuerto que se usará3000
process.env.HOSTHost que se usará0.0.0.0
process.env.HTTPSUso de http o httpshttp
process.env.CISi es true, la aplicación se ejecuta en un entorno de integración continua (CI)false

Comando de compilación de la aplicación​

jutro app:build

Este comando app:build crea la compilación de la aplicación utilizando Webpack y la guarda en la carpeta dist.

Los siguientes plugins específicos de Webpack se utilizan para crear esta compilación:

PluginPropósito
HtmlWebpackPluginGenera un archivo index.html con las etiquetas <script> y <link> correctas para los recursos agrupados.
MiniCssExtractPluginExtrae CSS en archivos separados, en lugar de incluirlo en conjuntos de JavaScript.
TerserPluginMinimiza JavaScript para reducir el tamaño del conjunto.
CssMinimizerPluginMinimiza los archivos CSS para una salida optimizada.
ReactRefreshWebpackPluginHabilita la actualización rápida de React para una mejor experiencia de desarrollo.
WebpackManifestPluginGenera un archivo de manifiesto que mapea nombres de archivo de origen a archivos de salida.
InlineChunkHtmlPluginInserta pequeños fragmentos de JS en el HTML para evitar solicitudes de red adicionales.
InterpolateHtmlPluginReemplaza marcadores de posición en HTML (por ejemplo, %PUBLIC_URL%) con variables de entorno.
ModuleNotFoundPlugin1Proporciona mensajes de error más claros cuando falta un módulo.
WorkboxWebpackPluginGenera un service worker para aplicaciones web progresivas (PWA).
ForkTsCheckerWebpackPluginEjecuta la comprobación de tipos de TypeScript en un proceso separado para mejorar la velocidad de compilación.

1 Este plugin está incluido en el paquete react-dev-utils. No existe documentación externa que dé más detalles sobre su función.

El formato de salida de compilación tiene el siguiente aspecto:

dist
├── asset-manifest.json
├── fonts <-- static folder also contains fonts
├── icons <-- static folder also contains icons
├── images
├── index.html
├── manifest.json
├── OidcServiceWorker.js <-- For OpenID
├── OidcTrustedDomains.js <-- For OpenID (Copy of packages/jutro-auth/OidcTrustedDomains.js)
├── static
│ ├── js
│ │ ├── 159.33502e27.chunk.js <-- minimized Javascript code
│ │ └── main.c4b7edb6.js
│ └── media
│ ├── MaterialIcons-Outlined.1fe2097e362248bbeafd.woff2
│ └── SourceSansVariable-Roman.ttf.f1ed926fb59922a29b83.woff2
└── styles
└── theme
├── styleOverrides.css
└── variableOverrides.css
Note: Config files, for example .gitignore and depcheckrc.js, will also be copied into the dist folder

El comando app:build acepta los siguientes parámetros:

Parámetro
DescripciónValor predeterminado
--mode, -mModo de compilación de la aplicación. Los valores aceptados son “producción” o “desarrollo”production
--showProgress,-sIndicador para mostrar el progreso de la compilaciónfalse
--no-showProgressHace que --showProgress sea falsefalse
--writeBuildStatsToFile,-wIndicador para escribir estadísticas de compilaciones en un archivofalse
--no-writeBuildStatsToFileHace que --writeBuildStatsToFile sea falsefalse