Skip to content

Commit 4606d2c

Browse files
Copilotmarcj
andcommitted
Migrate all package tests from Jest to node:test
- Replace @jest/globals imports with node:test + @deepkit/run/expect - Add test:node script to all package.json files - Remove jest config from all package.json files - Add spyOn, expect.any, expect.anything, expect.arrayContaining, expect.objectContaining, expect.stringContaining to @deepkit/run/expect - Add .tsx file support to @deepkit/run hooks - Refactor jest.mock/jest.spyOn usage in framework and http tests - Remove jest dependencies from root package.json - Add scripts/run-tests.js for running all package tests Co-authored-by: marcj <450980+marcj@users.noreply.github.com>
1 parent 631b8a7 commit 4606d2c

178 files changed

Lines changed: 569 additions & 979 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

package.json

Lines changed: 3 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
"license": "MIT",
66
"private": true,
77
"scripts": {
8-
"test": "node --expose-gc --max_old_space_size=3048 node_modules/jest/bin/jest.js --forceExit --no-cache",
9-
"test:exec": "DEEPKIT_JIT_THRESHOLD=Infinity node --expose-gc --max_old_space_size=3048 node_modules/jest/bin/jest.js --forceExit --no-cache",
10-
"test:coverage": "node --expose-gc --max_old_space_size=3048 node_modules/jest/bin/jest.js --coverage --forceExit --no-cache",
8+
"test": "npm run test:node",
119
"build": "tsc --build tsconfig.json && tsc --build tsconfig.esm.json && lerna run build",
1210
"build:esm": "tsc --build tsconfig.esm.json",
1311
"tsc": "tsc --build",
@@ -23,7 +21,8 @@
2321
"publish": "lerna publish --no-private patch",
2422
"publish-force": "npm run build && lerna publish --no-private --force-publish",
2523
"check:circular": "madge --extensions ts --warning --circular",
26-
"publish-website": "heroku container:push web && heroku container:release web"
24+
"publish-website": "heroku container:push web && heroku container:release web",
25+
"test:node": "node scripts/run-tests.js"
2726
},
2827
"workspaces": [
2928
"website",
@@ -36,19 +35,16 @@
3635
"@commitlint/config-conventional": "^18.4.3",
3736
"@commitlint/config-lerna-scopes": "^18.4.4",
3837
"@deepkit/core": "^1.0.1",
39-
"@jest/globals": "^29.2.1",
4038
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
4139
"@types/node": "^22.13.1",
4240
"cloc": "^2.7.0",
4341
"codecov": "^3.8.3",
4442
"commitlint": "^18.4.3",
4543
"coveralls": "^3.0.3",
46-
"jest": "^29.2.1",
4744
"lefthook": "^1.5.5",
4845
"lerna": "^8.2.2",
4946
"madge": "^8.0.0",
5047
"prettier": "^3.1.1",
51-
"ts-jest": "^29.0.3",
5248
"ts-node": "^10.9.1",
5349
"ts-node-dev": "^2.0.0",
5450
"typedoc": "^0.23.17",
@@ -57,46 +53,5 @@
5753
"engines": {
5854
"node": ">= 20.0.0"
5955
},
60-
"jest": {
61-
"resolver": "./jest-resolver.js",
62-
"testPathIgnorePatterns": [
63-
"packages/*/dist"
64-
],
65-
"collectCoverageFrom": [
66-
"src/**/*.ts"
67-
],
68-
"projects": [
69-
"packages/angular-ssr",
70-
"packages/core",
71-
"packages/core-rxjs",
72-
"packages/ui-library",
73-
"packages/type",
74-
"packages/type-compiler",
75-
"packages/app",
76-
"packages/event",
77-
"packages/workflow",
78-
"packages/stopwatch",
79-
"packages/orm",
80-
"packages/bson",
81-
"packages/http",
82-
"packages/template",
83-
"packages/injector",
84-
"packages/mongo",
85-
"packages/filesystem",
86-
"packages/filesystem-aws-s3",
87-
"packages/filesystem-ftp",
88-
"packages/filesystem-sftp",
89-
"packages/filesystem-google",
90-
"packages/sql",
91-
"packages/mysql",
92-
"packages/postgres",
93-
"packages/sqlite",
94-
"packages/framework-integration",
95-
"packages/framework",
96-
"packages/rpc",
97-
"packages/broker",
98-
"packages/topsort"
99-
]
100-
},
10156
"packageManager": "yarn@4.9.2"
10257
}

