I'm running a nodejs project with jasmine and jasmine-ts
i get these errors when i try to run my tests
Error: Package subpath './lib/command' is not defined by "exports" in D:\Projects - Abzo\Project 2\node_modules\jasmine\package.json at new NodeError (node:internal/errors:372:5) at throwExportsNotFound (node:internal/modules/esm/resolve:472:9) at packageExportsResolve (node:internal/modules/esm/resolve:753:3) at resolveExports (node:internal/modules/cjs/loader:482:36) at Function.Module._findPath (node:internal/modules/cjs/loader:522:31) at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object. (D:\Projects - Abzo\Project 2\node_modules\jasmine-ts\src\index.ts:143:17)
I tried to downgrade my ts-node version to 8.10.2 like in this stackoverflow question Jasmine-ts throwing an error about package subpath but still unsolved.
My script in package.json is "test":"jasmine-ts"
The problem is in the in the exports property of jasmine package.json:
Jasmine exports only the jasmine.js file
"exports": "./lib/jasmine.js"
But in the jasmine-ts code there is a require to command file (around row 164)
const Command = require("jasmine/lib/command");
Now this file is not part of the exports so it throws the error:
Error: Package subpath './lib/command' is not defined by "exports"
To fix this jasmine need to export also the command file used by jasmine-ts.
I tested with the following changes in jasmine package.json and solve the problem:
"exports": {
".": "./lib/jasmine.js",
"./lib/command": "./lib/command.js"
}
Changing the jasmine package.json is not a great solution but for now this is the only solution on top of my mind.
I'll try open an issue to jasmine github repository.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With