Skip to content

Commit 5a075ca

Browse files
committed
refactor: use Node.js direct TypeScript support
1 parent 1222127 commit 5a075ca

22 files changed

Lines changed: 78 additions & 69 deletions

bin/wt-tracker

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/usr/bin/env node
22

3-
import "../lib/run-tracker.js";
3+
import "../src/run-tracker.ts";

package.json

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,15 @@
3131
"websockets"
3232
],
3333
"scripts": {
34-
"start": "node ./lib/run-tracker.js",
35-
"start:worker-demo": "npx tsc && DEBUG=wt-tracker:tracker-worker-*,wt-tracker:multi-worker-tracker,wt-tracker:uws-tracker node ./lib/run-worker-tracker.js",
34+
"start": "node ./src/run-tracker.ts",
35+
"start:worker-demo": "DEBUG=wt-tracker:tracker-worker-*,wt-tracker:multi-worker-tracker,wt-tracker:uws-tracker node ./src/run-worker-tracker.ts",
3636
"build": "npm run lint && npm run clean && npm run compile",
37-
"compile": "tsc",
37+
"compile": "tsc --noEmit false",
3838
"lint": "eslint --flag unstable_native_nodejs_ts_config src",
3939
"clean": "rimraf lib",
40-
"watch": "tsc --watch",
4140
"test": "vitest",
4241
"test:coverage": "vitest run --coverage",
43-
"test:compile": "tsc --project tsconfig.test.json",
42+
"test:compile": "tsc --project tsconfig.test.json --noEmit false",
4443
"test:clean": "rimraf test_dist"
4544
},
4645
"repository": {

src/build-uws-tracker.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
import { HttpRequest, HttpResponse } from "uWebSockets.js";
2-
import { debugRequest } from "./debugRequest.js";
3-
import { ServerItemSettings, WebSocketsAccessSettings } from "./settings.js";
4-
import { Tracker } from "./tracker.js";
5-
import { UWebSocketsTracker, UwsConnectionContext } from "./uws-tracker.js";
1+
import type { HttpRequest, HttpResponse } from "uWebSockets.js";
2+
import { debugRequest } from "./debugRequest.ts";
3+
import type {
4+
ServerItemSettings,
5+
WebSocketsAccessSettings,
6+
} from "./settings.ts";
7+
import type { Tracker } from "./tracker.ts";
8+
import { UWebSocketsTracker } from "./uws-tracker.ts";
9+
import type { UwsConnectionContext } from "./uws-tracker.ts";
610

711
type BuildServerParams = {
812
tracker: Tracker<UwsConnectionContext>;

src/debugRequest.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
*/
1616

1717
import Debug from "debug";
18-
import { UWebSocketsTracker } from "./uws-tracker.js";
19-
import { HttpRequest } from "uWebSockets.js";
18+
import { UWebSocketsTracker } from "./uws-tracker.ts";
19+
import type { HttpRequest } from "uWebSockets.js";
2020

2121
const debugRequests = Debug("wt-tracker:uws-tracker-requests");
2222
const debugRequestsEnabled = debugRequests.enabled;

src/fast-tracker.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616

1717
import { threadId } from "node:worker_threads";
1818
import Debug from "debug";
19-
import { Tracker, TrackerError } from "./tracker.js";
19+
import type { Tracker } from "./tracker.ts";
20+
import { TrackerError } from "./tracker.ts";
2021

2122
const debugSuffix = threadId ? `-${threadId}` : "";
2223
const debug = Debug(`wt-tracker:fast-tracker${debugSuffix}`);

src/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
* limitations under the License.
1616
*/
1717

18-
export * from "./uws-tracker.js";
19-
export * from "./fast-tracker.js";
20-
export * from "./tracker.js";
18+
export * from "./uws-tracker.ts";
19+
export * from "./fast-tracker.ts";
20+
export * from "./tracker.ts";

src/multi-worker-socket-app/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
*/
1616

1717
import { App, SSLApp } from "uWebSockets.js";
18-
import { Settings } from "../settings.js";
18+
import type { Settings } from "../settings.ts";
1919
import { Worker } from "node:worker_threads";
20-
import {
20+
import type {
2121
AppsStatsResponse,
2222
ServerWorkerInMessage,
2323
ServerWorkerOutMessage,
2424
WorkerDataType,
25-
} from "./types.js";
26-
import { MultiWorkerTracker } from "../multi-worker-tracker/index.js";
25+
} from "./types.ts";
26+
import { MultiWorkerTracker } from "../multi-worker-tracker/index.ts";
2727

2828
export async function runSocketWorkersApp(settings: Settings) {
2929
// Create connections acceptors
@@ -85,7 +85,7 @@ export async function runSocketWorkersApp(settings: Settings) {
8585
// Ports between the socket worker and the tracker workers
8686
const trackerPorts = buildWorkerPorts();
8787

88-
const worker = new Worker(`${import.meta.dirname}/worker.js`, {
88+
const worker = new Worker(`${import.meta.dirname}/worker.ts`, {
8989
workerData: {
9090
settings,
9191
trackerPorts,

src/multi-worker-socket-app/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Settings } from "../settings.js";
1+
import type { Settings } from "../settings.ts";
22
import { MessagePort } from "node:worker_threads";
33

44
export type WorkerDataType = {

src/multi-worker-socket-app/worker.ts

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
import { Settings } from "../settings.js";
2-
import { Tracker } from "../tracker.js";
3-
import {
4-
sendMessage,
5-
UWebSocketsTracker,
6-
UwsConnectionContext,
7-
} from "../uws-tracker.js";
1+
import type { Settings } from "../settings.ts";
2+
import type { Tracker } from "../tracker.ts";
3+
import { sendMessage, UWebSocketsTracker } from "../uws-tracker.ts";
4+
import type { UwsConnectionContext } from "../uws-tracker.ts";
85
import { readFileSync } from "fs";
96
import { MessagePort } from "worker_threads";
107
import {
@@ -13,15 +10,15 @@ import {
1310
parentPort,
1411
threadId,
1512
} from "node:worker_threads";
16-
import { MultiWorkerTracker } from "../multi-worker-tracker/index.js";
17-
import { buildUwsTracker } from "../build-uws-tracker.js";
18-
import {
13+
import { MultiWorkerTracker } from "../multi-worker-tracker/index.ts";
14+
import { buildUwsTracker } from "../build-uws-tracker.ts";
15+
import type {
1916
AppDescriptorMessage,
2017
AppsStatsResponse,
2118
ServerWorkerInMessage,
2219
ServerWorkerOutMessage,
2320
WorkerDataType,
24-
} from "./types.js";
21+
} from "./types.ts";
2522

2623
// TODO:
2724
// - test what host and port workers require

src/multi-worker-tracker/index.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ TODO:
66
import os from "node:os";
77
import { Worker, MessagePort, threadId } from "node:worker_threads";
88
import Debug from "debug";
9-
import { Tracker, TrackerError } from "../tracker.js";
10-
import {
9+
import { TrackerError } from "../tracker.ts";
10+
import type { Tracker } from "../tracker.ts";
11+
import type {
1112
TrackerWorkerInEvent,
1213
TrackerWorkerOutEvent,
1314
WorkerDataType,
14-
} from "./types.js";
15+
} from "./types.ts";
1516

1617
const debugSuffix = threadId ? `-${threadId}` : "";
1718
const debug = Debug(`wt-tracker:multi-worker-tracker${debugSuffix}`);
@@ -211,7 +212,7 @@ export class MultiWorkerTracker<
211212

212213
for (let workerIndex = 0; workerIndex < workersCount; workerIndex++) {
213214
workers.push(
214-
new Worker(`${import.meta.dirname}/worker.js`, {
215+
new Worker(`${import.meta.dirname}/worker.ts`, {
215216
workerData: { settings } satisfies WorkerDataType,
216217
}),
217218
);

0 commit comments

Comments
 (0)