Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

285
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!