Skip to content

Commit

Permalink
test(Jest): Eliminate dependency on ts-node
Browse files Browse the repository at this point in the history
Jest relies on ts-node to read its TypeScript config file directly. We
already compile the file with tsc though, so eliminate the dependency,
and read from the JavaScript config instead.
  • Loading branch information
Kurt-von-Laven committed Sep 14, 2023
1 parent 48e2b16 commit 879f39e
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 135 deletions.
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
[![Automated Updates: Renovate](https://img.shields.io/badge/Renovate-Automated_Updates-FF9F1C?logo=renovatebot&logoColor=1A1F6C&labelColor=666)](https://docs.renovatebot.com/)
[![Language: TypeScript](https://img.shields.io/badge/TypeScript-Language-FF785A?logo=typescript&logoColor=3178C6&labelColor=666)](https://www.typescriptlang.org/)
[![Runtime: Node.js](https://img.shields.io/badge/Node.js-Runtime-2C0703?logo=nodedotjs&logoColor=393&labelColor=666)](https://nodejs.org/)
[![REPL: ts-node](https://img.shields.io/badge/ts--node-REPL-FF5E5B?logo=tsnode&logoColor=3178C6&labelColor=666)](https://typestrong.org/ts-node/)
[![Test Framework: Jest](https://img.shields.io/badge/Jest-Test_Framework-000?logo=jest&logoColor=C21325&labelColor=666)](https://jestjs.io/)
[![Package Management: Yarn](https://img.shields.io/badge/Yarn-Package_Management-6320EE?logo=yarn&logoColor=2C8EBB&labelColor=666)](https://yarnpkg.com/)
[![Package Management: Poetry](https://img.shields.io/badge/Poetry-Package_Management-06BA63?logo=poetry&logoColor=60A5FA&labelColor=666)](https://python-poetry.org/)
Expand Down
2 changes: 1 addition & 1 deletion jest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const config: JestConfigWithTsJest = {
extensionsToTreatAsEsm: [".ts"],
moduleFileExtensions: ["ts", "js"],
resetMocks: true,
rootDir: "src",
rootDir: "../src",

// See https://kulshekhar.github.io/ts-jest/docs/guides/esm-support#use-esm-presets.
preset: "ts-jest/presets/default-esm",
Expand Down
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"build": "yarn run build:main && yarn run build:post",
"build:main": "yarn run ncc build src/main.ts --out dist/main --minify",
"build:post": "yarn run ncc build src/post.ts --out dist/post --minify",
"jest:esm": "yarn node --experimental-vm-modules \"$(yarn bin jest)\"",
"jest:esm": "yarn node --experimental-vm-modules \"$(yarn bin jest)\" --config build/jest.config.js",
"test": "yarn run tsc && yarn run jest:esm"
},
"engines": {
Expand Down Expand Up @@ -45,7 +45,6 @@
"jest-mock": "29.7.0",
"prettier": "3.0.3",
"ts-jest": "29.1.1",
"ts-node": "10.9.1",
"typescript": "4.9.5"
}
}
134 changes: 3 additions & 131 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -632,15 +632,6 @@ __metadata:
languageName: node
linkType: hard

"@cspotcode/source-map-support@npm:^0.8.0":
version: 0.8.1
resolution: "@cspotcode/source-map-support@npm:0.8.1"
dependencies:
"@jridgewell/trace-mapping": 0.3.9
checksum: 5718f267085ed8edb3e7ef210137241775e607ee18b77d95aa5bd7514f47f5019aa2d82d96b3bf342ef7aa890a346fa1044532ff7cc3009e7d24fce3ce6200fa
languageName: node
linkType: hard

"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0":
version: 4.4.0
resolution: "@eslint-community/eslint-utils@npm:4.4.0"
Expand Down Expand Up @@ -987,7 +978,7 @@ __metadata:
languageName: node
linkType: hard

"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0":
"@jridgewell/resolve-uri@npm:^3.1.0":
version: 3.1.1
resolution: "@jridgewell/resolve-uri@npm:3.1.1"
checksum: f5b441fe7900eab4f9155b3b93f9800a916257f4e8563afbcd3b5a5337b55e52bd8ae6735453b1b745457d9f6cdb16d74cd6220bbdd98cf153239e13f6cbb653
Expand All @@ -1008,16 +999,6 @@ __metadata:
languageName: node
linkType: hard

"@jridgewell/trace-mapping@npm:0.3.9":
version: 0.3.9
resolution: "@jridgewell/trace-mapping@npm:0.3.9"
dependencies:
"@jridgewell/resolve-uri": ^3.0.3
"@jridgewell/sourcemap-codec": ^1.4.10
checksum: d89597752fd88d3f3480845691a05a44bd21faac18e2185b6f436c3b0fd0c5a859fbbd9aaa92050c4052caf325ad3e10e2e1d1b64327517471b7d51babc0ddef
languageName: node
linkType: hard

"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9":
version: 0.3.19
resolution: "@jridgewell/trace-mapping@npm:0.3.19"
Expand Down Expand Up @@ -1119,34 +1100,6 @@ __metadata:
languageName: node
linkType: hard

"@tsconfig/node10@npm:^1.0.7":
version: 1.0.9
resolution: "@tsconfig/node10@npm:1.0.9"
checksum: a33ae4dc2a621c0678ac8ac4bceb8e512ae75dac65417a2ad9b022d9b5411e863c4c198b6ba9ef659e14b9fb609bbec680841a2e84c1172df7a5ffcf076539df
languageName: node
linkType: hard

"@tsconfig/node12@npm:^1.0.7":
version: 1.0.11
resolution: "@tsconfig/node12@npm:1.0.11"
checksum: 5ce29a41b13e7897a58b8e2df11269c5395999e588b9a467386f99d1d26f6c77d1af2719e407621412520ea30517d718d5192a32403b8dfcc163bf33e40a338a
languageName: node
linkType: hard

"@tsconfig/node14@npm:^1.0.0":
version: 1.0.3
resolution: "@tsconfig/node14@npm:1.0.3"
checksum: 19275fe80c4c8d0ad0abed6a96dbf00642e88b220b090418609c4376e1cef81bf16237bf170ad1b341452feddb8115d8dd2e5acdfdea1b27422071163dc9ba9d
languageName: node
linkType: hard

"@tsconfig/node16@npm:^1.0.2":
version: 1.0.4
resolution: "@tsconfig/node16@npm:1.0.4"
checksum: 202319785901f942a6e1e476b872d421baec20cf09f4b266a1854060efbf78cde16a4d256e8bc949d31e6cd9a90f1e8ef8fb06af96a65e98338a2b6b0de0a0ff
languageName: node
linkType: hard

"@tsconfig/node18-strictest-esm@npm:1.0.1":
version: 1.0.1
resolution: "@tsconfig/node18-strictest-esm@npm:1.0.1"
Expand Down Expand Up @@ -1669,14 +1622,7 @@ __metadata:
languageName: node
linkType: hard

"acorn-walk@npm:^8.1.1":
version: 8.2.0
resolution: "acorn-walk@npm:8.2.0"
checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1
languageName: node
linkType: hard

"acorn@npm:^8.4.1, acorn@npm:^8.9.0":
"acorn@npm:^8.9.0":
version: 8.10.0
resolution: "acorn@npm:8.10.0"
bin:
Expand Down Expand Up @@ -1800,13 +1746,6 @@ __metadata:
languageName: node
linkType: hard

"arg@npm:^4.1.0":
version: 4.1.3
resolution: "arg@npm:4.1.3"
checksum: 544af8dd3f60546d3e4aff084d451b96961d2267d668670199692f8d054f0415d86fc5497d0e641e91546f0aa920e7c29e5250e99fc89f5552a34b5d93b77f43
languageName: node
linkType: hard

"argparse@npm:^1.0.7":
version: 1.0.10
resolution: "argparse@npm:1.0.10"
Expand Down Expand Up @@ -2311,13 +2250,6 @@ __metadata:
languageName: node
linkType: hard

"create-require@npm:^1.1.0":
version: 1.1.1
resolution: "create-require@npm:1.1.1"
checksum: a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff
languageName: node
linkType: hard

"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
version: 7.0.3
resolution: "cross-spawn@npm:7.0.3"
Expand Down Expand Up @@ -2421,13 +2353,6 @@ __metadata:
languageName: node
linkType: hard

"diff@npm:^4.0.1":
version: 4.0.2
resolution: "diff@npm:4.0.2"
checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d
languageName: node
linkType: hard

"diff@npm:^5.1.0":
version: 5.1.0
resolution: "diff@npm:5.1.0"
Expand Down Expand Up @@ -2470,7 +2395,6 @@ __metadata:
jest-mock: 29.7.0
prettier: 3.0.3
ts-jest: 29.1.1
ts-node: 10.9.1
typescript: 4.9.5
languageName: unknown
linkType: soft
Expand Down Expand Up @@ -4167,7 +4091,7 @@ __metadata:
languageName: node
linkType: hard

"make-error@npm:1.x, make-error@npm:^1.1.1":
"make-error@npm:1.x":
version: 1.3.6
resolution: "make-error@npm:1.3.6"
checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402
Expand Down Expand Up @@ -5423,44 +5347,6 @@ __metadata:
languageName: node
linkType: hard

"ts-node@npm:10.9.1":
version: 10.9.1
resolution: "ts-node@npm:10.9.1"
dependencies:
"@cspotcode/source-map-support": ^0.8.0
"@tsconfig/node10": ^1.0.7
"@tsconfig/node12": ^1.0.7
"@tsconfig/node14": ^1.0.0
"@tsconfig/node16": ^1.0.2
acorn: ^8.4.1
acorn-walk: ^8.1.1
arg: ^4.1.0
create-require: ^1.1.0
diff: ^4.0.1
make-error: ^1.1.1
v8-compile-cache-lib: ^3.0.1
yn: 3.1.1
peerDependencies:
"@swc/core": ">=1.2.50"
"@swc/wasm": ">=1.2.50"
"@types/node": "*"
typescript: ">=2.7"
peerDependenciesMeta:
"@swc/core":
optional: true
"@swc/wasm":
optional: true
bin:
ts-node: dist/bin.js
ts-node-cwd: dist/bin-cwd.js
ts-node-esm: dist/bin-esm.js
ts-node-script: dist/bin-script.js
ts-node-transpile-only: dist/bin-transpile.js
ts-script: dist/bin-script-deprecated.js
checksum: 090adff1302ab20bd3486e6b4799e90f97726ed39e02b39e566f8ab674fd5bd5f727f43615debbfc580d33c6d9d1c6b1b3ce7d8e3cca3e20530a145ffa232c35
languageName: node
linkType: hard

"tslib@npm:^1.10.0, tslib@npm:^1.13.0":
version: 1.14.1
resolution: "tslib@npm:1.14.1"
Expand Down Expand Up @@ -5605,13 +5491,6 @@ __metadata:
languageName: node
linkType: hard

"v8-compile-cache-lib@npm:^3.0.1":
version: 3.0.1
resolution: "v8-compile-cache-lib@npm:3.0.1"
checksum: 78089ad549e21bcdbfca10c08850022b22024cdcc2da9b168bcf5a73a6ed7bf01a9cebb9eac28e03cd23a684d81e0502797e88f3ccd27a32aeab1cfc44c39da0
languageName: node
linkType: hard

"v8-to-istanbul@npm:^9.0.1":
version: 9.1.0
resolution: "v8-to-istanbul@npm:9.1.0"
Expand Down Expand Up @@ -5764,13 +5643,6 @@ __metadata:
languageName: node
linkType: hard

"yn@npm:3.1.1":
version: 3.1.1
resolution: "yn@npm:3.1.1"
checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6
languageName: node
linkType: hard

"yocto-queue@npm:^0.1.0":
version: 0.1.0
resolution: "yocto-queue@npm:0.1.0"
Expand Down

0 comments on commit 879f39e

Please sign in to comment.