Open ekoulemaneng opened 1 year ago
I don't know the direct fix, but as a workaround you could use dts-cli which is a maintained fork of tsdx, or try downgrading to TypeScript v4
I have got the same issue, and really I don't like to downgrade anything. still I'm seeking for a solution.
@jaredpalmer, Could you take a look please?
I got same issue, and I just use command npx tsdx create mylib2 initial the project. the following is the error message.
D:\Projects\mylib2 (mylib2@0.1.0)
λ yarn test --coverage
FAIL test/blah.test.tsx
● Test suite failed to run
TypeError: The "path" argument must be of type string. Received undefined
at node_modules/tsdx/node_modules/ts-jest/dist/compiler/compiler-utils.js:19:27
at Array.map (<anonymous>)
at Object.cacheResolvedModules (node_modules/tsdx/node_modules/ts-jest/dist/compiler/compiler-utils.js:18:14)
at compileFn (node_modules/tsdx/node_modules/ts-jest/dist/compiler/language-service.js:127:38)
at Object.compile (node_modules/tsdx/node_modules/ts-jest/dist/compiler/instance.js:52:21)
at TsJestTransformer.process (node_modules/tsdx/node_modules/ts-jest/dist/ts-jest-transformer.js:85:41)
at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:481:35)
-----------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------|---------|----------|---------|---------|-------------------
All files | 0 | 100 | 0 | 0 |
index.tsx | 0 | 100 | 0 | 0 | 1-5
-----------|---------|----------|---------|---------|-------------------
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 9.645s
Ran all test suites.
D:\Projects\mylib2 (mylib2@0.1.0)
λ yarn -v
3.4.1
So I wasn't able to directly fix the issue but my workaround for not having to downgrade my typescript version was to install ts-jest and jest directly using
yarn add --dev jest
yarn add --dev ts-jest
yarn add --dev @jest/globals
so now my devDependencies look like this
"devDependencies": {
"@jest/globals": "^29.5.0",
"@size-limit/preset-small-lib": "^8.2.4",
"@types/jest": "^29.5.1",
"husky": "^8.0.3",
"jest": "^29.5.0",
"size-limit": "^8.2.4",
"ts-jest": "^29.1.0",
"tsdx": "^0.14.1",
"tslib": "^2.5.0",
"typescript": "^5.0.4"
},
then I changed my "test" script to run "jest" instead of "tsdx test"
"scripts": {
"start": "tsdx watch",
"build": "tsdx build",
"test": "jest",
"lint": "tsdx lint",
"prepare": "tsdx build",
"size": "size-limit",
"analyze": "size-limit --why"
},
my test file looks like this now
import {describe, expect, test} from '@jest/globals';
import {sum} from './sum';
describe('sum module', () => {
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
});
I'm pretty sure the "@jest/globals" isn't actually needed because of having "@types/jest" installed but I don't feel like messing with this any further.
edit:
I forgot to mention I also ran yarn ts-jest config:init
@Connor-8 Hi. Thank you. Where did you run yarn ts-jest config:init
?
@Connor-8 Hi. Thank you. Where did you run
yarn ts-jest config:init
?
If I remember correctly (emphasis on the "if I remember") it was in the root my project in order to generate the jest.config.js
so if you already have one it might not be necessary.
@Connor-8 thank you :) I gave up and downgraded typescript to v4 :smile:
Current Behavior
When I run
yarn test
, I get this bug:` FAIL test/blah.test.ts ● Test suite failed to run
Expected behavior
And yet, I have only tested the function of the basic boilerplate of TSDX.
Suggested solution(s)
Additional context
Your environment