Tratamiento de dependencias, discrepancias y herramientas - Amazon CodeCatalyst

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tratamiento de dependencias, discrepancias y herramientas

Una administración incorrecta de las dependencias puede provocar errores de compilación y problemas de tiempo de ejecución para quienes utilicen sus esquemas personalizados. Las herramientas y los componentes desactualizados pueden impedir que los usuarios de los esquemas accedan a las características y correcciones de errores más recientes. Puede administrar las dependencias, tratar las discrepancias de las dependencias y actualizar las herramientas y los componentes para garantizar que todas las dependencias utilicen las mismas versiones de los componentes y que los componentes estén sincronizados.

Incorporación de dependencias

Como autor de un esquema, puede que necesite añadir paquetes al esquema, como @amazon-codecatalyst/blueprint-component.environments. Debe actualizar el archivo projen.ts con ese paquete y, a continuación, volver a generar la configuración del proyecto con Projen. Projen actúa como el modelo de proyecto para el código base de cada esquema, lo que permite actualizar las herramientas compatibles con versiones anteriores cambiando la forma en que el modelo representa los archivos de configuración. El archivo package.json es un archivo que pertenece parcialmente al modelo de Projen. Projen reconoce las versiones de las dependencias incluidas en el archivo package.json, pero las demás opciones deben provenir del modelo.

Incorporación de una dependencia y actualización de un archivo projenrc.ts

  1. En el archivo projen.ts, desplácese hasta la sección deps.

  2. Añada la dependencia que desee utilizar en el esquema.

  3. Utilice el siguiente comando para volver a generar la configuración del proyecto:

    yarn projen && yarn

Tratamiento de las discrepancias en los tipos de dependencias

Tras una actualización de Yarn, es posible que aparezca el siguiente error relacionado con un parámetro del repositorio:

Type 'SourceRepository' is missing the following properties from type 'SourceRepository': synthesisSteps, addSynthesisStep

El error se debe a la discrepancia de las dependencias que se produce cuando un componente se basa en una versión más reciente de otro componente, pero el componente está anclado a una versión anterior. El error se puede corregir haciendo que todos los componentes dependan de la misma versión para que la versión se sincronice entre ellos. Es mejor mantener todos los paquetes proporcionados por el esquema en la misma versión más reciente (0.0.x), a menos que esté seguro de cómo se administran las versiones. En el siguiente ejemplo se muestra cómo se puede configurar el archivo package.json para que todas las dependencias utilicen la misma versión:

... "@caws-blueprint-component/caws-environments": "^0.1.12345", "@caws-blueprint-component/caws-source-repositories": "^0.1.12345", "@caws-blueprint-component/caws-workflows": "^0.1.12345", "@caws-blueprint-component/caws-workspaces": "^0.1.12345", "@caws-blueprint-util/blueprint-utils": "^0.1.12345", ... "@caws-blueprint/blueprints.blueprint": "*",

Tras configurar las versiones de todas las dependencias, utilice el siguiente comando:

yarn install

Uso de yarn y npm

Los esquemas usan Yarn como herramienta. El uso de npm y Yarn provocará problemas con las herramientas porque la forma en que cada uno resuelve los árboles de dependencias es diferente. Para evitar estos problemas, es mejor usar solo Yarn.

Si instaló por error dependencias con npm, puede eliminar el archivo package-lock.json generado y asegurarse de que el archivo .projenrc.ts esté actualizado con las dependencias que necesita. Puede volver a generar la configuración del proyecto con Projen.

Utilice lo siguiente para volver a generar la configuración a partir del modelo:

yarn projen

Tras comprobar que el archivo .projenrc.ts está actualizado con las dependencias necesarias, utilice el siguiente comando:

yarn

Actualización de herramientas y componentes

De vez en cuando, es posible que desee actualizar sus herramientas y componentes para incorporar las nuevas características disponibles. Se recomienda mantener todos los componentes en la misma versión, a menos que esté seguro de cómo se tratan las versiones. Las versiones se sincronizan entre los componentes, por lo que las mismas versiones para todos los componentes garantizan una dependencia adecuada entre ellos.

Uso de monorepo del espacio de trabajo de Yarn

Use el siguiente comando para actualizar las utilidades y los componentes desde la raíz del repositorio de un esquema personalizado:

yarn upgrade @amazon-codecatalyst/*

Utilice el siguiente comando si no utiliza un monorepo:

yarn upgrade —pattern @amazon-codecatalyst/*

Otras opciones que puede utilizar para actualizar las herramientas y los componentes:

  • Utilice npm view @caws-blueprint-component/<some-component> para obtener la última versión.

  • Cambie manualmente a la última versión configurando la versión en su archivo package.json y utilizando el siguiente comando:yarn. Todos los componentes y utilidades deben tener la misma versión.