我可以在使用 jest 时配置特定版本的节点运行吗?
我在带有 14.x 运行时的 NodeJS 中有一个带有 JS 的 lambda。 jest 的版本是 24.9
我有一个使用 activedirectory (0.7.2) 依赖的函数。 当我使用节点 v12.16.1 在我的机器上运行测试时,它失败了
Details:
C:\...\...\...\...\...\node_modules\@ldapjs\messages\lib\ldap-message.js:27
this.#messageId = parseInt(options.messageId ?? options.messageID ?? '1', 10)
^
SyntaxError: Unexpected token '?'
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
at Object.<anonymous> (node_modules/@ldapjs/messages/index.js:5:16)
at Object.<anonymous> (node_modules/ldapjs/lib/messages/index.js:3:18)
at Object.<anonymous> (node_modules/ldapjs/lib/errors/index.js:6:20)
at Object.<anonymous> (node_modules/ldapjs/lib/client/request-queue/purge.js:3:26)
at Object.<anonymous> (node_modules/ldapjs/lib/client/request-queue/index.js:5:15)
at Object.<anonymous> (node_modules/ldapjs/lib/client/client.js:3:29)
at Object.<anonymous> (node_modules/ldapjs/lib/client/index.js:4:16)
at Object.<anonymous> (node_modules/ldapjs/lib/index.js:5:16)
at Object.<anonymous> (node_modules/activedirectory/lib/activedirectory.js:3:12)
但是,当我使用节点 v14.16.1 运行时,它运行正常。 无服务器配置了提供者运行时:nodejs14.x
在 Jenkins 上部署 lambda 时,失败并出现相同的错误 我该怎么做才能成功运行测试?
我试图添加到玩笑配置中:
"transformIgnorePatterns": [
"/node_modules/(?!activedirectory)"
]
回答如下:
有点像
{
"name": "my-project",
"version": "1.0.0",
"engines": {
"node": "14.x"
},
"devDependencies": {
"jest": "^27.0.0"
}
}