Estoy configurando un entorno de broma para mis pruebas y, aparentemente, Jest no considera estos entornos como module . Por lo tanto, no puedo usar la sintaxis de ES6 para import y export archivos .
Es por eso que estoy tratando de encontrar una forma de importar interfaces o tipos usando require . ¿Es posible?
Este es mi jestEnvironment.ts :
import Config = require('@jest/types'); const NodeEnvironment = require('jest-environment-node').default; class CustomEnvironment extends NodeEnvironment { constructor(config: Config.ProjectConfig) { super(config); console.log(config); } async setup() { await super.setup(); this.global.someGlobalVar = 'lala'; } async teardown() { await super.teardown(); } getVmContext() { return super.getVmContext(); } } module.exports = CustomEnvironment;Y cuando ejecuto Jest, obtengo el siguiente error:
● Test suite failed to run /path/to/project/src/jestEnvironment.ts:1 import { Config } from '@jest/types'; ^^^^^^ SyntaxError: Cannot use import statement outside a module (Solo para información: estoy usando ts-jest 26.5.6 ... Y acabo de ver que la versión 28 introdujo un soporte para ESM. Sin embargo, hay demasiados cambios importantes para cambiar a esa versión por ahora. )