Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

278
Vistas
Configuración de Jest ignorada desde la actualización a 27

Estoy tratando de migrar un monorepo NX de Angular 12 a Angular 13. Como parte de esta migración, Jest también se actualiza a la versión 27.2.3. el proyecto también utiliza una compilación de editor personalizado de CKEditor5.

Cuando CKEditor se integró por primera vez (creo que cuando el proyecto usaba Angular 9) tuvimos muchos problemas para que funcionara con Jest y cada vez que se ejecutaban las pruebas unitarias, cualquier componente que incluía CKEditor daba el mensaje de error:

SyntaxError: no se puede usar la declaración de importación fuera de un módulo

Logramos solucionar el problema agregando la siguiente configuración al archivo global jest.preset.js en la raíz del proyecto:

 transform: { 'node_modules[\\\\/]@ckeditor.+.(js)$': 'babel-jest', '^.+.(ts|html)$': 'ts-jest', }, transformIgnorePatterns: ['/node_modules/(?!@ckeditor|lodash).+.(js|jsx|ts|tsx|svg)$'],

Sin embargo, ahora que estamos migrando de Angular 12 a 13, el mensaje de error anterior ha regresado y parece que la configuración anterior ahora se ignora.

Como parte de la migración, NX ha creado automáticamente nuevos archivos project.json en todas las bibliotecas del monorepo. Este archivo contiene alguna configuración de Jest, por lo que intenté mover la configuración anterior del archivo jest.preset.js a los archivos individuales de project.json en cualquier biblioteca usando CKEditor, pero esto no solucionó el problema. Los nuevos archivos project.json también leen algunas configuraciones de Jest de un jest.config.js específico del proyecto, así que intenté agregar la configuración allí también, y eso tampoco solucionó el problema.

También intenté actualizar la configuración de testEnviroment en package.json de "node" a "jsdom" y esto tampoco ayudó. También intenté mover toda la configuración de transform/transformIgnorePatterns a la sección Jest de package.json y eso tampoco ayudó.

Supongo que mi configuración de trabajo anterior solo necesita moverse a un archivo diferente, simplemente no está claro a qué archivo debe moverse.

Mi entorno es el siguiente:

ventanas 10

Nodo 16.13.2

MNP 8.1.2

NX 13.4.5

broma 27.2.3

Angular 13.1.2

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Esto se solucionó agregando la siguiente configuración al archivo preestablecido de Jest y eliminando la misma configuración de las configuraciones de aplicaciones/libs individuales:

 transform: { 'node_modules[\\\\/]@ckeditor.+\\.(js)$': 'babel-jest', '^.+\\.(ts|js|mjs|html|svg)$': 'jest-preset-angular', }, transformIgnorePatterns: ['node_modules/(?!.*.mjs$|@ckeditor)'],

El problema estaba relacionado con tener múltiples cadenas dentro de transformIgnorePatterns : solo admite un elemento a pesar de ser una matriz

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda