connor4312 / nodejs-testing

VS Code integration for node:test native tests
MIT License
43 stars 6 forks source link

[ERR_MODULE_NOT_FOUND]: Cannot find package '${workspaceFolder}' imported from /home/user/Documents ...... #46

Open hyperactivepuss opened 2 weeks ago

hyperactivepuss commented 2 weeks ago

I went through some issues here and it seems vscode variables should work fine but, nevertheless, I get this error also using 'tsconfig-paths' and 'ts-node/esm' package.json => "type": "module"

 {
      "extensions": [
        "ts"
      ],
      "filePatterns": [
        "**/*.test.ts"
      ],
      "parameters": [
        "--import",
        "${workspaceFolder}/utils/test-runner/register.js",
        "--experimental-specifier-resolution=node"
      ]
    }

If replace ${workspaceFolder} with ../../../../ everything works fine also mentioned it here https://github.com/connor4312/nodejs-testing/issues/33#issuecomment-2204095372

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '${workspaceFolder}' imported from /home/user/Documents/....
worker1>     at packageResolve (node:internal/modules/esm/resolve:845:9)
worker1>     at packageResolve (node:internal/modules/esm/resolve:845:9)
worker1>     at moduleResolve (node:internal/modules/esm/resolve:918:18)
worker1>     at moduleResolve (node:internal/modules/esm/resolve:918:18)
worker1>     at defaultResolve (node:internal/modules/esm/resolve:1148:11)
worker1>     at defaultResolve (node:internal/modules/esm/resolve:1148:11)
worker1>     at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:390:12)
worker1>     at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:390:12)
worker1>     at ModuleLoader.resolve (node:internal/modules/esm/loader:359:25)
worker1>     at ModuleLoader.resolve (node:internal/modules/esm/loader:359:25)
worker1>     at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:234:38)
worker1>     at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:234:38)
worker1>     at ModuleLoader.import (node:internal/modules/esm/loader:322:34)
worker1>     at ModuleLoader.import (node:internal/modules/esm/loader:322:34)
worker1>     at loadESM (node:internal/process/esm_loader:23:33)
worker1>     at loadESM (node:internal/process/esm_loader:23:33)
hyperactivepuss commented 1 week ago

so it's definitely about modules with this config it works

 {
      "extensions": [
        "ts"
      ],
      "filePatterns": [
        "**/*.test.ts"
      ],
      "parameters": [
        "--import",
        "tsx"
      ]
    }

but out put looks not "pretty" image

and with tsx its obviously doesn't resolve stuff like this

   before(async () => {
    testPictureBase64 = await fs.readFile(`${import.meta.dirname}/signal.jpg`, { encoding: 'base64' })
  })

so need to do this hack only to have the ability to run a single test with the extension

`${import.meta.dirname ?? __dirname}/signal.jpg`