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.
cli-platform se deben ejecutar desde laraí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
| Comando | Descripción | Enlace |
|---|---|---|
| jutro codemod:apply | Ejecuta scripts de codemod para actualizar el código de su aplicación. | Enlace a la sección |
Comandos de generación
| Comando | Descripción | Enlace |
|---|---|---|
| jutro generate:i18n | Genera traducciones de internacionalización para su aplicación de Jutro. | Enlace a la sección |
| jutro generate:themes | Genera un archivo de definición de tema para su aplicación de Jutro. | Enlace a la sección |
| jutro generate:buildInfo | Genera información de compilación para la aplicación y la escribe en un archivo JSON. | Enlace a la sección |
| jutro generate:component | Genera componentes básicos. | Enlace a la sección |
| jutro generate:digital-sdk | Genera un SDK para una aplicación de Jutro. | Enlace a la sección |
Comandos de validación
| Comando | Descripción | Enlace |
|---|---|---|
| jutro validate:dependencies | Valida las dependencias de la aplicación de Jutro. | Enlace a la sección |
| jutro validate:folders | Valida la estructura de carpetas de la aplicación de Jutro. | Enlace a la sección |
| jutro validate:i18n | Valida las traducciones de internacionalización en su aplicación de Jutro. | Enlace a la sección |
| jutro validate:linters | Valida la configuración de los linters en su aplicación de Jutro. | Enlace a la sección |
| jutro validate:migrations | Valida las migraciones en su aplicación de Jutro. | Enlace a la sección |
| jutro validate:tests | Valida las pruebas definidas en su aplicación de Jutro. | Enlace a la sección |
| jutro validate:lighthouse | Genera un informe de Lighthouse en su aplicación de Jutro. | Enlace a la sección |
| jutro validate:metadata | Valida los archivos de metadatos con respecto a un esquema especificado. | Enlace a la sección |
Comandos de la aplicación
| Comando | Descripción | Enlace |
|---|---|---|
| jutro app:tests | Ejecuta las pruebas unitarias de su aplicación | Enlace a la sección |
| jutro app:start | Agrupa e inicia su aplicación de Jutro | Enlace a la sección |
| jutro app:build | Crea una compilación de aplicación | Enlace 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ón | Valor predeterminado |
|---|---|---|
--name | Nombre de un codemod que se ejecutará. | No hay ningún valor predeterminado. |
--codemodsModule | Ubicació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 |
--projectPath | Ruta al directorio donde se aplicarán los codemods. Puede ser una raíz del proyecto o un subdirectorio de un proyecto. | . |
--tmpDir | Directorio 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 plantillasrc/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.
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ón | Valor predeterminado |
|---|---|---|
--metadataMessageOutputDir | Define el directorio de salida para los mensajes de metadatos extraídos. | i18n |
--jsxMessageOutputPath | Define el directorio de salida para los mensajes JSX extraídos. | i18n/src/js-jsx-strings.json |
--messagesFileNamePattern | Define dónde se almacenan los mensajes extraídos. | i18n/src/**/*.json |
--mergeBizCompOutputDir | Define el nombre de archivo de salida de las traducciones combinadas. | i18n/biz-comp-translations |
--languageOutputFileName | Define la plantilla de archivo de salida de idioma. | lang.json |
--pseudoType | Define el pseudotipo que se utilizará. Puede ser uno de 'expansion', 'sherlock' o 'both'. | sherlock |
--pseudoOutputFileName | Define la plantilla de nombre de archivo de salida. | yy.json |
--editorProjectId | Define el ID del proyecto del editor y habilita las traducciones del editor i18n. | ID en editorProject.json |
--editorMessageOutputPath | Define el directorio de salida para los mensajes del editor extraídos. | i18n/editorTranslations.json |
--help | Imprime 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:
- El nombre del tema.
- La expresión que indica la ruta de entrada del token de tema (la ruta predeterminada es
src/tokens/**/*.json). - El nombre del archivo de salida.
- La ruta opcional de asignación de variable personalizada al token.
- La ruta de transformación personalizada opcional.
- La opción de agregar otro tema.
El comando generate:themes acepta los siguientes parámetros:
Parámetro | Descripción | Valor predeterminado |
|---|---|---|
--configPath,-c | Define la ruta del directorio que contiene el archivo .themesConfig.json. | Directorio de trabajo actual. |
--encapsulateThemes,-s | Cuando 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 |
--help | Imprime detalles sobre el comando en el terminal. | No se aceptaron argumentos. |
--clearCache | Borra la caché. Use esta opción para iniciar sesión como un usuario diferente. | No se aceptaron argumentos. |
--cliInfo | Muestra información sobre la configuración y la ubicación del archivo de caché. | No se aceptaron argumentos. |
--reset | Restablece la configuración a los valores predeterminados y borra la caché. | No se aceptaron argumentos. |
--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:
- Nombre de la aplicación.
- Versión de la aplicación.
- Versión de Jutro.
- 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:
- Directorio de salida.
- Nombre del archivo de salida.
- Ruta al directorio de paquetes.
El comando generate:buildInfo acepta los siguientes parámetros:
Parámetro | Descripción | Valor predeterminado |
|---|---|---|
--outputDir,-d | Especifica el directorio de la aplicación en el que escribir el archivo de información de compilación. | src/assets |
--outputFile,-f | Especifica 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,-p | Especifica el directorio que contiene el archivo de aplicación package.json. | Directorio de trabajo actual. |
--buildValues,-b | Especifica valores de compilación personalizados con la forma “NAME:VALUE NAME2:VALUE2 ...”. | String vacío "". |
--help | Imprime detalles sobre el comando en el terminal. | No se aceptaron argumentos. |
--clearCache | Borra la caché. Use esta opción para iniciar sesión como un usuario diferente. | No se aceptaron argumentos. |
--cliInfo | Muestra información sobre la configuración y la ubicación del archivo de caché. | No se aceptaron argumentos. |
--reset | Restablece 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:
- Nombre del componente que se generará.
- Ruta del archivo de salida.
El comando generate:component acepta los siguientes parámetros:
Parámetro | Descripción | Valor predeterminado |
|---|---|---|
--name,-n | Especifica el nombre del componente generado. | No hay ningún valor predeterminado. |
--path,-p | Especifica la ruta de la carpeta de destino para el componente generado. | No hay ningún valor predeterminado. |
--help | Imprime detalles sobre el comando en el terminal. | No se aceptaron argumentos. |
--clearCache | Borra la caché. Use esta opción para iniciar sesión como un usuario diferente. | No se aceptaron argumentos. |
--cliInfo | Muestra información sobre la configuración y la ubicación del archivo de caché. | No se aceptaron argumentos. |
--reset | Restablece 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
invalidFilescontiene archivos con errores de sintaxis o permisos. Los detalles del error proporcionan el valor. La búsqueda almacena solo un error. - La propiedad
invalidDirscontiene 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ón | Valor predeterminado |
|---|---|---|
--globIgnorePatterns | Patrones de archivos que se deben ignorar. | '**/__mocks__/**', '**/__local_mocks__/**', '**/basic.metadata.schema.json', '**/dist/**', '**/node_modules/**', '**/src/generated/**' |
--packageFileNamePattern | Nombre 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
El comando validate:folders acepta el siguiente parámetro:
|
--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
/packagesen la raíz. - No hay ningún archivo
package.jsonen la raíz. - No todos los directorios
/packages/{package-name}tienen un archivopackage.jsony/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ón | Valor predeterminado |
|---|---|---|
--jsxFileNamePattern,-j | Patrón de nombre de archivo de sus archivos JSX. | src/**/*.{ts,tsx,js,jsx} |
--metadataFileNamePattern,-m | Patrón de nombre de archivo para sus archivos JSON de metadatos. | src/**/*.{metadata,config}.json5 |
--translationOutputDir,-o | Directorio para almacenar mensajes de salida que combinan traducciones predeterminadas y extraídas. | src/i18n |
--fileNameIgnorePattern | Lista separada por comas de patrones de nombres de archivo que se deben ignorar. | **/__mocks__/**,**/__local_mocks__/**,**/basic.metadata.schema.json,**/dist/**,**/node_modules/** |
--translationFileName | Archivo de traducción que se debe verificar en comparación con lang.json. | en.json |
--help | Imprime detalles sobre el comando en el terminal. | No se aceptaron argumentos. |
--clearCache | Borra la caché. Use esta opción para iniciar sesión como un usuario diferente. | No se aceptaron argumentos. |
--cliInfo | Muestra información sobre la configuración y la ubicación del archivo de caché. | No se aceptaron argumentos. |
--reset | Restablece 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.
package.json.node_modules:prettiereslintstylelint
El comando validate:linters acepta los siguientes parámetros:
Parámetro | Descripción | Valor predeterminado |
|---|---|---|
--eslintFlags | Invalida los parámetros predeterminados para eslint | "**/*.{ts,tsx,js,jsx}" |
--eslintMetadataFlags | Invalida los parámetros predeterminados para los componentes de metadatos de eslint | "**/*.json5" --parser jsonc-eslint-parser --no-error-on-unmatched-pattern |
--stylelintFlags | Invalida los parámetros predeterminados para stylelint | "**/*.{scss, css}" |
--prettierFlags | Invalida 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.
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
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ón | Valor predeterminado |
|---|---|---|
--url | La URL de su aplicación | http://localhost:3001/ |
--config | Ruta relativa a un archivo de configuración personalizado | Un archivo .lighthouserc en el directorio raíz del proyecto. |
--output | Modo de salida de informe separado por comas. Los modos aceptados son 'html', 'json' o 'csv' | html |
--outputDir | Directorio de salida para el informe | Directorio actual. |
--loginScriptPath | Ruta a un script de inicio de sesión puppeteer | No hay ningún valor predeterminado. |
--username | Nombre de usuario para el script de inicio de sesión | No hay ningún valor predeterminado. |
--password | Contraseña del script de inicio de sesión | No 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');
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ón | Valor predeterminado |
|---|---|---|
--fileNamePattern o -f | Especifica el patrón para los nombres de archivos de metadatos coincidentes que se van a validar. | src/**/*.{metadata,config}.json5 |
--schemaPath,-s | Especifica la ruta al archivo de esquema utilizado para validar archivos de metadatos. | No hay ningún valor predeterminado. |
--help | Imprime detalles sobre el comando en el terminal. | No se aceptaron argumentos. |
--clearCache | Borra la caché. Use esta opción para iniciar sesión como un usuario diferente. | No se aceptaron argumentos. |
--cliInfo | Muestra información sobre la configuración y la ubicación del archivo de caché. | No se aceptaron argumentos. |
--reset | Restablece 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ón | Valor predeterminado |
|---|---|---|
--jestConfigPath | Ruta a su archivo de configuración de jest. | jest.config.js |
--overridesPath | Ruta a un archivo de invalidaciones para invalidar cualquiera de los valores de configuración de la aplicación para la prueba. | overrides.config.js |
--verify | Si 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.
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ón | Valor predeterminado |
|---|---|---|
--mode | Entorno para compilar e iniciar. Acepta development o production como valores. | development |
--verify | Verifique 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ón | Valor predeterminado |
|---|---|---|
process.env.PORT | Puerto que se usará | 3000 |
process.env.HOST | Host que se usará | 0.0.0.0 |
process.env.HTTPS | Uso de http o https | http |
process.env.CI | Si 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:
| Plugin | Propósito |
|---|---|
| HtmlWebpackPlugin | Genera un archivo index.html con las etiquetas <script> y <link> correctas para los recursos agrupados. |
| MiniCssExtractPlugin | Extrae CSS en archivos separados, en lugar de incluirlo en conjuntos de JavaScript. |
| TerserPlugin | Minimiza JavaScript para reducir el tamaño del conjunto. |
| CssMinimizerPlugin | Minimiza los archivos CSS para una salida optimizada. |
| ReactRefreshWebpackPlugin | Habilita la actualización rápida de React para una mejor experiencia de desarrollo. |
| WebpackManifestPlugin | Genera un archivo de manifiesto que mapea nombres de archivo de origen a archivos de salida. |
| InlineChunkHtmlPlugin | Inserta pequeños fragmentos de JS en el HTML para evitar solicitudes de red adicionales. |
| InterpolateHtmlPlugin | Reemplaza marcadores de posición en HTML (por ejemplo, %PUBLIC_URL%) con variables de entorno. |
| ModuleNotFoundPlugin1 | Proporciona mensajes de error más claros cuando falta un módulo. |
| WorkboxWebpackPlugin | Genera un service worker para aplicaciones web progresivas (PWA). |
| ForkTsCheckerWebpackPlugin | Ejecuta 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
.gitignore and depcheckrc.js, will also be copied into the dist folderEl comando app:build acepta los siguientes parámetros:
Parámetro | Descripción | Valor predeterminado |
|---|---|---|
--mode, -m | Modo de compilación de la aplicación. Los valores aceptados son “producción” o “desarrollo” | production |
--showProgress,-s | Indicador para mostrar el progreso de la compilación | false |
--no-showProgress | Hace que --showProgress sea false | false |
--writeBuildStatsToFile,-w | Indicador para escribir estadísticas de compilaciones en un archivo | false |
--no-writeBuildStatsToFile | Hace que --writeBuildStatsToFile sea false | false |