(DENO - VITEST) : Error running: deno -A --node-modules-dir npm:vitest #19767
Labels
bug
Something isn't working correctly
node API polyfill
Related to various "node:*" modules APIs
node compat
Linux config:
$ lsb_release -a
Distributor ID: NixOS
Description: NixOS 23.11 (Tapir)
Release: 23.11
Codename: tapir
$ deno --version
deno 1.35.0 (release, x86_64-unknown-linux-gnu)
v8 11.6.189.7
typescript 5.1.6
$ node --version
v18.16.1
$ npm --version
9.5.1
package.json
{
"name": "@deno/my-example-project",
"description": "An example app created with Deno",
"type": "module",
"scripts": {
"test": "deno run -A --node-modules-dir npm:vitest"
},
"devDependencies": {
"vitest": "^0.33.0"
}
}
vitest.config.ts
import { defineConfig } from "vitest/config";
export default defineConfig({
test: {
// ...
},
});
#basic.test.ts
import { describe, expect, test } from "vitest";
test("test", () => {
expect(true).toBe(true);
});
$ deno run -A --node-modules-dir npm:vitest
I get the error:
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Vitest caught 1 unhandled error during the test run.
This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.
error: Uncaught (in worker "$DENO_STD_NODE_WORKER_THREAD") TypeError: tinypoolData is not iterable
at file:///home/seven/files/developer/repos/Deno/deno-npm/node_modules/.deno/vitest@0.33.0/node_modules/tinypool/dist/esm/worker.js:27:41
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
TypeError: this.port.on is not a function
❯ new WorkerInfo node_modules/.deno/vitest@0.33.0/node_modules/tinypool/dist/esm/index.js:382:15
❯ ThreadPool._addNewWorker node_modules/.deno/vitest@0.33.0/node_modules/tinypool/dist/esm/index.js:562:24
❯ ThreadPool._ensureMinimumWorkers node_modules/.deno/vitest@0.33.0/node_modules/tinypool/dist/esm/index.js:520:12
❯ new ThreadPool node_modules/.deno/vitest@0.33.0/node_modules/tinypool/dist/esm/index.js:505:10
❯ new Tinypool node_modules/.deno/vitest@0.33.0/node_modules/tinypool/dist/esm/index.js:780:31
❯ createThreadsPool node_modules/.deno/vitest@0.33.0/node_modules/vitest/dist/vendor-cli-api.bf4b62a8.js:7301:16
❯ node_modules/.deno/vitest@0.33.0/node_modules/vitest/dist/vendor-cli-api.bf4b62a8.js:7530:43
❯ Object.runTests node_modules/.deno/vitest@0.33.0/node_modules/vitest/dist/vendor-cli-api.bf4b62a8.js:7522:51
❯ node_modules/.deno/vitest@0.33.0/node_modules/vitest/dist/vendor-cli-api.bf4b62a8.js:13930:25
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: {
"__callSiteEvals": [
{
"columnNumber": 15,
"evalOrigin": undefined,
"fileName": "file:///home/seven/files/developer/repos/Deno/deno-npm/node_modules/.deno/vitest@0.33.0/node_modules/tinypool/dist/esm/index.js",
"function": undefined,
"functionName": "WorkerInfo",
"isAsync": false,
"isConstructor": true,
"isEval": false,
"isNative": false,
"isPromiseAll": false,
"isToplevel": true,
"lineNumber": 382,
"methodName": null,
"promiseIndex": null,
"this": undefined,
"typeName": null,
},
{
"columnNumber": 24,
"evalOrigin": undefined,
"fileName": "file:///home/seven/files/developer/repos/Deno/deno-npm/node_modules/.deno/vitest@0.33.0/node_modules/tinypool/dist/esm/index.js",
"function": undefined,
"functionName": "_addNewWorker",
"isAsync": false,
"isConstructor": false,
"isEval": false,
"isNative": false,
"isPromiseAll": false,
"isToplevel": false,
"lineNumber": 562,
"methodName": "_addNewWorker",
"promiseIndex": null,
"this": undefined,
"typeName": "ThreadPool",
},
{
"columnNumber": 12,
"evalOrigin": undefined,
"fileName": "file:///home/seven/files/developer/repos/Deno/deno-npm/node_modules/.deno/vitest@0.33.0/node_modules/tinypool/dist/esm/index.js",
"function": undefined,
"functionName": "_ensureMinimumWorkers",
"isAsync": false,
"isConstructor": false,
"isEval": false,
"isNative": false,
"isPromiseAll": false,
"isToplevel": false,
"lineNumber": 520,
"methodName": "_ensureMinimumWorkers",
"promiseIndex": null,
"this": undefined,
"typeName": "ThreadPool",
},
{
"columnNumber": 10,
"evalOrigin": undefined,
"fileName": "file:///home/seven/files/developer/repos/Deno/deno-npm/node_modules/.deno/vitest@0.33.0/node_modules/tinypool/dist/esm/index.js",
"function": undefined,
"functionName": "ThreadPool",
"isAsync": false,
"isConstructor": true,
"isEval": false,
"isNative": false,
"isPromiseAll": false,
"isToplevel": false,
"lineNumber": 505,
"methodName": null,
"promiseIndex": null,
"this": undefined,
"typeName": null,
},
{
"columnNumber": 31,
"evalOrigin": undefined,
"fileName": "file:///home/seven/files/developer/repos/Deno/deno-npm/node_modules/.deno/vitest@0.33.0/node_modules/tinypool/dist/esm/index.js",
"function": undefined,
"functionName": "Tinypool",
"isAsync": false,
"isConstructor": true,
"isEval": false,
"isNative": false,
"isPromiseAll": false,
"isToplevel": false,
"lineNumber": 780,
"methodName": null,
"promiseIndex": null,
"this": undefined,
"typeName": null,
},
{
"columnNumber": 16,
"evalOrigin": undefined,
"fileName": "file:///home/seven/files/developer/repos/Deno/deno-npm/node_modules/.deno/vitest@0.33.0/node_modules/vitest/dist/vendor-cli-api.bf4b62a8.js",
"function": undefined,
"functionName": "createThreadsPool",
"isAsync": false,
"isConstructor": false,
"isEval": false,
"isNative": false,
"isPromiseAll": false,
"isToplevel": true,
"lineNumber": 7301,
"methodName": null,
"promiseIndex": null,
"this": undefined,
"typeName": null,
},
{
"columnNumber": 43,
"evalOrigin": undefined,
"fileName": "file:///home/seven/files/developer/repos/Deno/deno-npm/node_modules/.deno/vitest@0.33.0/node_modules/vitest/dist/vendor-cli-api.bf4b62a8.js",
"function": undefined,
"functionName": null,
"isAsync": false,
"isConstructor": false,
"isEval": false,
"isNative": false,
"isPromiseAll": false,
"isToplevel": true,
"lineNumber": 7530,
"methodName": null,
"promiseIndex": null,
"this": undefined,
"typeName": null,
},
{
"columnNumber": null,
"evalOrigin": undefined,
"fileName": null,
"function": undefined,
"functionName": "map",
"isAsync": false,
"isConstructor": false,
"isEval": false,
"isNative": false,
"isPromiseAll": false,
"isToplevel": false,
"lineNumber": null,
"methodName": "map",
"promiseIndex": null,
"this": undefined,
"typeName": "Array",
},
{
"columnNumber": 51,
"evalOrigin": undefined,
"fileName": "file:///home/seven/files/developer/repos/Deno/deno-npm/node_modules/.deno/vitest@0.33.0/node_modules/vitest/dist/vendor-cli-api.bf4b62a8.js",
"function": undefined,
"functionName": "runTests",
"isAsync": false,
"isConstructor": false,
"isEval": false,
"isNative": false,
"isPromiseAll": false,
"isToplevel": false,
"lineNumber": 7522,
"methodName": "runTests",
"promiseIndex": null,
"this": undefined,
"typeName": "Object",
},
{
"columnNumber": 25,
"evalOrigin": undefined,
"fileName": "file:///home/seven/files/developer/repos/Deno/deno-npm/node_modules/.deno/vitest@0.33.0/node_modules/vitest/dist/vendor-cli-api.bf4b62a8.js",
"function": undefined,
"functionName": null,
"isAsync": false,
"isConstructor": false,
"isEval": false,
"isNative": false,
"isPromiseAll": false,
"isToplevel": true,
"lineNumber": 13930,
"methodName": null,
"promiseIndex": null,
"this": undefined,
"typeName": null,
},
],
}
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Test Files no tests
Tests no tests
Errors 1 error
Start at 12:34:28
Duration 34ms (transform 0ms, setup 0ms, collect 0ms, tests 0ms, environment 0ms, prepare 0ms)
FAIL Tests failed. Watching for file changes...
press h to show help, press q to quit
error: Uncaught Error: Unhandled error. ('Uncaught TypeError: tinypoolData is not iterable')
at _Worker.emit (ext:deno_node/_events.mjs:370:17)
at Worker. (node:worker_threads:97:56)
at innerInvokeEventListeners (ext:deno_web/02_event.js:792:7)
at invokeEventListeners (ext:deno_web/02_event.js:839:5)
at dispatch (ext:deno_web/02_event.js:696:9)
at Worker.dispatchEvent (ext:deno_web/02_event.js:1101:12)
at Worker.#handleError (ext:runtime/11_workers.js:132:10)
at Worker.#pollControl (ext:runtime/11_workers.js:157:33)
at eventLoopTick (ext:core/01_core.js:183:11)
repos/Deno/deno-npm
I have tried multiple approaches to run vitest with Deno, but I consistently encounter the same error. I don't face any issues with other npm modules.
I hope someone has already succeeded in running vitest with Deno.
I understand that Deno.test fulfills almost all testing requirements, but I would like to have the flexibility to use another testing tool, specifically vitest, which I already use in other Node.js projects.
The text was updated successfully, but these errors were encountered: