diff --git a/jest.config.ts b/jest.config.js
similarity index 89%
rename from jest.config.ts
rename to jest.config.js
index a7cf275..0d9c650 100644
--- a/jest.config.ts
+++ b/jest.config.js
@@ -1,8 +1,7 @@
 // See: https://jestjs.io/docs/configuration
 
-import type { JestConfigWithTsJest } from 'ts-jest'
-
-const jestConfig: JestConfigWithTsJest = {
+/** @type {import('ts-jest').JestConfigWithTsJest} **/
+export default {
   clearMocks: true,
   collectCoverage: true,
   collectCoverageFrom: ['./src/**'],
@@ -39,5 +38,3 @@ const jestConfig: JestConfigWithTsJest = {
   },
   verbose: true
 }
-
-export default jestConfig
diff --git a/package-lock.json b/package-lock.json
index 510ac89..6fc1ae5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -39,7 +39,7 @@
         "typescript": "^5.7.2"
       },
       "engines": {
-        "node": ">=21"
+        "node": ">=20"
       },
       "optionalDependencies": {
         "@rollup/rollup-linux-x64-gnu": "*"
@@ -8261,7 +8261,6 @@
       "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
       "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@cspotcode/source-map-support": "^0.8.0",
         "@tsconfig/node10": "^1.0.7",
diff --git a/package.json b/package.json
index 6426ae3..cde31b0 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
     ".": "./dist/index.js"
   },
   "engines": {
-    "node": ">=21"
+    "node": ">=20"
   },
   "scripts": {
     "bundle": "npm run format:write && npm run package",
diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json
index ffa9650..7a00c40 100644
--- a/tsconfig.eslint.json
+++ b/tsconfig.eslint.json
@@ -11,7 +11,7 @@
     "__tests__",
     "src",
     "eslint.config.mjs",
-    "jest.config.ts",
+    "jest.config.js",
     "rollup.config.ts"
   ]
 }