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

332
Views
broma tratando de transformar un archivo en node_modules (funcionaba en una versión anterior)

Tenía jest v27.2.4 y ts-jest v27.0.5 y las pruebas funcionaron, en las últimas versiones (creo que son 27.4.x) las pruebas ya no se ejecutan ya que jest se queja de un archivo .js dentro de node_modules

Traté de cambiar a una versión anterior configurando la versión específica en package.json (es decir, sin ^), pero dado que jest tiene dependencias en otras bibliotecas con ^, todavía las está actualizando

El error al ejecutar las pruebas:

 Jest encountered an unexpected token Jest failed to parse a file. This happens eg when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax. By default "node_modules" folder is ignored by transformers. Details: /home/me/code/node_modules/@middy/core/index.js:2 plugin?.beforePrefetch?.() ^ SyntaxError: Unexpected token '.' 1 | import { logger } from "@libs/logger"; > 2 | import middy from "@middy/core"; | ^ at Runtime.createScriptFromCode (../../../node_modules/jest-runtime/build/index.js:1728:14) at Object.<anonymous> (../../libs/middleware/src/index.ts:2:1)

mi archivo jest.config.js:

 module.exports = { //clearMocks: true, //coverageDirectory: "coverage", //collectCoverage: true, verbose: true, globals: { "ts-jest": { tsconfig: "tsconfig.json", }, }, modulePathIgnorePatterns: ["dist"], transform: { "^.+\\.(ts|tsx)$": "ts-jest", }, testEnvironment: "node", testMatch: ["**/__tests__/*.+(ts|tsx|js)", "**/*.spec.+(ts|tsx|js)"], };

mi archivo tsconfig.json:

 { "$schema": "https://json.schemastore.org/tsconfig", "display": "Node 14", "compilerOptions": { "incremental": true, "target": "ES2019", "module": "commonjs", "lib": [ "ES2019" ], "declaration": true, "sourceMap": true, "composite": false, "removeComments": true, "strict": true, "noImplicitAny": true, "strictNullChecks": true, "strictFunctionTypes": true, "strictBindCallApply": true, "strictPropertyInitialization": true, "noImplicitThis": true, "moduleResolution": "node", "types": [ "node" ], "esModuleInterop": true, "skipLibCheck": true, "experimentalDecorators": true, "emitDecoratorMetadata": true, "forceConsistentCasingInFileNames": true } }

¿Alguna pista de cómo solucionar esto?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Recibí exactamente el mismo mensaje de error, aunque no al usar broma, pero espero que esto también lo solucione. Dado que tanto el suyo como el mío destacaron a Middy como la fuente del error, es decir, del suyo

 /home/me/code/node_modules/@middy/core/index.js:2 plugin?.beforePrefetch?.() ^ SyntaxError: Unexpected token '.' ^

y mío:

 /.webpack/service/src/functions/functionName/handler.js:78292 plugin?.beforePrefetch?.() ^ SyntaxError: Unexpected token '.'

Me pareció extraño que hubiera un encadenamiento opcional ( object?.property ), ya que el compilador debería manejar esto antes de llegar a un archivo .js (al menos en el Nodo 12; es diferente si está usando el Nodo 14 y arriba ).

La revisión de los lanzamientos más recientes de middy muestra una actualización a 2.5.7 ayer, con el mensaje de lanzamiento que describe un error de transpilación reciente en 2.5.6 que se resuelve con la actualización a 2.5.7. La actualización de mis dependencias middy a 2.5.7 de hecho eliminó este error para mí, es decir, ya no recibo un error cuando intento llamar a mi código (en AWS Lambda por lo que vale).

Así es como se ven ahora mis dependencias en mi paquete.json:

 ... "dependencies": { "@middy/core": "^2.5.7", "@middy/http-error-handler": "^2.5.7", "@middy/http-event-normalizer": "^2.5.7", "@middy/http-json-body-parser": "^2.5.7", "@middy/util": "^2.5.7" }, ...

Mientras que antes eran:

 ... "dependencies": { "@middy/core": "^2.5.3", "@middy/http-error-handler": "^2.5.4", "@middy/http-event-normalizer": "^2.5.4", "@middy/http-json-body-parser": "^2.5.4", "@middy/util": "^2.5.3" }, ...

Donde mi package-lock.json tenía dos de los paquetes middy en 2.5.6, que como se mencionó anteriormente habrán sido la causa del problema.

Si middy no es una dependencia en su paquete.json y es una dependencia transitiva de otra cosa, tal vez intente editar el número de versión de middy en el propio paquete-lock.json a 2.5.7.

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!