diff --git a/LANGUAGES.md b/LANGUAGES.md
index 05e2947..eca3dfb 100644
--- a/LANGUAGES.md
+++ b/LANGUAGES.md
@@ -252,7 +252,7 @@
 <td align=left><a href="https://github.com/apache/thrift/blob/master/lib/nodets/README.md">node.ts</a></td>
 <!-- Since -----------------><td>0.12.0</td>
 <!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
-<!-- Language Levels -------><td>3.1.6</td><td></td>
+<!-- Language Levels -------><td>5.7.2</td><td></td>
 <!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
 <!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
 <!-- Transport Wrappers ----><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
diff --git a/lib/nodejs/test/client.js b/lib/nodejs/test/client.js
index 1d137ff..617039b 100644
--- a/lib/nodejs/test/client.js
+++ b/lib/nodejs/test/client.js
@@ -29,7 +29,7 @@
   require("./test_driver").ThriftTestDriverPromise;
 const SecondService = require(`./${helpers.genPath}/SecondService`);
 
-const program = require("commander");
+const { program } = require("commander");
 
 program
   .option(
@@ -49,7 +49,7 @@
   .option("--ssl", "use SSL transport")
   .option("--callback", "test with callback style functions")
   .option(
-    "-t, --type <type>",
+    "--type <type>",
     "Select server type (http|multiplex|tcp|websocket)",
     "tcp",
   )
@@ -57,26 +57,27 @@
   .option("--es5", "Use es5 code")
   .parse(process.argv);
 
-const host = program.host;
-const port = program.port;
-const domainSocket = program.domainSocket;
-const ssl = program.ssl;
-let type = program.type;
+const opts = program.opts();
+const host = opts.host;
+const port = opts.port;
+const domainSocket = opts.domainSocket;
+const ssl = opts.ssl;
+let type = opts.type;
 
 /* for compatibility with cross test invocation for http transport testing */
-if (program.transport === "http") {
-  program.transport = "buffered";
+if (opts.transport === "http") {
+  opts.transport = "buffered";
   type = "http";
 }
 
-if (program.transport === "websocket") {
-  program.transport = "buffered";
+if (opts.transport === "websocket") {
+  opts.transport = "buffered";
   type = "websocket";
 }
 
 const options = {
-  transport: helpers.transports[program.transport],
-  protocol: helpers.protocols[program.protocol],
+  transport: helpers.transports[opts.transport],
+  protocol: helpers.protocols[opts.protocol],
 };
 
 if (type === "http" || type === "websocket") {
@@ -101,10 +102,8 @@
 
 let connection;
 let client;
-const testDriver = program.callback
-  ? ThriftTestDriver
-  : ThriftTestDriverPromise;
-if (helpers.ecmaMode === "es6" && program.callback) {
+const testDriver = opts.callback ? ThriftTestDriver : ThriftTestDriverPromise;
+if (helpers.ecmaMode === "es6" && opts.callback) {
   console.log("ES6 does not support callback style");
   process.exit(0);
 }
diff --git a/lib/nodejs/test/episodic-code-generation-test/client.js b/lib/nodejs/test/episodic-code-generation-test/client.js
index 631bfe7..cf014c2 100644
--- a/lib/nodejs/test/episodic-code-generation-test/client.js
+++ b/lib/nodejs/test/episodic-code-generation-test/client.js
@@ -22,7 +22,7 @@
 const assert = require("assert");
 const test = require("tape");
 const thrift = require("thrift");
-const program = require("commander");
+const { program } = require("commander");
 
 program
   .option("--host <host>", "Set the thrift server host to connect", "localhost")
@@ -32,8 +32,9 @@
 const Service = require("./gen-2/second-episode/gen-nodejs/Service");
 const Types = require("types-package/first-episode/Types_types");
 
-const host = program.host;
-const port = program.port;
+const opts = program.opts();
+const host = opts.host;
+const port = opts.port;
 
 const options = {
   transport: thrift.TBufferedTransport,
diff --git a/lib/nodejs/test/episodic-code-generation-test/server.js b/lib/nodejs/test/episodic-code-generation-test/server.js
index feca380..2b9a96d 100644
--- a/lib/nodejs/test/episodic-code-generation-test/server.js
+++ b/lib/nodejs/test/episodic-code-generation-test/server.js
@@ -20,7 +20,7 @@
  */
 
 const thrift = require("../../lib/thrift");
-const program = require("commander");
+const { program } = require("commander");
 
 program
   .option("--port <port>", "Set the thrift server port", 9090)
@@ -29,7 +29,8 @@
 const Service = require("./gen-2/second-episode/gen-nodejs/Service");
 const Types = require("types-package/first-episode/Types_types");
 
-const port = program.port;
+const opts = program.opts();
+const port = opts.port;
 
 const options = {
   transport: thrift.TBufferedTransport,
diff --git a/lib/nodejs/test/server.js b/lib/nodejs/test/server.js
index c8e7808..b56bea7 100644
--- a/lib/nodejs/test/server.js
+++ b/lib/nodejs/test/server.js
@@ -22,7 +22,7 @@
 const fs = require("fs");
 const path = require("path");
 const thrift = require("../lib/thrift");
-const program = require("commander");
+const { program } = require("commander");
 const helpers = require("./helpers");
 
 program
@@ -40,7 +40,7 @@
   .option("--port <port>", "Set thrift server port", 9090)
   .option("--domain-socket <path>", "Set thift server unix domain socket")
   .option(
-    "-t, --type <type>",
+    "--type <type>",
     "Select server type (http|multiplex|tcp|websocket)",
     "tcp",
   )
@@ -53,22 +53,23 @@
 const SecondService = require(`./${helpers.genPath}/SecondService`);
 const { ThriftTestHandler } = require("./test_handler");
 
-const port = program.port;
-const domainSocket = program.domainSocket;
-const ssl = program.ssl;
+const opts = program.opts();
+const port = opts.port;
+const domainSocket = opts.domainSocket;
+const ssl = opts.ssl;
 
-let type = program.type;
-if (program.transport === "http") {
-  program.transport = "buffered";
+let type = opts.type;
+if (opts.transport === "http") {
+  opts.transport = "buffered";
   type = "http";
-} else if (program.transport === "websocket") {
-  program.transport = "buffered";
+} else if (opts.transport === "websocket") {
+  opts.transport = "buffered";
   type = "websocket";
 }
 
 let options = {
-  transport: helpers.transports[program.transport],
-  protocol: helpers.protocols[program.protocol],
+  transport: helpers.transports[opts.transport],
+  protocol: helpers.protocols[opts.protocol],
 };
 
 if (type === "http" || type === "websocket") {
diff --git a/lib/nodets/test/client.ts b/lib/nodets/test/client.ts
index a95567f..c2666bc 100644
--- a/lib/nodets/test/client.ts
+++ b/lib/nodets/test/client.ts
@@ -25,17 +25,18 @@
 import ThriftTestDriver = test_driver.ThriftTestDriver;
 import ThriftTestDriverPromise = test_driver.ThriftTestDriverPromise;
 
-// var program = require("commander");
-import * as program from "commander";
+import { program } from "commander";
 
 program
-  .option("--port <port>", "Set thrift server port number to connect", 9090)
+  .option("--port <port>", "Set thrift server port number to connect", Number.parseInt, 9090)
   .option("--promise", "test with promise style functions")
   .option("--protocol", "Set thrift protocol (binary) [protocol]")
   .parse(process.argv);
 
-var port: number = program.port;
-var promise = program.promise;
+
+var opts = program.opts();
+var port: number = opts.port;
+var promise = opts.promise;
 
 var options = {
   transport: Thrift.TBufferedTransport,
diff --git a/lib/nodets/test/server.ts b/lib/nodets/test/server.ts
index 79457ce..5911384 100644
--- a/lib/nodets/test/server.ts
+++ b/lib/nodets/test/server.ts
@@ -1,15 +1,17 @@
 import thrift = require("thrift");
-var program = require("commander");
-import ThriftTest = require("./gen-nodejs/ThriftTest");
-import test_handler = require("./test_handler");
+import { program } from 'commander';
+import ThriftTest = require('./gen-nodejs/ThriftTest');
+import test_handler = require('./test_handler');
+
 
 program
-  .option("--port <port>", "Set thrift server port", 9090)
-  .option("--promise", "test with promise style functions")
-  .option("--protocol", '"Set thrift protocol (binary) [protocol]"')
+  .option('--port <port>', 'Set thrift server port', Number.parseInt, 9090)
+  .option('--promise', 'test with promise style functions')
+  .option('--protocol', '"Set thrift protocol (binary) [protocol]"')
   .parse(process.argv);
 
-var port: number = program.port;
+var opts = program.opts();
+var port: number = opts.port;
 
 var options: thrift.ServerOptions = {
   transport: thrift.TBufferedTransport,
@@ -17,12 +19,8 @@
 };
 
 var server: thrift.Server;
-if (program.promise) {
-  server = thrift.createServer(
-    ThriftTest.Processor,
-    new test_handler.AsyncThriftTestHandler(),
-    options,
-  );
+if (opts.promise) {
+  server = thrift.createServer(ThriftTest.Processor, new test_handler.AsyncThriftTestHandler(), options);
 } else {
   server = thrift.createServer(
     ThriftTest.Processor,
diff --git a/lib/ts/package-lock.json b/lib/ts/package-lock.json
index 244d91d..9740000 100644
--- a/lib/ts/package-lock.json
+++ b/lib/ts/package-lock.json
@@ -31,7 +31,7 @@
         "jslint": "^0.12.0",
         "node-int64": "^0.4.0",
         "phantom": "^6.0.3",
-        "typescript": "^3.2.4"
+        "typescript": "^5.7.2"
       }
     },
     "node_modules/@babel/parser": {
@@ -85,10 +85,13 @@
       "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA=="
     },
     "node_modules/@types/node": {
-      "version": "10.12.18",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz",
-      "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==",
-      "dev": true
+      "version": "22.10.5",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz",
+      "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==",
+      "dev": true,
+      "dependencies": {
+        "undici-types": "~6.20.0"
+      }
     },
     "node_modules/@types/node-int64": {
       "version": "0.4.29",
@@ -4631,16 +4634,16 @@
       "dev": true
     },
     "node_modules/typescript": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz",
-      "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==",
+      "version": "5.7.3",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
+      "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
       "dev": true,
       "bin": {
         "tsc": "bin/tsc",
         "tsserver": "bin/tsserver"
       },
       "engines": {
-        "node": ">=4.2.0"
+        "node": ">=14.17"
       }
     },
     "node_modules/uc.micro": {
@@ -4729,6 +4732,12 @@
         "node": "*"
       }
     },
+    "node_modules/undici-types": {
+      "version": "6.20.0",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
+      "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
+      "dev": true
+    },
     "node_modules/uri-js": {
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
diff --git a/lib/ts/package.json b/lib/ts/package.json
index 13aefaa..17988c6 100644
--- a/lib/ts/package.json
+++ b/lib/ts/package.json
@@ -27,7 +27,7 @@
     "jslint": "^0.12.0",
     "node-int64": "^0.4.0",
     "phantom": "^6.0.3",
-    "typescript": "^3.2.4"
+    "typescript": "^5.7.2"
   },
   "dependencies": {
     "bufferutil": "^4.0.1",
diff --git a/package-lock.json b/package-lock.json
index 9b7db5c..701dd07 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,11 +17,11 @@
       },
       "devDependencies": {
         "@eslint/js": "^9.18.0",
-        "@types/node": "^10.12.6",
+        "@types/node": "^22.10.5",
         "@types/node-int64": "^0.4.29",
         "@types/q": "^1.5.1",
         "buffer-equals": "^1.0.4",
-        "commander": "^2.14.1",
+        "commander": "^13.0.0",
         "connect": "^3.6.6",
         "eslint": "^9.18.0",
         "eslint-config-prettier": "^10.0.1",
@@ -33,7 +33,7 @@
         "nyc": "^15.0.0",
         "prettier": "^3.4.2",
         "tape": "^4.9.0",
-        "typescript": "^3.1.6",
+        "typescript": "^5.7.2",
         "utf-8-validate": "^5.0.0"
       },
       "engines": {
@@ -718,15 +718,18 @@
       "dev": true
     },
     "node_modules/@types/node": {
-      "version": "10.12.6",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.6.tgz",
-      "integrity": "sha512-+ZWB5Ec1iki99xQFzBlivlKxSZQ+fuUKBott8StBOnLN4dWbRHlgdg1XknpW6g0tweniN5DcOqA64CJyOUPSAw==",
-      "dev": true
+      "version": "22.10.5",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz",
+      "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==",
+      "dev": true,
+      "dependencies": {
+        "undici-types": "~6.20.0"
+      }
     },
     "node_modules/@types/node-int64": {
-      "version": "0.4.29",
-      "resolved": "https://registry.npmjs.org/@types/node-int64/-/node-int64-0.4.29.tgz",
-      "integrity": "sha512-rHXvenLTj/CcsmNAebaBOhxQ2MqEGl3yXZZcZ21XYR+gzGTTcpOy2N4IxpvTCz48loyQNatHvfn6GhIbbZ1R3Q==",
+      "version": "0.4.32",
+      "resolved": "https://registry.npmjs.org/@types/node-int64/-/node-int64-0.4.32.tgz",
+      "integrity": "sha512-xf/JsSlnXQ+mzvc0IpXemcrO4BrCfpgNpMco+GLcXkFk01k/gW9lGJu+Vof0ZSvHK6DsHJDPSbjFPs36QkWXqw==",
       "dev": true,
       "dependencies": {
         "@types/node": "*"
@@ -1073,10 +1076,13 @@
       }
     },
     "node_modules/commander": {
-      "version": "2.19.0",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
-      "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
-      "dev": true
+      "version": "13.0.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-13.0.0.tgz",
+      "integrity": "sha512-oPYleIY8wmTVzkvQq10AEok6YcTC4sRUBl8F9gVuwchGVUCTbl/vhLTaQqutuuySYOsu8YTgV+OxKc/8Yvx+mQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=18"
+      }
     },
     "node_modules/commondir": {
       "version": "1.0.1",
@@ -3568,16 +3574,16 @@
       }
     },
     "node_modules/typescript": {
-      "version": "3.1.6",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz",
-      "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==",
+      "version": "5.7.2",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz",
+      "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==",
       "dev": true,
       "bin": {
         "tsc": "bin/tsc",
         "tsserver": "bin/tsserver"
       },
       "engines": {
-        "node": ">=4.2.0"
+        "node": ">=14.17"
       }
     },
     "node_modules/uc.micro": {
@@ -3592,6 +3598,12 @@
       "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==",
       "dev": true
     },
+    "node_modules/undici-types": {
+      "version": "6.20.0",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
+      "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
+      "dev": true
+    },
     "node_modules/unpipe": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
diff --git a/package.json b/package.json
index 6ed792d..c86c155 100644
--- a/package.json
+++ b/package.json
@@ -44,11 +44,11 @@
   },
   "devDependencies": {
     "@eslint/js": "^9.18.0",
-    "@types/node": "^10.12.6",
+    "@types/node": "^22.10.5",
     "@types/node-int64": "^0.4.29",
     "@types/q": "^1.5.1",
     "buffer-equals": "^1.0.4",
-    "commander": "^2.14.1",
+    "commander": "^13.0.0",
     "connect": "^3.6.6",
     "eslint": "^9.18.0",
     "eslint-config-prettier": "^10.0.1",
@@ -60,7 +60,7 @@
     "nyc": "^15.0.0",
     "prettier": "^3.4.2",
     "tape": "^4.9.0",
-    "typescript": "^3.1.6",
+    "typescript": "^5.7.2",
     "utf-8-validate": "^5.0.0"
   },
   "scripts": {
