test: write test in JavaScript (#108)

* test: map imported module from the distribution files

* chore: remove @jest/globals, @types/jest, and ts-jest from dependencies

* test: modify test files to JavaScript

* test: remove `testMatch` option in Jest (redundant)

* build: remove `tsconfig.eslint.json`

* ci(test): set `--experimental-vm-modules` only on `Test Package` step instead
This commit is contained in:
Alfi Maulana 2023-12-11 19:38:06 +07:00 committed by GitHub
parent ad6a9d3164
commit 96089ee386
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 11 additions and 93 deletions

View File

@ -11,7 +11,7 @@
"extends": ["plugin:@typescript-eslint/recommended"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": ["tsconfig.eslint.json"]
"project": ["tsconfig.json"]
},
"plugins": ["@typescript-eslint", "eslint-plugin-tsdoc"],
"rules": {

View File

@ -12,8 +12,6 @@ jobs:
fail-fast: false
matrix:
os: [windows, ubuntu, macos]
env:
NODE_OPTIONS: --experimental-vm-modules
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
@ -34,6 +32,8 @@ jobs:
- name: Test Package
run: yarn test
env:
NODE_OPTIONS: --experimental-vm-modules
test-action:
name: Test Action

View File

@ -8,12 +8,7 @@
"statements": 100
}
},
"extensionsToTreatAsEsm": [".ts", ".mts"],
"moduleNameMapper": {
"^(\\.{1,2}/.*)\\.mjs$": "$1.mts"
},
"testMatch": ["**/*.test.ts"],
"transform": {
"^.+\\.m?ts$": ["ts-jest", { "useESM": true }]
"^(\\.{1,2}/.*)\\.mjs$": "<rootDir>/dist/$1.mjs"
}
}

View File

@ -5,7 +5,7 @@
"scripts": {
"bundle": "tsc && ncc build dist/main.mjs -o main",
"check": "sort-package-json && prettier --write . !main !README.md && eslint src",
"test": "jest"
"test": "tsc && jest"
},
"dependencies": {
"@actions/core": "^1.10.1",
@ -13,8 +13,6 @@
"@actions/io": "^1.1.3"
},
"devDependencies": {
"@jest/globals": "^29.7.0",
"@types/jest": "^29.5.10",
"@types/node": "^20.10.4",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
@ -25,7 +23,6 @@
"jest": "^29.7.0",
"prettier": "^3.1.0",
"sort-package-json": "^2.6.0",
"ts-jest": "^29.1.1",
"typescript": "^5.3.3"
},
"packageManager": "yarn@4.0.2"

View File

@ -1,4 +0,0 @@
{
"extends": "./tsconfig.json",
"exclude": []
}

View File

@ -12,6 +12,5 @@
"target": "ES2022",
"skipLibCheck": true
},
"include": ["src"],
"exclude": ["**/*.test.*"]
"include": ["src"]
}

79
yarn.lock generated
View File

