Skip to content

Commit

Permalink
eslint: miscellaneous changes (#848)
Browse files Browse the repository at this point in the history
* eslint: remove deprecated no-duplicate-imports rule

c.f. https://typescript-eslint.io/rules/no-duplicate-imports/

Use import/no-duplicates instead.

* eslint: add sort-type-constituents

* eslint: add prefer-nullish-coalescing

* mocha: prefer eslint plug-in instead of pre-commit regex

* mocha: use recommended config

* remove rules with side effects and undo them
  • Loading branch information
Thiago Perrotta authored Jun 14, 2023
1 parent 74af09e commit c87918d
Show file tree
Hide file tree
Showing 8 changed files with 86 additions and 89 deletions.
4 changes: 3 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ module.exports = {
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
'plugin:import/recommended',
'plugin:mocha/recommended',
'plugin:prettier/recommended',
'plugin:promise/recommended',
// keep-sorted end
Expand Down Expand Up @@ -91,8 +92,9 @@ module.exports = {
'import/no-duplicates': 'error',
'import/no-unresolved': 'off',
'import/order': ['warn', {'newlines-between': 'always'}],
'mocha/no-mocha-arrows': 'off',
'mocha/no-setup-in-describe': 'off',
'no-console': 'warn',
'no-duplicate-imports': 'error',
'no-else-return': 'warn',
'no-empty': ['warn', {allowEmptyCatch: true}],
'no-implicit-coercion': 'error',
Expand Down
5 changes: 0 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,11 +98,6 @@ repos:
language: pygrep
files: \.js$|\.cjs$|\.mjs$|\.ts$|\.py$
args: [--negate, --multiline]
- id: check-chai-describe-it-only
name: check chai describe & it `.only()`
entry: '\b(it|describe)\.only\('
language: pygrep
files: \.spec\.ts$
- id: node-self
name: check nodejs `self.`
entry: '\bself\.'
Expand Down
4 changes: 2 additions & 2 deletions src/bidiMapper/domains/context/browsingContextProcessor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -415,10 +415,10 @@ export class BrowsingContextProcessor {
const realm = await this.#getRealm(params.target);
return realm.callFunction(
params.functionDeclaration,
params.this || {
params.this ?? {
type: 'undefined',
}, // `this` is `undefined` by default.
params.arguments || [], // `arguments` is `[]` by default.
params.arguments ?? [], // `arguments` is `[]` by default.
params.awaitPromise,
params.resultOwnership ?? 'none',
params.serializationOptions ?? {}
Expand Down
140 changes: 70 additions & 70 deletions src/bidiMapper/domains/events/SubscriptionManager.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -401,91 +401,91 @@ describe('SubscriptionManager', () => {
).to.deep.equal([SOME_CHANNEL]);
});
});
});

describe('cartesian product', () => {
it('should return empty array for empty array', () => {
expect(cartesianProduct([], [])).to.deep.equal([]);
});
describe('cartesian product', () => {
it('should return empty array for empty array', () => {
expect(cartesianProduct([], [])).to.deep.equal([]);
});

it('works with a single input', () => {
expect(cartesianProduct([1n, 2n])).to.deep.equal([1n, 2n]);
});
it('works with a single input', () => {
expect(cartesianProduct([1n, 2n])).to.deep.equal([1n, 2n]);
});

it('works with multiple inputs', () => {
expect(cartesianProduct([1], [2], [3])).to.deep.equal([[1, 2, 3]]);
});
it('works with multiple inputs', () => {
expect(cartesianProduct([1], [2], [3])).to.deep.equal([[1, 2, 3]]);
});

it('happy path', () => {
expect(cartesianProduct([1, 2], ['A', 'B'])).to.deep.equal([
[1, 'A'],
[1, 'B'],
[2, 'A'],
[2, 'B'],
]);
it('happy path', () => {
expect(cartesianProduct([1, 2], ['A', 'B'])).to.deep.equal([
[1, 'A'],
[1, 'B'],
[2, 'A'],
[2, 'B'],
]);
});
});
});

describe('unroll events', () => {
it('all Browsing Context events', () => {
expect(unrollEvents([BrowsingContext.AllEvents])).to.deep.equal([
BrowsingContext.EventNames.LoadEvent,
BrowsingContext.EventNames.DomContentLoadedEvent,
BrowsingContext.EventNames.ContextCreatedEvent,
BrowsingContext.EventNames.ContextDestroyedEvent,
]);
});
describe('unroll events', () => {
it('all Browsing Context events', () => {
expect(unrollEvents([BrowsingContext.AllEvents])).to.deep.equal([
BrowsingContext.EventNames.LoadEvent,
BrowsingContext.EventNames.DomContentLoadedEvent,
BrowsingContext.EventNames.ContextCreatedEvent,
BrowsingContext.EventNames.ContextDestroyedEvent,
]);
});

it('all CDP events', () => {
expect(unrollEvents([CDP.AllEvents])).to.deep.equal([
CDP.EventNames.EventReceivedEvent,
]);
});
it('all CDP events', () => {
expect(unrollEvents([CDP.AllEvents])).to.deep.equal([
CDP.EventNames.EventReceivedEvent,
]);
});

it('all Log events', () => {
expect(unrollEvents([Log.AllEvents])).to.deep.equal([
Log.EventNames.LogEntryAddedEvent,
]);
});
it('all Log events', () => {
expect(unrollEvents([Log.AllEvents])).to.deep.equal([
Log.EventNames.LogEntryAddedEvent,
]);
});

it('all Network events', () => {
expect(unrollEvents([Network.AllEvents])).to.deep.equal([
Network.EventNames.BeforeRequestSentEvent,
Network.EventNames.FetchErrorEvent,
Network.EventNames.ResponseStartedEvent,
Network.EventNames.ResponseCompletedEvent,
]);
});
it('all Network events', () => {
expect(unrollEvents([Network.AllEvents])).to.deep.equal([
Network.EventNames.BeforeRequestSentEvent,
Network.EventNames.FetchErrorEvent,
Network.EventNames.ResponseStartedEvent,
Network.EventNames.ResponseCompletedEvent,
]);
});

it('all Script events', () => {
expect(unrollEvents([Script.AllEvents])).to.deep.equal([
Script.EventNames.MessageEvent,
]);
});
it('all Script events', () => {
expect(unrollEvents([Script.AllEvents])).to.deep.equal([
Script.EventNames.MessageEvent,
]);
});

it('discrete events', () => {
expect(
unrollEvents([
it('discrete events', () => {
expect(
unrollEvents([
CDP.EventNames.EventReceivedEvent,
Log.EventNames.LogEntryAddedEvent,
])
).to.deep.equal([
CDP.EventNames.EventReceivedEvent,
Log.EventNames.LogEntryAddedEvent,
])
).to.deep.equal([
CDP.EventNames.EventReceivedEvent,
Log.EventNames.LogEntryAddedEvent,
]);
});
]);
});

it('all and discrete events', () => {
expect(
unrollEvents([
CDP.AllEvents,
it('all and discrete events', () => {
expect(
unrollEvents([
CDP.AllEvents,
CDP.EventNames.EventReceivedEvent,
Log.EventNames.LogEntryAddedEvent,
])
).to.deep.equal([
CDP.EventNames.EventReceivedEvent,
CDP.EventNames.EventReceivedEvent,
Log.EventNames.LogEntryAddedEvent,
])
).to.deep.equal([
CDP.EventNames.EventReceivedEvent,
CDP.EventNames.EventReceivedEvent,
Log.EventNames.LogEntryAddedEvent,
]);
]);
});
});
});
2 changes: 1 addition & 1 deletion src/bidiMapper/domains/network/networkRequest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ export class NetworkRequest {
url: this.#responseReceivedEvent.response.url,
protocol: this.#responseReceivedEvent.response.protocol ?? '',
status:
this.#responseReceivedExtraInfoEvent?.statusCode ||
this.#responseReceivedExtraInfoEvent?.statusCode ??
this.#responseReceivedEvent.response.status,
statusText: this.#responseReceivedEvent.response.statusText,
fromCache:
Expand Down
2 changes: 1 addition & 1 deletion src/bidiMapper/domains/script/scriptEvaluator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -516,7 +516,7 @@ export class ScriptEvaluator {
// `lineNumber` should be adjusted.
lineNumber: cdpExceptionDetails.lineNumber - lineOffset,
stackTrace: {
callFrames: callFrames || [],
callFrames: callFrames ?? [],
},
text: text || cdpExceptionDetails.text,
};
Expand Down
2 changes: 1 addition & 1 deletion src/bidiServer/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ function parseArguments(): {
parser.add_argument('-p', '--port', {
help: 'Port that BiDi server should listen to. Default is 8080.',
type: 'int',
default: process.env['PORT'] || 8080,
default: process.env['PORT'] ?? 8080,
});

parser.add_argument('-c', '--channel', {
Expand Down
16 changes: 8 additions & 8 deletions src/protocol/protocol.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ export namespace Message {
channel?: Script.Channel;
};

export type CommandRequest = Pick<RawCommandRequest, 'id'> & BiDiCommand;
export type CommandResponse = Pick<RawCommandRequest, 'id'> & ResultData;
export type CommandRequest = BiDiCommand & Pick<RawCommandRequest, 'id'>;
export type CommandResponse = ResultData & Pick<RawCommandRequest, 'id'>;

export type EmptyCommand = never;
export type EmptyParams = Record<string, never>;
Expand Down Expand Up @@ -1380,23 +1380,23 @@ export namespace Input {
value: string;
};

export type PointerUpAction = {
export type PointerUpAction = PointerCommonProperties & {
type: ActionType.PointerUp;
button: number;
} & PointerCommonProperties;
};

export type PointerDownAction = {
export type PointerDownAction = PointerCommonProperties & {
type: ActionType.PointerDown;
button: number;
} & PointerCommonProperties;
};

export type PointerMoveAction = {
export type PointerMoveAction = PointerCommonProperties & {
type: ActionType.PointerMove;
x: number;
y: number;
duration?: number;
origin?: Origin;
} & PointerCommonProperties;
};

export type WheelScrollAction = {
type: ActionType.Scroll;
Expand Down

0 comments on commit c87918d

Please sign in to comment.