Skip to content

Commit c8e3902

Browse files
committed
chore(oxlint): enable rules with manageable false-positive rates
Most of the locally disabled rules were carried over from the apify-core config where they fire on a lot of pre-existing code. In this much smaller repo they're tractable. Enabled (preset/oxlint defaults take over): - typescript/no-empty-object-type (4 violations, all empty-interface tricks for recursive types or class+interface declaration merging) - typescript/no-unsafe-declaration-merging (1 violation, RetryableError class+interface merge — no longer needed) - import/extensions (0 violations, free win) - no-empty-function (preset already has it 'off' — drop redundant override) - no-use-before-define (preset config with safe options applies; 2 violations in promisifyServerListen fixed by switching the mutually recursive listeners to function declarations) - no-void (preset enables with allowAsStatement: true; no violations) Kept disabled: - typescript/no-explicit-any (148 violations — opt-in case-by-case) - no-param-reassign (40 violations — too many to clean up here)
1 parent d9ee109 commit c8e3902

6 files changed

Lines changed: 11 additions & 24 deletions

File tree

oxlint.config.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,7 @@ export default defineConfig({
44
ignorePatterns: ['**/node_modules', '**/dist', 'coverage'],
55
rules: {
66
'typescript/no-explicit-any': 'off',
7-
'typescript/no-empty-object-type': 'off',
8-
'typescript/no-unsafe-declaration-merging': 'off',
9-
'import/extensions': 'off',
10-
'no-empty-function': 'off',
117
'no-param-reassign': 'off',
12-
'no-use-before-define': 'off',
13-
'no-void': 'off',
148
},
159
overrides: [
1610
{

packages/json_schemas/tools/bundler/types.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
type Primitive = string | number | boolean | null | undefined;
22

3-
interface Arr extends Array<JsonSchemaValue> {}
4-
5-
export type JsonSchemaValue = Primitive | object | Arr;
3+
export type JsonSchemaValue = Primitive | object | JsonSchemaValue[];
64

75
export interface JsonSchemaObject {
86
[member: string]: JsonSchemaValue;

packages/json_schemas/tools/modificator/rules/remove-value-rule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { parseJsonPointer } from '../utils';
55

66
export const RULE_NAME = 'RemoveValue' as const;
77

8-
export interface RemoveValueRule extends AbstractRule<typeof RULE_NAME> {}
8+
export type RemoveValueRule = AbstractRule<typeof RULE_NAME>;
99

1010
function removeValue(objectPropertyInfo: ObjectPropertyInfo, json: JsonObject) {
1111
// Navigate to parent and delete the property

packages/json_schemas/tools/modificator/types.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ import type { ReplaceValueRule } from './rules/replace-value-rule';
44

55
type Primitive = string | number | boolean | null | undefined;
66

7-
interface Arr extends Array<JsonValue> {}
8-
9-
export type JsonValue = Primitive | JsonObject | Arr;
7+
export type JsonValue = Primitive | JsonObject | JsonValue[];
108

119
export interface JsonObject {
1210
[member: string]: JsonValue;

packages/utilities/src/exponential_backoff.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ export class RetryableError extends Error {
1111
}
1212
}
1313

14-
// extend the error with added properties
15-
export interface RetryableError extends Error {}
16-
1714
export async function retryWithExpBackoff<T>(
1815
params: { func?: (...args: unknown[]) => T | Promise<T>, expBackoffMillis?: number, expBackoffMaxRepeats?: number } = {},
1916
): Promise<T> {

packages/utilities/src/utilities.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -413,18 +413,18 @@ interface Server {
413413
export function promisifyServerListen<T extends Server>(server: T) {
414414
return async (port: number) => {
415415
return new Promise<void>((resolve, reject) => {
416-
const onError = (err: Error) => {
416+
function removeListeners() {
417+
server.removeListener('error', onError);
418+
server.removeListener('listening', onListening);
419+
}
420+
function onError(err: Error) {
417421
removeListeners();
418422
reject(err);
419-
};
420-
const onListening = () => {
423+
}
424+
function onListening() {
421425
removeListeners();
422426
resolve();
423-
};
424-
const removeListeners = () => {
425-
server.removeListener('error', onError);
426-
server.removeListener('listening', onListening);
427-
};
427+
}
428428

429429
server.on('error', onError);
430430
server.on('listening', onListening);

0 commit comments

Comments
 (0)