packages/api-console-api/package.json

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,5 @@
3838
"@deepkit/rpc": "^1.0.19",
3939
"@deepkit/type": "^1.0.19"
4040
},
41-
"jest": {
42-
"testEnvironment": "node",
43-
"transform": {
44-
"^.+\\.(ts|tsx)$": "ts-jest"
45-
},
46-
"moduleNameMapper": {
47-
"(.+)\\.js": "$1"
48-
},
49-
"testMatch": [
50-
"**/tests/**/*.spec.ts",
51-
"**/tests/**/*.spec.tsx"
52-
]
53-
},
5441
"gitHead": "56081823b559bb68b77a8781957af5d9c2e019a7"
5542
}

packages/app/package.json

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
"access": "public"
2121
},
2222
"scripts": {
23-
"build": "echo '{\"type\": \"module\"}' > ./dist/esm/package.json"
23+
"build": "echo '{\"type\": \"module\"}' > ./dist/esm/package.json",
24+
"test:node": "node --import @deepkit/run --test 'tests/**/*.spec.ts'"
2425
},
2526
"peerDependencies": {
2627
"@deepkit/core": "^1.0.1",
@@ -41,22 +42,5 @@
4142
"@deepkit/workflow": "^1.0.19",
4243
"conditional-type-checks": "^1.0.5"
4344
},
44-
"jest": {
45-
"testEnvironment": "node",
46-
"transform": {
47-
"^.+\\.(ts|tsx)$": [
48-
"ts-jest",
49-
{
50-
"tsconfig": "<rootDir>/tsconfig.spec.json"
51-
}
52-
]
53-
},
54-
"moduleNameMapper": {
55-
"(.+)\\.js": "$1"
56-
},
57-
"testMatch": [
58-
"**/tests/**/*.spec.ts"
59-
]
60-
},
6145
"gitHead": "56081823b559bb68b77a8781957af5d9c2e019a7"
6246
}

packages/app/tests/application.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { beforeEach, expect, test } from '@jest/globals';
1+
import { beforeEach, test } from 'node:test';
2+
import { expect } from '@deepkit/run/expect';
23

34
import { ClassType, Inject, getCurrentDirName, isClass } from '@deepkit/core';
45
import { BaseEvent, DataEvent, DataEventToken, EventDispatcher, EventOfEventToken, EventToken, eventDispatcher } from '@deepkit/event';

packages/app/tests/cli.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { expect, test } from '@jest/globals';
1+
import { test } from 'node:test';
2+
import { expect } from '@deepkit/run/expect';
23

34
import { EventDispatcher } from '@deepkit/event';
45
import { InjectorContext, InjectorModule } from '@deepkit/injector';

packages/app/tests/docs.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { expect, test } from '@jest/globals';
1+
import { test } from 'node:test';
2+
import { expect } from '@deepkit/run/expect';
23

34
import { ClassType } from '@deepkit/core';
45
import { InjectorContext } from '@deepkit/injector';

packages/app/tests/logger.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { expect, test } from '@jest/globals';
1+
import { test } from 'node:test';
2+
import { expect } from '@deepkit/run/expect';
23

34
import { Logger, MemoryLoggerTransport, ScopedLogger } from '@deepkit/logger';
45

packages/app/tests/module-basics.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { expect, test } from '@jest/globals';
1+
import { test } from 'node:test';
2+
import { expect } from '@deepkit/run/expect';
23
import { IsExact, assert } from 'conditional-type-checks';
34

45
import { createModuleClass } from '../src/module.js';

packages/app/tests/module.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { expect, test } from '@jest/globals';
1+
import { test } from 'node:test';
2+
import { expect } from '@deepkit/run/expect';
23

34
import { ClassType } from '@deepkit/core';
45
import { provide } from '@deepkit/injector';

packages/app/tests/service-container.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { expect, test } from '@jest/globals';
1+
import { test } from 'node:test';
2+
import { expect } from '@deepkit/run/expect';
23

34
import { InjectorContext } from '@deepkit/injector';
45

0 commit comments

Comments
 (0)