diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b11dba9..d45f5cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: with: node-version: '18' - run: npm install - - run: npm test + - run: npm test -- --run --no-cache node20: name: Node 20 runs-on: ubuntu-22.04 @@ -34,7 +34,7 @@ jobs: - run: npm install - run: npm run lint - run: npm run cs - - run: npm test -- --coverage --no-cache + - run: npm test -- --run --coverage --no-cache - run: npm run infection env: STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} diff --git a/README.md b/README.md index b7944b0..beda786 100644 --- a/README.md +++ b/README.md @@ -25,14 +25,14 @@ A undici req/res http bridge. * node: 18 * [@chubbyts/chubbyts-http-types][2]: ^1.2.3 - * [undici][3]:^6.19.0 + * [undici][3]:^6.19.2 ## Installation Through [NPM](https://www.npmjs.com) as [@chubbyts/chubbyts-http-undici-bridge][1]. ```ts -npm i @chubbyts/chubbyts-http-undici-bridge@^1.0 +npm i @chubbyts/chubbyts-http-undici-bridge@^1.0.2 ``` ## Usage diff --git a/jest.config.cjs b/jest.config.cjs deleted file mode 100644 index 581a3a6..0000000 --- a/jest.config.cjs +++ /dev/null @@ -1,15 +0,0 @@ -/* eslint-disable no-undef */ -/* eslint-disable functional/immutable-data */ -module.exports = { - 'preset': 'ts-jest', - 'testEnvironment': 'node', - 'collectCoverageFrom': [ - 'src/**/*.ts' - ], - 'coverageThreshold': { - 'global': { - 'lines': 100 - } - }, - prettierPath: require.resolve('prettier-2'), -}; diff --git a/package.json b/package.json index 7932b82..3a547f4 100644 --- a/package.json +++ b/package.json @@ -13,13 +13,13 @@ "repository": "chubbyts/chubbyts-http-undici-bridge", "scripts": { "build": "node ./build.js", - "cs-fix": "./node_modules/prettier/bin/prettier.cjs --write src tests", - "cs": "./node_modules/prettier/bin/prettier.cjs --check src tests", + "cs-fix": "prettier --write src tests", + "cs": "prettier --check src tests", "infection": "stryker run", "lint-fix": "eslint src tests --fix", "lint": "eslint src tests", "prepare": "npm run build", - "test": "jest" + "test": "vitest" }, "prettier": { "printWidth": 120, @@ -43,22 +43,20 @@ }, "dependencies": { "@chubbyts/chubbyts-http-types": "^1.2.3", - "undici": "^6.19.0" + "undici": "^6.19.2" }, "devDependencies": { "@chubbyts/chubbyts-eslint": "^2.0.3", - "@chubbyts/chubbyts-function-mock": "^1.4.1", + "@chubbyts/chubbyts-function-mock": "^1.4.2", "@chubbyts/chubbyts-packaging": "^2.0.7", "@stryker-mutator/core": "^8.2.6", - "@stryker-mutator/jest-runner": "^8.2.6", - "@types/jest": "^29.5.12", - "@types/node": "^20.14.2", - "jest": "^29.7.0", + "@stryker-mutator/vitest-runner": "^8.2.6", + "@types/node": "^20.14.5", + "@vitest/coverage-v8": "^1.6.0", "prettier": "^3.3.2", - "prettier-2": "npm:prettier@^2.8.8", - "ts-jest": "^29.1.4", "typescript": "^5.4.5", - "undici-types": "^6.18.2" + "undici-types": "^6.19.2", + "vitest": "^1.6.0" }, "publishConfig": { "access": "public" diff --git a/stryker.conf.json b/stryker.conf.json index dd79970..9a92983 100644 --- a/stryker.conf.json +++ b/stryker.conf.json @@ -1,6 +1,9 @@ { "$schema": "./node_modules/@stryker-mutator/core/schema/stryker-schema.json", - "testRunner": "jest", + "testRunner": "vitest", + "vitest": { + "configFile": "vitest.config.ts" + }, "coverageAnalysis": "off", "reporters": [ "clear-text", diff --git a/tests/undici-http.test.ts b/tests/undici-http.test.ts index 6944545..a48fdea 100644 --- a/tests/undici-http.test.ts +++ b/tests/undici-http.test.ts @@ -1,6 +1,6 @@ import type { Stream } from 'stream'; import { PassThrough } from 'stream'; -import { describe, expect, test } from '@jest/globals'; +import { describe, expect, test } from 'vitest'; import { useFunctionMock } from '@chubbyts/chubbyts-function-mock/dist/function-mock'; import type { ServerRequestFactory, UriFactory } from '@chubbyts/chubbyts-http-types/dist/message-factory'; import { Request as UndiciRequest } from 'undici'; diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..68374ec --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,19 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { + globals: true, + environment: 'node', + include: ['tests/**/*.test.*'], + coverage: { + all: true, + clean: true, + reporter: ['clover', ['html', { subdir: 'html' }], 'json', 'lcovonly', 'text'], + provider: 'v8', + thresholds: { + lines: 100, + }, + include: ['src/**/*.ts'], + }, + }, +});