diff --git a/.github/actions/prepare/action.yml b/.github/actions/prepare/action.yml index bb39018e68..b7d42441e2 100644 --- a/.github/actions/prepare/action.yml +++ b/.github/actions/prepare/action.yml @@ -8,7 +8,7 @@ runs: - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: cache: pnpm - node-version: "20" + node-version: "22" - run: pnpm install --frozen-lockfile shell: bash using: composite diff --git a/.github/workflows/test-mutation.yml b/.github/workflows/test-mutation.yml index b6d7c506e6..6f15a6e331 100644 --- a/.github/workflows/test-mutation.yml +++ b/.github/workflows/test-mutation.yml @@ -4,7 +4,7 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: ./.github/actions/prepare - - run: pnpm run test:mutation --coverage --no-file-parallelism + - run: pnpm run test:mutation --coverage --no-file-parallelism --testTimeout 10000 - name: Codecov uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6 with: diff --git a/eslint.config.js b/eslint.config.js index 639f0474af..7601f4a727 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -143,4 +143,10 @@ export default defineConfig( ], }, }, + { + files: ["pnpm-workspace.yaml"], + rules: { + "yml/file-extension": ["off"], + }, + }, ); diff --git a/package.json b/package.json index fd2b715480..86a1df9531 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ }, "packageManager": "pnpm@10.33.2", "engines": { - "node": ">=18.6" + "node": ">=22.22" }, "publishConfig": { "provenance": true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000000..b102071c09 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 1440 diff --git a/src/runtime/providers/missingTypes/collectReferencedPackageNames.test.ts b/src/runtime/providers/missingTypes/collectReferencedPackageNames.test.ts index 12e2228026..b3602a3ab9 100644 --- a/src/runtime/providers/missingTypes/collectReferencedPackageNames.test.ts +++ b/src/runtime/providers/missingTypes/collectReferencedPackageNames.test.ts @@ -26,7 +26,7 @@ describe("collectReferencedPackageNames", () => { ); expect(Array.from(packageNames)).toStrictEqual(["node", "automutate"]); - }); + }, 7_000); it("should ignore defined package names", () => { const cwd = process.cwd(); diff --git a/test/cleanups.test.ts b/test/cleanups.test.ts index 7046075414..5518ca81f9 100644 --- a/test/cleanups.test.ts +++ b/test/cleanups.test.ts @@ -24,5 +24,5 @@ describe("Cleanups", () => { await runMutationTest(caseDir); await expect(actualContent).toMatchFileSnapshot(expectedFilePath); expect(options).toMatchSnapshot("options"); - }, 6000); + }, 10_000); }); diff --git a/test/customMutators.test.ts b/test/customMutators.test.ts index 458a6d81d4..56001b399d 100644 --- a/test/customMutators.test.ts +++ b/test/customMutators.test.ts @@ -29,5 +29,5 @@ describe("Custom mutators", () => { await runMutationTest(caseDir); await expect(actualContent).toMatchFileSnapshot(expectedFilePath); expect(options).toMatchSnapshot("options"); - }); + }, 15_000); }); diff --git a/test/files.test.ts b/test/files.test.ts index 2daeaee347..707215da16 100644 --- a/test/files.test.ts +++ b/test/files.test.ts @@ -34,5 +34,5 @@ describe("files", () => { await runMutationTest(caseDir); await expect(actualContent).toMatchFileSnapshot(expectedFilePath); expect(options).toMatchSnapshot("options"); - }, 7000); + }, 10_000); }); diff --git a/test/filters.test.ts b/test/filters.test.ts index c2e0187852..77b395bb25 100644 --- a/test/filters.test.ts +++ b/test/filters.test.ts @@ -10,7 +10,7 @@ describe("filters", () => { await runMutationTest(caseDir); await expect(actualContent).toMatchFileSnapshot(expectedFilePath); expect(options).toMatchSnapshot("options"); - }, 7000); + }, 10_000); it("one", async () => { const caseDir = path.join(import.meta.dirname, "./cases/filters/one"); diff --git a/test/fixNoImplicitAny.test.ts b/test/fixNoImplicitAny.test.ts index b6480c6272..185af73b8e 100644 --- a/test/fixNoImplicitAny.test.ts +++ b/test/fixNoImplicitAny.test.ts @@ -13,7 +13,7 @@ describe("noImplicitAny", () => { await runMutationTest(caseDir); await expect(actualContent).toMatchFileSnapshot(expectedFilePath); expect(options).toMatchSnapshot("options"); - }, 7000); + }, 10_000); it("property declarations", async () => { const caseDir = path.join( diff --git a/test/include.test.ts b/test/include.test.ts index 96f74d57d9..37477d2a99 100644 --- a/test/include.test.ts +++ b/test/include.test.ts @@ -29,5 +29,5 @@ describe("include", () => { await runMutationTest(caseDir); await expect(actualContent).toMatchFileSnapshot(expectedFilePath); expect(options).toMatchSnapshot("options"); - }); + }, 15_000); }); diff --git a/test/infiniteWaveDetection.test.ts b/test/infiniteWaveDetection.test.ts index a0cdd95f05..810271f052 100644 --- a/test/infiniteWaveDetection.test.ts +++ b/test/infiniteWaveDetection.test.ts @@ -12,4 +12,4 @@ test("Infinite wave detection", async () => { await runMutationTest(caseDir); await expect(actualContent).toMatchFileSnapshot(expectedFilePath); expect(options).toMatchSnapshot("options"); -}, 50000); +}, 60_000); diff --git a/tsconfig.json b/tsconfig.json index 95da20d0d7..daaa38f503 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,7 +11,8 @@ "skipLibCheck": true, "sourceMap": true, "strict": true, - "target": "ES2022" + "target": "ES2022", + "types": ["node"] }, "include": ["src", "test/*.ts"] } diff --git a/vitest.config.ts b/vitest.config.ts index dc0bb779a3..8ed87a6e0f 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -4,9 +4,8 @@ export default defineConfig({ test: { clearMocks: true, coverage: { - all: true, - exclude: ["lib", "src/tests"], - include: ["src"], + exclude: ["src/tests/**", "src/**/*.test.ts"], + include: ["src/**/*.{ts,tsx}"], reporter: ["html", "lcov"], }, exclude: ["lib", "node_modules"],