Skip to content

Commit cca6ba0

Browse files
authored
feat: eslint rule to prefer node protocols (#1187)
1 parent ec33e3f commit cca6ba0

File tree

7 files changed

+195
-21
lines changed

7 files changed

+195
-21
lines changed

eslint.config.mjs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import eslint from '@eslint/js';
44
import tseslint from 'typescript-eslint';
55
import eslintConfigPrettier from 'eslint-config-prettier/flat';
6+
import nodePlugin from 'eslint-plugin-n';
67

78
export default tseslint.config(
89
eslint.configs.recommended,
@@ -11,8 +12,12 @@ export default tseslint.config(
1112
linterOptions: {
1213
reportUnusedDisableDirectives: false
1314
},
15+
plugins: {
16+
n: nodePlugin
17+
},
1418
rules: {
15-
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }]
19+
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
20+
'n/prefer-node-protocol': 'error'
1621
}
1722
},
1823
{

package-lock.json

Lines changed: 183 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@
126126
"@typescript/native-preview": "^7.0.0-dev.20251103.1",
127127
"eslint": "^9.8.0",
128128
"eslint-config-prettier": "^10.1.8",
129+
"eslint-plugin-n": "^17.23.1",
129130
"prettier": "3.6.2",
130131
"supertest": "^7.0.0",
131132
"tsx": "^4.16.5",

src/client/sse.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { createServer, ServerResponse, type IncomingMessage, type Server } from 'http';
2-
import { AddressInfo } from 'net';
1+
import { createServer, ServerResponse, type IncomingMessage, type Server } from 'node:http';
2+
import { AddressInfo } from 'node:net';
33
import { JSONRPCMessage } from '../types.js';
44
import { SSEClientTransport } from './sse.js';
55
import { OAuthClientProvider, UnauthorizedError } from './auth.js';

src/experimental/tasks/stores/in-memory.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import { Task, Request, RequestId, Result } from '../../../types.js';
99
import { TaskStore, isTerminal, TaskMessageQueue, QueuedMessage, CreateTaskOptions } from '../interfaces.js';
10-
import { randomBytes } from 'crypto';
10+
import { randomBytes } from 'node:crypto';
1111

1212
interface StoredTask {
1313
task: Task;

src/server/sse.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import http from 'http';
1+
import http from 'node:http';
22
import { type Mocked } from 'vitest';
33

44
import { SSEServerTransport } from './sse.js';

src/server/sse.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { JSONRPCMessage, JSONRPCMessageSchema, MessageExtraInfo, RequestInfo } f
55
import getRawBody from 'raw-body';
66
import contentType from 'content-type';
77
import { AuthInfo } from './auth/types.js';
8-
import { URL } from 'url';
8+
import { URL } from 'node:url';
99

1010
const MAXIMUM_MESSAGE_SIZE = '4mb';
1111

0 commit comments

Comments
 (0)