Skip to content

Commit c26d303

Browse files
committed
refactor(napi/oxlint2): fix lint errors (#13184)
#13173 enabled Oxlint for all the repo, but we currently skip `napi` directory. Fix all errors that Oxlint flags in `napi/oxlint2`. We currently can't turn on Oxlint for the directory, because `oxlint-disable` comments don't work for type-aware rules, but we should be able to once that's fixed.
1 parent 3f92fa8 commit c26d303

File tree

5 files changed

+23
-17
lines changed

5 files changed

+23
-17
lines changed

napi/oxlint2/src-js/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ class Context {
138138
physicalFilename: string;
139139

140140
/**
141-
* @constructor
141+
* @class
142142
* @param fullRuleName - Rule name, in form `<plugin>/<rule>`
143143
*/
144144
constructor(fullRuleName: string) {

napi/oxlint2/src-js/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export type VisitFn = (node: Node) => void;
88

99
// AST node type.
1010
// We'll make this type a union later on.
11-
export type Node = Object;
11+
export type Node = { type: string; start: number; end: number; [key: string]: unknown };
1212

1313
// Element of compiled visitor array.
1414
// * `VisitFn | null` for leaf nodes.

napi/oxlint2/src-js/utils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,5 @@ export function getErrorMessage(err: unknown): string {
2929
*
3030
* @param value - Value
3131
*/
32+
// oxlint-disable-next-line no-unused-vars
3233
export function assertIs<T>(value: unknown): asserts value is T {}

napi/oxlint2/src-js/visitor.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,7 @@ function createMerger(fnCount: number): Merger {
377377
}
378378
body += '}';
379379
args.push(body);
380+
// oxlint-disable-next-line typescript-eslint/no-implied-eval
380381
return new Function(...args) as Merger;
381382
}
382383

napi/oxlint2/test/compile-visitor.test.ts

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@ describe('compile visitor', () => {
2121
it('throws if visitor is not an object', () => {
2222
const expectedErr = new TypeError('Visitor returned from `create` method must be an object');
2323
expect(() => (addVisitorToCompiled as any)()).toThrow(expectedErr);
24+
// oxlint-disable typescript-eslint/no-confusing-void-expression
2425
expect(() => addVisitorToCompiled(null)).toThrow(expectedErr);
2526
expect(() => addVisitorToCompiled(undefined)).toThrow(expectedErr);
2627
expect(() => addVisitorToCompiled(true as any)).toThrow(expectedErr);
2728
expect(() => addVisitorToCompiled('xyz' as any)).toThrow(expectedErr);
29+
// oxlint-enable typescript-eslint/no-confusing-void-expression
2830
});
2931

3032
it('throws if unknown visitor key', () => {
@@ -34,10 +36,12 @@ describe('compile visitor', () => {
3436

3537
it('throws if visitor property is not a function', () => {
3638
const expectedErr = new TypeError("'Program' property of visitor object is not a function");
39+
// oxlint-disable typescript-eslint/no-confusing-void-expression
3740
expect(() => addVisitorToCompiled({ Program: null })).toThrow(expectedErr);
3841
expect(() => addVisitorToCompiled({ Program: undefined })).toThrow(expectedErr);
3942
expect(() => addVisitorToCompiled({ Program: true } as any)).toThrow(expectedErr);
4043
expect(() => addVisitorToCompiled({ Program: {} } as any)).toThrow(expectedErr);
44+
// oxlint-enable typescript-eslint/no-confusing-void-expression
4145
});
4246

4347
describe('registers enter visitor', () => {
@@ -86,7 +90,7 @@ describe('compile visitor', () => {
8690
addVisitorToCompiled({ EmptyStatement: enter, 'EmptyStatement:exit': exit });
8791
expect(finalizeCompiledVisitor()).toBe(true);
8892

89-
const node = {};
93+
const node = { type: 'EmptyStatement', start: 0, end: 0 };
9094
(compiledVisitor[EMPTY_STMT_TYPE_ID] as VisitFn)(node);
9195
expect(enter).toHaveBeenCalledWith(node);
9296
expect(exit).toHaveBeenCalledWith(node);
@@ -99,7 +103,7 @@ describe('compile visitor', () => {
99103
addVisitorToCompiled({ 'EmptyStatement:exit': exit, EmptyStatement: enter });
100104
expect(finalizeCompiledVisitor()).toBe(true);
101105

102-
const node = {};
106+
const node = { type: 'EmptyStatement', start: 0, end: 0 };
103107
(compiledVisitor[EMPTY_STMT_TYPE_ID] as VisitFn)(node);
104108
expect(enter).toHaveBeenCalledWith(node);
105109
expect(exit).toHaveBeenCalledWith(node);
@@ -147,7 +151,7 @@ describe('compile visitor', () => {
147151

148152
expect(finalizeCompiledVisitor()).toBe(true);
149153

150-
const node = {};
154+
const node = { type: 'EmptyStatement', start: 0, end: 0 };
151155
(compiledVisitor[EMPTY_STMT_TYPE_ID] as VisitFn)(node);
152156
expect(enter1).toHaveBeenCalledWith(node);
153157
expect(exit1).toHaveBeenCalledWith(node);
@@ -169,7 +173,7 @@ describe('compile visitor', () => {
169173

170174
expect(finalizeCompiledVisitor()).toBe(true);
171175

172-
const node = {};
176+
const node = { type: 'EmptyStatement', start: 0, end: 0 };
173177
(compiledVisitor[EMPTY_STMT_TYPE_ID] as VisitFn)(node);
174178
expect(enter1).toHaveBeenCalledWith(node);
175179
expect(exit1).toHaveBeenCalledWith(node);
@@ -191,7 +195,7 @@ describe('compile visitor', () => {
191195

192196
expect(finalizeCompiledVisitor()).toBe(true);
193197

194-
const node = {};
198+
const node = { type: 'EmptyStatement', start: 0, end: 0 };
195199
(compiledVisitor[EMPTY_STMT_TYPE_ID] as VisitFn)(node);
196200
expect(enter1).toHaveBeenCalledWith(node);
197201
expect(exit1).toHaveBeenCalledWith(node);
@@ -213,7 +217,7 @@ describe('compile visitor', () => {
213217

214218
expect(finalizeCompiledVisitor()).toBe(true);
215219

216-
const node = {};
220+
const node = { type: 'EmptyStatement', start: 0, end: 0 };
217221
(compiledVisitor[EMPTY_STMT_TYPE_ID] as VisitFn)(node);
218222
expect(enter1).toHaveBeenCalledWith(node);
219223
expect(exit1).toHaveBeenCalledWith(node);
@@ -239,12 +243,12 @@ describe('compile visitor', () => {
239243

240244
const enterExit = compiledVisitor[PROGRAM_TYPE_ID] as EnterExit;
241245

242-
const enterNode = {};
246+
const enterNode = { type: 'Program', start: 0, end: 0 };
243247
enterExit.enter(enterNode);
244248
expect(enter1).toHaveBeenCalledWith(enterNode);
245249
expect(enter2).toHaveBeenCalledWith(enterNode);
246250

247-
const exitNode = {};
251+
const exitNode = { type: 'Program', start: 0, end: 0 };
248252
enterExit.exit(exitNode);
249253
expect(exit1).toHaveBeenCalledWith(exitNode);
250254
expect(exit2).toHaveBeenCalledWith(exitNode);
@@ -263,12 +267,12 @@ describe('compile visitor', () => {
263267

264268
const enterExit = compiledVisitor[PROGRAM_TYPE_ID] as EnterExit;
265269

266-
const enterNode = {};
270+
const enterNode = { type: 'Program', start: 0, end: 0 };
267271
enterExit.enter(enterNode);
268272
expect(enter1).toHaveBeenCalledWith(enterNode);
269273
expect(enter2).toHaveBeenCalledWith(enterNode);
270274

271-
const exitNode = {};
275+
const exitNode = { type: 'Program', start: 0, end: 0 };
272276
enterExit.exit(exitNode);
273277
expect(exit1).toHaveBeenCalledWith(exitNode);
274278
expect(exit2).toHaveBeenCalledWith(exitNode);
@@ -287,12 +291,12 @@ describe('compile visitor', () => {
287291

288292
const enterExit = compiledVisitor[PROGRAM_TYPE_ID] as EnterExit;
289293

290-
const enterNode = {};
294+
const enterNode = { type: 'Program', start: 0, end: 0 };
291295
enterExit.enter(enterNode);
292296
expect(enter1).toHaveBeenCalledWith(enterNode);
293297
expect(enter2).toHaveBeenCalledWith(enterNode);
294298

295-
const exitNode = {};
299+
const exitNode = { type: 'Program', start: 0, end: 0 };
296300
enterExit.exit(exitNode);
297301
expect(exit1).toHaveBeenCalledWith(exitNode);
298302
expect(exit2).toHaveBeenCalledWith(exitNode);
@@ -311,12 +315,12 @@ describe('compile visitor', () => {
311315

312316
const enterExit = compiledVisitor[PROGRAM_TYPE_ID] as EnterExit;
313317

314-
const enterNode = {};
318+
const enterNode = { type: 'Program', start: 0, end: 0 };
315319
enterExit.enter(enterNode);
316320
expect(enter1).toHaveBeenCalledWith(enterNode);
317321
expect(enter2).toHaveBeenCalledWith(enterNode);
318322

319-
const exitNode = {};
323+
const exitNode = { type: 'Program', start: 0, end: 0 };
320324
enterExit.exit(exitNode);
321325
expect(exit1).toHaveBeenCalledWith(exitNode);
322326
expect(exit2).toHaveBeenCalledWith(exitNode);
@@ -350,7 +354,7 @@ describe('compile visitor', () => {
350354

351355
expect(finalizeCompiledVisitor()).toBe(true);
352356

353-
const node = {};
357+
const node = { type: 'EmptyStatement', start: 0, end: 0 };
354358
(compiledVisitor[EMPTY_STMT_TYPE_ID] as VisitFn)(node);
355359

356360
expect(enter1).toHaveBeenCalledWith(node);

0 commit comments

Comments
 (0)