From 835796ec7bdcd7ffd9ba3297d0da38fd4463a3fa Mon Sep 17 00:00:00 2001 From: AION Date: Tue, 20 Aug 2024 11:16:45 +0800 Subject: [PATCH 01/10] fix: adb-server-node-tcp returns incorrect reverse tunnel address (#663) --- libraries/adb-server-node-tcp/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/adb-server-node-tcp/src/index.ts b/libraries/adb-server-node-tcp/src/index.ts index e922e1056..426893afb 100644 --- a/libraries/adb-server-node-tcp/src/index.ts +++ b/libraries/adb-server-node-tcp/src/index.ts @@ -130,7 +130,7 @@ export class AdbServerNodeTcpConnector if (!address) { const info = server.address() as AddressInfo; - address = `tcp:${info.address}:${info.port}`; + address = `tcp:${info.port}`; } this.#listeners.set(address, server); From 677aabc73c15b8247d778b6cb7ec228df979dd3d Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Tue, 20 Aug 2024 12:08:00 +0800 Subject: [PATCH 02/10] chore: update dependencies --- apps/cli/package.json | 2 +- libraries/adb-credential-web/src/index.ts | 6 + libraries/adb-daemon-webusb/package.json | 2 +- libraries/adb-daemon-webusb/src/device.ts | 5 +- libraries/adb-daemon-webusb/src/manager.ts | 26 +--- libraries/adb-daemon-webusb/src/watcher.ts | 6 + libraries/adb-server-node-tcp/package.json | 2 +- libraries/adb-server-node-tcp/src/index.ts | 9 +- libraries/adb/package.json | 2 +- libraries/adb/src/adb.ts | 10 ++ libraries/adb/src/commands/reverse.ts | 31 ++-- libraries/adb/src/commands/sync/sync.ts | 4 +- libraries/adb/src/daemon/transport.ts | 12 +- libraries/adb/src/server/client.ts | 27 +++- libraries/android-bin/package.json | 2 +- libraries/event/package.json | 2 +- libraries/fetch-scrcpy-server/package.json | 2 +- libraries/no-data-view/package.json | 2 +- libraries/scrcpy/package.json | 2 +- libraries/stream-extra/package.json | 2 +- libraries/struct/package.json | 2 +- pnpm-lock.yaml | 172 ++++++++++----------- toolchain/eslint-config/package.json | 4 +- toolchain/package-lint/package.json | 2 +- toolchain/test-runner/package.json | 2 +- 25 files changed, 192 insertions(+), 146 deletions(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index b9104b2cc..be48f8084 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 dd992c4a2..0aaa59213 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 8d9038e6b..83eb37c18 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 6595bdf93..e4e0c0dc6 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 75d2f2181..ac5ef42f5 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. - * - * 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. + * Get all connected and requested devices that match the specified filters. * - * 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 569e56c4d..d7ab7bb14 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 e342a1e7d..59b3b845b 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 426893afb..2e3dfaee4 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 1f0dbe60a..8ba171fc1 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 a43ffe73d..96c451e49 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 1f7619fa4..d02404c19 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 10b360e3b..ea417bf19 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 433060019..47eadb35b 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 407832204..d2519bd51 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. - * - * @param signal An optional `AbortSignal` to stop tracking + * Monitors device list changes. * - * 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 715fb5d12..88e9859a0 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 82aa94c88..7af19dad8 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 26decd03e..32808a1bc 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 b39755113..7ca08d437 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 30100f440..63ebcd068 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 0211cff2e..8f2043ba3 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 fcae18b84..c9a76fc51 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 a23471316..06e55bcff 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 78b1a9257..1862ea48d 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 97f10f727..d8a659987 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 8a21b57d6..c1a3a8ed4 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" } } From 954cd1d983b0d7bad82c0710765214222fbd1eea Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Wed, 21 Aug 2024 16:48:09 +0800 Subject: [PATCH 03/10] fix(webcodecs): fix HEVC decoding in MS Edge --- libraries/scrcpy-decoder-webcodecs/src/video/codec/h265.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/scrcpy-decoder-webcodecs/src/video/codec/h265.ts b/libraries/scrcpy-decoder-webcodecs/src/video/codec/h265.ts index abb7502ac..eb087cc24 100644 --- a/libraries/scrcpy-decoder-webcodecs/src/video/codec/h265.ts +++ b/libraries/scrcpy-decoder-webcodecs/src/video/codec/h265.ts @@ -41,6 +41,8 @@ export class H265Decoder extends H26xDecoder { ].join("."); this.#decoder.configure({ codec, + codedWidth: croppedWidth, + codedHeight: croppedHeight, optimizeForLatency: true, }); } From fb62a6799dcf95f2323ebf9b3a1b11421a002be9 Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Fri, 23 Aug 2024 11:32:28 +0800 Subject: [PATCH 04/10] chore: update dependencies --- apps/cli/package.json | 2 +- libraries/adb-daemon-webusb/package.json | 2 +- libraries/adb-server-node-tcp/package.json | 2 +- libraries/adb/package.json | 2 +- libraries/adb/src/commands/reverse.ts | 5 +- libraries/adb/src/commands/sync/sync.ts | 10 ++-- libraries/android-bin/package.json | 2 +- libraries/event/package.json | 2 +- libraries/fetch-scrcpy-server/package.json | 2 +- libraries/no-data-view/package.json | 2 +- libraries/scrcpy/package.json | 2 +- libraries/stream-extra/package.json | 2 +- libraries/struct/package.json | 2 +- pnpm-lock.yaml | 62 +++++++++++----------- toolchain/eslint-config/package.json | 2 +- toolchain/package-lint/package.json | 2 +- toolchain/test-runner/package.json | 2 +- toolchain/test-runner/run-test.js | 7 +-- toolchain/test-runner/wrapper.js | 3 +- 19 files changed, 52 insertions(+), 63 deletions(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index be48f8084..9b3d1f34f 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.4.1", + "@types/node": "^22.5.0", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", diff --git a/libraries/adb-daemon-webusb/package.json b/libraries/adb-daemon-webusb/package.json index 83eb37c18..8b17e64bb 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.4.1", + "@types/node": "^22.5.0", "@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-server-node-tcp/package.json b/libraries/adb-server-node-tcp/package.json index 59b3b845b..685f874a1 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.4.1", + "@types/node": "^22.5.0", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", diff --git a/libraries/adb/package.json b/libraries/adb/package.json index 8ba171fc1..452481c53 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.4.1", + "@types/node": "^22.5.0", "@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/commands/reverse.ts b/libraries/adb/src/commands/reverse.ts index d02404c19..d3bc4bc64 100644 --- a/libraries/adb/src/commands/reverse.ts +++ b/libraries/adb/src/commands/reverse.ts @@ -1,6 +1,5 @@ // cspell: ignore killforward -import { AutoDisposable } from "@yume-chan/event"; import { BufferedReadableStream } from "@yume-chan/stream-extra"; import Struct, { ExactReadableEndedError, encodeUtf8 } from "@yume-chan/struct"; @@ -62,14 +61,12 @@ function decimalToNumber(buffer: Uint8Array) { const OKAY = encodeUtf8("OKAY"); -export class AdbReverseCommand extends AutoDisposable { +export class AdbReverseCommand { protected adb: Adb; readonly #deviceAddressToLocalAddress = new Map(); constructor(adb: Adb) { - super(); - this.adb = adb; } diff --git a/libraries/adb/src/commands/sync/sync.ts b/libraries/adb/src/commands/sync/sync.ts index ea417bf19..61fd15dde 100644 --- a/libraries/adb/src/commands/sync/sync.ts +++ b/libraries/adb/src/commands/sync/sync.ts @@ -1,4 +1,3 @@ -import { AutoDisposable } from "@yume-chan/event"; import type { MaybeConsumable, ReadableStream } from "@yume-chan/stream-extra"; import type { Adb, AdbSocket } from "../../adb.js"; @@ -39,7 +38,7 @@ export interface AdbSyncWriteOptions { dryRun?: boolean; } -export class AdbSync extends AutoDisposable { +export class AdbSync { protected _adb: Adb; protected _socket: AdbSyncSocket; @@ -70,8 +69,6 @@ export class AdbSync extends AutoDisposable { } constructor(adb: Adb, socket: AdbSocket) { - super(); - this._adb = adb; this._socket = new AdbSyncSocket(socket, adb.maxPayloadSize); @@ -172,8 +169,7 @@ export class AdbSync extends AutoDisposable { return this._socket.lock(); } - override dispose() { - super.dispose(); - void this._socket.close(); + dispose() { + return this._socket.close(); } } diff --git a/libraries/android-bin/package.json b/libraries/android-bin/package.json index 88e9859a0..70ca2e2fc 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.4.1", + "@types/node": "^22.5.0", "@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 7af19dad8..a75a9186e 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.4.1", + "@types/node": "^22.5.0", "@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 32808a1bc..2dfb7de53 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.4.1" + "@types/node": "^22.5.0" } } diff --git a/libraries/no-data-view/package.json b/libraries/no-data-view/package.json index 7ca08d437..62c2296f2 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.4.1", + "@types/node": "^22.5.0", "@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 63ebcd068..52c517d06 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.4.1", + "@types/node": "^22.5.0", "@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 8f2043ba3..25a53895b 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.4.1", + "@types/node": "^22.5.0", "@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 c9a76fc51..6e1e5de54 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.4.1", + "@types/node": "^22.5.0", "@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 06e55bcff..7488c04d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -34,8 +34,8 @@ importers: version: 0.5.21 devDependencies: '@types/node': - specifier: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.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: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.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: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.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: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.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: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.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: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.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: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.0 libraries/no-data-view: devDependencies: '@types/node': - specifier: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.0 '@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.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.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: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.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: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.0 '@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.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.0 eslint: specifier: ^9.9.0 version: 9.9.0 @@ -511,8 +511,8 @@ importers: toolchain/package-lint: dependencies: '@types/node': - specifier: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.0 json5: specifier: ^2.2.3 version: 2.2.3 @@ -520,8 +520,8 @@ importers: toolchain/test-runner: devDependencies: '@types/node': - specifier: ^22.4.1 - version: 22.4.1 + specifier: ^22.5.0 + version: 22.5.0 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.4.1': - resolution: {integrity: sha512-1tbpb9325+gPnKK0dMm+/LMriX0vKxf6RnB0SZUqfyVkQ4fMgUSySqhxE/y8Jvs4NyF1yHzTfG9KlnkIODxPKg==} + '@types/node@22.5.0': + resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==} '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -2016,7 +2016,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.4.1': + '@types/node@22.5.0': dependencies: undici-types: 6.19.8 diff --git a/toolchain/eslint-config/package.json b/toolchain/eslint-config/package.json index 1862ea48d..473856d1d 100644 --- a/toolchain/eslint-config/package.json +++ b/toolchain/eslint-config/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@eslint/js": "^9.9.0", - "@types/node": "^22.4.1", + "@types/node": "^22.5.0", "eslint": "^9.9.0", "eslint-plugin-import-x": "^3.1.0", "typescript": "^5.5.4", diff --git a/toolchain/package-lint/package.json b/toolchain/package-lint/package.json index d8a659987..534558076 100644 --- a/toolchain/package-lint/package.json +++ b/toolchain/package-lint/package.json @@ -7,7 +7,7 @@ "scripts": {}, "keywords": [], "dependencies": { - "@types/node": "^22.4.1", + "@types/node": "^22.5.0", "json5": "^2.2.3" }, "author": "", diff --git a/toolchain/test-runner/package.json b/toolchain/test-runner/package.json index c1a3a8ed4..830558b12 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.4.1", + "@types/node": "^22.5.0", "typescript": "^5.5.4" } } diff --git a/toolchain/test-runner/run-test.js b/toolchain/test-runner/run-test.js index 17bd7cece..05885032a 100644 --- a/toolchain/test-runner/run-test.js +++ b/toolchain/test-runner/run-test.js @@ -117,10 +117,5 @@ const filterCoverage = test.pipe( }), ); -// @ts-expect-error test.pipe(spec()).pipe(process.stdout); -test - // @ts-expect-error - .pipe(lcov) - // @ts-expect-error - .pipe(createWriteStream(resolve(coverageFolder, "lcov.info"))); +test.pipe(lcov).pipe(createWriteStream(resolve(coverageFolder, "lcov.info"))); diff --git a/toolchain/test-runner/wrapper.js b/toolchain/test-runner/wrapper.js index bad651345..9ae0fd12d 100644 --- a/toolchain/test-runner/wrapper.js +++ b/toolchain/test-runner/wrapper.js @@ -7,7 +7,8 @@ const child = spawn( process.execPath, [ "--enable-source-maps", - "--experimental-test-coverage", + // Disable code coverage until https://github.com/nodejs/node/pull/54444 is released + // "--experimental-test-coverage", fileURLToPath(import.meta.resolve("./run-test.js", import.meta.url)), ], { From b1787e8ef4de3d00af2d430e2ef1a273d397a0f6 Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Tue, 27 Aug 2024 21:23:33 +0800 Subject: [PATCH 05/10] chore: update dependencies --- libraries/pcm-player/package.json | 2 +- pnpm-lock.yaml | 276 ++++++++++----------------- toolchain/eslint-config/package.json | 8 +- 3 files changed, 111 insertions(+), 175 deletions(-) diff --git a/libraries/pcm-player/package.json b/libraries/pcm-player/package.json index 80ddffa46..cfbbc2d30 100644 --- a/libraries/pcm-player/package.json +++ b/libraries/pcm-player/package.json @@ -30,7 +30,7 @@ "prepublishOnly": "npm run build" }, "devDependencies": { - "@types/audioworklet": "^0.0.59", + "@types/audioworklet": "^0.0.60", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7488c04d1..808892cc7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -313,8 +313,8 @@ importers: libraries/pcm-player: devDependencies: '@types/audioworklet': - specifier: ^0.0.59 - version: 0.0.59 + specifier: ^0.0.60 + version: 0.0.60 '@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.9.0 - version: 9.9.0 + specifier: ^9.9.1 + version: 9.9.1 '@types/node': specifier: ^22.5.0 version: 22.5.0 eslint: - specifier: ^9.9.0 - version: 9.9.0 + specifier: ^9.9.1 + version: 9.9.1 eslint-plugin-import-x: - specifier: ^3.1.0 - version: 3.1.0(eslint@9.9.0)(typescript@5.5.4) + specifier: ^4.1.0 + version: 4.1.0(eslint@9.9.1)(typescript@5.5.4) typescript: specifier: ^5.5.4 version: 5.5.4 typescript-eslint: - specifier: ^8.2.0 - version: 8.2.0(eslint@9.9.0)(typescript@5.5.4) + specifier: ^8.3.0 + version: 8.3.0(eslint@9.9.1)(typescript@5.5.4) devDependencies: prettier: specifier: ^3.3.3 @@ -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.1': - resolution: {integrity: sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==} + '@eslint/config-array@0.18.0': + resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} 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.9.0': - resolution: {integrity: sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==} + '@eslint/js@9.9.1': + resolution: {integrity: sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==} 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.59': - resolution: {integrity: sha512-j0yz1zx/J8CZGnfYSUvBm0+AzpH/21yh9sEy8+Yi6B3+LhDdLSa5G7dwyVrjeiG7bnreDmdKzU0CZT5XG1d9jQ==} + '@types/audioworklet@0.0.60': + resolution: {integrity: sha512-BCYklConpVRbPlNVcjzIhRsPWBTbCFSbkfjBC+VLULryaBI1M651y4nK0SMsSuTgtVSrKVY7Y+fsobCjviuDWA==} '@types/http-cache-semantics@4.0.4': resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} @@ -674,8 +674,8 @@ packages: '@types/w3c-web-usb@1.0.10': resolution: {integrity: sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ==} - '@typescript-eslint/eslint-plugin@8.2.0': - resolution: {integrity: sha512-02tJIs655em7fvt9gps/+4k4OsKULYGtLBPJfOsmOq1+3cdClYiF0+d6mHu6qDnTcg88wJBkcPLpQhq7FyDz0A==} + '@typescript-eslint/eslint-plugin@8.3.0': + resolution: {integrity: sha512-FLAIn63G5KH+adZosDYiutqkOkYEx0nvcwNNfJAf+c7Ae/H35qWwTYvPZUKFj5AS+WfHG/WJJfWnDnyNUlp8UA==} 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.2.0': - resolution: {integrity: sha512-j3Di+o0lHgPrb7FxL3fdEy6LJ/j2NE8u+AP/5cQ9SKb+JLH6V6UHDqJ+e0hXBkHP1wn1YDFjYCS9LBQsZDlDEg==} + '@typescript-eslint/parser@8.3.0': + resolution: {integrity: sha512-h53RhVyLu6AtpUzVCYLPhZGL5jzTD9fZL+SYf/+hYOx2bDkyQXztXSc4tbvKYHzfMXExMLiL9CWqJmVz6+78IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -695,16 +695,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@7.17.0': - resolution: {integrity: sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/scope-manager@8.2.0': - resolution: {integrity: sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==} + '@typescript-eslint/scope-manager@8.3.0': + resolution: {integrity: sha512-mz2X8WcN2nVu5Hodku+IR8GgCOl4C0G/Z1ruaWN4dgec64kDBabuXyPAr+/RgJtumv8EEkqIzf3X2U5DUKB2eg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.2.0': - resolution: {integrity: sha512-g1CfXGFMQdT5S+0PSO0fvGXUaiSkl73U1n9LTK5aRAFnPlJ8dLKkXr4AaLFvPedW8lVDoMgLLE3JN98ZZfsj0w==} + '@typescript-eslint/type-utils@8.3.0': + resolution: {integrity: sha512-wrV6qh//nLbfXZQoj32EXKmwHf4b7L+xXLrP3FZ0GOUU72gSvLjeWUl5J5Ue5IwRxIV1TfF73j/eaBapxx99Lg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -712,25 +708,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@7.17.0': - resolution: {integrity: sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/types@8.2.0': - resolution: {integrity: sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==} + '@typescript-eslint/types@8.3.0': + resolution: {integrity: sha512-y6sSEeK+facMaAyixM36dQ5NVXTnKWunfD1Ft4xraYqxP0lC0POJmIaL/mw72CUMqjY9qfyVfXafMeaUj0noWw==} 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} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/typescript-estree@8.2.0': - resolution: {integrity: sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA==} + '@typescript-eslint/typescript-estree@8.3.0': + resolution: {integrity: sha512-Mq7FTHl0R36EmWlCJWojIC1qn/ZWo2YiWYc1XVtasJ7FIgjo0MVv9rZWXEE7IK2CGrtwe1dVOxWwqXUdNgfRCA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -738,24 +721,14 @@ packages: 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.2.0': - resolution: {integrity: sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg==} + '@typescript-eslint/utils@8.3.0': + resolution: {integrity: sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==} 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.2.0': - resolution: {integrity: sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==} + '@typescript-eslint/visitor-keys@8.3.0': + resolution: {integrity: sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@xhmikosr/archive-type@6.0.1': @@ -987,11 +960,11 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-plugin-import-x@3.1.0: - resolution: {integrity: sha512-/UbPA+bYY7nIxcjL3kpcDY3UNdoLHFhyBFzHox2M0ypcUoueTn6woZUUmzzi5et/dXChksasYYFeKE2wshOrhg==} - engines: {node: '>=16'} + eslint-plugin-import-x@4.1.0: + resolution: {integrity: sha512-1BYJU0C5NBJLY4qukmwDbFrf2w8fLGEU9zZV3viWa7gNnbn4o4meQy5O4LVXn56eFh9Y4fQxu3udhIqQuVITvw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 || ^9.0.0-0 + eslint: ^8.57.0 || ^9.0.0 eslint-scope@8.0.2: resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} @@ -1005,8 +978,8 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.9.0: - resolution: {integrity: sha512-JfiKJrbx0506OEerjK2Y1QlldtBxkAlLxT5OEcRF8uaQ86noDe2k31Vw9rnSWv+MXZHj7OOUV/dA0AhdLFcyvA==} + eslint@9.9.1: + resolution: {integrity: sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1204,8 +1177,8 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} import-fresh@3.3.0: @@ -1222,8 +1195,8 @@ packages: inspect-with-kind@1.0.5: resolution: {integrity: sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==} - is-core-module@2.15.0: - resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} is-extglob@2.1.1: @@ -1701,15 +1674,15 @@ packages: peerDependencies: typescript: '>=4.2.0' - tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.2.0: - resolution: {integrity: sha512-DmnqaPcML0xYwUzgNbM1XaKXpEb7BShYf2P1tkUmmcl8hyeG7Pj08Er7R9bNy6AufabywzJcOybQAtnD/c9DGw==} + typescript-eslint@8.3.0: + resolution: {integrity: sha512-EvWjwWLwwKDIJuBjk2I6UkV8KEQcwZ0VM10nR1rIunRDIP67QJTZAHBXTX0HW/oI1H10YESF8yWie8fRQxjvFA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1937,14 +1910,14 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 - '@eslint-community/eslint-utils@4.4.0(eslint@9.9.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1)': dependencies: - eslint: 9.9.0 + eslint: 9.9.1 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} - '@eslint/config-array@0.17.1': + '@eslint/config-array@0.18.0': dependencies: '@eslint/object-schema': 2.1.4 debug: 4.3.6 @@ -1958,7 +1931,7 @@ snapshots: debug: 4.3.6 espree: 10.1.0 globals: 14.0.0 - ignore: 5.3.1 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -1966,7 +1939,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.9.0': {} + '@eslint/js@9.9.1': {} '@eslint/object-schema@2.1.4': {} @@ -2010,7 +1983,7 @@ snapshots: '@tokenizer/token@0.3.0': {} - '@types/audioworklet@0.0.59': {} + '@types/audioworklet@0.0.60': {} '@types/http-cache-semantics@4.0.4': {} @@ -2024,17 +1997,17 @@ snapshots: '@types/w3c-web-usb@1.0.10': {} - '@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/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@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 + '@typescript-eslint/parser': 8.3.0(eslint@9.9.1)(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.3.0 + '@typescript-eslint/type-utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.3.0 + eslint: 9.9.1 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare: 1.4.0 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: @@ -2042,33 +2015,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.2.0(eslint@9.9.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4)': dependencies: - '@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 + '@typescript-eslint/scope-manager': 8.3.0 + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.3.0 debug: 4.3.6 - eslint: 9.9.0 + eslint: 9.9.1 optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.17.0': - dependencies: - '@typescript-eslint/types': 7.17.0 - '@typescript-eslint/visitor-keys': 7.17.0 - - '@typescript-eslint/scope-manager@8.2.0': + '@typescript-eslint/scope-manager@8.3.0': dependencies: - '@typescript-eslint/types': 8.2.0 - '@typescript-eslint/visitor-keys': 8.2.0 + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/visitor-keys': 8.3.0 - '@typescript-eslint/type-utils@8.2.0(eslint@9.9.0)(typescript@5.5.4)': + '@typescript-eslint/type-utils@8.3.0(eslint@9.9.1)(typescript@5.5.4)': dependencies: - '@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) + '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) debug: 4.3.6 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: @@ -2077,31 +2045,14 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@7.17.0': {} - - '@typescript-eslint/types@8.2.0': {} + '@typescript-eslint/types@8.3.0': {} - '@typescript-eslint/typescript-estree@7.17.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.3.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 7.17.0 - '@typescript-eslint/visitor-keys': 7.17.0 + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/visitor-keys': 8.3.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/typescript-estree@8.2.0(typescript@5.5.4)': - dependencies: - '@typescript-eslint/types': 8.2.0 - '@typescript-eslint/visitor-keys': 8.2.0 - debug: 4.3.6 - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 @@ -2111,36 +2062,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.17.0(eslint@9.9.0)(typescript@5.5.4)': + '@typescript-eslint/utils@8.3.0(eslint@9.9.1)(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.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.9.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1) + '@typescript-eslint/scope-manager': 8.3.0 + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) + eslint: 9.9.1 transitivePeerDependencies: - supports-color - typescript - '@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.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 - - typescript - - '@typescript-eslint/visitor-keys@7.17.0': - dependencies: - '@typescript-eslint/types': 7.17.0 - eslint-visitor-keys: 3.4.3 - - '@typescript-eslint/visitor-keys@8.2.0': + '@typescript-eslint/visitor-keys@8.3.0': dependencies: - '@typescript-eslint/types': 8.2.0 + '@typescript-eslint/types': 8.3.0 eslint-visitor-keys: 3.4.3 '@xhmikosr/archive-type@6.0.1': @@ -2198,7 +2133,7 @@ snapshots: '@yume-chan/async@2.2.0': dependencies: - tslib: 2.6.3 + tslib: 2.7.0 acorn-jsx@5.3.2(acorn@8.12.1): dependencies: @@ -2373,24 +2308,25 @@ snapshots: eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 - is-core-module: 2.15.0 + is-core-module: 2.15.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - eslint-plugin-import-x@3.1.0(eslint@9.9.0)(typescript@5.5.4): + eslint-plugin-import-x@4.1.0(eslint@9.9.1)(typescript@5.5.4): dependencies: - '@typescript-eslint/utils': 7.17.0(eslint@9.9.0)(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) debug: 4.3.6 doctrine: 3.0.0 - eslint: 9.9.0 + eslint: 9.9.1 eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.6 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 stable-hash: 0.0.4 - tslib: 2.6.3 + tslib: 2.7.0 transitivePeerDependencies: - supports-color - typescript @@ -2404,13 +2340,13 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.9.0: + eslint@9.9.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1) '@eslint-community/regexpp': 4.11.0 - '@eslint/config-array': 0.17.1 + '@eslint/config-array': 0.18.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.9.0 + '@eslint/js': 9.9.1 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 @@ -2428,7 +2364,7 @@ snapshots: file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -2600,7 +2536,7 @@ snapshots: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 @@ -2645,7 +2581,7 @@ snapshots: ieee754@1.2.1: {} - ignore@5.3.1: {} + ignore@5.3.2: {} import-fresh@3.3.0: dependencies: @@ -2660,7 +2596,7 @@ snapshots: dependencies: kind-of: 6.0.3 - is-core-module@2.15.0: + is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -2914,7 +2850,7 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.15.0 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -3061,17 +2997,17 @@ snapshots: dependencies: typescript: 5.5.4 - tslib@2.6.3: {} + tslib@2.7.0: {} type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.2.0(eslint@9.9.0)(typescript@5.5.4): + typescript-eslint@8.3.0(eslint@9.9.1)(typescript@5.5.4): dependencies: - '@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) + '@typescript-eslint/eslint-plugin': 8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4) + '@typescript-eslint/parser': 8.3.0(eslint@9.9.1)(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: diff --git a/toolchain/eslint-config/package.json b/toolchain/eslint-config/package.json index 473856d1d..29b9f74c5 100644 --- a/toolchain/eslint-config/package.json +++ b/toolchain/eslint-config/package.json @@ -8,12 +8,12 @@ "run-eslint": "run-eslint.js" }, "dependencies": { - "@eslint/js": "^9.9.0", + "@eslint/js": "^9.9.1", "@types/node": "^22.5.0", - "eslint": "^9.9.0", - "eslint-plugin-import-x": "^3.1.0", + "eslint": "^9.9.1", + "eslint-plugin-import-x": "^4.1.0", "typescript": "^5.5.4", - "typescript-eslint": "^8.2.0" + "typescript-eslint": "^8.3.0" }, "devDependencies": { "prettier": "^3.3.3" From 2c8912e9ac714af6ab09150171892bb703734171 Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Fri, 30 Aug 2024 17:27:01 +0800 Subject: [PATCH 06/10] refactor: remove TypeScript enum and namespace to improve tree-shaking --- libraries/adb/src/banner.ts | 14 +- libraries/adb/src/commands/framebuffer.ts | 66 ++++--- libraries/adb/src/commands/reverse.ts | 14 +- .../commands/subprocess/protocols/shell.ts | 29 +-- libraries/adb/src/commands/sync/list.ts | 20 +- libraries/adb/src/commands/sync/pull.ts | 8 +- libraries/adb/src/commands/sync/push.ts | 33 ++-- libraries/adb/src/commands/sync/request.ts | 32 ++-- libraries/adb/src/commands/sync/response.ts | 38 ++-- libraries/adb/src/commands/sync/stat.ts | 158 +++++++++------- libraries/adb/src/daemon/packet.ts | 42 +++-- libraries/adb/src/features.ts | 24 +-- libraries/adb/src/utils/base64.ts | 44 +++-- libraries/adb/src/utils/no-op.ts | 1 + libraries/android-bin/src/dumpsys.ts | 46 +++-- libraries/android-bin/src/logcat.ts | 113 +++++++----- .../src/video/decoder.ts | 7 +- libraries/scrcpy/src/control/empty.ts | 2 +- .../scrcpy/src/control/inject-keycode.ts | 14 +- libraries/scrcpy/src/control/inject-text.ts | 10 +- .../src/control/set-screen-power-mode.ts | 8 +- libraries/scrcpy/src/options/1_16/message.ts | 48 ++--- libraries/scrcpy/src/options/1_16/scroll.ts | 18 +- libraries/scrcpy/src/options/1_18.ts | 8 +- libraries/scrcpy/src/options/1_21.ts | 18 +- libraries/scrcpy/src/options/1_22/scroll.ts | 6 +- libraries/scrcpy/src/options/1_25/scroll.ts | 20 +- libraries/scrcpy/src/options/2_0.ts | 24 +-- libraries/stream-extra/src/consumable.ts | 174 +++++++++--------- .../stream-extra/src/maybe-consumable-ns.ts | 90 +++++++++ .../stream-extra/src/maybe-consumable.ts | 100 +--------- libraries/stream-extra/src/stream.ts | 16 +- libraries/struct/src/struct.spec.ts | 67 ++++--- libraries/struct/src/utils.ts | 5 +- 34 files changed, 721 insertions(+), 596 deletions(-) create mode 100644 libraries/stream-extra/src/maybe-consumable-ns.ts diff --git a/libraries/adb/src/banner.ts b/libraries/adb/src/banner.ts index cb0a19a35..5415b0731 100644 --- a/libraries/adb/src/banner.ts +++ b/libraries/adb/src/banner.ts @@ -1,11 +1,13 @@ import type { AdbFeature } from "./features.js"; -export enum AdbBannerKey { - Product = "ro.product.name", - Model = "ro.product.model", - Device = "ro.product.device", - Features = "features", -} +export const AdbBannerKey = { + Product: "ro.product.name", + Model: "ro.product.model", + Device: "ro.product.device", + Features: "features", +} as const; + +export type AdbBannerKey = (typeof AdbBannerKey)[keyof typeof AdbBannerKey]; export class AdbBanner { static parse(banner: string) { diff --git a/libraries/adb/src/commands/framebuffer.ts b/libraries/adb/src/commands/framebuffer.ts index 49c24efb7..72a76c9b7 100644 --- a/libraries/adb/src/commands/framebuffer.ts +++ b/libraries/adb/src/commands/framebuffer.ts @@ -3,40 +3,46 @@ import Struct, { StructEmptyError } from "@yume-chan/struct"; import type { Adb } from "../adb.js"; -const Version = new Struct({ littleEndian: true }).uint32("version"); +const Version = + /* #__PURE__ */ + new Struct({ littleEndian: true }).uint32("version"); -export const AdbFrameBufferV1 = new Struct({ littleEndian: true }) - .uint32("bpp") - .uint32("size") - .uint32("width") - .uint32("height") - .uint32("red_offset") - .uint32("red_length") - .uint32("blue_offset") - .uint32("blue_length") - .uint32("green_offset") - .uint32("green_length") - .uint32("alpha_offset") - .uint32("alpha_length") - .uint8Array("data", { lengthField: "size" }); +export const AdbFrameBufferV1 = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .uint32("bpp") + .uint32("size") + .uint32("width") + .uint32("height") + .uint32("red_offset") + .uint32("red_length") + .uint32("blue_offset") + .uint32("blue_length") + .uint32("green_offset") + .uint32("green_length") + .uint32("alpha_offset") + .uint32("alpha_length") + .uint8Array("data", { lengthField: "size" }); export type AdbFrameBufferV1 = (typeof AdbFrameBufferV1)["TDeserializeResult"]; -export const AdbFrameBufferV2 = new Struct({ littleEndian: true }) - .uint32("bpp") - .uint32("colorSpace") - .uint32("size") - .uint32("width") - .uint32("height") - .uint32("red_offset") - .uint32("red_length") - .uint32("blue_offset") - .uint32("blue_length") - .uint32("green_offset") - .uint32("green_length") - .uint32("alpha_offset") - .uint32("alpha_length") - .uint8Array("data", { lengthField: "size" }); +export const AdbFrameBufferV2 = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .uint32("bpp") + .uint32("colorSpace") + .uint32("size") + .uint32("width") + .uint32("height") + .uint32("red_offset") + .uint32("red_length") + .uint32("blue_offset") + .uint32("blue_length") + .uint32("green_offset") + .uint32("green_length") + .uint32("alpha_offset") + .uint32("alpha_length") + .uint8Array("data", { lengthField: "size" }); export type AdbFrameBufferV2 = (typeof AdbFrameBufferV2)["TDeserializeResult"]; diff --git a/libraries/adb/src/commands/reverse.ts b/libraries/adb/src/commands/reverse.ts index d3bc4bc64..66f2bfe20 100644 --- a/libraries/adb/src/commands/reverse.ts +++ b/libraries/adb/src/commands/reverse.ts @@ -14,9 +14,11 @@ export interface AdbForwardListener { remoteName: string; } -const AdbReverseStringResponse = new Struct() - .string("length", { length: 4 }) - .string("content", { lengthField: "length", lengthFieldRadix: 16 }); +const AdbReverseStringResponse = + /* #__PURE__ */ + new Struct() + .string("length", { length: 4 }) + .string("content", { lengthField: "length", lengthFieldRadix: 16 }); export class AdbReverseError extends Error { constructor(message: string) { @@ -33,9 +35,9 @@ export class AdbReverseNotSupportedError extends AdbReverseError { } } -const AdbReverseErrorResponse = new Struct() - .concat(AdbReverseStringResponse) - .postDeserialize((value) => { +const AdbReverseErrorResponse = + /* #__PURE__ */ + new Struct().concat(AdbReverseStringResponse).postDeserialize((value) => { // https://issuetracker.google.com/issues/37066218 // ADB on Android <9 can't create reverse tunnels when connected wirelessly (ADB over Wi-Fi), // and returns this confusing "more than one device/emulator" error. diff --git a/libraries/adb/src/commands/subprocess/protocols/shell.ts b/libraries/adb/src/commands/subprocess/protocols/shell.ts index 47d5c56d1..f6d7bff44 100644 --- a/libraries/adb/src/commands/subprocess/protocols/shell.ts +++ b/libraries/adb/src/commands/subprocess/protocols/shell.ts @@ -19,20 +19,25 @@ import { encodeUtf8 } from "../../../utils/index.js"; import type { AdbSubprocessProtocol } from "./types.js"; -export enum AdbShellProtocolId { - Stdin, - Stdout, - Stderr, - Exit, - CloseStdin, - WindowSizeChange, -} +export const AdbShellProtocolId = { + Stdin: 0, + Stdout: 1, + Stderr: 2, + Exit: 3, + CloseStdin: 4, + WindowSizeChange: 5, +} as const; + +export type AdbShellProtocolId = + (typeof AdbShellProtocolId)[keyof typeof AdbShellProtocolId]; // This packet format is used in both directions. -export const AdbShellProtocolPacket = new Struct({ littleEndian: true }) - .uint8("id", placeholder()) - .uint32("length") - .uint8Array("data", { lengthField: "length" }); +export const AdbShellProtocolPacket = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .uint8("id", placeholder()) + .uint32("length") + .uint8Array("data", { lengthField: "length" }); type AdbShellProtocolPacket = StructValueType; diff --git a/libraries/adb/src/commands/sync/list.ts b/libraries/adb/src/commands/sync/list.ts index cd028dabb..321f37632 100644 --- a/libraries/adb/src/commands/sync/list.ts +++ b/libraries/adb/src/commands/sync/list.ts @@ -14,18 +14,22 @@ export interface AdbSyncEntry extends AdbSyncStat { name: string; } -export const AdbSyncEntryResponse = new Struct({ littleEndian: true }) - .concat(AdbSyncLstatResponse) - .uint32("nameLength") - .string("name", { lengthField: "nameLength" }); +export const AdbSyncEntryResponse = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .concat(AdbSyncLstatResponse) + .uint32("nameLength") + .string("name", { lengthField: "nameLength" }); export type AdbSyncEntryResponse = (typeof AdbSyncEntryResponse)["TDeserializeResult"]; -export const AdbSyncEntry2Response = new Struct({ littleEndian: true }) - .concat(AdbSyncStatResponse) - .uint32("nameLength") - .string("name", { lengthField: "nameLength" }); +export const AdbSyncEntry2Response = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .concat(AdbSyncStatResponse) + .uint32("nameLength") + .string("name", { lengthField: "nameLength" }); export type AdbSyncEntry2Response = (typeof AdbSyncEntry2Response)["TDeserializeResult"]; diff --git a/libraries/adb/src/commands/sync/pull.ts b/libraries/adb/src/commands/sync/pull.ts index 60e977ec8..b9001526f 100644 --- a/libraries/adb/src/commands/sync/pull.ts +++ b/libraries/adb/src/commands/sync/pull.ts @@ -6,9 +6,11 @@ import { AdbSyncRequestId, adbSyncWriteRequest } from "./request.js"; import { AdbSyncResponseId, adbSyncReadResponses } from "./response.js"; import type { AdbSyncSocket } from "./socket.js"; -export const AdbSyncDataResponse = new Struct({ littleEndian: true }) - .uint32("dataLength") - .uint8Array("data", { lengthField: "dataLength" }); +export const AdbSyncDataResponse = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .uint32("dataLength") + .uint8Array("data", { lengthField: "dataLength" }); export type AdbSyncDataResponse = (typeof AdbSyncDataResponse)["TDeserializeResult"]; diff --git a/libraries/adb/src/commands/sync/push.ts b/libraries/adb/src/commands/sync/push.ts index 9adff78a2..7dd32807a 100644 --- a/libraries/adb/src/commands/sync/push.ts +++ b/libraries/adb/src/commands/sync/push.ts @@ -25,9 +25,9 @@ export interface AdbSyncPushV1Options { packetSize?: number; } -export const AdbSyncOkResponse = new Struct({ littleEndian: true }).uint32( - "unused", -); +export const AdbSyncOkResponse = + /* #__PURE__ */ + new Struct({ littleEndian: true }).uint32("unused"); async function pipeFileData( locked: AdbSyncSocketLocked, @@ -86,19 +86,22 @@ export async function adbSyncPushV1({ } } -export enum AdbSyncSendV2Flags { - None = 0, - Brotli = 1, +export const AdbSyncSendV2Flags = { + None: 0, + Brotli: 1, /** * 2 */ - Lz4 = 1 << 1, + Lz4: 1 << 1, /** * 4 */ - Zstd = 1 << 2, - DryRun = 0x80000000, -} + Zstd: 1 << 2, + DryRun: 0x80000000, +} as const; + +export type AdbSyncSendV2Flags = + (typeof AdbSyncSendV2Flags)[keyof typeof AdbSyncSendV2Flags]; export interface AdbSyncPushV2Options extends AdbSyncPushV1Options { /** @@ -110,10 +113,12 @@ export interface AdbSyncPushV2Options extends AdbSyncPushV1Options { dryRun?: boolean; } -export const AdbSyncSendV2Request = new Struct({ littleEndian: true }) - .uint32("id") - .uint32("mode") - .uint32("flags", placeholder()); +export const AdbSyncSendV2Request = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .uint32("id") + .uint32("mode") + .uint32("flags", placeholder()); export async function adbSyncPushV2({ socket, diff --git a/libraries/adb/src/commands/sync/request.ts b/libraries/adb/src/commands/sync/request.ts index 788a18b85..eecdec29f 100644 --- a/libraries/adb/src/commands/sync/request.ts +++ b/libraries/adb/src/commands/sync/request.ts @@ -4,22 +4,22 @@ import { encodeUtf8 } from "../../utils/index.js"; import { adbSyncEncodeId } from "./response.js"; -export namespace AdbSyncRequestId { - export const List = adbSyncEncodeId("LIST"); - export const ListV2 = adbSyncEncodeId("LIS2"); - export const Send = adbSyncEncodeId("SEND"); - export const SendV2 = adbSyncEncodeId("SND2"); - export const Lstat = adbSyncEncodeId("STAT"); - export const Stat = adbSyncEncodeId("STA2"); - export const LstatV2 = adbSyncEncodeId("LST2"); - export const Data = adbSyncEncodeId("DATA"); - export const Done = adbSyncEncodeId("DONE"); - export const Receive = adbSyncEncodeId("RECV"); -} - -export const AdbSyncNumberRequest = new Struct({ littleEndian: true }) - .uint32("id") - .uint32("arg"); +export const AdbSyncRequestId = { + List: adbSyncEncodeId("LIST"), + ListV2: adbSyncEncodeId("LIS2"), + Send: adbSyncEncodeId("SEND"), + SendV2: adbSyncEncodeId("SND2"), + Lstat: adbSyncEncodeId("STAT"), + Stat: adbSyncEncodeId("STA2"), + LstatV2: adbSyncEncodeId("LST2"), + Data: adbSyncEncodeId("DATA"), + Done: adbSyncEncodeId("DONE"), + Receive: adbSyncEncodeId("RECV"), +} as const; + +export const AdbSyncNumberRequest = + /* #__PURE__ */ + new Struct({ littleEndian: true }).uint32("id").uint32("arg"); export interface AdbSyncWritable { write(buffer: Uint8Array): Promise; diff --git a/libraries/adb/src/commands/sync/response.ts b/libraries/adb/src/commands/sync/response.ts index 4309041fa..caa7c5a3e 100644 --- a/libraries/adb/src/commands/sync/response.ts +++ b/libraries/adb/src/commands/sync/response.ts @@ -18,32 +18,36 @@ function encodeAsciiUnchecked(value: string): Uint8Array { * Encode ID to numbers for faster comparison * @param value A 4-character string * @returns A 32-bit integer by encoding the string as little-endian + * + * #__NO_SIDE_EFFECTS__ */ export function adbSyncEncodeId(value: string): number { const buffer = encodeAsciiUnchecked(value); return getUint32LittleEndian(buffer, 0); } -export namespace AdbSyncResponseId { - export const Entry = adbSyncEncodeId("DENT"); - export const Entry2 = adbSyncEncodeId("DNT2"); - export const Lstat = adbSyncEncodeId("STAT"); - export const Stat = adbSyncEncodeId("STA2"); - export const Lstat2 = adbSyncEncodeId("LST2"); - export const Done = adbSyncEncodeId("DONE"); - export const Data = adbSyncEncodeId("DATA"); - export const Ok = adbSyncEncodeId("OKAY"); - export const Fail = adbSyncEncodeId("FAIL"); -} +export const AdbSyncResponseId = { + Entry: adbSyncEncodeId("DENT"), + Entry2: adbSyncEncodeId("DNT2"), + Lstat: adbSyncEncodeId("STAT"), + Stat: adbSyncEncodeId("STA2"), + Lstat2: adbSyncEncodeId("LST2"), + Done: adbSyncEncodeId("DONE"), + Data: adbSyncEncodeId("DATA"), + Ok: adbSyncEncodeId("OKAY"), + Fail: adbSyncEncodeId("FAIL"), +}; export class AdbSyncError extends Error {} -export const AdbSyncFailResponse = new Struct({ littleEndian: true }) - .uint32("messageLength") - .string("message", { lengthField: "messageLength" }) - .postDeserialize((object) => { - throw new AdbSyncError(object.message); - }); +export const AdbSyncFailResponse = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .uint32("messageLength") + .string("message", { lengthField: "messageLength" }) + .postDeserialize((object) => { + throw new AdbSyncError(object.message); + }); export async function adbSyncReadResponse( stream: AsyncExactReadable, diff --git a/libraries/adb/src/commands/sync/stat.ts b/libraries/adb/src/commands/sync/stat.ts index 130376560..26339b680 100644 --- a/libraries/adb/src/commands/sync/stat.ts +++ b/libraries/adb/src/commands/sync/stat.ts @@ -5,11 +5,13 @@ import { AdbSyncResponseId, adbSyncReadResponse } from "./response.js"; import type { AdbSyncSocket } from "./socket.js"; // https://github.com/python/cpython/blob/4e581d64b8aff3e2eda99b12f080c877bb78dfca/Lib/stat.py#L36 -export enum LinuxFileType { - Directory = 0o04, - File = 0o10, - Link = 0o12, -} +export const LinuxFileType = { + Directory: 0o04, + File: 0o10, + Link: 0o12, +} as const; + +export type LinuxFileType = (typeof LinuxFileType)[keyof typeof LinuxFileType]; export interface AdbSyncStat { mode: number; @@ -24,76 +26,92 @@ export interface AdbSyncStat { ctime?: bigint; } -export const AdbSyncLstatResponse = new Struct({ littleEndian: true }) - .int32("mode") - .int32("size") - .int32("mtime") - .extra({ - get type() { - return (this.mode >> 12) as LinuxFileType; - }, - get permission() { - return this.mode & 0b00001111_11111111; - }, - }) - .postDeserialize((object) => { - if (object.mode === 0 && object.size === 0 && object.mtime === 0) { - throw new Error("lstat error"); - } - }); +export const AdbSyncLstatResponse = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .int32("mode") + .int32("size") + .int32("mtime") + .extra({ + get type() { + return (this.mode >> 12) as LinuxFileType; + }, + get permission() { + return this.mode & 0b00001111_11111111; + }, + }) + .postDeserialize((object) => { + if (object.mode === 0 && object.size === 0 && object.mtime === 0) { + throw new Error("lstat error"); + } + }); export type AdbSyncLstatResponse = (typeof AdbSyncLstatResponse)["TDeserializeResult"]; -export enum AdbSyncStatErrorCode { - SUCCESS = 0, - EACCES = 13, - EEXIST = 17, - EFAULT = 14, - EFBIG = 27, - EINTR = 4, - EINVAL = 22, - EIO = 5, - EISDIR = 21, - ELOOP = 40, - EMFILE = 24, - ENAMETOOLONG = 36, - ENFILE = 23, - ENOENT = 2, - ENOMEM = 12, - ENOSPC = 28, - ENOTDIR = 20, - EOVERFLOW = 75, - EPERM = 1, - EROFS = 30, - ETXTBSY = 26, -} +export const AdbSyncStatErrorCode = { + SUCCESS: 0, + EACCES: 13, + EEXIST: 17, + EFAULT: 14, + EFBIG: 27, + EINTR: 4, + EINVAL: 22, + EIO: 5, + EISDIR: 21, + ELOOP: 40, + EMFILE: 24, + ENAMETOOLONG: 36, + ENFILE: 23, + ENOENT: 2, + ENOMEM: 12, + ENOSPC: 28, + ENOTDIR: 20, + EOVERFLOW: 75, + EPERM: 1, + EROFS: 30, + ETXTBSY: 26, +} as const; -export const AdbSyncStatResponse = new Struct({ littleEndian: true }) - .uint32("error", placeholder()) - .uint64("dev") - .uint64("ino") - .uint32("mode") - .uint32("nlink") - .uint32("uid") - .uint32("gid") - .uint64("size") - .uint64("atime") - .uint64("mtime") - .uint64("ctime") - .extra({ - get type() { - return (this.mode >> 12) as LinuxFileType; - }, - get permission() { - return this.mode & 0b00001111_11111111; - }, - }) - .postDeserialize((object) => { - if (object.error) { - throw new Error(AdbSyncStatErrorCode[object.error]); - } - }); +export type AdbSyncStatErrorCode = + (typeof AdbSyncStatErrorCode)[keyof typeof AdbSyncStatErrorCode]; + +const AdbSyncStatErrorName = + /* #__PURE__ */ + Object.fromEntries( + Object.entries(AdbSyncStatErrorCode).map(([key, value]) => [ + value, + key, + ]), + ); + +export const AdbSyncStatResponse = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .uint32("error", placeholder()) + .uint64("dev") + .uint64("ino") + .uint32("mode") + .uint32("nlink") + .uint32("uid") + .uint32("gid") + .uint64("size") + .uint64("atime") + .uint64("mtime") + .uint64("ctime") + .extra({ + get type() { + return (this.mode >> 12) as LinuxFileType; + }, + get permission() { + return this.mode & 0b00001111_11111111; + }, + }) + .postDeserialize((object) => { + if (object.error) { + throw new Error(AdbSyncStatErrorName[object.error]); + } + }); export type AdbSyncStatResponse = (typeof AdbSyncStatResponse)["TDeserializeResult"]; diff --git a/libraries/adb/src/daemon/packet.ts b/libraries/adb/src/daemon/packet.ts index 995641cc1..f7e266c7a 100644 --- a/libraries/adb/src/daemon/packet.ts +++ b/libraries/adb/src/daemon/packet.ts @@ -1,30 +1,36 @@ import { Consumable, TransformStream } from "@yume-chan/stream-extra"; import Struct from "@yume-chan/struct"; -export enum AdbCommand { - Auth = 0x48545541, // 'AUTH' - Close = 0x45534c43, // 'CLSE' - Connect = 0x4e584e43, // 'CNXN' - Okay = 0x59414b4f, // 'OKAY' - Open = 0x4e45504f, // 'OPEN' - Write = 0x45545257, // 'WRTE' -} +export const AdbCommand = { + Auth: 0x48545541, // 'AUTH' + Close: 0x45534c43, // 'CLSE' + Connect: 0x4e584e43, // 'CNXN' + Okay: 0x59414b4f, // 'OKAY' + Open: 0x4e45504f, // 'OPEN' + Write: 0x45545257, // 'WRTE' +} as const; + +export type AdbCommand = (typeof AdbCommand)[keyof typeof AdbCommand]; -export const AdbPacketHeader = new Struct({ littleEndian: true }) - .uint32("command") - .uint32("arg0") - .uint32("arg1") - .uint32("payloadLength") - .uint32("checksum") - .int32("magic"); +export const AdbPacketHeader = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .uint32("command") + .uint32("arg0") + .uint32("arg1") + .uint32("payloadLength") + .uint32("checksum") + .int32("magic"); export type AdbPacketHeader = (typeof AdbPacketHeader)["TDeserializeResult"]; type AdbPacketHeaderInit = (typeof AdbPacketHeader)["TInit"]; -export const AdbPacket = new Struct({ littleEndian: true }) - .concat(AdbPacketHeader) - .uint8Array("payload", { lengthField: "payloadLength" }); +export const AdbPacket = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .concat(AdbPacketHeader) + .uint8Array("payload", { lengthField: "payloadLength" }); export type AdbPacket = (typeof AdbPacket)["TDeserializeResult"]; diff --git a/libraries/adb/src/features.ts b/libraries/adb/src/features.ts index 707c212c5..7b7553c05 100644 --- a/libraries/adb/src/features.ts +++ b/libraries/adb/src/features.ts @@ -1,13 +1,15 @@ // The order follows // https://cs.android.com/android/platform/superproject/+/master:packages/modules/adb/transport.cpp;l=77;drc=6d14d35d0241f6fee145f8e54ffd77252e8d29fd -export enum AdbFeature { - ShellV2 = "shell_v2", - Cmd = "cmd", - StatV2 = "stat_v2", - ListV2 = "ls_v2", - FixedPushMkdir = "fixed_push_mkdir", - Abb = "abb", - AbbExec = "abb_exec", - SendReceiveV2 = "sendrecv_v2", - DelayedAck = "delayed_ack", -} +export const AdbFeature = { + ShellV2: "shell_v2", + Cmd: "cmd", + StatV2: "stat_v2", + ListV2: "ls_v2", + FixedPushMkdir: "fixed_push_mkdir", + Abb: "abb", + AbbExec: "abb_exec", + SendReceiveV2: "sendrecv_v2", + DelayedAck: "delayed_ack", +} as const; + +export type AdbFeature = (typeof AdbFeature)[keyof typeof AdbFeature]; diff --git a/libraries/adb/src/utils/base64.ts b/libraries/adb/src/utils/base64.ts index fd0fa542c..052a33017 100644 --- a/libraries/adb/src/utils/base64.ts +++ b/libraries/adb/src/utils/base64.ts @@ -1,23 +1,31 @@ -// Array is faster than object literal or `Map` -const charToIndex: number[] = []; -const indexToChar: number[] = []; -const paddingChar = "=".charCodeAt(0); - -function addRange(start: string, end: string) { - const charCodeStart = start.charCodeAt(0); - const charCodeEnd = end.charCodeAt(0); - - for (let charCode = charCodeStart; charCode <= charCodeEnd; charCode += 1) { - charToIndex[charCode] = indexToChar.length; - indexToChar.push(charCode); +const [charToIndex, indexToChar, paddingChar] = /* #__PURE__ */ (() => { + // Array is faster than object literal or `Map` + const charToIndex: number[] = []; + const indexToChar: number[] = []; + const paddingChar = "=".charCodeAt(0); + + function addRange(start: string, end: string) { + const charCodeStart = start.charCodeAt(0); + const charCodeEnd = end.charCodeAt(0); + + for ( + let charCode = charCodeStart; + charCode <= charCodeEnd; + charCode += 1 + ) { + charToIndex[charCode] = indexToChar.length; + indexToChar.push(charCode); + } } -} -addRange("A", "Z"); -addRange("a", "z"); -addRange("0", "9"); -addRange("+", "+"); -addRange("/", "/"); + addRange("A", "Z"); + addRange("a", "z"); + addRange("0", "9"); + addRange("+", "+"); + addRange("/", "/"); + + return [charToIndex, indexToChar, paddingChar]; +})(); /** * Calculate the required length of the output buffer for the given input length. diff --git a/libraries/adb/src/utils/no-op.ts b/libraries/adb/src/utils/no-op.ts index 2e56f8ff9..75b7e678a 100644 --- a/libraries/adb/src/utils/no-op.ts +++ b/libraries/adb/src/utils/no-op.ts @@ -1,3 +1,4 @@ +/* #__NO_SIDE_EFFECTS__ */ export const NOOP = () => { // no-op }; diff --git a/libraries/android-bin/src/dumpsys.ts b/libraries/android-bin/src/dumpsys.ts index 71379de1b..e1b425b7a 100644 --- a/libraries/android-bin/src/dumpsys.ts +++ b/libraries/android-bin/src/dumpsys.ts @@ -31,7 +31,32 @@ const BatteryDumpFields: Record< current: { type: "number", field: "current" }, }; +const Status = { + Unknown: 1, + Charging: 2, + Discharging: 3, + NotCharging: 4, + Full: 5, +} as const; + +const Health = { + Unknown: 1, + Good: 2, + Overheat: 3, + Dead: 4, + OverVoltage: 5, + UnspecifiedFailure: 6, + Cold: 7, +} as const; + +const Battery = { + Status, + Health, +}; + export class DumpSys extends AdbCommandBase { + static readonly Battery = Battery; + async diskStats() { const output = await this.adb.subprocess.spawnAndWaitLegacy([ "dumpsys", @@ -113,6 +138,9 @@ export class DumpSys extends AdbCommandBase { export namespace DumpSys { export namespace Battery { + export type Status = (typeof Status)[keyof typeof Status]; + export type Health = (typeof Health)[keyof typeof Health]; + export interface Info { acPowered: boolean; usbPowered: boolean; @@ -131,23 +159,5 @@ export namespace DumpSys { technology?: string; current?: number; } - - export enum Status { - Unknown = 1, - Charging, - Discharging, - NotCharging, - Full, - } - - export enum Health { - Unknown = 1, - Good, - Overheat, - Dead, - OverVoltage, - UnspecifiedFailure, - Cold, - } } } diff --git a/libraries/android-bin/src/logcat.ts b/libraries/android-bin/src/logcat.ts index 51c115bcd..867284e4b 100644 --- a/libraries/android-bin/src/logcat.ts +++ b/libraries/android-bin/src/logcat.ts @@ -17,30 +17,39 @@ import Struct, { decodeUtf8 } from "@yume-chan/struct"; // so instead of adding to core library, it's implemented here // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/include/android/log.h;l=141;drc=82b5738732161dbaafb2e2f25cce19cd26b9157d -export enum LogId { - All = -1, - Main, - Radio, - Events, - System, - Crash, - Stats, - Security, - Kernel, -} +export const LogId = { + All: -1, + Main: 0, + Radio: 1, + Events: 2, + System: 3, + Crash: 4, + Stats: 5, + Security: 6, + Kernel: 7, +} as const; + +export type LogId = (typeof LogId)[keyof typeof LogId]; + +const LogIdName = + /* #__PURE__ */ + Object.fromEntries(Object.entries(LogId).map(([k, v]) => [v, k])); // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/include/android/log.h;l=73;drc=82b5738732161dbaafb2e2f25cce19cd26b9157d -export enum AndroidLogPriority { - Unknown, - Default, - Verbose, - Debug, - Info, - Warn, - Error, - Fatal, - Silent, -} +export const AndroidLogPriority = { + Unknown: 0, + Default: 1, + Verbose: 2, + Debug: 3, + Info: 4, + Warn: 5, + Error: 6, + Fatal: 7, + Silent: 8, +} as const; + +export type AndroidLogPriority = + (typeof AndroidLogPriority)[keyof typeof AndroidLogPriority]; // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/logprint.cpp;l=140;drc=8dbf3b2bb6b6d1652d9797e477b9abd03278bb79 export const AndroidLogPriorityToCharacter: Record = @@ -56,16 +65,18 @@ export const AndroidLogPriorityToCharacter: Record = [AndroidLogPriority.Silent]: "S", }; -export enum LogcatFormat { - Brief, - Process, - Tag, - Thread, - Raw, - Time, - ThreadTime, - Long, -} +export const LogcatFormat = { + Brief: 0, + Process: 1, + Tag: 2, + Thread: 3, + Raw: 4, + Time: 5, + ThreadTime: 6, + Long: 7, +} as const; + +export type LogcatFormat = (typeof LogcatFormat)[keyof typeof LogcatFormat]; export interface LogcatFormatModifiers { microseconds?: boolean; @@ -88,23 +99,25 @@ export interface LogcatOptions { const NANOSECONDS_PER_SECOND = BigInt(1e9); // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/include/log/log_read.h;l=39;drc=82b5738732161dbaafb2e2f25cce19cd26b9157d -export const LoggerEntry = new Struct({ littleEndian: true }) - .uint16("payloadSize") - .uint16("headerSize") - .int32("pid") - .uint32("tid") - .uint32("seconds") - .uint32("nanoseconds") - .uint32("logId") - .uint32("uid") - .extra({ - get timestamp() { - return ( - BigInt(this.seconds) * NANOSECONDS_PER_SECOND + - BigInt(this.nanoseconds) - ); - }, - }); +export const LoggerEntry = + /* #__PURE__ */ + new Struct({ littleEndian: true }) + .uint16("payloadSize") + .uint16("headerSize") + .int32("pid") + .uint32("tid") + .uint32("seconds") + .uint32("nanoseconds") + .uint32("logId") + .uint32("uid") + .extra({ + get timestamp() { + return ( + BigInt(this.seconds) * NANOSECONDS_PER_SECOND + + BigInt(this.nanoseconds) + ); + }, + }); export type LoggerEntry = (typeof LoggerEntry)["TDeserializeResult"]; @@ -385,7 +398,7 @@ export interface LogSize { export class Logcat extends AdbCommandBase { static logIdToName(id: LogId): string { - return LogId[id]; + return LogIdName[id]!; } static logNameToId(name: string): LogId { diff --git a/libraries/scrcpy-decoder-webcodecs/src/video/decoder.ts b/libraries/scrcpy-decoder-webcodecs/src/video/decoder.ts index 112e0f3b1..14677270c 100644 --- a/libraries/scrcpy-decoder-webcodecs/src/video/decoder.ts +++ b/libraries/scrcpy-decoder-webcodecs/src/video/decoder.ts @@ -92,10 +92,9 @@ class VideoFrameCapturer { } } -const VideoFrameCapturerPool = /*@__PURE__*/ new Pool( - () => new VideoFrameCapturer(), - 4, -); +const VideoFrameCapturerPool = + /* #__PURE__ */ + new Pool(() => new VideoFrameCapturer(), 4); export interface WebCodecsVideoDecoderInit { /** diff --git a/libraries/scrcpy/src/control/empty.ts b/libraries/scrcpy/src/control/empty.ts index a860e1219..c8e18600e 100644 --- a/libraries/scrcpy/src/control/empty.ts +++ b/libraries/scrcpy/src/control/empty.ts @@ -1,3 +1,3 @@ import { Struct } from "@yume-chan/struct"; -export const EmptyControlMessage = new Struct().uint8("type"); +export const EmptyControlMessage = /* #__PURE__ */ new Struct().uint8("type"); diff --git a/libraries/scrcpy/src/control/inject-keycode.ts b/libraries/scrcpy/src/control/inject-keycode.ts index 9a3712a29..142d34778 100644 --- a/libraries/scrcpy/src/control/inject-keycode.ts +++ b/libraries/scrcpy/src/control/inject-keycode.ts @@ -205,12 +205,14 @@ export enum AndroidKeyCode { AndroidPaste, } -export const ScrcpyInjectKeyCodeControlMessage = new Struct() - .uint8("type") - .uint8("action", placeholder()) - .uint32("keyCode", placeholder()) - .uint32("repeat") - .uint32("metaState", placeholder()); +export const ScrcpyInjectKeyCodeControlMessage = + /* #__PURE__ */ + new Struct() + .uint8("type") + .uint8("action", placeholder()) + .uint32("keyCode", placeholder()) + .uint32("repeat") + .uint32("metaState", placeholder()); export type ScrcpyInjectKeyCodeControlMessage = (typeof ScrcpyInjectKeyCodeControlMessage)["TInit"]; diff --git a/libraries/scrcpy/src/control/inject-text.ts b/libraries/scrcpy/src/control/inject-text.ts index adab62a02..dea929163 100644 --- a/libraries/scrcpy/src/control/inject-text.ts +++ b/libraries/scrcpy/src/control/inject-text.ts @@ -1,9 +1,11 @@ import Struct from "@yume-chan/struct"; -export const ScrcpyInjectTextControlMessage = new Struct() - .uint8("type") - .uint32("length") - .string("text", { lengthField: "length" }); +export const ScrcpyInjectTextControlMessage = + /* #__PURE__ */ + new Struct() + .uint8("type") + .uint32("length") + .string("text", { lengthField: "length" }); export type ScrcpyInjectTextControlMessage = (typeof ScrcpyInjectTextControlMessage)["TInit"]; diff --git a/libraries/scrcpy/src/control/set-screen-power-mode.ts b/libraries/scrcpy/src/control/set-screen-power-mode.ts index 6d45e2520..47eb78557 100644 --- a/libraries/scrcpy/src/control/set-screen-power-mode.ts +++ b/libraries/scrcpy/src/control/set-screen-power-mode.ts @@ -6,9 +6,11 @@ export enum AndroidScreenPowerMode { Normal = 2, } -export const ScrcpySetScreenPowerModeControlMessage = new Struct() - .uint8("type") - .uint8("mode", placeholder()); +export const ScrcpySetScreenPowerModeControlMessage = + /* #__PURE__ */ + new Struct() + .uint8("type") + .uint8("mode", placeholder()); export type ScrcpySetScreenPowerModeControlMessage = (typeof ScrcpySetScreenPowerModeControlMessage)["TInit"]; diff --git a/libraries/scrcpy/src/options/1_16/message.ts b/libraries/scrcpy/src/options/1_16/message.ts index 1125501b0..c493a4bd9 100644 --- a/libraries/scrcpy/src/options/1_16/message.ts +++ b/libraries/scrcpy/src/options/1_16/message.ts @@ -23,37 +23,43 @@ export const SCRCPY_CONTROL_MESSAGE_TYPES_1_16: readonly ScrcpyControlMessageTyp /* 10 */ ScrcpyControlMessageType.RotateDevice, ]; -export const ScrcpyMediaStreamRawPacket = new Struct() - .uint64("pts") - .uint32("size") - .uint8Array("data", { lengthField: "size" }); +export const ScrcpyMediaStreamRawPacket = + /* #__PURE__ */ + new Struct() + .uint64("pts") + .uint32("size") + .uint8Array("data", { lengthField: "size" }); export const SCRCPY_MEDIA_PACKET_FLAG_CONFIG = 1n << 63n; -export const ScrcpyInjectTouchControlMessage1_16 = new Struct() - .uint8("type") - .uint8("action", placeholder()) - .uint64("pointerId") - .uint32("pointerX") - .uint32("pointerY") - .uint16("screenWidth") - .uint16("screenHeight") - .field("pressure", ScrcpyUnsignedFloatFieldDefinition) - .uint32("buttons"); +export const ScrcpyInjectTouchControlMessage1_16 = + /* #__PURE__ */ + new Struct() + .uint8("type") + .uint8("action", placeholder()) + .uint64("pointerId") + .uint32("pointerX") + .uint32("pointerY") + .uint16("screenWidth") + .uint16("screenHeight") + .field("pressure", ScrcpyUnsignedFloatFieldDefinition) + .uint32("buttons"); export type ScrcpyInjectTouchControlMessage1_16 = (typeof ScrcpyInjectTouchControlMessage1_16)["TInit"]; export const ScrcpyBackOrScreenOnControlMessage1_16 = EmptyControlMessage; -export const ScrcpySetClipboardControlMessage1_15 = new Struct() - .uint8("type") - .uint32("length") - .string("content", { lengthField: "length" }); +export const ScrcpySetClipboardControlMessage1_15 = + /* #__PURE__ */ + new Struct() + .uint8("type") + .uint32("length") + .string("content", { lengthField: "length" }); export type ScrcpySetClipboardControlMessage1_15 = (typeof ScrcpySetClipboardControlMessage1_15)["TInit"]; -export const ScrcpyClipboardDeviceMessage = new Struct() - .uint32("length") - .string("content", { lengthField: "length" }); +export const ScrcpyClipboardDeviceMessage = + /* #__PURE__ */ + new Struct().uint32("length").string("content", { lengthField: "length" }); diff --git a/libraries/scrcpy/src/options/1_16/scroll.ts b/libraries/scrcpy/src/options/1_16/scroll.ts index a3e85ac87..25ba76c59 100644 --- a/libraries/scrcpy/src/options/1_16/scroll.ts +++ b/libraries/scrcpy/src/options/1_16/scroll.ts @@ -8,14 +8,16 @@ export interface ScrcpyScrollController { ): Uint8Array | undefined; } -export const ScrcpyInjectScrollControlMessage1_16 = new Struct() - .uint8("type") - .uint32("pointerX") - .uint32("pointerY") - .uint16("screenWidth") - .uint16("screenHeight") - .int32("scrollX") - .int32("scrollY"); +export const ScrcpyInjectScrollControlMessage1_16 = + /* #__PURE__ */ + new Struct() + .uint8("type") + .uint32("pointerX") + .uint32("pointerY") + .uint16("screenWidth") + .uint16("screenHeight") + .int32("scrollX") + .int32("scrollY"); /** * Old version of Scrcpy server only supports integer values for scroll. diff --git a/libraries/scrcpy/src/options/1_18.ts b/libraries/scrcpy/src/options/1_18.ts index b6d6f9f49..2df783aab 100644 --- a/libraries/scrcpy/src/options/1_18.ts +++ b/libraries/scrcpy/src/options/1_18.ts @@ -42,9 +42,11 @@ export interface ScrcpyOptionsInit1_18 powerOffOnClose?: boolean; } -export const ScrcpyBackOrScreenOnControlMessage1_18 = new Struct() - .concat(ScrcpyBackOrScreenOnControlMessage1_16) - .uint8("action", placeholder()); +export const ScrcpyBackOrScreenOnControlMessage1_18 = + /* #__PURE__ */ + new Struct() + .concat(ScrcpyBackOrScreenOnControlMessage1_16) + .uint8("action", placeholder()); export type ScrcpyBackOrScreenOnControlMessage1_18 = (typeof ScrcpyBackOrScreenOnControlMessage1_18)["TInit"]; diff --git a/libraries/scrcpy/src/options/1_21.ts b/libraries/scrcpy/src/options/1_21.ts index 03b0d74c5..49732c68d 100644 --- a/libraries/scrcpy/src/options/1_21.ts +++ b/libraries/scrcpy/src/options/1_21.ts @@ -10,7 +10,9 @@ import type { ScrcpyOptionsInit1_18 } from "./1_18.js"; import { ScrcpyOptions1_18 } from "./1_18.js"; import { ScrcpyOptions, toScrcpyOptionValue } from "./types.js"; -export const ScrcpyAckClipboardDeviceMessage = new Struct().uint64("sequence"); +export const ScrcpyAckClipboardDeviceMessage = + /* #__PURE__ */ + new Struct().uint64("sequence"); export interface ScrcpyOptionsInit1_21 extends ScrcpyOptionsInit1_18 { clipboardAutosync?: boolean; @@ -20,12 +22,14 @@ function toSnakeCase(input: string): string { return input.replace(/([A-Z])/g, "_$1").toLowerCase(); } -export const ScrcpySetClipboardControlMessage1_21 = new Struct() - .uint8("type") - .uint64("sequence") - .int8("paste", placeholder()) - .uint32("length") - .string("content", { lengthField: "length" }); +export const ScrcpySetClipboardControlMessage1_21 = + /* #__PURE__ */ + new Struct() + .uint8("type") + .uint64("sequence") + .int8("paste", placeholder()) + .uint32("length") + .string("content", { lengthField: "length" }); export type ScrcpySetClipboardControlMessage1_21 = (typeof ScrcpySetClipboardControlMessage1_21)["TInit"]; diff --git a/libraries/scrcpy/src/options/1_22/scroll.ts b/libraries/scrcpy/src/options/1_22/scroll.ts index b75e766d0..38cf15143 100644 --- a/libraries/scrcpy/src/options/1_22/scroll.ts +++ b/libraries/scrcpy/src/options/1_22/scroll.ts @@ -5,9 +5,9 @@ import { ScrcpyScrollController1_16, } from "../1_16/index.js"; -export const ScrcpyInjectScrollControlMessage1_22 = new Struct() - .concat(ScrcpyInjectScrollControlMessage1_16) - .int32("buttons"); +export const ScrcpyInjectScrollControlMessage1_22 = + /* #__PURE__ */ + new Struct().concat(ScrcpyInjectScrollControlMessage1_16).int32("buttons"); export type ScrcpyInjectScrollControlMessage1_22 = (typeof ScrcpyInjectScrollControlMessage1_22)["TInit"]; diff --git a/libraries/scrcpy/src/options/1_25/scroll.ts b/libraries/scrcpy/src/options/1_25/scroll.ts index d0fb19faa..2c671bc47 100644 --- a/libraries/scrcpy/src/options/1_25/scroll.ts +++ b/libraries/scrcpy/src/options/1_25/scroll.ts @@ -27,15 +27,17 @@ const ScrcpySignedFloatFieldDefinition = new NumberFieldDefinition( ScrcpySignedFloatNumberVariant, ); -export const ScrcpyInjectScrollControlMessage1_25 = new Struct() - .uint8("type", ScrcpyControlMessageType.InjectScroll as const) - .uint32("pointerX") - .uint32("pointerY") - .uint16("screenWidth") - .uint16("screenHeight") - .field("scrollX", ScrcpySignedFloatFieldDefinition) - .field("scrollY", ScrcpySignedFloatFieldDefinition) - .int32("buttons"); +export const ScrcpyInjectScrollControlMessage1_25 = + /* #__PURE__ */ + new Struct() + .uint8("type", ScrcpyControlMessageType.InjectScroll as const) + .uint32("pointerX") + .uint32("pointerY") + .uint16("screenWidth") + .uint16("screenHeight") + .field("scrollX", ScrcpySignedFloatFieldDefinition) + .field("scrollY", ScrcpySignedFloatFieldDefinition) + .int32("buttons"); export type ScrcpyInjectScrollControlMessage1_25 = (typeof ScrcpyInjectScrollControlMessage1_25)["TInit"]; diff --git a/libraries/scrcpy/src/options/2_0.ts b/libraries/scrcpy/src/options/2_0.ts index 07d4bb4b6..d6b7dcfec 100644 --- a/libraries/scrcpy/src/options/2_0.ts +++ b/libraries/scrcpy/src/options/2_0.ts @@ -30,17 +30,19 @@ import type { } from "./types.js"; import { ScrcpyOptions } from "./types.js"; -export const ScrcpyInjectTouchControlMessage2_0 = new Struct() - .uint8("type") - .uint8("action", placeholder()) - .uint64("pointerId") - .uint32("pointerX") - .uint32("pointerY") - .uint16("screenWidth") - .uint16("screenHeight") - .field("pressure", ScrcpyUnsignedFloatFieldDefinition) - .uint32("actionButton") - .uint32("buttons"); +export const ScrcpyInjectTouchControlMessage2_0 = + /* #__PURE__ */ + new Struct() + .uint8("type") + .uint8("action", placeholder()) + .uint64("pointerId") + .uint32("pointerX") + .uint32("pointerY") + .uint16("screenWidth") + .uint16("screenHeight") + .field("pressure", ScrcpyUnsignedFloatFieldDefinition) + .uint32("actionButton") + .uint32("buttons"); export type ScrcpyInjectTouchControlMessage2_0 = (typeof ScrcpyInjectTouchControlMessage2_0)["TInit"]; diff --git a/libraries/stream-extra/src/consumable.ts b/libraries/stream-extra/src/consumable.ts index 6f997ca0e..66c04ce0c 100644 --- a/libraries/stream-extra/src/consumable.ts +++ b/libraries/stream-extra/src/consumable.ts @@ -17,68 +17,9 @@ function isPromiseLike(value: unknown): value is PromiseLike { } export class Consumable { - readonly #task: Task; - readonly #resolver: PromiseResolver; - - readonly value: T; - readonly consumed: Promise; - - constructor(value: T) { - this.#task = createTask("Consumable"); - this.value = value; - this.#resolver = new PromiseResolver(); - this.consumed = this.#resolver.promise; - } - - consume() { - this.#resolver.resolve(); - } - - error(error: unknown) { - this.#resolver.reject(error); - } - - tryConsume(callback: (value: T) => U) { - try { - let result = this.#task.run(() => callback(this.value)); - if (isPromiseLike(result)) { - result = result.then( - (value) => { - this.#resolver.resolve(); - return value; - }, - (e) => { - this.#resolver.reject(e); - throw e; - }, - ) as U; - } else { - this.#resolver.resolve(); - } - return result; - } catch (e) { - this.#resolver.reject(e); - throw e; - } - } -} - -export namespace Consumable { - export interface WritableStreamSink { - start?( - controller: WritableStreamDefaultController, - ): void | PromiseLike; - write?( - chunk: T, - controller: WritableStreamDefaultController, - ): void | PromiseLike; - abort?(reason: unknown): void | PromiseLike; - close?(): void | PromiseLike; - } - - export class WritableStream extends NativeWritableStream< - Consumable - > { + static readonly WritableStream = class WritableStream< + in T, + > extends NativeWritableStream> { static async write( writer: WritableStreamDefaultWriter>, value: T, @@ -89,7 +30,7 @@ export namespace Consumable { } constructor( - sink: WritableStreamSink, + sink: Consumable.WritableStreamSink, strategy?: QueuingStrategy, ) { let wrappedStrategy: QueuingStrategy> | undefined; @@ -127,25 +68,11 @@ export namespace Consumable { wrappedStrategy, ); } - } - - export interface ReadableStreamController { - enqueue(chunk: T): Promise; - close(): void; - error(reason: unknown): void; - } - - export interface ReadableStreamSource { - start?( - controller: ReadableStreamController, - ): void | PromiseLike; - pull?( - controller: ReadableStreamController, - ): void | PromiseLike; - cancel?(reason: unknown): void | PromiseLike; - } + }; - export class ReadableStream extends NativeReadableStream> { + static readonly ReadableStream = class ReadableStream< + T, + > extends NativeReadableStream> { static async enqueue( controller: { enqueue: (chunk: Consumable) => void }, chunk: T, @@ -156,10 +83,12 @@ export namespace Consumable { } constructor( - source: ReadableStreamSource, + source: Consumable.ReadableStreamSource, strategy?: QueuingStrategy, ) { - let wrappedController: ReadableStreamController | undefined; + let wrappedController: + | Consumable.ReadableStreamController + | undefined; let wrappedStrategy: QueuingStrategy> | undefined; if (strategy) { @@ -201,5 +130,84 @@ export namespace Consumable { wrappedStrategy, ); } + }; + + readonly #task: Task; + readonly #resolver: PromiseResolver; + + readonly value: T; + readonly consumed: Promise; + + constructor(value: T) { + this.#task = createTask("Consumable"); + this.value = value; + this.#resolver = new PromiseResolver(); + this.consumed = this.#resolver.promise; + } + + consume() { + this.#resolver.resolve(); + } + + error(error: unknown) { + this.#resolver.reject(error); + } + + tryConsume(callback: (value: T) => U) { + try { + let result = this.#task.run(() => callback(this.value)); + if (isPromiseLike(result)) { + result = result.then( + (value) => { + this.#resolver.resolve(); + return value; + }, + (e) => { + this.#resolver.reject(e); + throw e; + }, + ) as U; + } else { + this.#resolver.resolve(); + } + return result; + } catch (e) { + this.#resolver.reject(e); + throw e; + } + } +} + +export namespace Consumable { + export interface WritableStreamSink { + start?( + controller: WritableStreamDefaultController, + ): void | PromiseLike; + write?( + chunk: T, + controller: WritableStreamDefaultController, + ): void | PromiseLike; + abort?(reason: unknown): void | PromiseLike; + close?(): void | PromiseLike; + } + + export type WritableStream = typeof Consumable.WritableStream; + + export interface ReadableStreamController { + enqueue(chunk: T): Promise; + close(): void; + error(reason: unknown): void; } + + export interface ReadableStreamSource { + start?( + controller: ReadableStreamController, + ): void | PromiseLike; + pull?( + controller: ReadableStreamController, + ): void | PromiseLike; + cancel?(reason: unknown): void | PromiseLike; + } + + export type ReadableStream = typeof Consumable.ReadableStream; } diff --git a/libraries/stream-extra/src/maybe-consumable-ns.ts b/libraries/stream-extra/src/maybe-consumable-ns.ts new file mode 100644 index 000000000..bc4de1eef --- /dev/null +++ b/libraries/stream-extra/src/maybe-consumable-ns.ts @@ -0,0 +1,90 @@ +import { Consumable } from "./consumable.js"; +import type { MaybeConsumable } from "./maybe-consumable.js"; +import type { + QueuingStrategy, + WritableStreamDefaultController, +} from "./stream.js"; +import { + WritableStream as NativeWritableStream, + TransformStream, +} from "./stream.js"; + +export function getValue(value: MaybeConsumable): T { + return value instanceof Consumable ? value.value : value; +} + +export function tryConsume( + value: T, + callback: (value: T extends Consumable ? U : T) => R, +): R { + if (value instanceof Consumable) { + return value.tryConsume(callback); + } else { + return callback(value as never); + } +} + +export class UnwrapStream extends TransformStream, T> { + constructor() { + super({ + transform(chunk, controller) { + tryConsume(chunk, (chunk) => { + controller.enqueue(chunk as T); + }); + }, + }); + } +} + +export interface WritableStreamSink { + start?( + controller: WritableStreamDefaultController, + ): void | PromiseLike; + write?( + chunk: T, + controller: WritableStreamDefaultController, + ): void | PromiseLike; + abort?(reason: unknown): void | PromiseLike; + close?(): void | PromiseLike; +} + +export class WritableStream extends NativeWritableStream< + MaybeConsumable +> { + constructor(sink: WritableStreamSink, strategy?: QueuingStrategy) { + let wrappedStrategy: QueuingStrategy> | undefined; + if (strategy) { + wrappedStrategy = {}; + if ("highWaterMark" in strategy) { + wrappedStrategy.highWaterMark = strategy.highWaterMark; + } + if ("size" in strategy) { + wrappedStrategy.size = (chunk) => { + return strategy.size!( + chunk instanceof Consumable ? chunk.value : chunk, + ); + }; + } + } + + super( + { + start(controller) { + return sink.start?.(controller); + }, + async write(chunk, controller) { + await tryConsume(chunk, (chunk) => + sink.write?.(chunk as T, controller), + ); + }, + abort(reason) { + return sink.abort?.(reason); + }, + close() { + return sink.close?.(); + }, + }, + wrappedStrategy, + ); + } +} diff --git a/libraries/stream-extra/src/maybe-consumable.ts b/libraries/stream-extra/src/maybe-consumable.ts index bb3dc55df..346069848 100644 --- a/libraries/stream-extra/src/maybe-consumable.ts +++ b/libraries/stream-extra/src/maybe-consumable.ts @@ -1,101 +1,5 @@ -import { Consumable } from "./consumable.js"; -import type { - QueuingStrategy, - WritableStreamDefaultController, -} from "./stream.js"; -import { - WritableStream as NativeWritableStream, - TransformStream, -} from "./stream.js"; +import type { Consumable } from "./consumable.js"; export type MaybeConsumable = T | Consumable; -export namespace MaybeConsumable { - export function getValue(value: MaybeConsumable): T { - return value instanceof Consumable ? value.value : value; - } - - export function tryConsume( - value: T, - callback: (value: T extends Consumable ? U : T) => R, - ): R { - if (value instanceof Consumable) { - return value.tryConsume(callback); - } else { - return callback(value as never); - } - } - - export class UnwrapStream extends TransformStream< - MaybeConsumable, - T - > { - constructor() { - super({ - transform(chunk, controller) { - MaybeConsumable.tryConsume(chunk, (chunk) => { - controller.enqueue(chunk as T); - }); - }, - }); - } - } - - export interface WritableStreamSink { - start?( - controller: WritableStreamDefaultController, - ): void | PromiseLike; - write?( - chunk: T, - controller: WritableStreamDefaultController, - ): void | PromiseLike; - abort?(reason: unknown): void | PromiseLike; - close?(): void | PromiseLike; - } - - export class WritableStream extends NativeWritableStream< - MaybeConsumable - > { - constructor( - sink: WritableStreamSink, - strategy?: QueuingStrategy, - ) { - let wrappedStrategy: - | QueuingStrategy> - | undefined; - if (strategy) { - wrappedStrategy = {}; - if ("highWaterMark" in strategy) { - wrappedStrategy.highWaterMark = strategy.highWaterMark; - } - if ("size" in strategy) { - wrappedStrategy.size = (chunk) => { - return strategy.size!( - chunk instanceof Consumable ? chunk.value : chunk, - ); - }; - } - } - - super( - { - start(controller) { - return sink.start?.(controller); - }, - async write(chunk, controller) { - await MaybeConsumable.tryConsume(chunk, (chunk) => - sink.write?.(chunk as T, controller), - ); - }, - abort(reason) { - return sink.abort?.(reason); - }, - close() { - return sink.close?.(); - }, - }, - wrappedStrategy, - ); - } - } -} +export * as MaybeConsumable from "./maybe-consumable-ns.js"; diff --git a/libraries/stream-extra/src/stream.ts b/libraries/stream-extra/src/stream.ts index 4e977030a..e358c042e 100644 --- a/libraries/stream-extra/src/stream.ts +++ b/libraries/stream-extra/src/stream.ts @@ -32,15 +32,13 @@ interface GlobalExtension { TransformStream: typeof TransformStreamType; } -const Global = globalThis as unknown as GlobalExtension; - -export const AbortController = Global.AbortController; - export type ReadableStream = ReadableStreamType; -export const ReadableStream = Global.ReadableStream; - export type WritableStream = WritableStreamType; -export const WritableStream = Global.WritableStream; - export type TransformStream = TransformStreamType; -export const TransformStream = Global.TransformStream; + +export const { + AbortController, + ReadableStream, + WritableStream, + TransformStream, +} = globalThis as unknown as GlobalExtension; diff --git a/libraries/struct/src/struct.spec.ts b/libraries/struct/src/struct.spec.ts index 19c2c027b..666b51dfe 100644 --- a/libraries/struct/src/struct.spec.ts +++ b/libraries/struct/src/struct.spec.ts @@ -33,7 +33,7 @@ class MockDeserializationStream implements ExactReadable { describe("Struct", () => { describe(".constructor", () => { it("should initialize fields", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); assert.deepStrictEqual(struct.options, StructDefaultOptions); assert.strictEqual(struct.size, 0); }); @@ -82,7 +82,7 @@ describe("Struct", () => { } it("should push a field and update size", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); const field1 = "foo"; const fieldDefinition1 = new MockFieldDefinition(4); @@ -104,7 +104,7 @@ describe("Struct", () => { }); it("should throw an error if field name already exists", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); const fieldName = "foo"; struct.field(fieldName, new MockFieldDefinition(4)); assert.throws(() => { @@ -115,7 +115,7 @@ describe("Struct", () => { describe("#number", () => { it("`int8` should append an `int8` field", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); struct.int8("foo"); assert.strictEqual(struct.size, 1); @@ -125,7 +125,7 @@ describe("Struct", () => { }); it("`uint8` should append an `uint8` field", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); struct.uint8("foo"); assert.strictEqual(struct.size, 1); @@ -135,7 +135,7 @@ describe("Struct", () => { }); it("`int16` should append an `int16` field", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); struct.int16("foo"); assert.strictEqual(struct.size, 2); @@ -145,7 +145,7 @@ describe("Struct", () => { }); it("`uint16` should append an `uint16` field", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); struct.uint16("foo"); assert.strictEqual(struct.size, 2); @@ -155,7 +155,7 @@ describe("Struct", () => { }); it("`int32` should append an `int32` field", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); struct.int32("foo"); assert.strictEqual(struct.size, 4); @@ -165,7 +165,7 @@ describe("Struct", () => { }); it("`uint32` should append an `uint32` field", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); struct.uint32("foo"); assert.strictEqual(struct.size, 4); @@ -175,7 +175,7 @@ describe("Struct", () => { }); it("`int64` should append an `int64` field", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); struct.int64("foo"); assert.strictEqual(struct.size, 8); @@ -185,7 +185,7 @@ describe("Struct", () => { }); it("`uint64` should append an `uint64` field", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); struct.uint64("foo"); assert.strictEqual(struct.size, 8); @@ -197,7 +197,7 @@ describe("Struct", () => { describe("#uint8ArrayLike", () => { describe("FixedLengthBufferLikeFieldDefinition", () => { it("`#uint8Array` with fixed length", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); struct.uint8Array("foo", { length: 10 }); assert.strictEqual(struct.size, 10); @@ -214,7 +214,7 @@ describe("Struct", () => { }); it("`#string` with fixed length", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); struct.string("foo", { length: 10 }); assert.strictEqual(struct.size, 10); @@ -233,7 +233,9 @@ describe("Struct", () => { describe("VariableLengthBufferLikeFieldDefinition", () => { it("`#uint8Array` with variable length", () => { - const struct = new Struct().int8("barLength"); + const struct = /* #__PURE__ */ new Struct().int8( + "barLength", + ); assert.strictEqual(struct.size, 1); struct.uint8Array("bar", { lengthField: "barLength" }); @@ -255,7 +257,9 @@ describe("Struct", () => { }); it("`#string` with variable length", () => { - const struct = new Struct().int8("barLength"); + const struct = /* #__PURE__ */ new Struct().int8( + "barLength", + ); assert.strictEqual(struct.size, 1); struct.string("bar", { lengthField: "barLength" }); @@ -280,9 +284,11 @@ describe("Struct", () => { describe("#concat", () => { it("should append all fields from other struct", () => { - const sub = new Struct().int16("int16").int32("int32"); + const sub = /* #__PURE__ */ new Struct() + .int16("int16") + .int32("int32"); - const struct = new Struct() + const struct = /* #__PURE__ */ new Struct() .int8("int8") .concat(sub) .int64("int64"); @@ -312,7 +318,9 @@ describe("Struct", () => { describe("#deserialize", () => { it("should deserialize without dynamic size fields", () => { - const struct = new Struct().int8("foo").int16("bar"); + const struct = /* #__PURE__ */ new Struct() + .int8("foo") + .int16("bar"); const stream = new MockDeserializationStream(); stream.readExactly.mock.mockImplementationOnce( @@ -339,7 +347,7 @@ describe("Struct", () => { }); it("should deserialize with dynamic size fields", () => { - const struct = new Struct() + const struct = /* #__PURE__ */ new Struct() .int8("fooLength") .uint8Array("foo", { lengthField: "fooLength" }); @@ -376,7 +384,10 @@ describe("Struct", () => { describe("#extra", () => { it("should accept plain field", () => { - const struct = new Struct().extra({ foo: 42, bar: true }); + const struct = /* #__PURE__ */ new Struct().extra({ + foo: 42, + bar: true, + }); const stream = new MockDeserializationStream(); const result = struct.deserialize(stream); @@ -411,7 +422,7 @@ describe("Struct", () => { }); it("should accept accessors", () => { - const struct = new Struct().extra({ + const struct = /* #__PURE__ */ new Struct().extra({ get foo() { return 42; }, @@ -438,7 +449,7 @@ describe("Struct", () => { describe("#postDeserialize", () => { it("can throw errors", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); const callback = mock.fn(() => { throw new Error("mock"); }); @@ -450,7 +461,7 @@ describe("Struct", () => { }); it("can replace return value", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); const callback = mock.fn(() => "mock"); struct.postDeserialize(callback); @@ -461,7 +472,7 @@ describe("Struct", () => { }); it("can return nothing", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); const callback = mock.fn(); struct.postDeserialize(callback); @@ -473,7 +484,7 @@ describe("Struct", () => { }); it("should overwrite callback", () => { - const struct = new Struct(); + const struct = /* #__PURE__ */ new Struct(); const callback1 = mock.fn(); struct.postDeserialize(callback1); @@ -492,7 +503,9 @@ describe("Struct", () => { describe("#serialize", () => { it("should serialize without dynamic size fields", () => { - const struct = new Struct().int8("foo").int16("bar"); + const struct = /* #__PURE__ */ new Struct() + .int8("foo") + .int16("bar"); const result = new Uint8Array( struct.serialize({ foo: 0x42, bar: 0x1024 }), @@ -505,7 +518,7 @@ describe("Struct", () => { }); it("should serialize with dynamic size fields", () => { - const struct = new Struct() + const struct = /* #__PURE__ */ new Struct() .int8("fooLength") .uint8Array("foo", { lengthField: "fooLength" }); diff --git a/libraries/struct/src/utils.ts b/libraries/struct/src/utils.ts index 5ca94ba86..e3108404d 100644 --- a/libraries/struct/src/utils.ts +++ b/libraries/struct/src/utils.ts @@ -82,9 +82,10 @@ interface GlobalExtension { const { TextEncoder, TextDecoder } = globalThis as unknown as GlobalExtension; -const SharedEncoder = new TextEncoder(); -const SharedDecoder = new TextDecoder(); +const SharedEncoder = /* #__PURE__ */ new TextEncoder(); +const SharedDecoder = /* #__PURE__ */ new TextDecoder(); +/* #__NO_SIDE_EFFECTS__ */ export function encodeUtf8(input: string): Uint8Array { return SharedEncoder.encode(input); } From 9e43f29441a8ef3f369d2fbe0dd03157e00015b1 Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Tue, 10 Sep 2024 12:07:03 +0800 Subject: [PATCH 07/10] chore: update dependencies --- apps/cli/package.json | 4 +- apps/cli/tsconfig.test.json | 5 + libraries/adb-credential-web/package.json | 2 +- .../adb-credential-web/tsconfig.test.json | 5 + libraries/adb-daemon-webusb/package.json | 4 +- libraries/adb-daemon-webusb/src/manager.ts | 4 +- libraries/adb-scrcpy/package.json | 2 +- libraries/adb-server-node-tcp/package.json | 4 +- .../adb-server-node-tcp/tsconfig.test.json | 5 + libraries/adb/package.json | 4 +- libraries/android-bin/package.json | 4 +- libraries/aoa/package.json | 2 +- libraries/event/package.json | 4 +- libraries/fetch-scrcpy-server/package.json | 2 +- libraries/no-data-view/package.json | 4 +- libraries/pcm-player/package.json | 2 +- .../scrcpy-decoder-tinyh264/package.json | 2 +- .../scrcpy-decoder-webcodecs/package.json | 2 +- libraries/scrcpy/package.json | 4 +- libraries/stream-extra/package.json | 4 +- libraries/struct/package.json | 4 +- libraries/struct/src/sync-promise.ts | 26 +- package.json | 2 +- pnpm-lock.yaml | 633 ++++++++---------- toolchain/eslint-config/eslint.config.js | 9 +- toolchain/eslint-config/package.json | 12 +- toolchain/package-lint/package.json | 2 +- toolchain/test-runner/package.json | 4 +- toolchain/tsconfig/tsconfig.base.json | 1 + 29 files changed, 331 insertions(+), 431 deletions(-) create mode 100644 apps/cli/tsconfig.test.json create mode 100644 libraries/adb-credential-web/tsconfig.test.json create mode 100644 libraries/adb-server-node-tcp/tsconfig.test.json diff --git a/apps/cli/package.json b/apps/cli/package.json index 9b3d1f34f..c275e2454 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -41,10 +41,10 @@ "source-map-support": "^0.5.21" }, "devDependencies": { - "@types/node": "^22.5.0", + "@types/node": "^22.5.4", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/apps/cli/tsconfig.test.json b/apps/cli/tsconfig.test.json new file mode 100644 index 000000000..e642aeaa4 --- /dev/null +++ b/apps/cli/tsconfig.test.json @@ -0,0 +1,5 @@ +{ + "extends": "./tsconfig.build.json", + "compilerOptions": {}, + "exclude": [] +} diff --git a/libraries/adb-credential-web/package.json b/libraries/adb-credential-web/package.json index 96435ec2f..b730c1f1c 100644 --- a/libraries/adb-credential-web/package.json +++ b/libraries/adb-credential-web/package.json @@ -36,6 +36,6 @@ "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/adb-credential-web/tsconfig.test.json b/libraries/adb-credential-web/tsconfig.test.json new file mode 100644 index 000000000..e642aeaa4 --- /dev/null +++ b/libraries/adb-credential-web/tsconfig.test.json @@ -0,0 +1,5 @@ +{ + "extends": "./tsconfig.build.json", + "compilerOptions": {}, + "exclude": [] +} diff --git a/libraries/adb-daemon-webusb/package.json b/libraries/adb-daemon-webusb/package.json index 8b17e64bb..01a46a925 100644 --- a/libraries/adb-daemon-webusb/package.json +++ b/libraries/adb-daemon-webusb/package.json @@ -38,11 +38,11 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.5.0", + "@types/node": "^22.5.4", "@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", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/adb-daemon-webusb/src/manager.ts b/libraries/adb-daemon-webusb/src/manager.ts index ac5ef42f5..85299afb3 100644 --- a/libraries/adb-daemon-webusb/src/manager.ts +++ b/libraries/adb-daemon-webusb/src/manager.ts @@ -68,9 +68,7 @@ export class AdbDaemonWebUsbDeviceManager { * * [Online Documentation](https://docs.tangoapp.dev/tango/daemon/usb/get-devices/) */ - getDevices( - filters?: USBDeviceFilter[] | undefined, - ): Promise; + getDevices(filters?: USBDeviceFilter[]): Promise; async getDevices( filters_: USBDeviceFilter[] | undefined, ): Promise { diff --git a/libraries/adb-scrcpy/package.json b/libraries/adb-scrcpy/package.json index f7689d468..1aeec5341 100644 --- a/libraries/adb-scrcpy/package.json +++ b/libraries/adb-scrcpy/package.json @@ -43,6 +43,6 @@ "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/adb-server-node-tcp/package.json b/libraries/adb-server-node-tcp/package.json index 685f874a1..a16c390f8 100644 --- a/libraries/adb-server-node-tcp/package.json +++ b/libraries/adb-server-node-tcp/package.json @@ -37,10 +37,10 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.5.0", + "@types/node": "^22.5.4", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/adb-server-node-tcp/tsconfig.test.json b/libraries/adb-server-node-tcp/tsconfig.test.json new file mode 100644 index 000000000..e642aeaa4 --- /dev/null +++ b/libraries/adb-server-node-tcp/tsconfig.test.json @@ -0,0 +1,5 @@ +{ + "extends": "./tsconfig.build.json", + "compilerOptions": {}, + "exclude": [] +} diff --git a/libraries/adb/package.json b/libraries/adb/package.json index 452481c53..079803345 100644 --- a/libraries/adb/package.json +++ b/libraries/adb/package.json @@ -39,11 +39,11 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.5.0", + "@types/node": "^22.5.4", "@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", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/android-bin/package.json b/libraries/android-bin/package.json index 70ca2e2fc..062c6237f 100644 --- a/libraries/android-bin/package.json +++ b/libraries/android-bin/package.json @@ -37,11 +37,11 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.5.0", + "@types/node": "^22.5.4", "@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", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/aoa/package.json b/libraries/aoa/package.json index e7c676a95..dbb705f8a 100644 --- a/libraries/aoa/package.json +++ b/libraries/aoa/package.json @@ -37,6 +37,6 @@ "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/event/package.json b/libraries/event/package.json index a75a9186e..020f3c2ef 100644 --- a/libraries/event/package.json +++ b/libraries/event/package.json @@ -36,11 +36,11 @@ "@yume-chan/async": "^2.2.0" }, "devDependencies": { - "@types/node": "^22.5.0", + "@types/node": "^22.5.4", "@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", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/fetch-scrcpy-server/package.json b/libraries/fetch-scrcpy-server/package.json index 2dfb7de53..3e40e5e92 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.5.0" + "@types/node": "^22.5.4" } } diff --git a/libraries/no-data-view/package.json b/libraries/no-data-view/package.json index 62c2296f2..afdb5e18f 100644 --- a/libraries/no-data-view/package.json +++ b/libraries/no-data-view/package.json @@ -30,12 +30,12 @@ "test": "run-test" }, "devDependencies": { - "@types/node": "^22.5.0", + "@types/node": "^22.5.4", "@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.9.0", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/pcm-player/package.json b/libraries/pcm-player/package.json index cfbbc2d30..7cf401d4a 100644 --- a/libraries/pcm-player/package.json +++ b/libraries/pcm-player/package.json @@ -34,6 +34,6 @@ "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/scrcpy-decoder-tinyh264/package.json b/libraries/scrcpy-decoder-tinyh264/package.json index 2881f6fdd..1eab6479e 100644 --- a/libraries/scrcpy-decoder-tinyh264/package.json +++ b/libraries/scrcpy-decoder-tinyh264/package.json @@ -45,6 +45,6 @@ "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/scrcpy-decoder-webcodecs/package.json b/libraries/scrcpy-decoder-webcodecs/package.json index 937f88aa5..247e7ec72 100644 --- a/libraries/scrcpy-decoder-webcodecs/package.json +++ b/libraries/scrcpy-decoder-webcodecs/package.json @@ -43,6 +43,6 @@ "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "prettier": "^3.3.3", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/scrcpy/package.json b/libraries/scrcpy/package.json index 52c517d06..405710bd0 100644 --- a/libraries/scrcpy/package.json +++ b/libraries/scrcpy/package.json @@ -39,11 +39,11 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.5.0", + "@types/node": "^22.5.4", "@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", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/stream-extra/package.json b/libraries/stream-extra/package.json index 25a53895b..39fc6f767 100644 --- a/libraries/stream-extra/package.json +++ b/libraries/stream-extra/package.json @@ -36,11 +36,11 @@ "@yume-chan/struct": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.5.0", + "@types/node": "^22.5.4", "@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", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/struct/package.json b/libraries/struct/package.json index 6e1e5de54..e3b90b991 100644 --- a/libraries/struct/package.json +++ b/libraries/struct/package.json @@ -37,11 +37,11 @@ "@yume-chan/no-data-view": "workspace:^0.0.24" }, "devDependencies": { - "@types/node": "^22.5.0", + "@types/node": "^22.5.4", "@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", - "typescript": "^5.5.4" + "typescript": "^5.6.2" } } diff --git a/libraries/struct/src/sync-promise.ts b/libraries/struct/src/sync-promise.ts index b1ee854af..f84eda748 100644 --- a/libraries/struct/src/sync-promise.ts +++ b/libraries/struct/src/sync-promise.ts @@ -1,13 +1,9 @@ export interface SyncPromise { then( - onfulfilled?: - | ((value: T) => TResult1 | PromiseLike) - | null - | undefined, + onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null, onrejected?: | ((reason: unknown) => TResult2 | PromiseLike) - | null - | undefined, + | null, ): SyncPromise; valueOrPromise(): T | PromiseLike; @@ -62,14 +58,10 @@ class PendingSyncPromise implements SyncPromise { } then( - onfulfilled?: - | ((value: T) => TResult1 | PromiseLike) - | null - | undefined, + onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null, onrejected?: | ((reason: unknown) => TResult2 | PromiseLike) - | null - | undefined, + | null, ) { return new PendingSyncPromise( this.#promise.then(onfulfilled, onrejected), @@ -89,10 +81,7 @@ class ResolvedSyncPromise implements SyncPromise { } then( - onfulfilled?: - | ((value: T) => TResult1 | PromiseLike) - | null - | undefined, + onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null, ) { if (!onfulfilled) { return this as never; @@ -113,11 +102,10 @@ class RejectedSyncPromise implements SyncPromise { } then( - _?: ((value: T) => TResult1 | PromiseLike) | null | undefined, + _?: ((value: T) => TResult1 | PromiseLike) | null, onrejected?: | ((reason: unknown) => TResult2 | PromiseLike) - | null - | undefined, + | null, ) { if (!onrejected) { return this as never; diff --git a/package.json b/package.json index 32dc9a576..b78773adb 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,6 @@ "lint": "pnpm recursive run lint" }, "devDependencies": { - "@changesets/cli": "^2.27.7" + "@changesets/cli": "^2.27.8" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 808892cc7..c06e13ffd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: devDependencies: '@changesets/cli': - specifier: ^2.27.7 - version: 2.27.7 + specifier: ^2.27.8 + version: 2.27.8 apps/cli: dependencies: @@ -34,8 +34,8 @@ importers: version: 0.5.21 devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -46,8 +46,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/adb: dependencies: @@ -68,8 +68,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -83,8 +83,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/adb-credential-web: dependencies: @@ -102,8 +102,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/adb-daemon-webusb: dependencies: @@ -121,8 +121,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -136,8 +136,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/adb-scrcpy: dependencies: @@ -170,8 +170,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/adb-server-node-tcp: dependencies: @@ -186,8 +186,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -198,8 +198,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/android-bin: dependencies: @@ -214,8 +214,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -229,8 +229,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/aoa: dependencies: @@ -248,8 +248,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/event: dependencies: @@ -258,8 +258,8 @@ importers: version: 2.2.0 devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -273,8 +273,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/fetch-scrcpy-server: dependencies: @@ -283,14 +283,14 @@ importers: version: 4.0.3 devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 libraries/no-data-view: devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -307,8 +307,8 @@ importers: specifier: ^2.9.0 version: 2.9.0 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/pcm-player: devDependencies: @@ -325,8 +325,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/scrcpy: dependencies: @@ -344,8 +344,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -359,8 +359,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/scrcpy-decoder-tinyh264: dependencies: @@ -396,8 +396,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/scrcpy-decoder-webcodecs: dependencies: @@ -427,8 +427,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/stream-extra: dependencies: @@ -440,8 +440,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -455,8 +455,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 libraries/struct: dependencies: @@ -465,8 +465,8 @@ importers: version: link:../no-data-view devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -480,29 +480,29 @@ importers: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 toolchain/eslint-config: dependencies: '@eslint/js': - specifier: ^9.9.1 - version: 9.9.1 + specifier: ^9.10.0 + version: 9.10.0 '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 eslint: - specifier: ^9.9.1 - version: 9.9.1 + specifier: ^9.10.0 + version: 9.10.0 eslint-plugin-import-x: - specifier: ^4.1.0 - version: 4.1.0(eslint@9.9.1)(typescript@5.5.4) + specifier: ^4.2.1 + version: 4.2.1(eslint@9.10.0)(typescript@5.6.2) typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 typescript-eslint: - specifier: ^8.3.0 - version: 8.3.0(eslint@9.9.1)(typescript@5.5.4) + specifier: ^8.5.0 + version: 8.5.0(eslint@9.10.0)(typescript@5.6.2) devDependencies: prettier: specifier: ^3.3.3 @@ -511,8 +511,8 @@ importers: toolchain/package-lint: dependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 json5: specifier: ^2.2.3 version: 2.2.3 @@ -520,11 +520,11 @@ importers: toolchain/test-runner: devDependencies: '@types/node': - specifier: ^22.5.0 - version: 22.5.0 + specifier: ^22.5.4 + version: 22.5.4 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 toolchain/tsconfig: devDependencies: @@ -534,55 +534,55 @@ importers: packages: - '@babel/runtime@7.24.7': - resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + '@babel/runtime@7.25.6': + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} - '@changesets/apply-release-plan@7.0.4': - resolution: {integrity: sha512-HLFwhKWayKinWAul0Vj+76jVx1Pc2v55MGPVjZ924Y/ROeSsBMFutv9heHmCUj48lJyRfOTJG5+ar+29FUky/A==} + '@changesets/apply-release-plan@7.0.5': + resolution: {integrity: sha512-1cWCk+ZshEkSVEZrm2fSj1Gz8sYvxgUL4Q78+1ZZqeqfuevPTPk033/yUZ3df8BKMohkqqHfzj0HOOrG0KtXTw==} - '@changesets/assemble-release-plan@6.0.3': - resolution: {integrity: sha512-bLNh9/Lgl1VwkjWZTq8JmRqH+hj7/Yzfz0jsQ/zJJ+FTmVqmqPj3szeKOri8O/hEM8JmHW019vh2gTO9iq5Cuw==} + '@changesets/assemble-release-plan@6.0.4': + resolution: {integrity: sha512-nqICnvmrwWj4w2x0fOhVj2QEGdlUuwVAwESrUo5HLzWMI1rE5SWfsr9ln+rDqWB6RQ2ZyaMZHUcU7/IRaUJS+Q==} '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} - '@changesets/cli@2.27.7': - resolution: {integrity: sha512-6lr8JltiiXPIjDeYg4iM2MeePP6VN/JkmqBsVA5XRiy01hGS3y629LtSDvKcycj/w/5Eur1rEwby/MjcYS+e2A==} + '@changesets/cli@2.27.8': + resolution: {integrity: sha512-gZNyh+LdSsI82wBSHLQ3QN5J30P4uHKJ4fXgoGwQxfXwYFTJzDdvIJasZn8rYQtmKhyQuiBj4SSnLuKlxKWq4w==} hasBin: true - '@changesets/config@3.0.2': - resolution: {integrity: sha512-cdEhS4t8woKCX2M8AotcV2BOWnBp09sqICxKapgLHf9m5KdENpWjyrFNMjkLqGJtUys9U+w93OxWT0czorVDfw==} + '@changesets/config@3.0.3': + resolution: {integrity: sha512-vqgQZMyIcuIpw9nqFIpTSNyc/wgm/Lu1zKN5vECy74u95Qx/Wa9g27HdgO4NkVAaq+BGA8wUc/qvbvVNs93n6A==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.1.1': - resolution: {integrity: sha512-LRFjjvigBSzfnPU2n/AhFsuWR5DK++1x47aq6qZ8dzYsPtS/I5mNhIGAS68IAxh1xjO9BTtz55FwefhANZ+FCA==} + '@changesets/get-dependents-graph@2.1.2': + resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} - '@changesets/get-release-plan@4.0.3': - resolution: {integrity: sha512-6PLgvOIwTSdJPTtpdcr3sLtGatT+Jr22+cQwEBJBy6wP0rjB4yJ9lv583J9fVpn1bfQlBkDa8JxbS2g/n9lIyA==} + '@changesets/get-release-plan@4.0.4': + resolution: {integrity: sha512-SicG/S67JmPTrdcc9Vpu0wSQt7IiuN0dc8iR5VScnnTVPfIaLvKmEGRvIaF0kcn8u5ZqLbormZNTO77bCEvyWw==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - '@changesets/git@3.0.0': - resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} + '@changesets/git@3.0.1': + resolution: {integrity: sha512-pdgHcYBLCPcLd82aRcuO0kxCDbw/yISlOtkmwmE8Odo1L6hSiZrBOsRl84eYG7DRCab/iHnOkWqExqc4wxk2LQ==} - '@changesets/logger@0.1.0': - resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} + '@changesets/logger@0.1.1': + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} '@changesets/parse@0.4.0': resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} - '@changesets/pre@2.0.0': - resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} + '@changesets/pre@2.0.1': + resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} - '@changesets/read@0.6.0': - resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} + '@changesets/read@0.6.1': + resolution: {integrity: sha512-jYMbyXQk3nwP25nRzQQGa1nKLY0KfoOV7VLgwucI0bUO8t8ZLCr6LZmgjXsiKuRDc+5A6doKPr9w2d+FEJ55zQ==} - '@changesets/should-skip-package@0.1.0': - resolution: {integrity: sha512-FxG6Mhjw7yFStlSM7Z0Gmg3RiyQ98d/9VpQAZ3Fzr59dCOM9G6ZdYbjiSAt0XtFr9JR5U2tBaJWPjrkGGc618g==} + '@changesets/should-skip-package@0.1.1': + resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} '@changesets/types@4.1.0': resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} @@ -590,8 +590,8 @@ packages: '@changesets/types@6.0.0': resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} - '@changesets/write@0.3.1': - resolution: {integrity: sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==} + '@changesets/write@0.3.2': + resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} @@ -611,14 +611,18 @@ packages: resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.9.1': - resolution: {integrity: sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==} + '@eslint/js@9.10.0': + resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.1.0': + resolution: {integrity: sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} @@ -665,8 +669,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.5.0': - resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==} + '@types/node@22.5.4': + resolution: {integrity: sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==} '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -674,8 +678,8 @@ packages: '@types/w3c-web-usb@1.0.10': resolution: {integrity: sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ==} - '@typescript-eslint/eslint-plugin@8.3.0': - resolution: {integrity: sha512-FLAIn63G5KH+adZosDYiutqkOkYEx0nvcwNNfJAf+c7Ae/H35qWwTYvPZUKFj5AS+WfHG/WJJfWnDnyNUlp8UA==} + '@typescript-eslint/eslint-plugin@8.5.0': + resolution: {integrity: sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==} 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 +689,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.3.0': - resolution: {integrity: sha512-h53RhVyLu6AtpUzVCYLPhZGL5jzTD9fZL+SYf/+hYOx2bDkyQXztXSc4tbvKYHzfMXExMLiL9CWqJmVz6+78IQ==} + '@typescript-eslint/parser@8.5.0': + resolution: {integrity: sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -695,12 +699,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.3.0': - resolution: {integrity: sha512-mz2X8WcN2nVu5Hodku+IR8GgCOl4C0G/Z1ruaWN4dgec64kDBabuXyPAr+/RgJtumv8EEkqIzf3X2U5DUKB2eg==} + '@typescript-eslint/scope-manager@8.5.0': + resolution: {integrity: sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.3.0': - resolution: {integrity: sha512-wrV6qh//nLbfXZQoj32EXKmwHf4b7L+xXLrP3FZ0GOUU72gSvLjeWUl5J5Ue5IwRxIV1TfF73j/eaBapxx99Lg==} + '@typescript-eslint/type-utils@8.5.0': + resolution: {integrity: sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -708,12 +712,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.3.0': - resolution: {integrity: sha512-y6sSEeK+facMaAyixM36dQ5NVXTnKWunfD1Ft4xraYqxP0lC0POJmIaL/mw72CUMqjY9qfyVfXafMeaUj0noWw==} + '@typescript-eslint/types@8.5.0': + resolution: {integrity: sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.3.0': - resolution: {integrity: sha512-Mq7FTHl0R36EmWlCJWojIC1qn/ZWo2YiWYc1XVtasJ7FIgjo0MVv9rZWXEE7IK2CGrtwe1dVOxWwqXUdNgfRCA==} + '@typescript-eslint/typescript-estree@8.5.0': + resolution: {integrity: sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -721,14 +725,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.3.0': - resolution: {integrity: sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==} + '@typescript-eslint/utils@8.5.0': + resolution: {integrity: sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.3.0': - resolution: {integrity: sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==} + '@typescript-eslint/visitor-keys@8.5.0': + resolution: {integrity: sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@xhmikosr/archive-type@6.0.1': @@ -783,10 +787,6 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -848,10 +848,6 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -863,16 +859,10 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -909,8 +899,8 @@ packages: supports-color: optional: true - debug@4.3.6: - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -945,10 +935,6 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -960,8 +946,8 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-plugin-import-x@4.1.0: - resolution: {integrity: sha512-1BYJU0C5NBJLY4qukmwDbFrf2w8fLGEU9zZV3viWa7gNnbn4o4meQy5O4LVXn56eFh9Y4fQxu3udhIqQuVITvw==} + eslint-plugin-import-x@4.2.1: + resolution: {integrity: sha512-WWi2GedccIJa0zXxx3WDnTgouGQTtdYK1nhXMwywbqqAgB0Ov+p1pYBsWh3VaB0bvBOwLse6OfVII7jZD9xo5Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -978,8 +964,8 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.9.1: - resolution: {integrity: sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==} + eslint@9.10.0: + resolution: {integrity: sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1082,9 +1068,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -1115,8 +1098,8 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - get-tsconfig@4.7.6: - resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} + get-tsconfig@4.8.0: + resolution: {integrity: sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==} gh-release-fetch@4.0.3: resolution: {integrity: sha512-TOiP1nwLsH5shG85Yt6v6Kjq5JU/44jXyEpbcfPgmj3C829yeXIlx9nAEwQRaxtRF3SJinn2lz7XUkfG9W/U4g==} @@ -1148,10 +1131,6 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -1274,10 +1253,6 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} - locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -1311,8 +1286,8 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} mime-db@1.52.0: @@ -1338,9 +1313,6 @@ packages: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1410,6 +1382,9 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + package-manager-detector@0.2.0: + resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -1436,6 +1411,9 @@ packages: pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -1444,14 +1422,6 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - - preferred-pm@3.1.4: - resolution: {integrity: sha512-lEHd+yEm22jXdCphDrkvIJQU66EuLojPPtvZkpKIkiD+l0DMThF/niqZKJSoU8Vl7iuvtmzyMhir9LdVy5WMnA==} - engines: {node: '>=10'} - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -1618,10 +1588,6 @@ packages: resolution: {integrity: sha512-19dQEwG6Jd+VabjPRyBhymIF069vZiqWSZa2jJBoKJTsqGKnTxowGoQaLnz+yLARfDI041IUQekyPUMWElOgsQ==} engines: {node: '>=14.16'} - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -1681,8 +1647,8 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.3.0: - resolution: {integrity: sha512-EvWjwWLwwKDIJuBjk2I6UkV8KEQcwZ0VM10nR1rIunRDIP67QJTZAHBXTX0HW/oI1H10YESF8yWie8fRQxjvFA==} + typescript-eslint@8.5.0: + resolution: {integrity: sha512-uD+XxEoSIvqtm4KE97etm32Tn5MfaZWgWfMMREStLxR6JzvHkc2Tkj7zhTEK5XmtpTmKHNnG8Sot6qDfhHtR1Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1690,8 +1656,8 @@ packages: typescript: optional: true - typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} engines: {node: '>=14.17'} hasBin: true @@ -1715,10 +1681,6 @@ packages: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} - which-pm@2.2.0: - resolution: {integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==} - engines: {node: '>=8.15'} - which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -1750,17 +1712,16 @@ packages: snapshots: - '@babel/runtime@7.24.7': + '@babel/runtime@7.25.6': dependencies: regenerator-runtime: 0.14.1 - '@changesets/apply-release-plan@7.0.4': + '@changesets/apply-release-plan@7.0.5': dependencies: - '@babel/runtime': 7.24.7 - '@changesets/config': 3.0.2 + '@changesets/config': 3.0.3 '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.0 - '@changesets/should-skip-package': 0.1.0 + '@changesets/git': 3.0.1 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 @@ -1771,12 +1732,11 @@ snapshots: resolve-from: 5.0.0 semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.3': + '@changesets/assemble-release-plan@6.0.4': dependencies: - '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/should-skip-package': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 semver: 7.6.3 @@ -1785,116 +1745,107 @@ snapshots: dependencies: '@changesets/types': 6.0.0 - '@changesets/cli@2.27.7': + '@changesets/cli@2.27.8': dependencies: - '@babel/runtime': 7.24.7 - '@changesets/apply-release-plan': 7.0.4 - '@changesets/assemble-release-plan': 6.0.3 + '@changesets/apply-release-plan': 7.0.5 + '@changesets/assemble-release-plan': 6.0.4 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.2 + '@changesets/config': 3.0.3 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/get-release-plan': 4.0.3 - '@changesets/git': 3.0.0 - '@changesets/logger': 0.1.0 - '@changesets/pre': 2.0.0 - '@changesets/read': 0.6.0 - '@changesets/should-skip-package': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/get-release-plan': 4.0.4 + '@changesets/git': 3.0.1 + '@changesets/logger': 0.1.1 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.1 + '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 - '@changesets/write': 0.3.1 + '@changesets/write': 0.3.2 '@manypkg/get-packages': 1.1.3 '@types/semver': 7.5.8 ansi-colors: 4.1.3 - chalk: 2.4.2 ci-info: 3.9.0 enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 - human-id: 1.0.2 mri: 1.2.0 outdent: 0.5.0 p-limit: 2.3.0 - preferred-pm: 3.1.4 + package-manager-detector: 0.2.0 + picocolors: 1.1.0 resolve-from: 5.0.0 semver: 7.6.3 spawndamnit: 2.0.0 term-size: 2.2.1 - '@changesets/config@3.0.2': + '@changesets/config@3.0.3': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.1 - '@changesets/logger': 0.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/logger': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - micromatch: 4.0.7 + micromatch: 4.0.8 '@changesets/errors@0.2.0': dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.1.1': + '@changesets/get-dependents-graph@2.1.2': dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - chalk: 2.4.2 - fs-extra: 7.0.1 + picocolors: 1.1.0 semver: 7.6.3 - '@changesets/get-release-plan@4.0.3': + '@changesets/get-release-plan@4.0.4': dependencies: - '@babel/runtime': 7.24.7 - '@changesets/assemble-release-plan': 6.0.3 - '@changesets/config': 3.0.2 - '@changesets/pre': 2.0.0 - '@changesets/read': 0.6.0 + '@changesets/assemble-release-plan': 6.0.4 + '@changesets/config': 3.0.3 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} - '@changesets/git@3.0.0': + '@changesets/git@3.0.1': dependencies: - '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 - '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 - micromatch: 4.0.7 + micromatch: 4.0.8 spawndamnit: 2.0.0 - '@changesets/logger@0.1.0': + '@changesets/logger@0.1.1': dependencies: - chalk: 2.4.2 + picocolors: 1.1.0 '@changesets/parse@0.4.0': dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 - '@changesets/pre@2.0.0': + '@changesets/pre@2.0.1': dependencies: - '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.0': + '@changesets/read@0.6.1': dependencies: - '@babel/runtime': 7.24.7 - '@changesets/git': 3.0.0 - '@changesets/logger': 0.1.0 + '@changesets/git': 3.0.1 + '@changesets/logger': 0.1.1 '@changesets/parse': 0.4.0 '@changesets/types': 6.0.0 - chalk: 2.4.2 fs-extra: 7.0.1 p-filter: 2.1.0 + picocolors: 1.1.0 - '@changesets/should-skip-package@0.1.0': + '@changesets/should-skip-package@0.1.1': dependencies: - '@babel/runtime': 7.24.7 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -1902,17 +1853,16 @@ snapshots: '@changesets/types@6.0.0': {} - '@changesets/write@0.3.1': + '@changesets/write@0.3.2': dependencies: - '@babel/runtime': 7.24.7 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 prettier: 2.8.8 - '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.10.0)': dependencies: - eslint: 9.9.1 + eslint: 9.10.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} @@ -1920,7 +1870,7 @@ snapshots: '@eslint/config-array@0.18.0': dependencies: '@eslint/object-schema': 2.1.4 - debug: 4.3.6 + debug: 4.3.7 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -1928,7 +1878,7 @@ snapshots: '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.6 + debug: 4.3.7 espree: 10.1.0 globals: 14.0.0 ignore: 5.3.2 @@ -1939,24 +1889,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.9.1': {} + '@eslint/js@9.10.0': {} '@eslint/object-schema@2.1.4': {} + '@eslint/plugin-kit@0.1.0': + dependencies: + levn: 0.4.1 + '@humanwhocodes/module-importer@1.0.1': {} '@humanwhocodes/retry@0.3.0': {} '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.25.6 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -1989,7 +1943,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.5.0': + '@types/node@22.5.4': dependencies: undici-types: 6.19.8 @@ -1997,85 +1951,85 @@ snapshots: '@types/w3c-web-usb@1.0.10': {} - '@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.10.0)(typescript@5.6.2))(eslint@9.10.0)(typescript@5.6.2)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.3.0(eslint@9.9.1)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 8.3.0 - '@typescript-eslint/type-utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) - '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.3.0 - eslint: 9.9.1 + '@typescript-eslint/parser': 8.5.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/scope-manager': 8.5.0 + '@typescript-eslint/type-utils': 8.5.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/utils': 8.5.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.5.0 + eslint: 9.10.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.4) + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4)': + '@typescript-eslint/parser@8.5.0(eslint@9.10.0)(typescript@5.6.2)': dependencies: - '@typescript-eslint/scope-manager': 8.3.0 - '@typescript-eslint/types': 8.3.0 - '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.3.0 - debug: 4.3.6 - eslint: 9.9.1 + '@typescript-eslint/scope-manager': 8.5.0 + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.5.0 + debug: 4.3.7 + eslint: 9.10.0 optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.3.0': + '@typescript-eslint/scope-manager@8.5.0': dependencies: - '@typescript-eslint/types': 8.3.0 - '@typescript-eslint/visitor-keys': 8.3.0 + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/visitor-keys': 8.5.0 - '@typescript-eslint/type-utils@8.3.0(eslint@9.9.1)(typescript@5.5.4)': + '@typescript-eslint/type-utils@8.5.0(eslint@9.10.0)(typescript@5.6.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) - '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) - debug: 4.3.6 - ts-api-utils: 1.3.0(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) + '@typescript-eslint/utils': 8.5.0(eslint@9.10.0)(typescript@5.6.2) + debug: 4.3.7 + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - eslint - supports-color - '@typescript-eslint/types@8.3.0': {} + '@typescript-eslint/types@8.5.0': {} - '@typescript-eslint/typescript-estree@8.3.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.5.0(typescript@5.6.2)': dependencies: - '@typescript-eslint/types': 8.3.0 - '@typescript-eslint/visitor-keys': 8.3.0 - debug: 4.3.6 + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/visitor-keys': 8.5.0 + debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.4) + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.3.0(eslint@9.9.1)(typescript@5.5.4)': + '@typescript-eslint/utils@8.5.0(eslint@9.10.0)(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1) - '@typescript-eslint/scope-manager': 8.3.0 - '@typescript-eslint/types': 8.3.0 - '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) - eslint: 9.9.1 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0) + '@typescript-eslint/scope-manager': 8.5.0 + '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) + eslint: 9.10.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.3.0': + '@typescript-eslint/visitor-keys@8.5.0': dependencies: - '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/types': 8.5.0 eslint-visitor-keys: 3.4.3 '@xhmikosr/archive-type@6.0.1': @@ -2152,10 +2106,6 @@ snapshots: ansi-regex@5.0.1: {} - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -2217,12 +2167,6 @@ snapshots: callsites@3.1.0: {} - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -2232,16 +2176,10 @@ snapshots: ci-info@3.9.0: {} - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - color-convert@2.0.1: dependencies: color-name: 1.1.4 - color-name@1.1.3: {} - color-name@1.1.4: {} commander@12.1.0: {} @@ -2272,9 +2210,9 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.6: + debug@4.3.7: dependencies: - ms: 2.1.2 + ms: 2.1.3 decompress-response@6.0.0: dependencies: @@ -2299,8 +2237,6 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - escape-string-regexp@1.0.5: {} - escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} @@ -2313,15 +2249,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import-x@4.1.0(eslint@9.9.1)(typescript@5.5.4): + eslint-plugin-import-x@4.2.1(eslint@9.10.0)(typescript@5.6.2): dependencies: - '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) - '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) - debug: 4.3.6 + '@typescript-eslint/utils': 8.5.0(eslint@9.10.0)(typescript@5.6.2) + debug: 4.3.7 doctrine: 3.0.0 - eslint: 9.9.1 + eslint: 9.10.0 eslint-import-resolver-node: 0.3.9 - get-tsconfig: 4.7.6 + get-tsconfig: 4.8.0 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 @@ -2340,20 +2275,21 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.9.1: + eslint@9.10.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0) '@eslint-community/regexpp': 4.11.0 '@eslint/config-array': 0.18.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.9.1 + '@eslint/js': 9.10.0 + '@eslint/plugin-kit': 0.1.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.6 + debug: 4.3.7 escape-string-regexp: 4.0.0 eslint-scope: 8.0.2 eslint-visitor-keys: 4.0.0 @@ -2369,7 +2305,6 @@ snapshots: is-glob: 4.0.3 is-path-inside: 3.0.3 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 @@ -2426,7 +2361,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 fast-json-stable-stringify@2.1.0: {} @@ -2477,11 +2412,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-yarn-workspace-root2@1.2.16: - dependencies: - micromatch: 4.0.7 - pkg-dir: 4.2.0 - flat-cache@4.0.1: dependencies: flatted: 3.3.1 @@ -2511,7 +2441,7 @@ snapshots: get-stream@6.0.1: {} - get-tsconfig@4.7.6: + get-tsconfig@4.8.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -2558,8 +2488,6 @@ snapshots: graphemer@1.4.0: {} - has-flag@3.0.0: {} - has-flag@4.0.0: {} hasown@2.0.2: @@ -2656,13 +2584,6 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - load-yaml-file@0.2.0: - dependencies: - graceful-fs: 4.2.11 - js-yaml: 3.14.1 - pify: 4.0.1 - strip-bom: 3.0.0 - locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -2692,7 +2613,7 @@ snapshots: merge2@1.4.1: {} - micromatch@4.0.7: + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 @@ -2713,8 +2634,6 @@ snapshots: mri@1.2.0: {} - ms@2.1.2: {} - ms@2.1.3: {} natural-compare@1.4.0: {} @@ -2774,6 +2693,8 @@ snapshots: p-try@2.2.0: {} + package-manager-detector@0.2.0: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -2790,21 +2711,12 @@ snapshots: pend@1.2.0: {} + picocolors@1.1.0: {} + picomatch@2.3.1: {} pify@4.0.1: {} - pkg-dir@4.2.0: - dependencies: - find-up: 4.1.0 - - preferred-pm@3.1.4: - dependencies: - find-up: 5.0.0 - find-yarn-workspace-root2: 1.2.16 - path-exists: 4.0.0 - which-pm: 2.2.0 - prelude-ls@1.2.1: {} prettier@2.8.8: {} @@ -2946,10 +2858,6 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 5.1.1 - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -2993,9 +2901,9 @@ snapshots: dependencies: escape-string-regexp: 5.0.0 - ts-api-utils@1.3.0(typescript@5.5.4): + ts-api-utils@1.3.0(typescript@5.6.2): dependencies: - typescript: 5.5.4 + typescript: 5.6.2 tslib@2.7.0: {} @@ -3003,18 +2911,18 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.3.0(eslint@9.9.1)(typescript@5.5.4): + typescript-eslint@8.5.0(eslint@9.10.0)(typescript@5.6.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4) - '@typescript-eslint/parser': 8.3.0(eslint@9.9.1)(typescript@5.5.4) - '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.10.0)(typescript@5.6.2))(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/parser': 8.5.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/utils': 8.5.0(eslint@9.10.0)(typescript@5.6.2) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - eslint - supports-color - typescript@5.5.4: {} + typescript@5.6.2: {} unbzip2-stream@1.4.3: dependencies: @@ -3033,11 +2941,6 @@ snapshots: web-streams-polyfill@3.3.3: {} - which-pm@2.2.0: - dependencies: - load-yaml-file: 0.2.0 - path-exists: 4.0.0 - which@1.3.1: dependencies: isexe: 2.0.0 diff --git a/toolchain/eslint-config/eslint.config.js b/toolchain/eslint-config/eslint.config.js index da16d1eab..fbd8c9264 100644 --- a/toolchain/eslint-config/eslint.config.js +++ b/toolchain/eslint-config/eslint.config.js @@ -31,13 +31,8 @@ export default tslint.config( { languageOptions: { parserOptions: { - tsconfigRootDir: root, - projectService: true, - project: [ - "libraries/*/tsconfig.test.json", - "libraries/*/tsconfig.build.json", - "apps/*/tsconfig.build.json", - ], + tsconfigRootDir: process.cwd(), + projectService: { defaultProject: "tsconfig.test.json" }, }, }, rules: { diff --git a/toolchain/eslint-config/package.json b/toolchain/eslint-config/package.json index 29b9f74c5..c15974642 100644 --- a/toolchain/eslint-config/package.json +++ b/toolchain/eslint-config/package.json @@ -8,12 +8,12 @@ "run-eslint": "run-eslint.js" }, "dependencies": { - "@eslint/js": "^9.9.1", - "@types/node": "^22.5.0", - "eslint": "^9.9.1", - "eslint-plugin-import-x": "^4.1.0", - "typescript": "^5.5.4", - "typescript-eslint": "^8.3.0" + "@eslint/js": "^9.10.0", + "@types/node": "^22.5.4", + "eslint": "^9.10.0", + "eslint-plugin-import-x": "^4.2.1", + "typescript": "^5.6.2", + "typescript-eslint": "^8.5.0" }, "devDependencies": { "prettier": "^3.3.3" diff --git a/toolchain/package-lint/package.json b/toolchain/package-lint/package.json index 534558076..49d7f3667 100644 --- a/toolchain/package-lint/package.json +++ b/toolchain/package-lint/package.json @@ -7,7 +7,7 @@ "scripts": {}, "keywords": [], "dependencies": { - "@types/node": "^22.5.0", + "@types/node": "^22.5.4", "json5": "^2.2.3" }, "author": "", diff --git a/toolchain/test-runner/package.json b/toolchain/test-runner/package.json index 830558b12..de94a30f3 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.5.0", - "typescript": "^5.5.4" + "@types/node": "^22.5.4", + "typescript": "^5.6.2" } } diff --git a/toolchain/tsconfig/tsconfig.base.json b/toolchain/tsconfig/tsconfig.base.json index ce3c7311d..0109d9080 100644 --- a/toolchain/tsconfig/tsconfig.base.json +++ b/toolchain/tsconfig/tsconfig.base.json @@ -26,6 +26,7 @@ "noImplicitOverride": true, "noImplicitReturns": true, // /* Report error when not all code paths in function return a value. */ "noFallthroughCasesInSwitch": true, // /* Report errors for fallthrough cases in switch statement. */ + "noUncheckedSideEffectImports": true, "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */ "exactOptionalPropertyTypes": true, "noImplicitAny": true, From dd68af80728471053d588864b496166bd1c8fa49 Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Tue, 17 Sep 2024 14:23:22 +0800 Subject: [PATCH 08/10] chore: update dependencies --- apps/cli/package.json | 14 +- libraries/adb-credential-web/package.json | 6 +- libraries/adb-daemon-webusb/package.json | 14 +- libraries/adb-scrcpy/package.json | 14 +- libraries/adb-server-node-tcp/package.json | 12 +- libraries/adb/package.json | 16 +- libraries/android-bin/package.json | 14 +- libraries/aoa/package.json | 4 +- libraries/event/package.json | 8 +- libraries/fetch-scrcpy-server/package.json | 2 +- libraries/no-data-view/package.json | 8 +- libraries/pcm-player/package.json | 4 +- .../scrcpy-decoder-tinyh264/package.json | 10 +- .../scrcpy-decoder-webcodecs/package.json | 14 +- libraries/scrcpy/package.json | 14 +- libraries/stream-extra/package.json | 10 +- libraries/struct/package.json | 10 +- pnpm-lock.yaml | 378 +++++++++--------- toolchain/eslint-config/package.json | 4 +- toolchain/package-lint/package.json | 2 +- toolchain/test-runner/package.json | 2 +- 21 files changed, 280 insertions(+), 280 deletions(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index c275e2454..4db4ea4d0 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -33,17 +33,17 @@ "tango-cli": "esm/index.js" }, "dependencies": { - "@yume-chan/adb": "workspace:^0.0.24", - "@yume-chan/adb-server-node-tcp": "workspace:^0.0.24", - "@yume-chan/android-bin": "workspace:^0.0.24", - "@yume-chan/stream-extra": "workspace:^0.0.24", + "@yume-chan/adb": "workspace:^", + "@yume-chan/adb-server-node-tcp": "workspace:^", + "@yume-chan/android-bin": "workspace:^", + "@yume-chan/stream-extra": "workspace:^", "commander": "^12.1.0", "source-map-support": "^0.5.21" }, "devDependencies": { - "@types/node": "^22.5.4", - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@types/node": "^22.5.5", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/adb-credential-web/package.json b/libraries/adb-credential-web/package.json index b730c1f1c..9fa195be8 100644 --- a/libraries/adb-credential-web/package.json +++ b/libraries/adb-credential-web/package.json @@ -30,11 +30,11 @@ "prepublishOnly": "npm run build" }, "dependencies": { - "@yume-chan/adb": "workspace:^0.0.24" + "@yume-chan/adb": "workspace:^" }, "devDependencies": { - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/adb-daemon-webusb/package.json b/libraries/adb-daemon-webusb/package.json index 01a46a925..dc91ed5e7 100644 --- a/libraries/adb-daemon-webusb/package.json +++ b/libraries/adb-daemon-webusb/package.json @@ -33,15 +33,15 @@ }, "dependencies": { "@types/w3c-web-usb": "^1.0.10", - "@yume-chan/adb": "workspace:^0.0.24", - "@yume-chan/stream-extra": "workspace:^0.0.24", - "@yume-chan/struct": "workspace:^0.0.24" + "@yume-chan/adb": "workspace:^", + "@yume-chan/stream-extra": "workspace:^", + "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.4", - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/test-runner": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@types/node": "^22.5.5", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/test-runner": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/adb-scrcpy/package.json b/libraries/adb-scrcpy/package.json index 1aeec5341..1cb947415 100644 --- a/libraries/adb-scrcpy/package.json +++ b/libraries/adb-scrcpy/package.json @@ -32,16 +32,16 @@ "prepublishOnly": "npm run build" }, "dependencies": { - "@yume-chan/adb": "workspace:^0.0.24", + "@yume-chan/adb": "workspace:^", "@yume-chan/async": "^2.2.0", - "@yume-chan/event": "workspace:^0.0.24", - "@yume-chan/scrcpy": "workspace:^0.0.24", - "@yume-chan/stream-extra": "workspace:^0.0.24", - "@yume-chan/struct": "workspace:^0.0.24" + "@yume-chan/event": "workspace:^", + "@yume-chan/scrcpy": "workspace:^", + "@yume-chan/stream-extra": "workspace:^", + "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/adb-server-node-tcp/package.json b/libraries/adb-server-node-tcp/package.json index a16c390f8..9e1ecead2 100644 --- a/libraries/adb-server-node-tcp/package.json +++ b/libraries/adb-server-node-tcp/package.json @@ -32,14 +32,14 @@ "lint": "run-eslint && prettier src/**/*.ts --write --tab-width 4" }, "dependencies": { - "@yume-chan/adb": "workspace:^0.0.24", - "@yume-chan/stream-extra": "workspace:^0.0.24", - "@yume-chan/struct": "workspace:^0.0.24" + "@yume-chan/adb": "workspace:^", + "@yume-chan/stream-extra": "workspace:^", + "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.4", - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@types/node": "^22.5.5", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/adb/package.json b/libraries/adb/package.json index 079803345..4d75c6c19 100644 --- a/libraries/adb/package.json +++ b/libraries/adb/package.json @@ -33,16 +33,16 @@ }, "dependencies": { "@yume-chan/async": "^2.2.0", - "@yume-chan/event": "workspace:^0.0.24", - "@yume-chan/no-data-view": "workspace:^0.0.24", - "@yume-chan/stream-extra": "workspace:^0.0.24", - "@yume-chan/struct": "workspace:^0.0.24" + "@yume-chan/event": "workspace:^", + "@yume-chan/no-data-view": "workspace:^", + "@yume-chan/stream-extra": "workspace:^", + "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.4", - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/test-runner": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@types/node": "^22.5.5", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/test-runner": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/android-bin/package.json b/libraries/android-bin/package.json index 062c6237f..6d7696468 100644 --- a/libraries/android-bin/package.json +++ b/libraries/android-bin/package.json @@ -32,15 +32,15 @@ "test": "run-test" }, "dependencies": { - "@yume-chan/adb": "workspace:^0.0.24", - "@yume-chan/stream-extra": "workspace:^0.0.24", - "@yume-chan/struct": "workspace:^0.0.24" + "@yume-chan/adb": "workspace:^", + "@yume-chan/stream-extra": "workspace:^", + "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.4", - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/test-runner": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@types/node": "^22.5.5", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/test-runner": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/aoa/package.json b/libraries/aoa/package.json index dbb705f8a..1a53a2c6f 100644 --- a/libraries/aoa/package.json +++ b/libraries/aoa/package.json @@ -34,8 +34,8 @@ "@types/w3c-web-usb": "^1.0.10" }, "devDependencies": { - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/event/package.json b/libraries/event/package.json index 020f3c2ef..6b0c4474d 100644 --- a/libraries/event/package.json +++ b/libraries/event/package.json @@ -36,10 +36,10 @@ "@yume-chan/async": "^2.2.0" }, "devDependencies": { - "@types/node": "^22.5.4", - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/test-runner": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@types/node": "^22.5.5", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/test-runner": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/fetch-scrcpy-server/package.json b/libraries/fetch-scrcpy-server/package.json index 3e40e5e92..57557af19 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.5.4" + "@types/node": "^22.5.5" } } diff --git a/libraries/no-data-view/package.json b/libraries/no-data-view/package.json index afdb5e18f..190e24b24 100644 --- a/libraries/no-data-view/package.json +++ b/libraries/no-data-view/package.json @@ -30,10 +30,10 @@ "test": "run-test" }, "devDependencies": { - "@types/node": "^22.5.4", - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/test-runner": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@types/node": "^22.5.5", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/test-runner": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "tinybench": "^2.9.0", "typescript": "^5.6.2" diff --git a/libraries/pcm-player/package.json b/libraries/pcm-player/package.json index 7cf401d4a..179bf1973 100644 --- a/libraries/pcm-player/package.json +++ b/libraries/pcm-player/package.json @@ -31,8 +31,8 @@ }, "devDependencies": { "@types/audioworklet": "^0.0.60", - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/scrcpy-decoder-tinyh264/package.json b/libraries/scrcpy-decoder-tinyh264/package.json index 1eab6479e..a043e92c8 100644 --- a/libraries/scrcpy-decoder-tinyh264/package.json +++ b/libraries/scrcpy-decoder-tinyh264/package.json @@ -34,16 +34,16 @@ }, "dependencies": { "@yume-chan/async": "^2.2.0", - "@yume-chan/event": "workspace:^0.0.24", - "@yume-chan/scrcpy": "workspace:^0.0.24", - "@yume-chan/stream-extra": "workspace:^0.0.24", + "@yume-chan/event": "workspace:^", + "@yume-chan/scrcpy": "workspace:^", + "@yume-chan/stream-extra": "workspace:^", "tinyh264": "^0.0.7", "yuv-buffer": "^1.0.0", "yuv-canvas": "^1.2.11" }, "devDependencies": { - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/scrcpy-decoder-webcodecs/package.json b/libraries/scrcpy-decoder-webcodecs/package.json index 247e7ec72..f59410d46 100644 --- a/libraries/scrcpy-decoder-webcodecs/package.json +++ b/libraries/scrcpy-decoder-webcodecs/package.json @@ -33,15 +33,15 @@ "prepublishOnly": "npm run build" }, "dependencies": { - "@yume-chan/event": "workspace:^0.0.24", - "@yume-chan/no-data-view": "workspace:^0.0.24", - "@yume-chan/scrcpy": "workspace:^0.0.24", - "@yume-chan/scrcpy-decoder-tinyh264": "workspace:^0.0.24", - "@yume-chan/stream-extra": "workspace:^0.0.24" + "@yume-chan/event": "workspace:^", + "@yume-chan/no-data-view": "workspace:^", + "@yume-chan/scrcpy": "workspace:^", + "@yume-chan/scrcpy-decoder-tinyh264": "workspace:^", + "@yume-chan/stream-extra": "workspace:^" }, "devDependencies": { - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/scrcpy/package.json b/libraries/scrcpy/package.json index 405710bd0..da100b40b 100644 --- a/libraries/scrcpy/package.json +++ b/libraries/scrcpy/package.json @@ -34,15 +34,15 @@ }, "dependencies": { "@yume-chan/async": "^2.2.0", - "@yume-chan/no-data-view": "workspace:^0.0.24", - "@yume-chan/stream-extra": "workspace:^0.0.24", - "@yume-chan/struct": "workspace:^0.0.24" + "@yume-chan/no-data-view": "workspace:^", + "@yume-chan/stream-extra": "workspace:^", + "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.4", - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/test-runner": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@types/node": "^22.5.5", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/test-runner": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/stream-extra/package.json b/libraries/stream-extra/package.json index 39fc6f767..75f72cbb8 100644 --- a/libraries/stream-extra/package.json +++ b/libraries/stream-extra/package.json @@ -33,13 +33,13 @@ }, "dependencies": { "@yume-chan/async": "^2.2.0", - "@yume-chan/struct": "workspace:^0.0.24" + "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.4", - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/test-runner": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@types/node": "^22.5.5", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/test-runner": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/libraries/struct/package.json b/libraries/struct/package.json index e3b90b991..75c91e509 100644 --- a/libraries/struct/package.json +++ b/libraries/struct/package.json @@ -34,13 +34,13 @@ "test": "run-test" }, "dependencies": { - "@yume-chan/no-data-view": "workspace:^0.0.24" + "@yume-chan/no-data-view": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.4", - "@yume-chan/eslint-config": "workspace:^1.0.0", - "@yume-chan/test-runner": "workspace:^1.0.0", - "@yume-chan/tsconfig": "workspace:^1.0.0", + "@types/node": "^22.5.5", + "@yume-chan/eslint-config": "workspace:^", + "@yume-chan/test-runner": "workspace:^", + "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", "typescript": "^5.6.2" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c06e13ffd..4eaba774b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,16 +15,16 @@ importers: apps/cli: dependencies: '@yume-chan/adb': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../../libraries/adb '@yume-chan/adb-server-node-tcp': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../../libraries/adb-server-node-tcp '@yume-chan/android-bin': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../../libraries/android-bin '@yume-chan/stream-extra': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../../libraries/stream-extra commander: specifier: ^12.1.0 @@ -34,13 +34,13 @@ importers: version: 0.5.21 devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -55,29 +55,29 @@ importers: specifier: ^2.2.0 version: 2.2.0 '@yume-chan/event': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../event '@yume-chan/no-data-view': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../no-data-view '@yume-chan/stream-extra': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../stream-extra '@yume-chan/struct': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/test-runner': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/test-runner '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -89,14 +89,14 @@ importers: libraries/adb-credential-web: dependencies: '@yume-chan/adb': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../adb devDependencies: '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -111,26 +111,26 @@ importers: specifier: ^1.0.10 version: 1.0.10 '@yume-chan/adb': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../adb '@yume-chan/stream-extra': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../stream-extra '@yume-chan/struct': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/test-runner': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/test-runner '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -142,29 +142,29 @@ importers: libraries/adb-scrcpy: dependencies: '@yume-chan/adb': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../adb '@yume-chan/async': specifier: ^2.2.0 version: 2.2.0 '@yume-chan/event': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../event '@yume-chan/scrcpy': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../scrcpy '@yume-chan/stream-extra': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../stream-extra '@yume-chan/struct': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../struct devDependencies: '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -176,23 +176,23 @@ importers: libraries/adb-server-node-tcp: dependencies: '@yume-chan/adb': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../adb '@yume-chan/stream-extra': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../stream-extra '@yume-chan/struct': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -204,26 +204,26 @@ importers: libraries/android-bin: dependencies: '@yume-chan/adb': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../adb '@yume-chan/stream-extra': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../stream-extra '@yume-chan/struct': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/test-runner': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/test-runner '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -239,10 +239,10 @@ importers: version: 1.0.10 devDependencies: '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -258,16 +258,16 @@ importers: version: 2.2.0 devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/test-runner': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/test-runner '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -283,22 +283,22 @@ importers: version: 4.0.3 devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 libraries/no-data-view: devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/test-runner': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/test-runner '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -316,10 +316,10 @@ importers: specifier: ^0.0.60 version: 0.0.60 '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -334,26 +334,26 @@ importers: specifier: ^2.2.0 version: 2.2.0 '@yume-chan/no-data-view': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../no-data-view '@yume-chan/stream-extra': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../stream-extra '@yume-chan/struct': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/test-runner': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/test-runner '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -368,13 +368,13 @@ importers: specifier: ^2.2.0 version: 2.2.0 '@yume-chan/event': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../event '@yume-chan/scrcpy': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../scrcpy '@yume-chan/stream-extra': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../stream-extra tinyh264: specifier: ^0.0.7 @@ -387,10 +387,10 @@ importers: version: 1.2.11 devDependencies: '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -402,26 +402,26 @@ importers: libraries/scrcpy-decoder-webcodecs: dependencies: '@yume-chan/event': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../event '@yume-chan/no-data-view': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../no-data-view '@yume-chan/scrcpy': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../scrcpy '@yume-chan/scrcpy-decoder-tinyh264': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../scrcpy-decoder-tinyh264 '@yume-chan/stream-extra': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../stream-extra devDependencies: '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -436,20 +436,20 @@ importers: specifier: ^2.2.0 version: 2.2.0 '@yume-chan/struct': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/test-runner': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/test-runner '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -461,20 +461,20 @@ importers: libraries/struct: dependencies: '@yume-chan/no-data-view': - specifier: workspace:^0.0.24 + specifier: workspace:^ version: link:../no-data-view devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 '@yume-chan/eslint-config': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/eslint-config '@yume-chan/test-runner': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/test-runner '@yume-chan/tsconfig': - specifier: workspace:^1.0.0 + specifier: workspace:^ version: link:../../toolchain/tsconfig prettier: specifier: ^3.3.3 @@ -489,8 +489,8 @@ importers: specifier: ^9.10.0 version: 9.10.0 '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 eslint: specifier: ^9.10.0 version: 9.10.0 @@ -501,8 +501,8 @@ importers: specifier: ^5.6.2 version: 5.6.2 typescript-eslint: - specifier: ^8.5.0 - version: 8.5.0(eslint@9.10.0)(typescript@5.6.2) + specifier: ^8.6.0 + version: 8.6.0(eslint@9.10.0)(typescript@5.6.2) devDependencies: prettier: specifier: ^3.3.3 @@ -511,8 +511,8 @@ importers: toolchain/package-lint: dependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 json5: specifier: ^2.2.3 version: 2.2.3 @@ -520,8 +520,8 @@ importers: toolchain/test-runner: devDependencies: '@types/node': - specifier: ^22.5.4 - version: 22.5.4 + specifier: ^22.5.5 + version: 22.5.5 typescript: specifier: ^5.6.2 version: 5.6.2 @@ -599,8 +599,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.0': - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + '@eslint-community/regexpp@4.11.1': + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/config-array@0.18.0': @@ -669,8 +669,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.5.4': - resolution: {integrity: sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==} + '@types/node@22.5.5': + resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==} '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -678,8 +678,8 @@ packages: '@types/w3c-web-usb@1.0.10': resolution: {integrity: sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ==} - '@typescript-eslint/eslint-plugin@8.5.0': - resolution: {integrity: sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==} + '@typescript-eslint/eslint-plugin@8.6.0': + resolution: {integrity: sha512-UOaz/wFowmoh2G6Mr9gw60B1mm0MzUtm6Ic8G2yM1Le6gyj5Loi/N+O5mocugRGY+8OeeKmkMmbxNqUCq3B4Sg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -689,8 +689,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.5.0': - resolution: {integrity: sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==} + '@typescript-eslint/parser@8.6.0': + resolution: {integrity: sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -699,12 +699,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.5.0': - resolution: {integrity: sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==} + '@typescript-eslint/scope-manager@8.6.0': + resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.5.0': - resolution: {integrity: sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==} + '@typescript-eslint/type-utils@8.6.0': + resolution: {integrity: sha512-dtePl4gsuenXVwC7dVNlb4mGDcKjDT/Ropsk4za/ouMBPplCLyznIaR+W65mvCvsyS97dymoBRrioEXI7k0XIg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -712,12 +712,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.5.0': - resolution: {integrity: sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==} + '@typescript-eslint/types@8.6.0': + resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.5.0': - resolution: {integrity: sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==} + '@typescript-eslint/typescript-estree@8.6.0': + resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -725,14 +725,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.5.0': - resolution: {integrity: sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==} + '@typescript-eslint/utils@8.6.0': + resolution: {integrity: sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.5.0': - resolution: {integrity: sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==} + '@typescript-eslint/visitor-keys@8.6.0': + resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@xhmikosr/archive-type@6.0.1': @@ -1098,8 +1098,8 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - get-tsconfig@4.8.0: - resolution: {integrity: sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} gh-release-fetch@4.0.3: resolution: {integrity: sha512-TOiP1nwLsH5shG85Yt6v6Kjq5JU/44jXyEpbcfPgmj3C829yeXIlx9nAEwQRaxtRF3SJinn2lz7XUkfG9W/U4g==} @@ -1290,8 +1290,8 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + mime-db@1.53.0: + resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} engines: {node: '>= 0.6'} mimic-response@3.1.0: @@ -1404,8 +1404,8 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - peek-readable@5.1.1: - resolution: {integrity: sha512-4hEOSH7KeEaZpMDF/xfm1W9fS5rT7Ett3BkXWHqAEzRLLwLaHkwOL+GvvpIEh9UrvX9BDhzfkvteslgraoH69w==} + peek-readable@5.2.0: + resolution: {integrity: sha512-U94a+eXHzct7vAd19GH3UQ2dH4Satbng0MyYTMaQatL0pvYYL5CTPR25HBhKtecl+4bfu1/i3vC6k0hydO5Vcw==} engines: {node: '>=14.16'} pend@1.2.0: @@ -1559,8 +1559,8 @@ packages: stable-hash@0.0.4: resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} - streamx@2.18.0: - resolution: {integrity: sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==} + streamx@2.20.1: + resolution: {integrity: sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==} string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -1584,9 +1584,9 @@ packages: resolution: {integrity: sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - strtok3@7.1.0: - resolution: {integrity: sha512-19dQEwG6Jd+VabjPRyBhymIF069vZiqWSZa2jJBoKJTsqGKnTxowGoQaLnz+yLARfDI041IUQekyPUMWElOgsQ==} - engines: {node: '>=14.16'} + strtok3@7.1.1: + resolution: {integrity: sha512-mKX8HA/cdBqMKUr0MMZAFssCkIGoZeSCMXgnt79yKxNFguMLVFgRe6wB+fsL0NmoHDbeyZXczy7vEPSoo3rkzg==} + engines: {node: '>=16'} supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -1603,8 +1603,8 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - text-decoder@1.1.0: - resolution: {integrity: sha512-TmLJNj6UgX8xcUZo4UDStGQtDiTzF7BzWlzn9g7UWrjkpHr5uJTK1ld16wZ3LXb2vb6jH8qU89dW5whuMdXYdw==} + text-decoder@1.2.0: + resolution: {integrity: sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==} text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -1647,8 +1647,8 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.5.0: - resolution: {integrity: sha512-uD+XxEoSIvqtm4KE97etm32Tn5MfaZWgWfMMREStLxR6JzvHkc2Tkj7zhTEK5XmtpTmKHNnG8Sot6qDfhHtR1Q==} + typescript-eslint@8.6.0: + resolution: {integrity: sha512-eEhhlxCEpCd4helh3AO1hk0UP2MvbRi9CtIAJTVPQjuSXOOO2jsEacNi4UdcJzZJbeuVg1gMhtZ8UYb+NFYPrA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1865,7 +1865,7 @@ snapshots: eslint: 9.10.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.0': {} + '@eslint-community/regexpp@4.11.1': {} '@eslint/config-array@0.18.0': dependencies: @@ -1943,7 +1943,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.5.4': + '@types/node@22.5.5': dependencies: undici-types: 6.19.8 @@ -1951,14 +1951,14 @@ snapshots: '@types/w3c-web-usb@1.0.10': {} - '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.10.0)(typescript@5.6.2))(eslint@9.10.0)(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.10.0)(typescript@5.6.2))(eslint@9.10.0)(typescript@5.6.2)': dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.5.0(eslint@9.10.0)(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.5.0 - '@typescript-eslint/type-utils': 8.5.0(eslint@9.10.0)(typescript@5.6.2) - '@typescript-eslint/utils': 8.5.0(eslint@9.10.0)(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.5.0 + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 8.6.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/utils': 8.6.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.6.0 eslint: 9.10.0 graphemer: 1.4.0 ignore: 5.3.2 @@ -1969,12 +1969,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.5.0(eslint@9.10.0)(typescript@5.6.2)': + '@typescript-eslint/parser@8.6.0(eslint@9.10.0)(typescript@5.6.2)': dependencies: - '@typescript-eslint/scope-manager': 8.5.0 - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.5.0 + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.6.0 debug: 4.3.7 eslint: 9.10.0 optionalDependencies: @@ -1982,15 +1982,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.5.0': + '@typescript-eslint/scope-manager@8.6.0': dependencies: - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/visitor-keys': 8.5.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/visitor-keys': 8.6.0 - '@typescript-eslint/type-utils@8.5.0(eslint@9.10.0)(typescript@5.6.2)': + '@typescript-eslint/type-utils@8.6.0(eslint@9.10.0)(typescript@5.6.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.5.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) + '@typescript-eslint/utils': 8.6.0(eslint@9.10.0)(typescript@5.6.2) debug: 4.3.7 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: @@ -1999,12 +1999,12 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@8.5.0': {} + '@typescript-eslint/types@8.6.0': {} - '@typescript-eslint/typescript-estree@8.5.0(typescript@5.6.2)': + '@typescript-eslint/typescript-estree@8.6.0(typescript@5.6.2)': dependencies: - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/visitor-keys': 8.5.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/visitor-keys': 8.6.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -2016,20 +2016,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.5.0(eslint@9.10.0)(typescript@5.6.2)': + '@typescript-eslint/utils@8.6.0(eslint@9.10.0)(typescript@5.6.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0) - '@typescript-eslint/scope-manager': 8.5.0 - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) eslint: 9.10.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.5.0': + '@typescript-eslint/visitor-keys@8.6.0': dependencies: - '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/types': 8.6.0 eslint-visitor-keys: 3.4.3 '@xhmikosr/archive-type@6.0.1': @@ -2251,12 +2251,12 @@ snapshots: eslint-plugin-import-x@4.2.1(eslint@9.10.0)(typescript@5.6.2): dependencies: - '@typescript-eslint/utils': 8.5.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/utils': 8.6.0(eslint@9.10.0)(typescript@5.6.2) debug: 4.3.7 doctrine: 3.0.0 eslint: 9.10.0 eslint-import-resolver-node: 0.3.9 - get-tsconfig: 4.8.0 + get-tsconfig: 4.8.1 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 @@ -2278,7 +2278,7 @@ snapshots: eslint@9.10.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.11.1 '@eslint/config-array': 0.18.0 '@eslint/eslintrc': 3.1.0 '@eslint/js': 9.10.0 @@ -2336,7 +2336,7 @@ snapshots: ext-list@2.2.2: dependencies: - mime-db: 1.52.0 + mime-db: 1.53.0 ext-name@5.0.0: dependencies: @@ -2387,7 +2387,7 @@ snapshots: file-type@18.7.0: dependencies: readable-web-to-node-stream: 3.0.2 - strtok3: 7.1.0 + strtok3: 7.1.1 token-types: 5.0.1 filename-reserved-regex@3.0.0: {} @@ -2441,7 +2441,7 @@ snapshots: get-stream@6.0.1: {} - get-tsconfig@4.8.0: + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -2618,7 +2618,7 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - mime-db@1.52.0: {} + mime-db@1.53.0: {} mimic-response@3.1.0: {} @@ -2707,7 +2707,7 @@ snapshots: path-type@4.0.0: {} - peek-readable@5.1.1: {} + peek-readable@5.2.0: {} pend@1.2.0: {} @@ -2826,11 +2826,11 @@ snapshots: stable-hash@0.0.4: {} - streamx@2.18.0: + streamx@2.20.1: dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 - text-decoder: 1.1.0 + text-decoder: 1.2.0 optionalDependencies: bare-events: 2.4.2 @@ -2853,10 +2853,10 @@ snapshots: strip-outer@2.0.0: {} - strtok3@7.1.0: + strtok3@7.1.1: dependencies: '@tokenizer/token': 0.3.0 - peek-readable: 5.1.1 + peek-readable: 5.2.0 supports-color@7.2.0: dependencies: @@ -2868,11 +2868,11 @@ snapshots: dependencies: b4a: 1.6.6 fast-fifo: 1.3.2 - streamx: 2.18.0 + streamx: 2.20.1 term-size@2.2.1: {} - text-decoder@1.1.0: + text-decoder@1.2.0: dependencies: b4a: 1.6.6 @@ -2911,11 +2911,11 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.5.0(eslint@9.10.0)(typescript@5.6.2): + typescript-eslint@8.6.0(eslint@9.10.0)(typescript@5.6.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.10.0)(typescript@5.6.2))(eslint@9.10.0)(typescript@5.6.2) - '@typescript-eslint/parser': 8.5.0(eslint@9.10.0)(typescript@5.6.2) - '@typescript-eslint/utils': 8.5.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.10.0)(typescript@5.6.2))(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/parser': 8.6.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/utils': 8.6.0(eslint@9.10.0)(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: diff --git a/toolchain/eslint-config/package.json b/toolchain/eslint-config/package.json index c15974642..2827fa395 100644 --- a/toolchain/eslint-config/package.json +++ b/toolchain/eslint-config/package.json @@ -9,11 +9,11 @@ }, "dependencies": { "@eslint/js": "^9.10.0", - "@types/node": "^22.5.4", + "@types/node": "^22.5.5", "eslint": "^9.10.0", "eslint-plugin-import-x": "^4.2.1", "typescript": "^5.6.2", - "typescript-eslint": "^8.5.0" + "typescript-eslint": "^8.6.0" }, "devDependencies": { "prettier": "^3.3.3" diff --git a/toolchain/package-lint/package.json b/toolchain/package-lint/package.json index 49d7f3667..c1a132efa 100644 --- a/toolchain/package-lint/package.json +++ b/toolchain/package-lint/package.json @@ -7,7 +7,7 @@ "scripts": {}, "keywords": [], "dependencies": { - "@types/node": "^22.5.4", + "@types/node": "^22.5.5", "json5": "^2.2.3" }, "author": "", diff --git a/toolchain/test-runner/package.json b/toolchain/test-runner/package.json index de94a30f3..e77a7c52c 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.5.4", + "@types/node": "^22.5.5", "typescript": "^5.6.2" } } From d862077c34e63884a541e2815d3c29dedb51c0d8 Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Fri, 4 Oct 2024 12:17:53 +0800 Subject: [PATCH 09/10] chore: update dependencies --- apps/cli/package.json | 2 +- libraries/adb-daemon-webusb/package.json | 2 +- libraries/adb-server-node-tcp/package.json | 2 +- libraries/adb/package.json | 2 +- libraries/adb/src/daemon/auth.ts | 2 + libraries/android-bin/package.json | 2 +- libraries/event/package.json | 2 +- libraries/fetch-scrcpy-server/package.json | 2 +- libraries/no-data-view/package.json | 2 +- .../scrcpy-decoder-tinyh264/package.json | 4 +- libraries/scrcpy/package.json | 2 +- libraries/stream-extra/package.json | 2 +- libraries/stream-extra/src/stream.ts | 4 +- libraries/struct/package.json | 2 +- package.json | 2 +- pnpm-lock.yaml | 334 +++++++++--------- toolchain/eslint-config/package.json | 10 +- toolchain/package-lint/package.json | 2 +- toolchain/test-runner/package.json | 2 +- 19 files changed, 198 insertions(+), 184 deletions(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index 4db4ea4d0..df747b76d 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.5.5", + "@types/node": "^22.7.4", "@yume-chan/eslint-config": "workspace:^", "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", diff --git a/libraries/adb-daemon-webusb/package.json b/libraries/adb-daemon-webusb/package.json index dc91ed5e7..fd7a92e43 100644 --- a/libraries/adb-daemon-webusb/package.json +++ b/libraries/adb-daemon-webusb/package.json @@ -38,7 +38,7 @@ "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.5", + "@types/node": "^22.7.4", "@yume-chan/eslint-config": "workspace:^", "@yume-chan/test-runner": "workspace:^", "@yume-chan/tsconfig": "workspace:^", diff --git a/libraries/adb-server-node-tcp/package.json b/libraries/adb-server-node-tcp/package.json index 9e1ecead2..e36e50a50 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:^" }, "devDependencies": { - "@types/node": "^22.5.5", + "@types/node": "^22.7.4", "@yume-chan/eslint-config": "workspace:^", "@yume-chan/tsconfig": "workspace:^", "prettier": "^3.3.3", diff --git a/libraries/adb/package.json b/libraries/adb/package.json index 4d75c6c19..952f4f0ff 100644 --- a/libraries/adb/package.json +++ b/libraries/adb/package.json @@ -39,7 +39,7 @@ "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.5", + "@types/node": "^22.7.4", "@yume-chan/eslint-config": "workspace:^", "@yume-chan/test-runner": "workspace:^", "@yume-chan/tsconfig": "workspace:^", diff --git a/libraries/adb/src/daemon/auth.ts b/libraries/adb/src/daemon/auth.ts index ca5918829..8fbe8766a 100644 --- a/libraries/adb/src/daemon/auth.ts +++ b/libraries/adb/src/daemon/auth.ts @@ -71,6 +71,7 @@ export const AdbSignatureAuthenticator: AdbAuthenticator = async function* ( credentialStore: AdbCredentialStore, getNextRequest: () => Promise, ): AsyncIterable { + // eslint-disable-next-line @typescript-eslint/await-thenable for await (const key of credentialStore.iterateKeys()) { const packet = await getNextRequest(); @@ -99,6 +100,7 @@ export const AdbPublicKeyAuthenticator: AdbAuthenticator = async function* ( } let privateKey: AdbPrivateKey | undefined; + // eslint-disable-next-line @typescript-eslint/await-thenable for await (const key of credentialStore.iterateKeys()) { privateKey = key; break; diff --git a/libraries/android-bin/package.json b/libraries/android-bin/package.json index 6d7696468..4d216733f 100644 --- a/libraries/android-bin/package.json +++ b/libraries/android-bin/package.json @@ -37,7 +37,7 @@ "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.5", + "@types/node": "^22.7.4", "@yume-chan/eslint-config": "workspace:^", "@yume-chan/test-runner": "workspace:^", "@yume-chan/tsconfig": "workspace:^", diff --git a/libraries/event/package.json b/libraries/event/package.json index 6b0c4474d..838f6dbae 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.5.5", + "@types/node": "^22.7.4", "@yume-chan/eslint-config": "workspace:^", "@yume-chan/test-runner": "workspace:^", "@yume-chan/tsconfig": "workspace:^", diff --git a/libraries/fetch-scrcpy-server/package.json b/libraries/fetch-scrcpy-server/package.json index 57557af19..434ba065c 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.5.5" + "@types/node": "^22.7.4" } } diff --git a/libraries/no-data-view/package.json b/libraries/no-data-view/package.json index 190e24b24..d09000f6b 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.5.5", + "@types/node": "^22.7.4", "@yume-chan/eslint-config": "workspace:^", "@yume-chan/test-runner": "workspace:^", "@yume-chan/tsconfig": "workspace:^", diff --git a/libraries/scrcpy-decoder-tinyh264/package.json b/libraries/scrcpy-decoder-tinyh264/package.json index a043e92c8..e6d094241 100644 --- a/libraries/scrcpy-decoder-tinyh264/package.json +++ b/libraries/scrcpy-decoder-tinyh264/package.json @@ -38,8 +38,8 @@ "@yume-chan/scrcpy": "workspace:^", "@yume-chan/stream-extra": "workspace:^", "tinyh264": "^0.0.7", - "yuv-buffer": "^1.0.0", - "yuv-canvas": "^1.2.11" + "yuv-buffer": "^1.0.1", + "yuv-canvas": "^1.3.0" }, "devDependencies": { "@yume-chan/eslint-config": "workspace:^", diff --git a/libraries/scrcpy/package.json b/libraries/scrcpy/package.json index da100b40b..aecae11fb 100644 --- a/libraries/scrcpy/package.json +++ b/libraries/scrcpy/package.json @@ -39,7 +39,7 @@ "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.5", + "@types/node": "^22.7.4", "@yume-chan/eslint-config": "workspace:^", "@yume-chan/test-runner": "workspace:^", "@yume-chan/tsconfig": "workspace:^", diff --git a/libraries/stream-extra/package.json b/libraries/stream-extra/package.json index 75f72cbb8..2c4bf1bdd 100644 --- a/libraries/stream-extra/package.json +++ b/libraries/stream-extra/package.json @@ -36,7 +36,7 @@ "@yume-chan/struct": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.5", + "@types/node": "^22.7.4", "@yume-chan/eslint-config": "workspace:^", "@yume-chan/test-runner": "workspace:^", "@yume-chan/tsconfig": "workspace:^", diff --git a/libraries/stream-extra/src/stream.ts b/libraries/stream-extra/src/stream.ts index e358c042e..e55916098 100644 --- a/libraries/stream-extra/src/stream.ts +++ b/libraries/stream-extra/src/stream.ts @@ -32,8 +32,8 @@ interface GlobalExtension { TransformStream: typeof TransformStreamType; } -export type ReadableStream = ReadableStreamType; -export type WritableStream = WritableStreamType; +export type ReadableStream = ReadableStreamType; +export type WritableStream = WritableStreamType; export type TransformStream = TransformStreamType; export const { diff --git a/libraries/struct/package.json b/libraries/struct/package.json index 75c91e509..236568dc0 100644 --- a/libraries/struct/package.json +++ b/libraries/struct/package.json @@ -37,7 +37,7 @@ "@yume-chan/no-data-view": "workspace:^" }, "devDependencies": { - "@types/node": "^22.5.5", + "@types/node": "^22.7.4", "@yume-chan/eslint-config": "workspace:^", "@yume-chan/test-runner": "workspace:^", "@yume-chan/tsconfig": "workspace:^", diff --git a/package.json b/package.json index b78773adb..3f6292510 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,6 @@ "lint": "pnpm recursive run lint" }, "devDependencies": { - "@changesets/cli": "^2.27.8" + "@changesets/cli": "^2.27.9" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4eaba774b..9711a07fe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: devDependencies: '@changesets/cli': - specifier: ^2.27.8 - version: 2.27.8 + specifier: ^2.27.9 + version: 2.27.9 apps/cli: dependencies: @@ -34,8 +34,8 @@ importers: version: 0.5.21 devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 '@yume-chan/eslint-config': specifier: workspace:^ version: link:../../toolchain/eslint-config @@ -68,8 +68,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 '@yume-chan/eslint-config': specifier: workspace:^ version: link:../../toolchain/eslint-config @@ -121,8 +121,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 '@yume-chan/eslint-config': specifier: workspace:^ version: link:../../toolchain/eslint-config @@ -186,8 +186,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 '@yume-chan/eslint-config': specifier: workspace:^ version: link:../../toolchain/eslint-config @@ -214,8 +214,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 '@yume-chan/eslint-config': specifier: workspace:^ version: link:../../toolchain/eslint-config @@ -258,8 +258,8 @@ importers: version: 2.2.0 devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 '@yume-chan/eslint-config': specifier: workspace:^ version: link:../../toolchain/eslint-config @@ -283,14 +283,14 @@ importers: version: 4.0.3 devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 libraries/no-data-view: devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 '@yume-chan/eslint-config': specifier: workspace:^ version: link:../../toolchain/eslint-config @@ -344,8 +344,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 '@yume-chan/eslint-config': specifier: workspace:^ version: link:../../toolchain/eslint-config @@ -380,11 +380,11 @@ importers: specifier: ^0.0.7 version: 0.0.7 yuv-buffer: - specifier: ^1.0.0 - version: 1.0.0 + specifier: ^1.0.1 + version: 1.0.1 yuv-canvas: - specifier: ^1.2.11 - version: 1.2.11 + specifier: ^1.3.0 + version: 1.3.0 devDependencies: '@yume-chan/eslint-config': specifier: workspace:^ @@ -440,8 +440,8 @@ importers: version: link:../struct devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 '@yume-chan/eslint-config': specifier: workspace:^ version: link:../../toolchain/eslint-config @@ -465,8 +465,8 @@ importers: version: link:../no-data-view devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 '@yume-chan/eslint-config': specifier: workspace:^ version: link:../../toolchain/eslint-config @@ -486,23 +486,23 @@ importers: toolchain/eslint-config: dependencies: '@eslint/js': - specifier: ^9.10.0 - version: 9.10.0 + specifier: ^9.11.1 + version: 9.11.1 '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 eslint: - specifier: ^9.10.0 - version: 9.10.0 + specifier: ^9.11.1 + version: 9.11.1 eslint-plugin-import-x: - specifier: ^4.2.1 - version: 4.2.1(eslint@9.10.0)(typescript@5.6.2) + specifier: ^4.3.1 + version: 4.3.1(eslint@9.11.1)(typescript@5.6.2) typescript: specifier: ^5.6.2 version: 5.6.2 typescript-eslint: - specifier: ^8.6.0 - version: 8.6.0(eslint@9.10.0)(typescript@5.6.2) + specifier: ^8.8.0 + version: 8.8.0(eslint@9.11.1)(typescript@5.6.2) devDependencies: prettier: specifier: ^3.3.3 @@ -511,8 +511,8 @@ importers: toolchain/package-lint: dependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 json5: specifier: ^2.2.3 version: 2.2.3 @@ -520,8 +520,8 @@ importers: toolchain/test-runner: devDependencies: '@types/node': - specifier: ^22.5.5 - version: 22.5.5 + specifier: ^22.7.4 + version: 22.7.4 typescript: specifier: ^5.6.2 version: 5.6.2 @@ -534,8 +534,8 @@ importers: packages: - '@babel/runtime@7.25.6': - resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} + '@babel/runtime@7.25.7': + resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} engines: {node: '>=6.9.0'} '@changesets/apply-release-plan@7.0.5': @@ -547,8 +547,8 @@ packages: '@changesets/changelog-git@0.2.0': resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} - '@changesets/cli@2.27.8': - resolution: {integrity: sha512-gZNyh+LdSsI82wBSHLQ3QN5J30P4uHKJ4fXgoGwQxfXwYFTJzDdvIJasZn8rYQtmKhyQuiBj4SSnLuKlxKWq4w==} + '@changesets/cli@2.27.9': + resolution: {integrity: sha512-q42a/ZbDnxPpCb5Wkm6tMVIxgeI9C/bexntzTeCFBrQEdpisQqk8kCHllYZMDjYtEc1ZzumbMJAG8H0Z4rdvjg==} hasBin: true '@changesets/config@3.0.3': @@ -607,20 +607,24 @@ packages: resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.6.0': + resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==} + 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.10.0': - resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==} + '@eslint/js@9.11.1': + resolution: {integrity: sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.1.0': - resolution: {integrity: sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==} + '@eslint/plugin-kit@0.2.0': + resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@humanwhocodes/module-importer@1.0.1': @@ -663,23 +667,26 @@ packages: '@types/audioworklet@0.0.60': resolution: {integrity: sha512-BCYklConpVRbPlNVcjzIhRsPWBTbCFSbkfjBC+VLULryaBI1M651y4nK0SMsSuTgtVSrKVY7Y+fsobCjviuDWA==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/http-cache-semantics@4.0.4': resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.5.5': - resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==} - - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + '@types/node@22.7.4': + resolution: {integrity: sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==} '@types/w3c-web-usb@1.0.10': resolution: {integrity: sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ==} - '@typescript-eslint/eslint-plugin@8.6.0': - resolution: {integrity: sha512-UOaz/wFowmoh2G6Mr9gw60B1mm0MzUtm6Ic8G2yM1Le6gyj5Loi/N+O5mocugRGY+8OeeKmkMmbxNqUCq3B4Sg==} + '@typescript-eslint/eslint-plugin@8.8.0': + resolution: {integrity: sha512-wORFWjU30B2WJ/aXBfOm1LX9v9nyt9D3jsSOxC3cCaTQGCW5k4jNpmjFv3U7p/7s4yvdjHzwtv2Sd2dOyhjS0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -689,8 +696,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.6.0': - resolution: {integrity: sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==} + '@typescript-eslint/parser@8.8.0': + resolution: {integrity: sha512-uEFUsgR+tl8GmzmLjRqz+VrDv4eoaMqMXW7ruXfgThaAShO9JTciKpEsB+TvnfFfbg5IpujgMXVV36gOJRLtZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -699,12 +706,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.6.0': - resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==} + '@typescript-eslint/scope-manager@8.8.0': + resolution: {integrity: sha512-EL8eaGC6gx3jDd8GwEFEV091210U97J0jeEHrAYvIYosmEGet4wJ+g0SYmLu+oRiAwbSA5AVrt6DxLHfdd+bUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.6.0': - resolution: {integrity: sha512-dtePl4gsuenXVwC7dVNlb4mGDcKjDT/Ropsk4za/ouMBPplCLyznIaR+W65mvCvsyS97dymoBRrioEXI7k0XIg==} + '@typescript-eslint/type-utils@8.8.0': + resolution: {integrity: sha512-IKwJSS7bCqyCeG4NVGxnOP6lLT9Okc3Zj8hLO96bpMkJab+10HIfJbMouLrlpyOr3yrQ1cA413YPFiGd1mW9/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -712,12 +719,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.6.0': - resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==} + '@typescript-eslint/types@8.8.0': + resolution: {integrity: sha512-QJwc50hRCgBd/k12sTykOJbESe1RrzmX6COk8Y525C9l7oweZ+1lw9JiU56im7Amm8swlz00DRIlxMYLizr2Vw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.6.0': - resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==} + '@typescript-eslint/typescript-estree@8.8.0': + resolution: {integrity: sha512-ZaMJwc/0ckLz5DaAZ+pNLmHv8AMVGtfWxZe/x2JVEkD5LnmhWiQMMcYT7IY7gkdJuzJ9P14fRy28lUrlDSWYdw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -725,14 +732,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.6.0': - resolution: {integrity: sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==} + '@typescript-eslint/utils@8.8.0': + resolution: {integrity: sha512-QE2MgfOTem00qrlPgyByaCHay9yb1+9BjnMFnSFkUKQfu7adBXDTnCAivURnuPPAG/qiB+kzKkZKmKfaMT0zVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.6.0': - resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==} + '@typescript-eslint/visitor-keys@8.8.0': + resolution: {integrity: sha512-8mq51Lx6Hpmd7HnA2fcHQo3YgfX1qbccxQOgZcb4tvasu//zXRaA1j5ZRFeCw/VRAdFi4mRM9DnZw0Nu0Q2d1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@xhmikosr/archive-type@6.0.1': @@ -801,14 +808,14 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - b4a@1.6.6: - resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} + b4a@1.6.7: + resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - bare-events@2.4.2: - resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} + bare-events@2.5.0: + resolution: {integrity: sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -946,26 +953,26 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-plugin-import-x@4.2.1: - resolution: {integrity: sha512-WWi2GedccIJa0zXxx3WDnTgouGQTtdYK1nhXMwywbqqAgB0Ov+p1pYBsWh3VaB0bvBOwLse6OfVII7jZD9xo5Q==} + eslint-plugin-import-x@4.3.1: + resolution: {integrity: sha512-5TriWkXulDl486XnYYRgsL+VQoS/7mhN/2ci02iLCuL7gdhbiWxnsuL/NTcaKY9fpMgsMFjWZBtIGW7pb+RX0g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - eslint-scope@8.0.2: - resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} + eslint-scope@8.1.0: + resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + eslint-visitor-keys@4.1.0: + resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.10.0: - resolution: {integrity: sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==} + eslint@9.11.1: + resolution: {integrity: sha512-MobhYKIoAO1s1e4VUrgx1l1Sk2JBR/Gqjjgw8+mfgoLE2xwsHur4gdfTxyTgShrhvdVFTaJSgMiQBl1jv/AWxg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -974,8 +981,8 @@ packages: jiti: optional: true - espree@10.1.0: - resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + espree@10.2.0: + resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: @@ -1647,8 +1654,8 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.6.0: - resolution: {integrity: sha512-eEhhlxCEpCd4helh3AO1hk0UP2MvbRi9CtIAJTVPQjuSXOOO2jsEacNi4UdcJzZJbeuVg1gMhtZ8UYb+NFYPrA==} + typescript-eslint@8.8.0: + resolution: {integrity: sha512-BjIT/VwJ8+0rVO01ZQ2ZVnjE1svFBiRczcpr1t1Yxt7sT25VSbPfrJtDsQ8uQTy2pilX5nI9gwxhUyLULNentw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1704,15 +1711,15 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yuv-buffer@1.0.0: - resolution: {integrity: sha512-5r5u7g7Dbdrwao/z8c4harQIpZwaNuzXjQXtgdFxTjr5Pm2eMmxIuckkKOONEM7fkiMNkeffXs6EPNESvAVzVg==} + yuv-buffer@1.0.1: + resolution: {integrity: sha512-1clmBXOyTX2R8OG0vaTFu5yP/C2XG4ULe+2HUu7c/aYE1fWpKvkGEzqMhUjknXp1Ts6Xfrc0YtIBbYxvaau38Q==} - yuv-canvas@1.2.11: - resolution: {integrity: sha512-LOxjD+gUO7XeHeExFEozpTEFBlbqEZOnaHLAwx4esJ2tzSWl/S/xDRSDu1N+asxYn7ldV+HtisrYAzJXkT7Rhw==} + yuv-canvas@1.3.0: + resolution: {integrity: sha512-zwl+lJgy23iTyCCUZbi0IRP+WezeKNeGEFU+a0gmtVRa81zL6mKJVxr+NKzlveJ2okz4aIOUEPrTs6yjuPt+Cg==} snapshots: - '@babel/runtime@7.25.6': + '@babel/runtime@7.25.7': dependencies: regenerator-runtime: 0.14.1 @@ -1745,7 +1752,7 @@ snapshots: dependencies: '@changesets/types': 6.0.0 - '@changesets/cli@2.27.8': + '@changesets/cli@2.27.9': dependencies: '@changesets/apply-release-plan': 7.0.5 '@changesets/assemble-release-plan': 6.0.4 @@ -1762,14 +1769,12 @@ snapshots: '@changesets/types': 6.0.0 '@changesets/write': 0.3.2 '@manypkg/get-packages': 1.1.3 - '@types/semver': 7.5.8 ansi-colors: 4.1.3 ci-info: 3.9.0 enquirer: 2.4.1 external-editor: 3.1.0 fs-extra: 7.0.1 mri: 1.2.0 - outdent: 0.5.0 p-limit: 2.3.0 package-manager-detector: 0.2.0 picocolors: 1.1.0 @@ -1860,9 +1865,9 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 - '@eslint-community/eslint-utils@4.4.0(eslint@9.10.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.11.1)': dependencies: - eslint: 9.10.0 + eslint: 9.11.1 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.1': {} @@ -1875,11 +1880,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/core@0.6.0': {} + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 debug: 4.3.7 - espree: 10.1.0 + espree: 10.2.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 @@ -1889,11 +1896,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.10.0': {} + '@eslint/js@9.11.1': {} '@eslint/object-schema@2.1.4': {} - '@eslint/plugin-kit@0.1.0': + '@eslint/plugin-kit@0.2.0': dependencies: levn: 0.4.1 @@ -1903,14 +1910,14 @@ snapshots: '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.25.6 + '@babel/runtime': 7.25.7 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.25.6 + '@babel/runtime': 7.25.7 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -1939,27 +1946,29 @@ snapshots: '@types/audioworklet@0.0.60': {} + '@types/estree@1.0.6': {} + '@types/http-cache-semantics@4.0.4': {} + '@types/json-schema@7.0.15': {} + '@types/node@12.20.55': {} - '@types/node@22.5.5': + '@types/node@22.7.4': dependencies: undici-types: 6.19.8 - '@types/semver@7.5.8': {} - '@types/w3c-web-usb@1.0.10': {} - '@typescript-eslint/eslint-plugin@8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.10.0)(typescript@5.6.2))(eslint@9.10.0)(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@8.8.0(@typescript-eslint/parser@8.8.0(eslint@9.11.1)(typescript@5.6.2))(eslint@9.11.1)(typescript@5.6.2)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.6.0(eslint@9.10.0)(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0)(typescript@5.6.2) - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0)(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.6.0 - eslint: 9.10.0 + '@typescript-eslint/parser': 8.8.0(eslint@9.11.1)(typescript@5.6.2) + '@typescript-eslint/scope-manager': 8.8.0 + '@typescript-eslint/type-utils': 8.8.0(eslint@9.11.1)(typescript@5.6.2) + '@typescript-eslint/utils': 8.8.0(eslint@9.11.1)(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.8.0 + eslint: 9.11.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -1969,28 +1978,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.6.0(eslint@9.10.0)(typescript@5.6.2)': + '@typescript-eslint/parser@8.8.0(eslint@9.11.1)(typescript@5.6.2)': dependencies: - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.6.0 + '@typescript-eslint/scope-manager': 8.8.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.8.0 debug: 4.3.7 - eslint: 9.10.0 + eslint: 9.11.1 optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.6.0': + '@typescript-eslint/scope-manager@8.8.0': dependencies: - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/visitor-keys': 8.6.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/visitor-keys': 8.8.0 - '@typescript-eslint/type-utils@8.6.0(eslint@9.10.0)(typescript@5.6.2)': + '@typescript-eslint/type-utils@8.8.0(eslint@9.11.1)(typescript@5.6.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.2) + '@typescript-eslint/utils': 8.8.0(eslint@9.11.1)(typescript@5.6.2) debug: 4.3.7 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: @@ -1999,12 +2008,12 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@8.6.0': {} + '@typescript-eslint/types@8.8.0': {} - '@typescript-eslint/typescript-estree@8.6.0(typescript@5.6.2)': + '@typescript-eslint/typescript-estree@8.8.0(typescript@5.6.2)': dependencies: - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/visitor-keys': 8.6.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/visitor-keys': 8.8.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -2016,20 +2025,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.6.0(eslint@9.10.0)(typescript@5.6.2)': + '@typescript-eslint/utils@8.8.0(eslint@9.11.1)(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) - eslint: 9.10.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1) + '@typescript-eslint/scope-manager': 8.8.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.2) + eslint: 9.11.1 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.6.0': + '@typescript-eslint/visitor-keys@8.8.0': dependencies: - '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/types': 8.8.0 eslint-visitor-keys: 3.4.3 '@xhmikosr/archive-type@6.0.1': @@ -2118,11 +2127,11 @@ snapshots: array-union@2.1.0: {} - b4a@1.6.6: {} + b4a@1.6.7: {} balanced-match@1.0.2: {} - bare-events@2.4.2: + bare-events@2.5.0: optional: true base64-js@1.5.1: {} @@ -2249,12 +2258,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import-x@4.2.1(eslint@9.10.0)(typescript@5.6.2): + eslint-plugin-import-x@4.3.1(eslint@9.11.1)(typescript@5.6.2): dependencies: - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/utils': 8.8.0(eslint@9.11.1)(typescript@5.6.2) debug: 4.3.7 doctrine: 3.0.0 - eslint: 9.10.0 + eslint: 9.11.1 eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.8.1 is-glob: 4.0.3 @@ -2266,34 +2275,37 @@ snapshots: - supports-color - typescript - eslint-scope@8.0.2: + eslint-scope@8.1.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.0.0: {} + eslint-visitor-keys@4.1.0: {} - eslint@9.10.0: + eslint@9.11.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1) '@eslint-community/regexpp': 4.11.1 '@eslint/config-array': 0.18.0 + '@eslint/core': 0.6.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.10.0 - '@eslint/plugin-kit': 0.1.0 + '@eslint/js': 9.11.1 + '@eslint/plugin-kit': 0.2.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.7 escape-string-regexp: 4.0.0 - eslint-scope: 8.0.2 - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 + eslint-scope: 8.1.0 + eslint-visitor-keys: 4.1.0 + espree: 10.2.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -2314,11 +2326,11 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.1.0: + espree@10.2.0: dependencies: acorn: 8.12.1 acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 4.0.0 + eslint-visitor-keys: 4.1.0 esprima@4.0.1: {} @@ -2832,7 +2844,7 @@ snapshots: queue-tick: 1.0.1 text-decoder: 1.2.0 optionalDependencies: - bare-events: 2.4.2 + bare-events: 2.5.0 string_decoder@1.3.0: dependencies: @@ -2866,7 +2878,7 @@ snapshots: tar-stream@3.1.7: dependencies: - b4a: 1.6.6 + b4a: 1.6.7 fast-fifo: 1.3.2 streamx: 2.20.1 @@ -2874,7 +2886,7 @@ snapshots: text-decoder@1.2.0: dependencies: - b4a: 1.6.6 + b4a: 1.6.7 text-table@0.2.0: {} @@ -2911,11 +2923,11 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.6.0(eslint@9.10.0)(typescript@5.6.2): + typescript-eslint@8.8.0(eslint@9.11.1)(typescript@5.6.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.10.0)(typescript@5.6.2))(eslint@9.10.0)(typescript@5.6.2) - '@typescript-eslint/parser': 8.6.0(eslint@9.10.0)(typescript@5.6.2) - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0)(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 8.8.0(@typescript-eslint/parser@8.8.0(eslint@9.11.1)(typescript@5.6.2))(eslint@9.11.1)(typescript@5.6.2) + '@typescript-eslint/parser': 8.8.0(eslint@9.11.1)(typescript@5.6.2) + '@typescript-eslint/utils': 8.8.0(eslint@9.11.1)(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: @@ -2960,6 +2972,6 @@ snapshots: yocto-queue@0.1.0: {} - yuv-buffer@1.0.0: {} + yuv-buffer@1.0.1: {} - yuv-canvas@1.2.11: {} + yuv-canvas@1.3.0: {} diff --git a/toolchain/eslint-config/package.json b/toolchain/eslint-config/package.json index 2827fa395..c974596a8 100644 --- a/toolchain/eslint-config/package.json +++ b/toolchain/eslint-config/package.json @@ -8,12 +8,12 @@ "run-eslint": "run-eslint.js" }, "dependencies": { - "@eslint/js": "^9.10.0", - "@types/node": "^22.5.5", - "eslint": "^9.10.0", - "eslint-plugin-import-x": "^4.2.1", + "@eslint/js": "^9.11.1", + "@types/node": "^22.7.4", + "eslint": "^9.11.1", + "eslint-plugin-import-x": "^4.3.1", "typescript": "^5.6.2", - "typescript-eslint": "^8.6.0" + "typescript-eslint": "^8.8.0" }, "devDependencies": { "prettier": "^3.3.3" diff --git a/toolchain/package-lint/package.json b/toolchain/package-lint/package.json index c1a132efa..4e2645815 100644 --- a/toolchain/package-lint/package.json +++ b/toolchain/package-lint/package.json @@ -7,7 +7,7 @@ "scripts": {}, "keywords": [], "dependencies": { - "@types/node": "^22.5.5", + "@types/node": "^22.7.4", "json5": "^2.2.3" }, "author": "", diff --git a/toolchain/test-runner/package.json b/toolchain/test-runner/package.json index e77a7c52c..5c422f905 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.5.5", + "@types/node": "^22.7.4", "typescript": "^5.6.2" } } From 6a18fa293b3c7d8c89558af39dd332824c7af12e Mon Sep 17 00:00:00 2001 From: Simon Chan <1330321+yume-chan@users.noreply.github.com> Date: Sun, 13 Oct 2024 01:54:22 +0800 Subject: [PATCH 10/10] fix(stream): remove `UnwrapStream`, it doesn't work --- libraries/adb-server-node-tcp/src/index.ts | 8 ++------ libraries/adb/src/commands/sync/push.ts | 4 ++-- libraries/adb/src/commands/sync/socket.ts | 4 ++-- libraries/adb/src/server/client.ts | 13 +++++-------- libraries/adb/src/server/transport.ts | 4 +--- .../stream-extra/src/maybe-consumable-ns.ts | 17 +---------------- 6 files changed, 13 insertions(+), 37 deletions(-) diff --git a/libraries/adb-server-node-tcp/src/index.ts b/libraries/adb-server-node-tcp/src/index.ts index 2e3dfaee4..7df1b1217 100644 --- a/libraries/adb-server-node-tcp/src/index.ts +++ b/libraries/adb-server-node-tcp/src/index.ts @@ -6,8 +6,6 @@ import { MaybeConsumable, PushReadableStream, tryClose, - WrapWritableStream, - WritableStream, } from "@yume-chan/stream-extra"; import type { ValueOrPromise } from "@yume-chan/struct"; @@ -36,7 +34,7 @@ function nodeSocketToConnection( tryClose(controller); }); }), - writable: new WritableStream({ + writable: new MaybeConsumable.WritableStream({ write: (chunk) => { return new Promise((resolve, reject) => { socket.write(chunk, (err) => { @@ -100,9 +98,7 @@ export class AdbServerNodeTcpConnector await handler({ service: address!, readable: connection.readable, - writable: new WrapWritableStream( - connection.writable, - ).bePipedThroughFrom(new MaybeConsumable.UnwrapStream()), + writable: connection.writable, get closed() { return connection.closed; }, diff --git a/libraries/adb/src/commands/sync/push.ts b/libraries/adb/src/commands/sync/push.ts index 7dd32807a..206f2e045 100644 --- a/libraries/adb/src/commands/sync/push.ts +++ b/libraries/adb/src/commands/sync/push.ts @@ -41,8 +41,8 @@ async function pipeFileData( file.pipeThrough(new DistributionStream(packetSize, true)) .pipeTo( new MaybeConsumable.WritableStream({ - write: async (chunk) => { - await adbSyncWriteRequest( + write(chunk) { + return adbSyncWriteRequest( locked, AdbSyncRequestId.Data, chunk, diff --git a/libraries/adb/src/commands/sync/socket.ts b/libraries/adb/src/commands/sync/socket.ts index 3ef72429b..0ca3437db 100644 --- a/libraries/adb/src/commands/sync/socket.ts +++ b/libraries/adb/src/commands/sync/socket.ts @@ -35,9 +35,9 @@ export class AdbSyncSocketLocked implements AsyncExactReadable { this.#combiner = new BufferCombiner(bufferSize); } - async #write(buffer: Uint8Array) { + #write(buffer: Uint8Array) { // `#combiner` will reuse the buffer, so we need to use the Consumable pattern - await Consumable.WritableStream.write(this.#writer, buffer); + return Consumable.WritableStream.write(this.#writer, buffer); } async flush() { diff --git a/libraries/adb/src/server/client.ts b/libraries/adb/src/server/client.ts index d2519bd51..2e454c6ce 100644 --- a/libraries/adb/src/server/client.ts +++ b/libraries/adb/src/server/client.ts @@ -6,11 +6,10 @@ import type { AbortSignal, ReadableWritablePair, WritableStreamDefaultWriter, + MaybeConsumable, } from "@yume-chan/stream-extra"; import { BufferedReadableStream, - MaybeConsumable, - WrapWritableStream, tryCancel, tryClose, } from "@yume-chan/stream-extra"; @@ -211,8 +210,8 @@ export class AdbServerClient { readonly wireless = new AdbServerClient.WirelessCommands(this); readonly mDns = new AdbServerClient.MDnsCommands(this); - constructor(connection: AdbServerClient.ServerConnector) { - this.connector = connection; + constructor(connector: AdbServerClient.ServerConnector) { + this.connector = connector; } async createConnection( @@ -437,9 +436,7 @@ export class AdbServerClient { transportId, service, readable: socket.readable, - writable: new WrapWritableStream( - socket.writable, - ).bePipedThroughFrom(new MaybeConsumable.UnwrapStream()), + writable: socket.writable, get closed() { return socket.closed; }, @@ -567,7 +564,7 @@ export namespace AdbServerClient { } export interface ServerConnection - extends ReadableWritablePair, + extends ReadableWritablePair>, Closeable { get closed(): Promise; } diff --git a/libraries/adb/src/server/transport.ts b/libraries/adb/src/server/transport.ts index 7f49210a4..3eceb9374 100644 --- a/libraries/adb/src/server/transport.ts +++ b/libraries/adb/src/server/transport.ts @@ -76,9 +76,7 @@ export class AdbServerTransport implements AdbTransport { async connect(service: string): Promise { return await this.#client.createDeviceConnection( - { - transportId: this.transportId, - }, + { transportId: this.transportId }, service, ); } diff --git a/libraries/stream-extra/src/maybe-consumable-ns.ts b/libraries/stream-extra/src/maybe-consumable-ns.ts index bc4de1eef..fd53a56a4 100644 --- a/libraries/stream-extra/src/maybe-consumable-ns.ts +++ b/libraries/stream-extra/src/maybe-consumable-ns.ts @@ -4,10 +4,7 @@ import type { QueuingStrategy, WritableStreamDefaultController, } from "./stream.js"; -import { - WritableStream as NativeWritableStream, - TransformStream, -} from "./stream.js"; +import { WritableStream as NativeWritableStream } from "./stream.js"; export function getValue(value: MaybeConsumable): T { return value instanceof Consumable ? value.value : value; @@ -24,18 +21,6 @@ export function tryConsume( } } -export class UnwrapStream extends TransformStream, T> { - constructor() { - super({ - transform(chunk, controller) { - tryConsume(chunk, (chunk) => { - controller.enqueue(chunk as T); - }); - }, - }); - } -} - export interface WritableStreamSink { start?( controller: WritableStreamDefaultController,