diff --git a/package.json b/package.json
index 8d28ff9..454c546 100644
--- a/package.json
+++ b/package.json
@@ -57,7 +57,7 @@
   },
   "devDependencies": {
     "@tsconfig/node18": "^18.2.4",
-    "@types/node": "^18.19.48",
+    "@types/node": "^22.5.5",
     "@typescript-eslint/eslint-plugin": "^7.18.0",
     "@typescript-eslint/parser": "^7.18.0",
     "@vitest/coverage-istanbul": "^1.6.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2e02d12..3473bfa 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -23,8 +23,8 @@ devDependencies:
     specifier: ^18.2.4
     version: 18.2.4
   '@types/node':
-    specifier: ^18.19.48
-    version: 18.19.48
+    specifier: ^22.5.5
+    version: 22.5.5
   '@typescript-eslint/eslint-plugin':
     specifier: ^7.18.0
     version: 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.0)(typescript@5.5.4)
@@ -72,10 +72,10 @@ devDependencies:
     version: 5.5.4
   vite:
     specifier: ^5.4.2
-    version: 5.4.2(@types/node@18.19.48)
+    version: 5.4.2(@types/node@22.5.5)
   vitest:
     specifier: ^1.6.0
-    version: 1.6.0(@types/node@18.19.48)
+    version: 1.6.0(@types/node@22.5.5)
 
 packages:
 
@@ -1093,10 +1093,10 @@ packages:
     resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
     dev: true
 
-  /@types/node@18.19.48:
-    resolution: {integrity: sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==}
+  /@types/node@22.5.5:
+    resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==}
     dependencies:
-      undici-types: 5.26.5
+      undici-types: 6.19.8
     dev: true
 
   /@types/supports-color@8.1.3:
@@ -1256,7 +1256,7 @@ packages:
       magicast: 0.3.5
       picocolors: 1.0.1
       test-exclude: 6.0.0
-      vitest: 1.6.0(@types/node@18.19.48)
+      vitest: 1.6.0(@types/node@22.5.5)
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -4488,8 +4488,8 @@ packages:
       which-boxed-primitive: 1.0.2
     dev: true
 
-  /undici-types@5.26.5:
-    resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+  /undici-types@6.19.8:
+    resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
     dev: true
 
   /unicorn-magic@0.1.0:
@@ -4607,7 +4607,7 @@ packages:
       vfile-message: 4.0.2
     dev: true
 
-  /vite-node@1.6.0(@types/node@18.19.48):
+  /vite-node@1.6.0(@types/node@22.5.5):
     resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==}
     engines: {node: ^18.0.0 || >=20.0.0}
     hasBin: true
@@ -4616,7 +4616,7 @@ packages:
       debug: 4.3.6
       pathe: 1.1.2
       picocolors: 1.0.1
-      vite: 5.4.2(@types/node@18.19.48)
+      vite: 5.4.2(@types/node@22.5.5)
     transitivePeerDependencies:
       - '@types/node'
       - less
@@ -4629,7 +4629,7 @@ packages:
       - terser
     dev: true
 
-  /vite@5.4.2(@types/node@18.19.48):
+  /vite@5.4.2(@types/node@22.5.5):
     resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==}
     engines: {node: ^18.0.0 || >=20.0.0}
     hasBin: true
@@ -4660,7 +4660,7 @@ packages:
       terser:
         optional: true
     dependencies:
-      '@types/node': 18.19.48
+      '@types/node': 22.5.5
       esbuild: 0.21.5
       postcss: 8.4.43
       rollup: 4.21.2
@@ -4668,7 +4668,7 @@ packages:
       fsevents: 2.3.3
     dev: true
 
-  /vitest@1.6.0(@types/node@18.19.48):
+  /vitest@1.6.0(@types/node@22.5.5):
     resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==}
     engines: {node: ^18.0.0 || >=20.0.0}
     hasBin: true
@@ -4693,7 +4693,7 @@ packages:
       jsdom:
         optional: true
     dependencies:
-      '@types/node': 18.19.48
+      '@types/node': 22.5.5
       '@vitest/expect': 1.6.0
       '@vitest/runner': 1.6.0
       '@vitest/snapshot': 1.6.0
@@ -4711,8 +4711,8 @@ packages:
       strip-literal: 2.1.0
       tinybench: 2.9.0
       tinypool: 0.8.4
-      vite: 5.4.2(@types/node@18.19.48)
-      vite-node: 1.6.0(@types/node@18.19.48)
+      vite: 5.4.2(@types/node@22.5.5)
+      vite-node: 1.6.0(@types/node@22.5.5)
       why-is-node-running: 2.3.0
     transitivePeerDependencies:
       - less