@ -1006,16 +1006,6 @@ __metadata:
languageName: node
linkType: hard
"@types/jest@npm:^29.5.10":
version: 29.5.10
resolution: "@types/jest@npm:29.5.10"
dependencies:
expect: "npm:^29.0.0"
pretty-format: "npm:^29.0.0"
checksum: b46171d59d12a5f69bbe710f65eaf59a8073337c6b4a67dff8158575caec53f1c61f8a7d645b34d6ac3c4ea398acd30f0c5d1c4a131c0c918798019264a3397d
languageName: node
linkType: hard
"@types/json-schema@npm:^7.0.12":
version: 7.0.15
resolution: "@types/json-schema@npm:7.0.15"
@ -1480,15 +1470,6 @@ __metadata:
languageName: node
linkType: hard
"bs-logger@npm:0.x":
version: 0.2.6
resolution: "bs-logger@npm:0.2.6"
dependencies:
fast-json-stable-stringify: "npm:2.x"
checksum: 80e89aaaed4b68e3374ce936f2eb097456a0dddbf11f75238dbd53140b1e39259f0d248a5089ed456f1158984f22191c3658d54a713982f676709fbe1a6fa5a0
languageName: node
linkType: hard
"bser@npm:2.1.1":
version: 2.1.1
resolution: "bser@npm:2.1.1"
@ -1627,8 +1608,6 @@ __metadata:
"@actions/core": "npm:^1.10.1"
"@actions/exec": "npm:^1.1.1"
"@actions/io": "npm:^1.1.3"
"@jest/globals": "npm:^29.7.0"
"@types/jest": "npm:^29.5.10"
"@types/node": "npm:^20.10.4"
"@typescript-eslint/eslint-plugin": "npm:^6.13.2"
"@typescript-eslint/parser": "npm:^6.13.2"
@ -1639,7 +1618,6 @@ __metadata:
jest: "npm:^29.7.0"
prettier: "npm:^3.1.0"
sort-package-json: "npm:^2.6.0"
ts-jest: "npm:^29.1.1"
typescript: "npm:^5.3.3"
languageName: unknown
linkType: soft
@ -2074,7 +2052,7 @@ __metadata:
languageName: node
linkType: hard
"expect@npm:^29.0.0, expect@npm:^29.7.0":
"expect@npm:^29.7.0":
version: 29.7.0
resolution: "expect@npm:29.7.0"
dependencies:
@ -2114,7 +2092,7 @@ __metadata:
languageName: node
linkType: hard
"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0":
"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0":
version: 2.1.0
resolution: "fast-json-stable-stringify@npm:2.1.0"
checksum: 7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b
@ -3086,7 +3064,7 @@ __metadata:
languageName: node
linkType: hard
"jest-util@npm:^29.0.0, jest-util@npm:^29.7.0":
"jest-util@npm:^29.7.0":
version: 29.7.0
resolution: "jest-util@npm:29.7.0"
dependencies:
@ -3302,13 +3280,6 @@ __metadata:
languageName: node
linkType: hard
"lodash.memoize@npm:4.x":
version: 4.1.2
resolution: "lodash.memoize@npm:4.1.2"
checksum: c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8
languageName: node
linkType: hard
"lodash.merge@npm:^4.6.2":
version: 4.6.2
resolution: "lodash.merge@npm:4.6.2"
@ -3350,13 +3321,6 @@ __metadata:
languageName: node
linkType: hard
"make-error@npm:1.x":
version: 1.3.6
resolution: "make-error@npm:1.3.6"
checksum: 171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f
languageName: node
linkType: hard
"make-fetch-happen@npm:^13.0.0":
version: 13.0.0
resolution: "make-fetch-happen@npm:13.0.0"
@ -3805,7 +3769,7 @@ __metadata:
languageName: node
linkType: hard
"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0":
"pretty-format@npm:^29.7.0":
version: 29.7.0
resolution: "pretty-format@npm:29.7.0"
dependencies:
@ -4329,39 +4293,6 @@ __metadata:
languageName: node
linkType: hard
"ts-jest@npm:^29.1.1":
version: 29.1.1
resolution: "ts-jest@npm:29.1.1"
dependencies:
bs-logger: "npm:0.x"
fast-json-stable-stringify: "npm:2.x"
jest-util: "npm:^29.0.0"
json5: "npm:^2.2.3"
lodash.memoize: "npm:4.x"
make-error: "npm:1.x"
semver: "npm:^7.5.3"
yargs-parser: "npm:^21.0.1"
peerDependencies:
"@babel/core": ">=7.0.0-beta.0 <8"
"@jest/types": ^29.0.0
babel-jest: ^29.0.0
jest: ^29.0.0
typescript: ">=4.3 <6"
peerDependenciesMeta:
"@babel/core":
optional: true
"@jest/types":
optional: true
babel-jest:
optional: true
esbuild:
optional: true
bin:
ts-jest: cli.js
checksum: 6c45e0aeeff9cc54a64f931c43e1b99f4a1f0ddf44786cc128e7e55603ab7473c8c8f62fd83bd7e51bfe83e3c0c683132152efaeb844516bf7c923f4e92d157d
languageName: node
linkType: hard
"tunnel@npm:^0.0.6":
version: 0.0.6
resolution: "tunnel@npm:0.0.6"
@ -4587,7 +4518,7 @@ __metadata:
languageName: node
linkType: hard
"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1":
"yargs-parser@npm:^21.1.1":
version: 21.1.1
resolution: "yargs-parser@npm:21.1.1"
checksum: f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2