Upgrade typescript
Client: nodejs
Patch: Cameron Martin
Typescript was on a really old version, and upgrading this is necessary for future changes. Upgrading this required upgrading `@types/node` and `commander`, since the old versions of these are not compatible with the newer version of typescript.
This closes #3084
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",