Skip to content

Commit 61ca56a

Browse files
authored
Modernize (#1513)
1 parent e1f9ce1 commit 61ca56a

28 files changed

+399
-322
lines changed

.editorconfig

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# EditorConfig is awesome: https://editorconfig.org
2+
3+
root = true
4+
5+
[*]
6+
indent_style = tab
7+
end_of_line = lf
8+
charset = utf-8
9+
trim_trailing_whitespace = true
10+
insert_final_newline = true
11+
12+
[*.{ts,mts,mjs,cjs,js}]
13+
indent_style = tab
14+
15+
[*.json]
16+
indent_style = tab
17+
18+
[*.md]
19+
indent_style = tab

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
### NEXT
44

55
- CI: Remove redundant hosts `macos-14` and `windows-2022` from `mediasoup-worker-prebuild` job ([PR #1506](https://github.com/versatica/mediasoup/pull/1506)).
6+
- Node: Modernize code ([PR #1513](https://github.com/versatica/mediasoup/pull/1513)).
67

78
### 3.15.6
89

eslint.config.mjs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const config = tsEslint.config(
88
{
99
languageOptions: {
1010
sourceType: 'module',
11-
globals: { ...globals.nodeBuiltin },
11+
globals: { ...globals.node },
1212
},
1313
linterOptions: {
1414
noInlineConfig: false,
@@ -108,18 +108,20 @@ const config = tsEslint.config(
108108
yoda: 2,
109109
},
110110
},
111-
// NOTE: We need to apply this only to .ts files (and not to .mjs files).
111+
// NOTE: We need to apply this only to .ts source files (and not to .mjs
112+
// files).
112113
...tsEslint.configs.recommendedTypeChecked.map(item => ({
113114
...item,
114115
files: ['node/src/**/*.ts'],
115116
})),
116-
// NOTE: We need to apply this only to .ts files (and not to .mjs files).
117+
// NOTE: We need to apply this only to .ts source files (and not to .mjs
118+
// files).
117119
...tsEslint.configs.stylisticTypeChecked.map(item => ({
118120
...item,
119121
files: ['node/src/**/*.ts'],
120122
})),
121123
{
122-
name: 'mediasoup .ts files',
124+
name: '.ts source files',
123125
files: ['node/src/**/*.ts'],
124126
languageOptions: {
125127
parserOptions: {
@@ -153,7 +155,10 @@ const config = tsEslint.config(
153155
],
154156
// Sorry, we need many `any` usage.
155157
'@typescript-eslint/no-explicit-any': 0,
156-
'@typescript-eslint/explicit-function-return-type': 2,
158+
'@typescript-eslint/explicit-function-return-type': [
159+
2,
160+
{ allowExpressions: true },
161+
],
157162
'@typescript-eslint/no-unsafe-member-access': 0,
158163
'@typescript-eslint/no-unsafe-assignment': 0,
159164
'@typescript-eslint/no-unsafe-call': 0,
@@ -169,7 +174,7 @@ const config = tsEslint.config(
169174
},
170175
},
171176
{
172-
name: 'mediasoup .ts test files',
177+
name: '.ts test files',
173178
...jestEslint.configs['flat/recommended'],
174179
files: ['node/src/test/**/*.ts'],
175180
rules: {

jest.config.mjs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const config = {
2+
verbose: true,
3+
testEnvironment: 'node',
4+
testRegex: 'node/src/test/test-.*\\.ts',
5+
transform: {
6+
'^.+\\.ts?$': ['ts-jest'],
7+
},
8+
coveragePathIgnorePatterns: [
9+
'node/src/Logger.ts',
10+
'node/src/enhancedEvents.ts',
11+
'node/src/fbs',
12+
'node/src/test',
13+
],
14+
modulePathIgnorePatterns: ['worker', 'rust', 'target'],
15+
cacheDirectory: '.cache/jest',
16+
};
17+
18+
export default config;

node/src/ActiveSpeakerObserver.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export class ActiveSpeakerObserverImpl<
4444
return 'activespeaker';
4545
}
4646

47-
get observer(): ActiveSpeakerObserverObserver {
47+
override get observer(): ActiveSpeakerObserverObserver {
4848
return super.observer;
4949
}
5050

node/src/AudioLevelObserver.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export class AudioLevelObserverImpl<
4646
return 'audiolevel';
4747
}
4848

49-
get observer(): AudioLevelObserverObserver {
49+
override get observer(): AudioLevelObserverObserver {
5050
return super.observer;
5151
}
5252

node/src/Channel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export class Channel extends EnhancedEventEmitter {
4848
readonly #sents: Map<number, Sent> = new Map();
4949

5050
// Buffer for reading messages from the worker.
51-
#recvBuffer = Buffer.alloc(0);
51+
#recvBuffer: Buffer = Buffer.alloc(0);
5252

5353
// flatbuffers builder.
5454
#bufferBuilder: flatbuffers.Builder = new flatbuffers.Builder(1024);

node/src/DirectTransport.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,19 +72,19 @@ export class DirectTransportImpl<
7272
return 'direct';
7373
}
7474

75-
get observer(): DirectTransportObserver {
75+
override get observer(): DirectTransportObserver {
7676
return super.observer;
7777
}
7878

79-
close(): void {
79+
override close(): void {
8080
if (this.closed) {
8181
return;
8282
}
8383

8484
super.close();
8585
}
8686

87-
routerClosed(): void {
87+
override routerClosed(): void {
8888
if (this.closed) {
8989
return;
9090
}
@@ -134,21 +134,21 @@ export class DirectTransportImpl<
134134
}
135135

136136
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/require-await
137-
async setMaxIncomingBitrate(bitrate: number): Promise<void> {
137+
override async setMaxIncomingBitrate(bitrate: number): Promise<void> {
138138
throw new UnsupportedError(
139139
'setMaxIncomingBitrate() not implemented in DirectTransport'
140140
);
141141
}
142142

143143
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/require-await
144-
async setMaxOutgoingBitrate(bitrate: number): Promise<void> {
144+
override async setMaxOutgoingBitrate(bitrate: number): Promise<void> {
145145
throw new UnsupportedError(
146146
'setMaxOutgoingBitrate() not implemented in DirectTransport'
147147
);
148148
}
149149

150150
// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/require-await
151-
async setMinOutgoingBitrate(bitrate: number): Promise<void> {
151+
override async setMinOutgoingBitrate(bitrate: number): Promise<void> {
152152
throw new UnsupportedError(
153153
'setMinOutgoingBitrate() not implemented in DirectTransport'
154154
);

node/src/PipeTransport.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export class PipeTransportImpl<PipeTransportAppData extends AppData = AppData>
9696
return 'pipe';
9797
}
9898

99-
get observer(): PipeTransportObserver {
99+
override get observer(): PipeTransportObserver {
100100
return super.observer;
101101
}
102102

@@ -116,7 +116,7 @@ export class PipeTransportImpl<PipeTransportAppData extends AppData = AppData>
116116
return this.#data.srtpParameters;
117117
}
118118

119-
close(): void {
119+
override close(): void {
120120
if (this.closed) {
121121
return;
122122
}
@@ -128,7 +128,7 @@ export class PipeTransportImpl<PipeTransportAppData extends AppData = AppData>
128128
super.close();
129129
}
130130

131-
routerClosed(): void {
131+
override routerClosed(): void {
132132
if (this.closed) {
133133
return;
134134
}
@@ -213,7 +213,7 @@ export class PipeTransportImpl<PipeTransportAppData extends AppData = AppData>
213213
}
214214
}
215215

216-
async consume<ConsumerAppData extends AppData = AppData>({
216+
override async consume<ConsumerAppData extends AppData = AppData>({
217217
producerId,
218218
appData,
219219
}: PipeConsumerOptions<ConsumerAppData>): Promise<Consumer<ConsumerAppData>> {

node/src/PlainTransport.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ export class PlainTransportImpl<PlainTransportAppData extends AppData = AppData>
8989
return 'plain';
9090
}
9191

92-
get observer(): PlainTransportObserver {
92+
override get observer(): PlainTransportObserver {
9393
return super.observer;
9494
}
9595

@@ -113,7 +113,7 @@ export class PlainTransportImpl<PlainTransportAppData extends AppData = AppData>
113113
return this.#data.srtpParameters;
114114
}
115115

116-
close(): void {
116+
override close(): void {
117117
if (this.closed) {
118118
return;
119119
}
@@ -125,7 +125,7 @@ export class PlainTransportImpl<PlainTransportAppData extends AppData = AppData>
125125
super.close();
126126
}
127127

128-
routerClosed(): void {
128+
override routerClosed(): void {
129129
if (this.closed) {
130130
return;
131131
}

0 commit comments

Comments
 (0)