diff --git a/package-lock.json b/package-lock.json
index e439ddd..dadf4d4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,7 +13,7 @@
         "@teppeis/clutz": "^1.0.27-fb3fc7c.v20190318T233908",
         "google-closure-library": "^20190301.0.0",
         "patch-package": "^6.5.1",
-        "typescript": "^3.9.10"
+        "typescript": "^5.1.6"
       }
     },
     "node_modules/@teppeis/clutz": {
@@ -641,16 +641,16 @@
       }
     },
     "node_modules/typescript": {
-      "version": "3.9.10",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
-      "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz",
+      "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
       "dev": true,
       "bin": {
         "tsc": "bin/tsc",
         "tsserver": "bin/tsserver"
       },
       "engines": {
-        "node": ">=4.2.0"
+        "node": ">=14.17"
       }
     },
     "node_modules/universalify": {
diff --git a/package.json b/package.json
index ce5555e..0ab89ad 100644
--- a/package.json
+++ b/package.json
@@ -17,7 +17,7 @@
     "@teppeis/clutz": "^1.0.27-fb3fc7c.v20190318T233908",
     "google-closure-library": "^20190301.0.0",
     "patch-package": "^6.5.1",
-    "typescript": "^3.9.10"
+    "typescript": "^5.1.6"
   },
   "homepage": "https://github.com/teppeis/closure-library.d.ts",
   "repository": {