refactor: upgrade to typescript-eslint v8

This commit is contained in:
Simon Chan 2024-08-03 17:26:57 +08:00
parent 6115266a87
commit 66a98f89ba
No known key found for this signature in database
GPG key ID: A8B69F750B9BCEDD
32 changed files with 278 additions and 180 deletions

View file

@ -41,7 +41,7 @@
"source-map-support": "^0.5.21"
},
"devDependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"@yume-chan/eslint-config": "workspace:^1.0.0",
"@yume-chan/tsconfig": "workspace:^1.0.0",
"prettier": "^3.3.3",

View file

@ -6,7 +6,7 @@ function openDatabase() {
return new Promise<IDBDatabase>((resolve, reject) => {
const request = indexedDB.open("Tango", 1);
request.onerror = () => {
reject(request.error);
reject(request.error!);
};
request.onupgradeneeded = () => {
const db = request.result;
@ -27,13 +27,13 @@ async function saveKey(key: Uint8Array): Promise<void> {
const store = transaction.objectStore("Authentication");
const putRequest = store.add(key);
putRequest.onerror = () => {
reject(putRequest.error);
reject(putRequest.error!);
};
putRequest.onsuccess = () => {
resolve();
};
transaction.onerror = () => {
reject(transaction.error);
reject(transaction.error!);
};
transaction.oncomplete = () => {
db.close();
@ -49,13 +49,13 @@ async function getAllKeys() {
const store = transaction.objectStore("Authentication");
const getRequest = store.getAll();
getRequest.onerror = () => {
reject(getRequest.error);
reject(getRequest.error!);
};
getRequest.onsuccess = () => {
resolve(getRequest.result as Uint8Array[]);
};
transaction.onerror = () => {
reject(transaction.error);
reject(transaction.error!);
};
transaction.oncomplete = () => {
db.close();

View file

@ -38,7 +38,7 @@
"@yume-chan/struct": "workspace:^0.0.24"
},
"devDependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"@yume-chan/eslint-config": "workspace:^1.0.0",
"@yume-chan/test-runner": "workspace:^1.0.0",
"@yume-chan/tsconfig": "workspace:^1.0.0",

View file

@ -110,7 +110,7 @@ export class AdbScrcpyForwardConnection extends AdbScrcpyConnection {
};
}
return stream;
} catch (e) {
} catch {
// Maybe the server is still starting
await delay(100);
}

View file

@ -37,7 +37,7 @@
"@yume-chan/struct": "workspace:^0.0.24"
},
"devDependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"@yume-chan/eslint-config": "workspace:^1.0.0",
"@yume-chan/tsconfig": "workspace:^1.0.0",
"prettier": "^3.3.3",

View file

@ -5,6 +5,7 @@ import type { AdbIncomingSocketHandler, AdbServerClient } from "@yume-chan/adb";
import {
MaybeConsumable,
PushReadableStream,
tryClose,
WrapWritableStream,
WritableStream,
} from "@yume-chan/stream-extra";
@ -32,11 +33,7 @@ function nodeSocketToConnection(
socket.resume();
});
socket.on("end", () => {
try {
controller.close();
} catch (e) {
// controller already closed
}
tryClose(controller);
});
}),
writable: new WritableStream<Uint8Array>({

View file

@ -39,7 +39,7 @@
"@yume-chan/struct": "workspace:^0.0.24"
},
"devDependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"@yume-chan/eslint-config": "workspace:^1.0.0",
"@yume-chan/test-runner": "workspace:^1.0.0",
"@yume-chan/tsconfig": "workspace:^1.0.0",

View file

@ -117,7 +117,7 @@ export class AdbSync extends AutoDisposable {
try {
await this.lstat(path + "/");
return true;
} catch (e) {
} catch {
return false;
}
}

View file

@ -334,7 +334,7 @@ export class AdbPacketDispatcher implements Closeable {
remoteId,
this.options.initialDelayedAckBytes,
);
} catch (e) {
} catch {
await this.sendPacket(
AdbCommand.Close,
0,

View file

@ -11,6 +11,8 @@ import {
BufferedReadableStream,
MaybeConsumable,
WrapWritableStream,
tryCancel,
tryClose,
} from "@yume-chan/stream-extra";
import type { ValueOrPromise } from "@yume-chan/struct";
import {
@ -23,12 +25,7 @@ import {
import type { AdbIncomingSocketHandler, AdbSocket, Closeable } from "../adb.js";
import { AdbBanner } from "../banner.js";
import type { AdbFeature } from "../features.js";
import {
NOOP,
hexToNumber,
sequenceEqual,
write4HexDigits,
} from "../utils/index.js";
import { hexToNumber, sequenceEqual, write4HexDigits } from "../utils/index.js";
import { AdbServerTransport } from "./transport.js";
@ -123,8 +120,8 @@ class AdbServerStream {
}
async dispose() {
await this.#buffered.cancel().catch(NOOP);
await this.#writer.close().catch(NOOP);
void tryCancel(this.#buffered);
void tryClose(this.#writer);
await this.#connection.close();
}
}

View file

@ -1,10 +1,10 @@
{
"references": [
{
"path": "./tsconfig.build.json"
"path": "./tsconfig.test.json"
},
{
"path": "./tsconfig.test.json"
"path": "./tsconfig.build.json"
}
]
}

View file

@ -37,7 +37,7 @@
"@yume-chan/struct": "workspace:^0.0.24"
},
"devDependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"@yume-chan/eslint-config": "workspace:^1.0.0",
"@yume-chan/test-runner": "workspace:^1.0.0",
"@yume-chan/tsconfig": "workspace:^1.0.0",

View file

@ -185,7 +185,7 @@ export class BugReport extends AdbCommandBase {
*/
async bugReportZ(options?: BugReportZOptions): Promise<string> {
if (options?.signal?.aborted) {
throw options?.signal.reason ?? new Error("Aborted");
throw options?.signal.reason as Error;
}
if (!this.#supportsBugReportZ) {

View file

@ -93,7 +93,7 @@ export const p = {
const result = format.stringify(value);
// Parse the result to make sure it is valid
format.parse({ value: result, position: 0 });
} catch (e) {
} catch {
// ignore
}
}
@ -141,7 +141,7 @@ export const p = {
while (true) {
try {
result.push(format.parse(reader));
} catch (e) {
} catch {
break;
}
}

View file

@ -36,7 +36,7 @@
"@yume-chan/async": "^2.2.0"
},
"devDependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"@yume-chan/eslint-config": "workspace:^1.0.0",
"@yume-chan/test-runner": "workspace:^1.0.0",
"@yume-chan/tsconfig": "workspace:^1.0.0",

View file

@ -31,6 +31,6 @@
"gh-release-fetch": "^4.0.3"
},
"devDependencies": {
"@types/node": "^20.14.12"
"@types/node": "^22.1.0"
}
}

View file

@ -30,12 +30,12 @@
"test": "run-test"
},
"devDependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"@yume-chan/eslint-config": "workspace:^1.0.0",
"@yume-chan/test-runner": "workspace:^1.0.0",
"@yume-chan/tsconfig": "workspace:^1.0.0",
"prettier": "^3.3.3",
"tinybench": "^2.8.0",
"tinybench": "^2.9.0",
"typescript": "^5.5.4"
}
}

View file

@ -30,7 +30,7 @@
"prepublishOnly": "npm run build"
},
"devDependencies": {
"@types/audioworklet": "^0.0.57",
"@types/audioworklet": "^0.0.58",
"@yume-chan/eslint-config": "workspace:^1.0.0",
"@yume-chan/tsconfig": "workspace:^1.0.0",
"prettier": "^3.3.3",

View file

@ -39,7 +39,7 @@
"@yume-chan/struct": "workspace:^0.0.24"
},
"devDependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"@yume-chan/eslint-config": "workspace:^1.0.0",
"@yume-chan/test-runner": "workspace:^1.0.0",
"@yume-chan/tsconfig": "workspace:^1.0.0",

View file

@ -81,7 +81,7 @@ export class ScrcpyOptions1_21 extends ScrcpyOptions<ScrcpyOptionsInit1_21> {
}
}
#deviceMessageError: unknown;
#deviceMessageError: Error | undefined;
override async parseDeviceMessage(
id: number,
@ -97,12 +97,12 @@ export class ScrcpyOptions1_21 extends ScrcpyOptions<ScrcpyOptionsInit1_21> {
break;
}
} catch (e) {
this.#deviceMessageError = e;
this.#deviceMessageError = e as Error;
throw e;
}
}
override async endDeviceMessageStream(e?: unknown): Promise<void> {
override async endDeviceMessageStream(e?: Error): Promise<void> {
await super.endDeviceMessageStream(e);
this.#deviceMessageError ??=
e ?? new Error("Device message stream ended");

View file

@ -36,7 +36,7 @@
"@yume-chan/struct": "workspace:^0.0.24"
},
"devDependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"@yume-chan/eslint-config": "workspace:^1.0.0",
"@yume-chan/test-runner": "workspace:^1.0.0",
"@yume-chan/tsconfig": "workspace:^1.0.0",

View file

@ -3,10 +3,7 @@ import { ExactReadableEndedError } from "@yume-chan/struct";
import { PushReadableStream } from "./push-readable.js";
import type { ReadableStream, ReadableStreamDefaultReader } from "./stream.js";
const NOOP = () => {
// no-op
};
import { tryCancel } from "./try-close.js";
export class BufferedReadableStream implements AsyncExactReadable {
#buffered: Uint8Array | undefined;
@ -133,8 +130,7 @@ export class BufferedReadableStream implements AsyncExactReadable {
await controller.enqueue(buffered);
controller.abortSignal.addEventListener("abort", () => {
// NOOP: the reader might already be released
this.reader.cancel().catch(NOOP);
void tryCancel(this.reader);
});
// Manually pipe the stream

View file

@ -8,6 +8,7 @@ import type {
WritableStreamDefaultWriter,
} from "./stream.js";
import { WritableStream } from "./stream.js";
import { tryClose } from "./try-close.js";
import { WrapReadableStream } from "./wrap-readable.js";
const NOOP = () => {
@ -134,11 +135,7 @@ export class DuplexStreamFactory<R, W> {
this.#closed.resolve();
for (const controller of this.#readableControllers) {
try {
controller.close();
} catch {
// ignore
}
tryClose(controller);
}
await this.#options.dispose?.();

View file

@ -14,5 +14,6 @@ export * from "./stream.js";
export * from "./struct-deserialize.js";
export * from "./struct-serialize.js";
export * from "./task.js";
export * from "./try-close.js";
export * from "./wrap-readable.js";
export * from "./wrap-writable.js";

View file

@ -0,0 +1,44 @@
import type { BufferedReadableStream } from "./buffered.js";
import type { PushReadableStreamController } from "./push-readable.js";
import type {
ReadableStream,
ReadableStreamDefaultController,
ReadableStreamDefaultReader,
WritableStreamDefaultWriter,
} from "./stream.js";
export function tryClose(
controller: PushReadableStreamController<unknown>,
): boolean;
export function tryClose(
controller: ReadableStreamDefaultController<unknown>,
): boolean;
export function tryClose(writer: WritableStreamDefaultWriter<never>): boolean;
export function tryClose(controller: { close(): void }) {
try {
controller.close();
return true;
} catch {
return false;
}
}
export async function tryCancel(
stream: ReadableStream<unknown>,
): Promise<boolean>;
export async function tryCancel(
stream: BufferedReadableStream,
): Promise<boolean>;
export async function tryCancel(
reader: ReadableStreamDefaultReader<unknown>,
): Promise<boolean>;
export async function tryCancel(stream: {
cancel(): Promise<void>;
}): Promise<boolean> {
try {
await stream.cancel();
return true;
} catch {
return false;
}
}

View file

@ -37,7 +37,7 @@
"@yume-chan/no-data-view": "workspace:^0.0.24"
},
"devDependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"@yume-chan/eslint-config": "workspace:^1.0.0",
"@yume-chan/test-runner": "workspace:^1.0.0",
"@yume-chan/tsconfig": "workspace:^1.0.0",

View file

@ -61,12 +61,14 @@ export function placeholder<T>(): T {
// But using top level await to load them requires Node.js 14.1.
// So there is no point to do that. Let's just assume they exist in global.
// eslint-disable-next-line @typescript-eslint/no-unused-vars
declare class TextEncoderType {
constructor();
encode(input: string): Uint8Array;
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
declare class TextDecoderType {
constructor();

305
pnpm-lock.yaml generated
View file

@ -34,8 +34,8 @@ importers:
version: 0.5.21
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
'@yume-chan/eslint-config':
specifier: workspace:^1.0.0
version: link:../../toolchain/eslint-config
@ -68,8 +68,8 @@ importers:
version: link:../struct
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
'@yume-chan/eslint-config':
specifier: workspace:^1.0.0
version: link:../../toolchain/eslint-config
@ -121,8 +121,8 @@ importers:
version: link:../struct
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
'@yume-chan/eslint-config':
specifier: workspace:^1.0.0
version: link:../../toolchain/eslint-config
@ -186,8 +186,8 @@ importers:
version: link:../struct
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
'@yume-chan/eslint-config':
specifier: workspace:^1.0.0
version: link:../../toolchain/eslint-config
@ -214,8 +214,8 @@ importers:
version: link:../struct
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
'@yume-chan/eslint-config':
specifier: workspace:^1.0.0
version: link:../../toolchain/eslint-config
@ -258,8 +258,8 @@ importers:
version: 2.2.0
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
'@yume-chan/eslint-config':
specifier: workspace:^1.0.0
version: link:../../toolchain/eslint-config
@ -283,14 +283,14 @@ importers:
version: 4.0.3
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
libraries/no-data-view:
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
'@yume-chan/eslint-config':
specifier: workspace:^1.0.0
version: link:../../toolchain/eslint-config
@ -304,8 +304,8 @@ importers:
specifier: ^3.3.3
version: 3.3.3
tinybench:
specifier: ^2.8.0
version: 2.8.0
specifier: ^2.9.0
version: 2.9.0
typescript:
specifier: ^5.5.4
version: 5.5.4
@ -313,8 +313,8 @@ importers:
libraries/pcm-player:
devDependencies:
'@types/audioworklet':
specifier: ^0.0.57
version: 0.0.57
specifier: ^0.0.58
version: 0.0.58
'@yume-chan/eslint-config':
specifier: workspace:^1.0.0
version: link:../../toolchain/eslint-config
@ -344,8 +344,8 @@ importers:
version: link:../struct
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
'@yume-chan/eslint-config':
specifier: workspace:^1.0.0
version: link:../../toolchain/eslint-config
@ -440,8 +440,8 @@ importers:
version: link:../struct
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
'@yume-chan/eslint-config':
specifier: workspace:^1.0.0
version: link:../../toolchain/eslint-config
@ -465,8 +465,8 @@ importers:
version: link:../no-data-view
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
'@yume-chan/eslint-config':
specifier: workspace:^1.0.0
version: link:../../toolchain/eslint-config
@ -486,23 +486,23 @@ importers:
toolchain/eslint-config:
dependencies:
'@eslint/js':
specifier: ^9.7.0
version: 9.7.0
specifier: ^9.8.0
version: 9.8.0
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
eslint:
specifier: ^9.7.0
version: 9.7.0
specifier: ^9.8.0
version: 9.8.0
eslint-plugin-import-x:
specifier: ^3.1.0
version: 3.1.0(eslint@9.7.0)(typescript@5.5.4)
version: 3.1.0(eslint@9.8.0)(typescript@5.5.4)
typescript:
specifier: ^5.5.4
version: 5.5.4
typescript-eslint:
specifier: ^7.17.0
version: 7.17.0(eslint@9.7.0)(typescript@5.5.4)
specifier: ^8.0.0
version: 8.0.0(eslint@9.8.0)(typescript@5.5.4)
devDependencies:
prettier:
specifier: ^3.3.3
@ -511,8 +511,8 @@ importers:
toolchain/package-lint:
dependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
json5:
specifier: ^2.2.3
version: 2.2.3
@ -520,8 +520,8 @@ importers:
toolchain/test-runner:
devDependencies:
'@types/node':
specifier: ^20.14.12
version: 20.14.12
specifier: ^22.1.0
version: 22.1.0
typescript:
specifier: ^5.5.4
version: 5.5.4
@ -603,16 +603,16 @@ packages:
resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
'@eslint/config-array@0.17.0':
resolution: {integrity: sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==}
'@eslint/config-array@0.17.1':
resolution: {integrity: sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/eslintrc@3.1.0':
resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.7.0':
resolution: {integrity: sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==}
'@eslint/js@9.8.0':
resolution: {integrity: sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.4':
@ -656,8 +656,8 @@ packages:
'@tokenizer/token@0.3.0':
resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==}
'@types/audioworklet@0.0.57':
resolution: {integrity: sha512-Qnza35nR2dXWeQO/O79QVaicqVtzGdnuy89ZkBqCUMQtYrYj+71MA2MWo65rsT1P7sNKHWHeQQHg5ILFaJjMxw==}
'@types/audioworklet@0.0.58':
resolution: {integrity: sha512-uHlows3ykQFfxDdMEcLChlCtVI63OvKCKNViOc7pOeyS8JqqjuzAPcp4Yo2QopnEH4Rh54vLauQZKJRgnrBG/A==}
'@types/http-cache-semantics@4.0.4':
resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
@ -665,8 +665,8 @@ packages:
'@types/node@12.20.55':
resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
'@types/node@20.14.12':
resolution: {integrity: sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==}
'@types/node@22.1.0':
resolution: {integrity: sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==}
'@types/semver@7.5.8':
resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
@ -674,22 +674,22 @@ packages:
'@types/w3c-web-usb@1.0.10':
resolution: {integrity: sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ==}
'@typescript-eslint/eslint-plugin@7.17.0':
resolution: {integrity: sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/eslint-plugin@8.0.0':
resolution: {integrity: sha512-STIZdwEQRXAHvNUS6ILDf5z3u95Gc8jzywunxSNqX00OooIemaaNIA0vEgynJlycL5AjabYLLrIyHd4iazyvtg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^7.0.0
eslint: ^8.56.0
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
eslint: ^8.57.0 || ^9.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
'@typescript-eslint/parser@7.17.0':
resolution: {integrity: sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/parser@8.0.0':
resolution: {integrity: sha512-pS1hdZ+vnrpDIxuFXYQpLTILglTjSYJ9MbetZctrUawogUsPdz31DIIRZ9+rab0LhYNTsk88w4fIzVheiTbWOQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.56.0
eslint: ^8.57.0 || ^9.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
@ -699,11 +699,14 @@ packages:
resolution: {integrity: sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/type-utils@7.17.0':
resolution: {integrity: sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/scope-manager@8.0.0':
resolution: {integrity: sha512-V0aa9Csx/ZWWv2IPgTfY7T4agYwJyILESu/PVqFtTFz9RIS823mAze+NbnBI8xiwdX3iqeQbcTYlvB04G9wyQw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/type-utils@8.0.0':
resolution: {integrity: sha512-mJAFP2mZLTBwAn5WI4PMakpywfWFH5nQZezUQdSKV23Pqo6o9iShQg1hP2+0hJJXP2LnZkWPphdIq4juYYwCeg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
@ -713,6 +716,10 @@ packages:
resolution: {integrity: sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/types@8.0.0':
resolution: {integrity: sha512-wgdSGs9BTMWQ7ooeHtu5quddKKs5Z5dS+fHLbrQI+ID0XWJLODGMHRfhwImiHoeO2S5Wir2yXuadJN6/l4JRxw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/typescript-estree@7.17.0':
resolution: {integrity: sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==}
engines: {node: ^18.18.0 || >=20.0.0}
@ -722,16 +729,35 @@ packages:
typescript:
optional: true
'@typescript-eslint/typescript-estree@8.0.0':
resolution: {integrity: sha512-5b97WpKMX+Y43YKi4zVcCVLtK5F98dFls3Oxui8LbnmRsseKenbbDinmvxrWegKDMmlkIq/XHuyy0UGLtpCDKg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
'@typescript-eslint/utils@7.17.0':
resolution: {integrity: sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
'@typescript-eslint/utils@8.0.0':
resolution: {integrity: sha512-k/oS/A/3QeGLRvOWCg6/9rATJL5rec7/5s1YmdS0ZU6LHveJyGFwBvLhSRBv6i9xaj7etmosp+l+ViN1I9Aj/Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
'@typescript-eslint/visitor-keys@7.17.0':
resolution: {integrity: sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==}
engines: {node: ^18.18.0 || >=20.0.0}
'@typescript-eslint/visitor-keys@8.0.0':
resolution: {integrity: sha512-oN0K4nkHuOyF3PVMyETbpP5zp6wfyOvm7tWhTMfoqxSSsPmJIh6JNASuZDlODE8eE+0EB9uar+6+vxr9DBTYOA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@xhmikosr/archive-type@6.0.1':
resolution: {integrity: sha512-PB3NeJL8xARZt52yDBupK0dNPn8uIVQDe15qNehUpoeeLWCZyAOam4vGXnoZGz2N9D1VXtjievJuCsXam2TmbQ==}
engines: {node: ^14.14.0 || >=16.0.0}
@ -910,8 +936,8 @@ packages:
supports-color:
optional: true
debug@4.3.5:
resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==}
debug@4.3.6:
resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
@ -979,8 +1005,8 @@ packages:
resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint@9.7.0:
resolution: {integrity: sha512-FzJ9D/0nGiCGBf8UXO/IGLTgLVzIxze1zpfA8Ton2mjLovXdAPlYDv+MQDcqj3TmrhAGYfOpz9RfR+ent0AgAw==}
eslint@9.8.0:
resolution: {integrity: sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
@ -1642,8 +1668,8 @@ packages:
through@2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
tinybench@2.8.0:
resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==}
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
tinyh264@0.0.7:
resolution: {integrity: sha512-etkBRgYkSFBdAi2Cqk4sZgi+xWs/vhzNgvjO3z2i4WILeEmORiNqxuQ4URJatrWQ9LPNV3WPWAtzsh/LA/XL/g==}
@ -1677,11 +1703,10 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
typescript-eslint@7.17.0:
resolution: {integrity: sha512-spQxsQvPguduCUfyUvLItvKqK3l8KJ/kqs5Pb/URtzQ5AC53Z6us32St37rpmlt2uESG23lOFpV4UErrmy4dZQ==}
engines: {node: ^18.18.0 || >=20.0.0}
typescript-eslint@8.0.0:
resolution: {integrity: sha512-yQWBJutWL1PmpmDddIOl9/Mi6vZjqNCjqSGBMQ4vsc2Aiodk0SnbQQWPXbSy0HNuKCuGkw1+u4aQ2mO40TdhDQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
@ -1695,8 +1720,8 @@ packages:
unbzip2-stream@1.4.3:
resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==}
undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
undici-types@6.13.0:
resolution: {integrity: sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==}
universalify@0.1.2:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
@ -1907,17 +1932,17 @@ snapshots:
human-id: 1.0.2
prettier: 2.8.8
'@eslint-community/eslint-utils@4.4.0(eslint@9.7.0)':
'@eslint-community/eslint-utils@4.4.0(eslint@9.8.0)':
dependencies:
eslint: 9.7.0
eslint: 9.8.0
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.11.0': {}
'@eslint/config-array@0.17.0':
'@eslint/config-array@0.17.1':
dependencies:
'@eslint/object-schema': 2.1.4
debug: 4.3.5
debug: 4.3.6
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@ -1925,7 +1950,7 @@ snapshots:
'@eslint/eslintrc@3.1.0':
dependencies:
ajv: 6.12.6
debug: 4.3.5
debug: 4.3.6
espree: 10.1.0
globals: 14.0.0
ignore: 5.3.1
@ -1936,7 +1961,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@eslint/js@9.7.0': {}
'@eslint/js@9.8.0': {}
'@eslint/object-schema@2.1.4': {}
@ -1980,29 +2005,29 @@ snapshots:
'@tokenizer/token@0.3.0': {}
'@types/audioworklet@0.0.57': {}
'@types/audioworklet@0.0.58': {}
'@types/http-cache-semantics@4.0.4': {}
'@types/node@12.20.55': {}
'@types/node@20.14.12':
'@types/node@22.1.0':
dependencies:
undici-types: 5.26.5
undici-types: 6.13.0
'@types/semver@7.5.8': {}
'@types/w3c-web-usb@1.0.10': {}
'@typescript-eslint/eslint-plugin@7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.7.0)(typescript@5.5.4))(eslint@9.7.0)(typescript@5.5.4)':
'@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@eslint-community/regexpp': 4.11.0
'@typescript-eslint/parser': 7.17.0(eslint@9.7.0)(typescript@5.5.4)
'@typescript-eslint/scope-manager': 7.17.0
'@typescript-eslint/type-utils': 7.17.0(eslint@9.7.0)(typescript@5.5.4)
'@typescript-eslint/utils': 7.17.0(eslint@9.7.0)(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 7.17.0
eslint: 9.7.0
'@typescript-eslint/parser': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
'@typescript-eslint/scope-manager': 8.0.0
'@typescript-eslint/type-utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
'@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 8.0.0
eslint: 9.8.0
graphemer: 1.4.0
ignore: 5.3.1
natural-compare: 1.4.0
@ -2012,14 +2037,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@7.17.0(eslint@9.7.0)(typescript@5.5.4)':
'@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@typescript-eslint/scope-manager': 7.17.0
'@typescript-eslint/types': 7.17.0
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 7.17.0
debug: 4.3.5
eslint: 9.7.0
'@typescript-eslint/scope-manager': 8.0.0
'@typescript-eslint/types': 8.0.0
'@typescript-eslint/typescript-estree': 8.0.0(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 8.0.0
debug: 4.3.6
eslint: 9.8.0
optionalDependencies:
typescript: 5.5.4
transitivePeerDependencies:
@ -2030,25 +2055,32 @@ snapshots:
'@typescript-eslint/types': 7.17.0
'@typescript-eslint/visitor-keys': 7.17.0
'@typescript-eslint/type-utils@7.17.0(eslint@9.7.0)(typescript@5.5.4)':
'@typescript-eslint/scope-manager@8.0.0':
dependencies:
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.5.4)
'@typescript-eslint/utils': 7.17.0(eslint@9.7.0)(typescript@5.5.4)
debug: 4.3.5
eslint: 9.7.0
'@typescript-eslint/types': 8.0.0
'@typescript-eslint/visitor-keys': 8.0.0
'@typescript-eslint/type-utils@8.0.0(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@typescript-eslint/typescript-estree': 8.0.0(typescript@5.5.4)
'@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
debug: 4.3.6
ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
typescript: 5.5.4
transitivePeerDependencies:
- eslint
- supports-color
'@typescript-eslint/types@7.17.0': {}
'@typescript-eslint/types@8.0.0': {}
'@typescript-eslint/typescript-estree@7.17.0(typescript@5.5.4)':
dependencies:
'@typescript-eslint/types': 7.17.0
'@typescript-eslint/visitor-keys': 7.17.0
debug: 4.3.5
debug: 4.3.6
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.5
@ -2059,13 +2091,39 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@7.17.0(eslint@9.7.0)(typescript@5.5.4)':
'@typescript-eslint/typescript-estree@8.0.0(typescript@5.5.4)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0)
'@typescript-eslint/types': 8.0.0
'@typescript-eslint/visitor-keys': 8.0.0
debug: 4.3.6
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
typescript: 5.5.4
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@7.17.0(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
'@typescript-eslint/scope-manager': 7.17.0
'@typescript-eslint/types': 7.17.0
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.5.4)
eslint: 9.7.0
eslint: 9.8.0
transitivePeerDependencies:
- supports-color
- typescript
'@typescript-eslint/utils@8.0.0(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
'@typescript-eslint/scope-manager': 8.0.0
'@typescript-eslint/types': 8.0.0
'@typescript-eslint/typescript-estree': 8.0.0(typescript@5.5.4)
eslint: 9.8.0
transitivePeerDependencies:
- supports-color
- typescript
@ -2075,6 +2133,11 @@ snapshots:
'@typescript-eslint/types': 7.17.0
eslint-visitor-keys: 3.4.3
'@typescript-eslint/visitor-keys@8.0.0':
dependencies:
'@typescript-eslint/types': 8.0.0
eslint-visitor-keys: 3.4.3
'@xhmikosr/archive-type@6.0.1':
dependencies:
file-type: 18.7.0
@ -2269,7 +2332,7 @@ snapshots:
dependencies:
ms: 2.1.3
debug@4.3.5:
debug@4.3.6:
dependencies:
ms: 2.1.2
@ -2310,12 +2373,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-plugin-import-x@3.1.0(eslint@9.7.0)(typescript@5.5.4):
eslint-plugin-import-x@3.1.0(eslint@9.8.0)(typescript@5.5.4):
dependencies:
'@typescript-eslint/utils': 7.17.0(eslint@9.7.0)(typescript@5.5.4)
debug: 4.3.5
'@typescript-eslint/utils': 7.17.0(eslint@9.8.0)(typescript@5.5.4)
debug: 4.3.6
doctrine: 3.0.0
eslint: 9.7.0
eslint: 9.8.0
eslint-import-resolver-node: 0.3.9
get-tsconfig: 4.7.6
is-glob: 4.0.3
@ -2336,20 +2399,20 @@ snapshots:
eslint-visitor-keys@4.0.0: {}
eslint@9.7.0:
eslint@9.8.0:
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
'@eslint-community/regexpp': 4.11.0
'@eslint/config-array': 0.17.0
'@eslint/config-array': 0.17.1
'@eslint/eslintrc': 3.1.0
'@eslint/js': 9.7.0
'@eslint/js': 9.8.0
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.3.0
'@nodelib/fs.walk': 1.2.8
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
debug: 4.3.5
debug: 4.3.6
escape-string-regexp: 4.0.0
eslint-scope: 8.0.2
eslint-visitor-keys: 4.0.0
@ -2968,7 +3031,7 @@ snapshots:
through@2.3.8: {}
tinybench@2.8.0: {}
tinybench@2.9.0: {}
tinyh264@0.0.7: {}
@ -2999,15 +3062,15 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
typescript-eslint@7.17.0(eslint@9.7.0)(typescript@5.5.4):
typescript-eslint@8.0.0(eslint@9.8.0)(typescript@5.5.4):
dependencies:
'@typescript-eslint/eslint-plugin': 7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.7.0)(typescript@5.5.4))(eslint@9.7.0)(typescript@5.5.4)
'@typescript-eslint/parser': 7.17.0(eslint@9.7.0)(typescript@5.5.4)
'@typescript-eslint/utils': 7.17.0(eslint@9.7.0)(typescript@5.5.4)
eslint: 9.7.0
'@typescript-eslint/eslint-plugin': 8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)
'@typescript-eslint/parser': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
'@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
optionalDependencies:
typescript: 5.5.4
transitivePeerDependencies:
- eslint
- supports-color
typescript@5.5.4: {}
@ -3017,7 +3080,7 @@ snapshots:
buffer: 5.7.1
through: 2.3.8
undici-types@5.26.5: {}
undici-types@6.13.0: {}
universalify@0.1.2: {}

View file

@ -32,6 +32,7 @@ export default tslint.config(
languageOptions: {
parserOptions: {
tsconfigRootDir: root,
projectService: true,
project: [
"libraries/*/tsconfig.test.json",
"libraries/*/tsconfig.build.json",

View file

@ -8,12 +8,12 @@
"run-eslint": "run-eslint.js"
},
"dependencies": {
"@eslint/js": "^9.7.0",
"@types/node": "^20.14.12",
"eslint": "^9.7.0",
"@eslint/js": "^9.8.0",
"@types/node": "^22.1.0",
"eslint": "^9.8.0",
"eslint-plugin-import-x": "^3.1.0",
"typescript": "^5.5.4",
"typescript-eslint": "^7.17.0"
"typescript-eslint": "^8.0.0"
},
"devDependencies": {
"prettier": "^3.3.3"

View file

@ -7,7 +7,7 @@
"scripts": {},
"keywords": [],
"dependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"json5": "^2.2.3"
},
"author": "",

View file

@ -6,7 +6,7 @@
"run-test": "wrapper.js"
},
"devDependencies": {
"@types/node": "^20.14.12",
"@types/node": "^22.1.0",
"typescript": "^5.5.4"
}
}