diff --git a/apps/cli/package.json b/apps/cli/package.json index b9104b2c..be48f808 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -41,7 +41,7 @@ "source-map-support": "^0.5.21" }, "devDependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", diff --git a/libraries/adb-credential-web/src/index.ts b/libraries/adb-credential-web/src/index.ts index dd992c4a..0aaa5921 100644 --- a/libraries/adb-credential-web/src/index.ts +++ b/libraries/adb-credential-web/src/index.ts @@ -63,6 +63,12 @@ async function getAllKeys() { }); } +/** + * An `AdbCredentialStore` implementation that creates RSA private keys using Web Crypto API + * and stores them in IndexedDB. + * + * [Online Documentation](https://docs.tangoapp.dev/tango/daemon/credential-store/) + */ export default class AdbWebCredentialStore implements AdbCredentialStore { #appName: string; diff --git a/libraries/adb-daemon-webusb/package.json b/libraries/adb-daemon-webusb/package.json index 8d9038e6..83eb37c1 100644 --- a/libraries/adb-daemon-webusb/package.json +++ b/libraries/adb-daemon-webusb/package.json @@ -38,7 +38,7 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/test-runner": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", diff --git a/libraries/adb-daemon-webusb/src/device.ts b/libraries/adb-daemon-webusb/src/device.ts index 6595bdf9..e4e0c0dc 100644 --- a/libraries/adb-daemon-webusb/src/device.ts +++ b/libraries/adb-daemon-webusb/src/device.ts @@ -343,8 +343,9 @@ export class AdbDaemonWebUsbDevice implements AdbDaemonDevice { } /** - * Claim the device and create a pair of `AdbPacket` streams to the ADB interface. - * @returns The pair of `AdbPacket` streams. + * Open the device and create a new connection to the ADB Daemon. + * + * [Online Documentation](https://docs.tangoapp.dev/tango/daemon/usb/create-connection/) */ async connect(): Promise { const [inEndpoint, outEndpoint] = await this.#claimInterface(); diff --git a/libraries/adb-daemon-webusb/src/manager.ts b/libraries/adb-daemon-webusb/src/manager.ts index 75d2f218..ac5ef42f 100644 --- a/libraries/adb-daemon-webusb/src/manager.ts +++ b/libraries/adb-daemon-webusb/src/manager.ts @@ -12,6 +12,9 @@ export namespace AdbDaemonWebUsbDeviceManager { } } +/** + * [Online Documentation](https://docs.tangoapp.dev/tango/daemon/usb/device-manager/) + */ export class AdbDaemonWebUsbDeviceManager { /** * Gets the instance of {@link AdbDaemonWebUsbDeviceManager} using browser WebUSB implementation. @@ -35,17 +38,9 @@ export class AdbDaemonWebUsbDeviceManager { } /** - * Request access to a connected device. - * This is a convince method for `usb.requestDevice()`. - * @param filters - * The filters to apply to the device list. + * Call `USB#requestDevice()` to prompt the user to select a device. * - * It must have `classCode`, `subclassCode` and `protocolCode` fields for selecting the ADB interface, - * but might also have `vendorId`, `productId` or `serialNumber` fields to limit the displayed device list. - * - * Defaults to {@link ADB_DEFAULT_INTERFACE_FILTER}. - * @returns An {@link AdbDaemonWebUsbDevice} instance if the user selected a device, - * or `undefined` if the user cancelled the device picker. + * [Online Documentation](https://docs.tangoapp.dev/tango/daemon/usb/request-device/) */ async requestDevice( options: AdbDaemonWebUsbDeviceManager.RequestDeviceOptions = {}, @@ -69,16 +64,9 @@ export class AdbDaemonWebUsbDeviceManager { } /** - * Get all connected and authenticated devices. - * This is a convince method for `usb.getDevices()`. - * @param filters - * The filters to apply to the device list. + * Get all connected and requested devices that match the specified filters. * - * It must have `classCode`, `subclassCode` and `protocolCode` fields for selecting the ADB interface, - * but might also have `vendorId`, `productId` or `serialNumber` fields to limit the device list. - * - * Defaults to {@link ADB_DEFAULT_INTERFACE_FILTER}. - * @returns An array of {@link AdbDaemonWebUsbDevice} instances for all connected and authenticated devices. + * [Online Documentation](https://docs.tangoapp.dev/tango/daemon/usb/get-devices/) */ getDevices( filters?: USBDeviceFilter[] | undefined, diff --git a/libraries/adb-daemon-webusb/src/watcher.ts b/libraries/adb-daemon-webusb/src/watcher.ts index 569e56c4..d7ab7bb1 100644 --- a/libraries/adb-daemon-webusb/src/watcher.ts +++ b/libraries/adb-daemon-webusb/src/watcher.ts @@ -1,3 +1,9 @@ +/** + * A watcher that listens for new WebUSB devices and notifies the callback when + * a new device is connected or disconnected. + * + * [Online Documentation](https://docs.tangoapp.dev/tango/daemon/usb/watch-devices/) + */ export class AdbDaemonWebUsbDeviceWatcher { #callback: (newDeviceSerial?: string) => void; #usbManager: USB; diff --git a/libraries/adb-server-node-tcp/package.json b/libraries/adb-server-node-tcp/package.json index e342a1e7..59b3b845 100644 --- a/libraries/adb-server-node-tcp/package.json +++ b/libraries/adb-server-node-tcp/package.json @@ -37,7 +37,7 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", diff --git a/libraries/adb-server-node-tcp/src/index.ts b/libraries/adb-server-node-tcp/src/index.ts index 426893af..2e3dfaee 100644 --- a/libraries/adb-server-node-tcp/src/index.ts +++ b/libraries/adb-server-node-tcp/src/index.ts @@ -37,8 +37,8 @@ function nodeSocketToConnection( }); }), writable: new WritableStream({ - write: async (chunk) => { - await new Promise((resolve, reject) => { + write: (chunk) => { + return new Promise((resolve, reject) => { socket.write(chunk, (err) => { if (err) { reject(err); @@ -58,6 +58,11 @@ function nodeSocketToConnection( }; } +/** + * An `AdbServerClient.ServerConnector` implementation for Node.js. + * + * [Online Documentation](https://docs.tangoapp.dev/tango/server/client/) + */ export class AdbServerNodeTcpConnector implements AdbServerClient.ServerConnector { diff --git a/libraries/adb/package.json b/libraries/adb/package.json index 1f0dbe60..8ba171fc 100644 --- a/libraries/adb/package.json +++ b/libraries/adb/package.json @@ -39,7 +39,7 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/test-runner": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", diff --git a/libraries/adb/src/adb.ts b/libraries/adb/src/adb.ts index a43ffe73..96c451e4 100644 --- a/libraries/adb/src/adb.ts +++ b/libraries/adb/src/adb.ts @@ -22,6 +22,11 @@ export interface Closeable { close(): ValueOrPromise; } +/** + * Represents an ADB socket. + * + * [Online Documentation](https://docs.tangoapp.dev/api/socket/) + */ export interface AdbSocket extends ReadableWritablePair>, Closeable { @@ -105,6 +110,11 @@ export class Adb implements Closeable { ); } + /** + * Creates a new ADB Socket to the specified service or socket address. + * + * [Online Documentation](https://docs.tangoapp.dev/api/socket/#forward-tunnel) + */ async createSocket(service: string): Promise { return this.transport.connect(service); } diff --git a/libraries/adb/src/commands/reverse.ts b/libraries/adb/src/commands/reverse.ts index 1f7619fa..d02404c1 100644 --- a/libraries/adb/src/commands/reverse.ts +++ b/libraries/adb/src/commands/reverse.ts @@ -89,6 +89,11 @@ export class AdbReverseCommand extends AutoDisposable { return stream; } + /** + * Get a list of all reverse port forwarding on the device. + * + * [Online Documentation](https://docs.tangoapp.dev/api/reverse/list/) + */ async list(): Promise { const stream = await this.createBufferedStream("reverse:list-forward"); @@ -107,10 +112,9 @@ export class AdbReverseCommand extends AutoDisposable { } /** - * Add an already existing reverse tunnel. Depends on the transport type, this may not do anything. - * @param deviceAddress The address to be listened on device by ADB daemon. Or `tcp:0` to choose an available TCP port. - * @param localAddress The address that listens on the local machine. - * @returns `tcp:{ACTUAL_LISTENING_PORT}`, If `deviceAddress` is `tcp:0`; otherwise, `deviceAddress`. + * Add a reverse port forwarding for a program that already listens on a port. + * + * [Online Documentation](https://docs.tangoapp.dev/api/reverse/add/#addexternal) */ async addExternal(deviceAddress: string, localAddress: string) { const stream = await this.sendRequest( @@ -143,12 +147,9 @@ export class AdbReverseCommand extends AutoDisposable { } /** - * @param deviceAddress The address to be listened on device by ADB daemon. Or `tcp:0` to choose an available TCP port. - * @param handler A callback to handle incoming connections. - * @param localAddressThe The address that listens on the local machine. May be `undefined` to let the transport choose an appropriate one. - * @returns `tcp:{ACTUAL_LISTENING_PORT}`, If `deviceAddress` is `tcp:0`; otherwise, `deviceAddress`. - * @throws {AdbReverseNotSupportedError} If ADB reverse tunnel is not supported on this device when connected wirelessly. - * @throws {AdbReverseError} If ADB daemon returns an error. + * Add a reverse port forwarding. + * + * [Online Documentation](https://docs.tangoapp.dev/api/reverse/add/) */ async add( deviceAddress: string, @@ -170,6 +171,11 @@ export class AdbReverseCommand extends AutoDisposable { } } + /** + * Remove a reverse port forwarding. + * + * [Online Documentation](https://docs.tangoapp.dev/api/reverse/remove/#remove-one-port-forwarding) + */ async remove(deviceAddress: string): Promise { const localAddress = this.#deviceAddressToLocalAddress.get(deviceAddress); @@ -182,6 +188,11 @@ export class AdbReverseCommand extends AutoDisposable { // No need to close the stream, device will close it } + /** + * Remove all reverse port forwarding, including the ones added by other programs. + * + * [Online Documentation](https://docs.tangoapp.dev/api/reverse/remove/#remove-all-port-forwardings) + */ async removeAll(): Promise { await this.adb.transport.clearReverseTunnels(); this.#deviceAddressToLocalAddress.clear(); diff --git a/libraries/adb/src/commands/sync/sync.ts b/libraries/adb/src/commands/sync/sync.ts index 10b360e3..ea417bf1 100644 --- a/libraries/adb/src/commands/sync/sync.ts +++ b/libraries/adb/src/commands/sync/sync.ts @@ -172,8 +172,8 @@ export class AdbSync extends AutoDisposable { return this._socket.lock(); } - override async dispose() { + override dispose() { super.dispose(); - await this._socket.close(); + void this._socket.close(); } } diff --git a/libraries/adb/src/daemon/transport.ts b/libraries/adb/src/daemon/transport.ts index 43306001..47eadb35 100644 --- a/libraries/adb/src/daemon/transport.ts +++ b/libraries/adb/src/daemon/transport.ts @@ -148,14 +148,16 @@ interface AdbDaemonSocketConnectorConstructionOptions { readTimeLimit?: number | undefined; } +/** + * An ADB Transport that connects to ADB Daemons directly. + * + * [Online Documentation](https://docs.tangoapp.dev/tango/daemon/) + */ export class AdbDaemonTransport implements AdbTransport { /** - * Authenticates the connection and creates an `AdbDaemonTransport` instance - * that can be used by `Adb` class. + * Authenticate with the ADB Daemon and create a new transport. * - * If an authentication process failed, - * no matter which value the `preserveConnection` option has, - * the `connection` is always kept open, so it can be used in another `authenticate` call. + * [Online Documentation](https://docs.tangoapp.dev/tango/daemon/connect-device/) */ static async authenticate({ serial, diff --git a/libraries/adb/src/server/client.ts b/libraries/adb/src/server/client.ts index 40783220..d2519bd5 100644 --- a/libraries/adb/src/server/client.ts +++ b/libraries/adb/src/server/client.ts @@ -126,6 +126,11 @@ class AdbServerStream { } } +/** + * Client for the ADB Server. + * + * [Online Documentation](https://docs.tangoapp.dev/tango/server/client/) + */ export class AdbServerClient { static readonly VERSION = 41; @@ -280,7 +285,11 @@ export class AdbServerClient { } /** - * `adb devices -l` + * Get a list of connected devices from ADB Server. + * + * Equivalent ADB Command: `adb devices -l` + * + * [Online Documentation](https://docs.tangoapp.dev/tango/server/devices/) */ async getDevices(): Promise { const connection = await this.createConnection("host:devices-l"); @@ -293,11 +302,9 @@ export class AdbServerClient { } /** - * Track the device list. + * Monitors device list changes. * - * @param signal An optional `AbortSignal` to stop tracking - * - * When `signal` is aborted, `trackDevices` will return normally, instead of throwing `signal.reason`. + * [Online Documentation](https://docs.tangoapp.dev/tango/server/watch/) */ async *trackDevices( signal?: AbortSignal, @@ -491,6 +498,11 @@ export class AdbServerClient { } } + /** + * Creates an ADB Transport for the specified device. + * + * [Online Documentation](https://docs.tangoapp.dev/tango/server/transport/) + */ async createTransport( device: AdbServerClient.DeviceSelector, ): Promise { @@ -579,6 +591,11 @@ export namespace AdbServerClient { transportId: bigint; } + /** + * A union type for selecting a device. + * + * [Online Documentation](https://docs.tangoapp.dev/tango/server/selector/) + */ export type DeviceSelector = | { transportId: bigint } | { serial: string } diff --git a/libraries/android-bin/package.json b/libraries/android-bin/package.json index 715fb5d1..88e9859a 100644 --- a/libraries/android-bin/package.json +++ b/libraries/android-bin/package.json @@ -37,7 +37,7 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/test-runner": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", diff --git a/libraries/event/package.json b/libraries/event/package.json index 82aa94c8..7af19dad 100644 --- a/libraries/event/package.json +++ b/libraries/event/package.json @@ -36,7 +36,7 @@ "@yume-chan/async": "^2.2.0" }, "devDependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/test-runner": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", diff --git a/libraries/fetch-scrcpy-server/package.json b/libraries/fetch-scrcpy-server/package.json index 26decd03..32808a1b 100644 --- a/libraries/fetch-scrcpy-server/package.json +++ b/libraries/fetch-scrcpy-server/package.json @@ -31,6 +31,6 @@ "gh-release-fetch": "^4.0.3" }, "devDependencies": { - "@types/node": "^22.2.0" + "@types/node": "^22.4.1" } } diff --git a/libraries/no-data-view/package.json b/libraries/no-data-view/package.json index b3975511..7ca08d43 100644 --- a/libraries/no-data-view/package.json +++ b/libraries/no-data-view/package.json @@ -30,7 +30,7 @@ "test": "run-test" }, "devDependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/test-runner": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", diff --git a/libraries/scrcpy/package.json b/libraries/scrcpy/package.json index 30100f44..63ebcd06 100644 --- a/libraries/scrcpy/package.json +++ b/libraries/scrcpy/package.json @@ -39,7 +39,7 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/test-runner": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", diff --git a/libraries/stream-extra/package.json b/libraries/stream-extra/package.json index 0211cff2..8f2043ba 100644 --- a/libraries/stream-extra/package.json +++ b/libraries/stream-extra/package.json @@ -36,7 +36,7 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/test-runner": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", diff --git a/libraries/struct/package.json b/libraries/struct/package.json index fcae18b8..c9a76fc5 100644 --- a/libraries/struct/package.json +++ b/libraries/struct/package.json @@ -37,7 +37,7 @@ "@yume-chan/no-data-view": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/test-runner": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a2347131..06e55bcf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -34,8 +34,8 @@ importers: version: 0.5.21 devDependencies: '@types/node': - specifier: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 '@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: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 '@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: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 '@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: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 '@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: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 '@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: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 '@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: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 libraries/no-data-view: devDependencies: '@types/node': - specifier: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 '@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: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 '@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: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 '@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: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -489,8 +489,8 @@ importers: specifier: ^9.9.0 version: 9.9.0 '@types/node': - specifier: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 eslint: specifier: ^9.9.0 version: 9.9.0 @@ -501,8 +501,8 @@ importers: specifier: ^5.5.4 version: 5.5.4 typescript-eslint: - specifier: ^8.0.1 - version: 8.0.1(eslint@9.9.0)(typescript@5.5.4) + specifier: ^8.2.0 + version: 8.2.0(eslint@9.9.0)(typescript@5.5.4) devDependencies: prettier: specifier: ^3.3.3 @@ -511,8 +511,8 @@ importers: toolchain/package-lint: dependencies: '@types/node': - specifier: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 json5: specifier: ^2.2.3 version: 2.2.3 @@ -520,8 +520,8 @@ importers: toolchain/test-runner: devDependencies: '@types/node': - specifier: ^22.2.0 - version: 22.2.0 + specifier: ^22.4.1 + version: 22.4.1 typescript: specifier: ^5.5.4 version: 5.5.4 @@ -665,8 +665,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.2.0': - resolution: {integrity: sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ==} + '@types/node@22.4.1': + resolution: {integrity: sha512-1tbpb9325+gPnKK0dMm+/LMriX0vKxf6RnB0SZUqfyVkQ4fMgUSySqhxE/y8Jvs4NyF1yHzTfG9KlnkIODxPKg==} '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -674,8 +674,8 @@ packages: '@types/w3c-web-usb@1.0.10': resolution: {integrity: sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ==} - '@typescript-eslint/eslint-plugin@8.0.1': - resolution: {integrity: sha512-5g3Y7GDFsJAnY4Yhvk8sZtFfV6YNF2caLzjrRPUBzewjPCaj0yokePB4LJSobyCzGMzjZZYFbwuzbfDHlimXbQ==} + '@typescript-eslint/eslint-plugin@8.2.0': + resolution: {integrity: sha512-02tJIs655em7fvt9gps/+4k4OsKULYGtLBPJfOsmOq1+3cdClYiF0+d6mHu6qDnTcg88wJBkcPLpQhq7FyDz0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -685,8 +685,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.0.1': - resolution: {integrity: sha512-5IgYJ9EO/12pOUwiBKFkpU7rS3IU21mtXzB81TNwq2xEybcmAZrE9qwDtsb5uQd9aVO9o0fdabFyAmKveXyujg==} + '@typescript-eslint/parser@8.2.0': + resolution: {integrity: sha512-j3Di+o0lHgPrb7FxL3fdEy6LJ/j2NE8u+AP/5cQ9SKb+JLH6V6UHDqJ+e0hXBkHP1wn1YDFjYCS9LBQsZDlDEg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -699,12 +699,12 @@ packages: resolution: {integrity: sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.0.1': - resolution: {integrity: sha512-NpixInP5dm7uukMiRyiHjRKkom5RIFA4dfiHvalanD2cF0CLUuQqxfg8PtEUo9yqJI2bBhF+pcSafqnG3UBnRQ==} + '@typescript-eslint/scope-manager@8.2.0': + resolution: {integrity: sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.0.1': - resolution: {integrity: sha512-+/UT25MWvXeDX9YaHv1IS6KI1fiuTto43WprE7pgSMswHbn1Jm9GEM4Txp+X74ifOWV8emu2AWcbLhpJAvD5Ng==} + '@typescript-eslint/type-utils@8.2.0': + resolution: {integrity: sha512-g1CfXGFMQdT5S+0PSO0fvGXUaiSkl73U1n9LTK5aRAFnPlJ8dLKkXr4AaLFvPedW8lVDoMgLLE3JN98ZZfsj0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -716,8 +716,8 @@ packages: resolution: {integrity: sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.0.1': - resolution: {integrity: sha512-PpqTVT3yCA/bIgJ12czBuE3iBlM3g4inRSC5J0QOdQFAn07TYrYEQBBKgXH1lQpglup+Zy6c1fxuwTk4MTNKIw==} + '@typescript-eslint/types@8.2.0': + resolution: {integrity: sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.17.0': @@ -729,8 +729,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.0.1': - resolution: {integrity: sha512-8V9hriRvZQXPWU3bbiUV4Epo7EvgM6RTs+sUmxp5G//dBGy402S7Fx0W0QkB2fb4obCF8SInoUzvTYtc3bkb5w==} + '@typescript-eslint/typescript-estree@8.2.0': + resolution: {integrity: sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -744,8 +744,8 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@8.0.1': - resolution: {integrity: sha512-CBFR0G0sCt0+fzfnKaciu9IBsKvEKYwN9UZ+eeogK1fYHg4Qxk1yf/wLQkLXlq8wbU2dFlgAesxt8Gi76E8RTA==} + '@typescript-eslint/utils@8.2.0': + resolution: {integrity: sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -754,8 +754,8 @@ packages: resolution: {integrity: sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.0.1': - resolution: {integrity: sha512-W5E+o0UfUcK5EgchLZsyVWqARmsM7v54/qEq6PY3YI5arkgmCzHiuk0zKSJJbm71V0xdRna4BGomkCTXz2/LkQ==} + '@typescript-eslint/visitor-keys@8.2.0': + resolution: {integrity: sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@xhmikosr/archive-type@6.0.1': @@ -1708,8 +1708,8 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.0.1: - resolution: {integrity: sha512-V3Y+MdfhawxEjE16dWpb7/IOgeXnLwAEEkS7v8oDqNcR1oYlqWhGH/iHqHdKVdpWme1VPZ0SoywXAkCqawj2eQ==} + typescript-eslint@8.2.0: + resolution: {integrity: sha512-DmnqaPcML0xYwUzgNbM1XaKXpEb7BShYf2P1tkUmmcl8hyeG7Pj08Er7R9bNy6AufabywzJcOybQAtnD/c9DGw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1725,8 +1725,8 @@ packages: unbzip2-stream@1.4.3: resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} - undici-types@6.13.0: - resolution: {integrity: sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} @@ -2016,22 +2016,22 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.2.0': + '@types/node@22.4.1': dependencies: - undici-types: 6.13.0 + undici-types: 6.19.8 '@types/semver@7.5.8': {} '@types/w3c-web-usb@1.0.10': {} - '@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.9.0)(typescript@5.5.4))(eslint@9.9.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.2.0(@typescript-eslint/parser@8.2.0(eslint@9.9.0)(typescript@5.5.4))(eslint@9.9.0)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.0.1(eslint@9.9.0)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 8.0.1 - '@typescript-eslint/type-utils': 8.0.1(eslint@9.9.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.0.1(eslint@9.9.0)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.0.1 + '@typescript-eslint/parser': 8.2.0(eslint@9.9.0)(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.2.0 + '@typescript-eslint/type-utils': 8.2.0(eslint@9.9.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.2.0(eslint@9.9.0)(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.2.0 eslint: 9.9.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -2042,12 +2042,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.0.1(eslint@9.9.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.2.0(eslint@9.9.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 8.0.1 - '@typescript-eslint/types': 8.0.1 - '@typescript-eslint/typescript-estree': 8.0.1(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.0.1 + '@typescript-eslint/scope-manager': 8.2.0 + '@typescript-eslint/types': 8.2.0 + '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.2.0 debug: 4.3.6 eslint: 9.9.0 optionalDependencies: @@ -2060,15 +2060,15 @@ snapshots: '@typescript-eslint/types': 7.17.0 '@typescript-eslint/visitor-keys': 7.17.0 - '@typescript-eslint/scope-manager@8.0.1': + '@typescript-eslint/scope-manager@8.2.0': dependencies: - '@typescript-eslint/types': 8.0.1 - '@typescript-eslint/visitor-keys': 8.0.1 + '@typescript-eslint/types': 8.2.0 + '@typescript-eslint/visitor-keys': 8.2.0 - '@typescript-eslint/type-utils@8.0.1(eslint@9.9.0)(typescript@5.5.4)': + '@typescript-eslint/type-utils@8.2.0(eslint@9.9.0)(typescript@5.5.4)': dependencies: - '@typescript-eslint/typescript-estree': 8.0.1(typescript@5.5.4) - '@typescript-eslint/utils': 8.0.1(eslint@9.9.0)(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.2.0(eslint@9.9.0)(typescript@5.5.4) debug: 4.3.6 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: @@ -2079,7 +2079,7 @@ snapshots: '@typescript-eslint/types@7.17.0': {} - '@typescript-eslint/types@8.0.1': {} + '@typescript-eslint/types@8.2.0': {} '@typescript-eslint/typescript-estree@7.17.0(typescript@5.5.4)': dependencies: @@ -2096,10 +2096,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.0.1(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.2.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 8.0.1 - '@typescript-eslint/visitor-keys': 8.0.1 + '@typescript-eslint/types': 8.2.0 + '@typescript-eslint/visitor-keys': 8.2.0 debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 @@ -2122,12 +2122,12 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@8.0.1(eslint@9.9.0)(typescript@5.5.4)': + '@typescript-eslint/utils@8.2.0(eslint@9.9.0)(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0) - '@typescript-eslint/scope-manager': 8.0.1 - '@typescript-eslint/types': 8.0.1 - '@typescript-eslint/typescript-estree': 8.0.1(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.2.0 + '@typescript-eslint/types': 8.2.0 + '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4) eslint: 9.9.0 transitivePeerDependencies: - supports-color @@ -2138,9 +2138,9 @@ snapshots: '@typescript-eslint/types': 7.17.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.0.1': + '@typescript-eslint/visitor-keys@8.2.0': dependencies: - '@typescript-eslint/types': 8.0.1 + '@typescript-eslint/types': 8.2.0 eslint-visitor-keys: 3.4.3 '@xhmikosr/archive-type@6.0.1': @@ -3067,11 +3067,11 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.0.1(eslint@9.9.0)(typescript@5.5.4): + typescript-eslint@8.2.0(eslint@9.9.0)(typescript@5.5.4): dependencies: - '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.9.0)(typescript@5.5.4))(eslint@9.9.0)(typescript@5.5.4) - '@typescript-eslint/parser': 8.0.1(eslint@9.9.0)(typescript@5.5.4) - '@typescript-eslint/utils': 8.0.1(eslint@9.9.0)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.2.0(@typescript-eslint/parser@8.2.0(eslint@9.9.0)(typescript@5.5.4))(eslint@9.9.0)(typescript@5.5.4) + '@typescript-eslint/parser': 8.2.0(eslint@9.9.0)(typescript@5.5.4) + '@typescript-eslint/utils': 8.2.0(eslint@9.9.0)(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -3085,7 +3085,7 @@ snapshots: buffer: 5.7.1 through: 2.3.8 - undici-types@6.13.0: {} + undici-types@6.19.8: {} universalify@0.1.2: {} diff --git a/toolchain/eslint-config/package.json b/toolchain/eslint-config/package.json index 78b1a925..1862ea48 100644 --- a/toolchain/eslint-config/package.json +++ b/toolchain/eslint-config/package.json @@ -9,11 +9,11 @@ }, "dependencies": { "@eslint/js": "^9.9.0", - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "eslint": "^9.9.0", "eslint-plugin-import-x": "^3.1.0", "typescript": "^5.5.4", - "typescript-eslint": "^8.0.1" + "typescript-eslint": "^8.2.0" }, "devDependencies": { "prettier": "^3.3.3" diff --git a/toolchain/package-lint/package.json b/toolchain/package-lint/package.json index 97f10f72..d8a65998 100644 --- a/toolchain/package-lint/package.json +++ b/toolchain/package-lint/package.json @@ -7,7 +7,7 @@ "scripts": {}, "keywords": [], "dependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "json5": "^2.2.3" }, "author": "", diff --git a/toolchain/test-runner/package.json b/toolchain/test-runner/package.json index 8a21b57d..c1a3a8ed 100644 --- a/toolchain/test-runner/package.json +++ b/toolchain/test-runner/package.json @@ -6,7 +6,7 @@ "run-test": "wrapper.js" }, "devDependencies": { - "@types/node": "^22.2.0", + "@types/node": "^22.4.1", "typescript": "^5.5.4" } }