diff --git a/apps/cli/package.json b/apps/cli/package.json index db0fe6f5..c3e89b01 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -37,15 +37,15 @@ "@yume-chan/stream-extra": "workspace:^0.0.20", "commander": "^10.0.1", "source-map-support": "^0.5.21", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { - "@types/node": "^20.2.1", + "@types/node": "^20.4.0", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "typescript": "^5.1.6" } } diff --git a/apps/demo/package.json b/apps/demo/package.json index 7f885f98..c2766c5f 100644 --- a/apps/demo/package.json +++ b/apps/demo/package.json @@ -10,12 +10,12 @@ "lint": "next lint" }, "dependencies": { - "@fluentui/react": "^8.109.4", - "@fluentui/react-file-type-icons": "^8.8.17", - "@fluentui/react-hooks": "^8.6.24", - "@fluentui/react-icons": "^2.0.202", - "@fluentui/style-utilities": "^8.9.10", - "@griffel/react": "^1.5.7", + "@fluentui/react": "^8.110.7", + "@fluentui/react-file-type-icons": "^8.9.3", + "@fluentui/react-hooks": "^8.6.29", + "@fluentui/react-icons": "^2.0.206", + "@fluentui/style-utilities": "^8.9.16", + "@griffel/react": "^1.5.10", "@yume-chan/adb": "workspace:^0.0.20", "@yume-chan/adb-credential-web": "workspace:^0.0.20", "@yume-chan/adb-daemon-direct-sockets": "workspace:^0.0.9", @@ -39,26 +39,26 @@ "@yume-chan/undici-browser": "5.22.1-mod.7", "comlink": "^4.4.1", "fflate": "^0.7.4", - "mobx": "^6.7.0", + "mobx": "^6.9.0", "mobx-react-lite": "^3.4.3", - "next": "13.4.3", + "next": "13.4.9", "react": "^18.2.0", "react-dom": "^18.2.0", - "webm-muxer": "^3.1.0" + "webm-muxer": "^3.1.1" }, "devDependencies": { - "@mdx-js/loader": "^2.2.1", - "@mdx-js/react": "^2.2.1", - "@next/bundle-analyzer": "^13.4.3", - "@next/mdx": "^13.3.1", - "@types/dom-webcodecs": "^0.1.6", - "@types/node": "^20.2.1", - "@types/react": "18.2.6", + "@mdx-js/loader": "^2.3.0", + "@mdx-js/react": "^2.3.0", + "@next/bundle-analyzer": "^13.4.9", + "@next/mdx": "^13.4.9", + "@types/dom-webcodecs": "^0.1.8", + "@types/node": "^20.4.0", + "@types/react": "18.2.14", "@yume-chan/next-pwa": "5.6.0-mod.2", - "eslint": "^8.41.0", - "eslint-config-next": "13.4.3", - "prettier": "^2.8.8", + "eslint": "^8.44.0", + "eslint-config-next": "13.4.9", + "prettier": "^3.0.0", "source-map-loader": "^4.0.1", - "typescript": "^5.0.3" + "typescript": "^5.1.6" } } diff --git a/apps/demo/src/components/connect.tsx b/apps/demo/src/components/connect.tsx index a24073a6..39e66c14 100644 --- a/apps/demo/src/components/connect.tsx +++ b/apps/demo/src/components/connect.tsx @@ -38,7 +38,7 @@ const DropdownStyles = { dropdown: { width: "100%" } }; const CredentialStore = new AdbWebCredentialStore(); -function _Connect(): JSX.Element | null { +function ConnectCore(): JSX.Element | null { const [selected, setSelected] = useState(); const [connecting, setConnecting] = useState(false); @@ -386,4 +386,4 @@ function _Connect(): JSX.Element | null { ); } -export const Connect = observer(_Connect); +export const Connect = observer(ConnectCore); diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 2eb5e297..ecb6b437 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -29,12 +29,12 @@ importers: specifier: ^0.5.21 version: 0.5.21 tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@types/node': - specifier: ^20.2.1 - version: 20.2.1 + specifier: ^20.4.0 + version: 20.4.0 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -42,38 +42,38 @@ importers: specifier: workspace:^1.0.0 version: link:../../toolchain/tsconfig eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../apps/demo: dependencies: '@fluentui/react': - specifier: ^8.109.4 - version: 8.109.4(@types/react-dom@18.2.6)(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0) + specifier: ^8.110.7 + version: 8.110.7(@types/react-dom@18.2.6)(@types/react@18.2.14)(react-dom@18.2.0)(react@18.2.0) '@fluentui/react-file-type-icons': - specifier: ^8.8.17 - version: 8.8.17(@types/react@18.2.6)(react@18.2.0) + specifier: ^8.9.3 + version: 8.9.3(@types/react@18.2.14)(react@18.2.0) '@fluentui/react-hooks': - specifier: ^8.6.24 - version: 8.6.24(@types/react@18.2.6)(react@18.2.0) + specifier: ^8.6.29 + version: 8.6.29(@types/react@18.2.14)(react@18.2.0) '@fluentui/react-icons': - specifier: ^2.0.202 - version: 2.0.202(react@18.2.0) + specifier: ^2.0.206 + version: 2.0.206(react@18.2.0) '@fluentui/style-utilities': - specifier: ^8.9.10 - version: 8.9.10(@types/react@18.2.6)(react@18.2.0) + specifier: ^8.9.16 + version: 8.9.16(@types/react@18.2.14)(react@18.2.0) '@griffel/react': - specifier: ^1.5.7 - version: 1.5.7(react@18.2.0) + specifier: ^1.5.10 + version: 1.5.10(react@18.2.0) '@yume-chan/adb': specifier: workspace:^0.0.20 version: link:../../libraries/adb @@ -144,14 +144,14 @@ importers: specifier: ^0.7.4 version: 0.7.4 mobx: - specifier: ^6.7.0 - version: 6.7.0 + specifier: ^6.9.0 + version: 6.9.0 mobx-react-lite: specifier: ^3.4.3 - version: 3.4.3(mobx@6.7.0)(react-dom@18.2.0)(react@18.2.0) + version: 3.4.3(mobx@6.9.0)(react-dom@18.2.0)(react@18.2.0) next: - specifier: 13.4.3 - version: 13.4.3(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) + specifier: 13.4.9 + version: 13.4.9(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -159,48 +159,48 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) webm-muxer: - specifier: ^3.1.0 - version: 3.1.0 + specifier: ^3.1.1 + version: 3.1.1 devDependencies: '@mdx-js/loader': - specifier: ^2.2.1 - version: 2.2.1(webpack@5.83.1) + specifier: ^2.3.0 + version: 2.3.0(webpack@5.83.1) '@mdx-js/react': - specifier: ^2.2.1 - version: 2.2.1(react@18.2.0) + specifier: ^2.3.0 + version: 2.3.0(react@18.2.0) '@next/bundle-analyzer': - specifier: ^13.4.3 - version: 13.4.3 + specifier: ^13.4.9 + version: 13.4.9 '@next/mdx': - specifier: ^13.3.1 - version: 13.3.1(@mdx-js/loader@2.2.1)(@mdx-js/react@2.2.1) + specifier: ^13.4.9 + version: 13.4.9(@mdx-js/loader@2.3.0)(@mdx-js/react@2.3.0) '@types/dom-webcodecs': - specifier: ^0.1.6 - version: 0.1.6 + specifier: ^0.1.8 + version: 0.1.8 '@types/node': - specifier: ^20.2.1 - version: 20.2.1 + specifier: ^20.4.0 + version: 20.4.0 '@types/react': - specifier: 18.2.6 - version: 18.2.6 + specifier: 18.2.14 + version: 18.2.14 '@yume-chan/next-pwa': specifier: 5.6.0-mod.2 - version: 5.6.0-mod.2(@babel/core@7.22.5)(next@13.4.3)(webpack@5.83.1) + version: 5.6.0-mod.2(@babel/core@7.22.5)(next@13.4.9)(webpack@5.83.1) eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 eslint-config-next: - specifier: 13.4.3 - version: 13.4.3(eslint@8.41.0)(typescript@5.0.3) + specifier: 13.4.9 + version: 13.4.9(eslint@8.44.0)(typescript@5.1.6) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 source-map-loader: specifier: ^4.0.1 version: 4.0.1(webpack@5.83.1) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/adb: dependencies: @@ -220,15 +220,15 @@ importers: specifier: workspace:^0.0.20 version: link:../struct tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@jest/globals': - specifier: ^29.5.0 - version: 29.5.0 + specifier: ^29.6.1 + version: 29.6.1 '@types/node': - specifier: ^20.2.1 - version: 20.2.1 + specifier: ^20.4.0 + version: 20.4.0 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -239,23 +239,20 @@ importers: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 ts-jest: - specifier: ^29.0.4 - version: 29.0.4(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.0.3) + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6) typescript: - specifier: ^5.0.3 - version: 5.0.3 - web-streams-polyfill: - specifier: ^4.0.0-beta.3 - version: 4.0.0-beta.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/adb-credential-web: dependencies: @@ -263,8 +260,8 @@ importers: specifier: workspace:^0.0.20 version: link:../adb tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@yume-chan/eslint-config': specifier: workspace:^1.0.0 @@ -273,14 +270,14 @@ importers: specifier: workspace:^1.0.0 version: link:../../toolchain/tsconfig eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/adb-daemon-direct-sockets: dependencies: @@ -291,8 +288,8 @@ importers: specifier: workspace:^0.0.20 version: link:../stream-extra tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@yume-chan/eslint-config': specifier: workspace:^1.0.0 @@ -301,14 +298,14 @@ importers: specifier: workspace:^1.0.0 version: link:../../toolchain/tsconfig eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/adb-daemon-webusb: dependencies: @@ -325,8 +322,8 @@ importers: specifier: workspace:^0.0.20 version: link:../struct tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@yume-chan/eslint-config': specifier: workspace:^1.0.0 @@ -335,14 +332,14 @@ importers: specifier: workspace:^1.0.0 version: link:../../toolchain/tsconfig eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/adb-daemon-ws: dependencies: @@ -353,8 +350,8 @@ importers: specifier: workspace:^0.0.20 version: link:../stream-extra tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@yume-chan/eslint-config': specifier: workspace:^1.0.0 @@ -363,17 +360,17 @@ importers: specifier: workspace:^1.0.0 version: link:../../toolchain/tsconfig eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/adb-scrcpy: dependencies: @@ -396,12 +393,12 @@ importers: specifier: workspace:^0.0.20 version: link:../struct tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@jest/globals': - specifier: ^29.5.0 - version: 29.5.0 + specifier: ^29.6.1 + version: 29.6.1 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -412,20 +409,20 @@ importers: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 ts-jest: - specifier: ^29.0.4 - version: 29.0.4(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.0.3) + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/adb-server-node-tcp: dependencies: @@ -439,12 +436,12 @@ importers: specifier: workspace:^0.0.20 version: link:../struct tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@types/node': - specifier: ^20.2.1 - version: 20.2.1 + specifier: ^20.4.0 + version: 20.4.0 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -452,17 +449,17 @@ importers: specifier: workspace:^1.0.0 version: link:../../toolchain/tsconfig eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/android-bin: dependencies: @@ -476,24 +473,36 @@ importers: specifier: workspace:^0.0.20 version: link:../struct tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: + '@jest/globals': + specifier: ^29.6.1 + version: 29.6.1 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config '@yume-chan/tsconfig': specifier: workspace:^1.0.0 version: link:../../toolchain/tsconfig + cross-env: + specifier: ^7.0.3 + version: 7.0.3 eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 + jest: + specifier: ^29.5.0 + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 + ts-jest: + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/aoa: dependencies: @@ -508,21 +517,21 @@ importers: specifier: workspace:^1.0.0 version: link:../../toolchain/tsconfig eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/b-tree: dependencies: tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@jest/globals': - specifier: ^29.5.0 - version: 29.5.0 + specifier: ^29.6.1 + version: 29.6.1 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -533,26 +542,26 @@ importers: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 ts-jest: - specifier: ^29.0.4 - version: 29.0.4(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.0.3) + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/dataview-bigint-polyfill: dependencies: tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@yume-chan/eslint-config': specifier: workspace:^1.0.0 @@ -561,17 +570,17 @@ importers: specifier: workspace:^1.0.0 version: link:../../toolchain/tsconfig eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/event: dependencies: @@ -579,12 +588,12 @@ importers: specifier: ^2.2.0 version: 2.2.0 tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@jest/globals': - specifier: ^29.5.0 - version: 29.5.0 + specifier: ^29.6.1 + version: 29.6.1 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -595,20 +604,20 @@ importers: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 ts-jest: - specifier: ^29.0.4 - version: 29.0.4(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.0.3) + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/fetch-scrcpy-server: dependencies: @@ -617,21 +626,21 @@ importers: version: 3.0.2 devDependencies: '@types/node': - specifier: ^20.2.1 - version: 20.2.1 + specifier: ^20.4.0 + version: 20.4.0 ../../libraries/pcm-player: dependencies: tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@jest/globals': - specifier: ^29.5.0 - version: 29.5.0 + specifier: ^29.6.1 + version: 29.6.1 '@types/audioworklet': - specifier: ^0.0.46 - version: 0.0.46 + specifier: ^0.0.48 + version: 0.0.48 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -642,20 +651,20 @@ importers: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 ts-jest: - specifier: ^29.0.4 - version: 29.0.4(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.0.3) + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/scrcpy: dependencies: @@ -666,12 +675,12 @@ importers: specifier: workspace:^0.0.20 version: link:../struct tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@jest/globals': - specifier: ^29.5.0 - version: 29.5.0 + specifier: ^29.6.1 + version: 29.6.1 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -682,23 +691,23 @@ importers: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 gh-release-fetch: specifier: ^3.0.2 version: 3.0.2 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 ts-jest: - specifier: ^29.0.4 - version: 29.0.4(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.0.3) + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/scrcpy-decoder-tinyh264: dependencies: @@ -718,8 +727,8 @@ importers: specifier: ^0.0.7 version: 0.0.7 tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 yuv-buffer: specifier: ^1.0.0 version: 1.0.0 @@ -728,8 +737,8 @@ importers: version: 1.2.11 devDependencies: '@jest/globals': - specifier: ^29.5.0 - version: 29.5.0 + specifier: ^29.6.1 + version: 29.6.1 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -740,26 +749,26 @@ importers: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 ts-jest: - specifier: ^29.0.4 - version: 29.0.4(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.0.3) + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/scrcpy-decoder-webcodecs: dependencies: '@types/dom-webcodecs': - specifier: ^0.1.6 - version: 0.1.6 + specifier: ^0.1.8 + version: 0.1.8 '@yume-chan/scrcpy': specifier: workspace:^0.0.20 version: link:../scrcpy @@ -770,12 +779,12 @@ importers: specifier: workspace:^0.0.20 version: link:../stream-extra tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@jest/globals': - specifier: ^29.5.0 - version: 29.5.0 + specifier: ^29.6.1 + version: 29.6.1 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -786,20 +795,20 @@ importers: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 ts-jest: - specifier: ^29.0.4 - version: 29.0.4(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.0.3) + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/stream-extra: dependencies: @@ -810,15 +819,15 @@ importers: specifier: workspace:^0.0.20 version: link:../struct tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 web-streams-polyfill: specifier: ^4.0.0-beta.3 version: 4.0.0-beta.3 devDependencies: '@jest/globals': - specifier: ^29.5.0 - version: 29.5.0 + specifier: ^29.6.1 + version: 29.6.1 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -829,20 +838,20 @@ importers: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 ts-jest: - specifier: ^29.0.4 - version: 29.0.4(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.0.3) + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/struct: dependencies: @@ -850,12 +859,12 @@ importers: specifier: workspace:^0.0.20 version: link:../dataview-bigint-polyfill tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 devDependencies: '@jest/globals': - specifier: ^29.5.0 - version: 29.5.0 + specifier: ^29.6.1 + version: 29.6.1 '@yume-chan/eslint-config': specifier: workspace:^1.0.0 version: link:../../toolchain/eslint-config @@ -866,20 +875,20 @@ importers: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 jest: specifier: ^29.5.0 - version: 29.5.0(@types/node@20.2.1) + version: 29.5.0(@types/node@20.4.0) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 ts-jest: - specifier: ^29.0.4 - version: 29.0.4(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.0.3) + specifier: ^29.1.1 + version: 29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 ../../libraries/tabby-launcher: devDependencies: @@ -897,7 +906,7 @@ importers: version: 15.2.6(@angular/core@15.2.6) '@angular/compiler-cli': specifier: ^15.2.6 - version: 15.2.6(@angular/compiler@15.2.6)(typescript@5.0.3) + version: 15.2.6(@angular/compiler@15.2.6)(typescript@5.1.6) '@angular/core': specifier: ^15.2.6 version: 15.2.6(rxjs@7.8.1)(zone.js@0.13.0) @@ -1010,11 +1019,11 @@ importers: specifier: ^1.0.197-nightly.1 version: 1.0.197-nightly.1(@angular/core@15.2.6) ts-loader: - specifier: ^9.4.2 - version: 9.4.2(typescript@5.0.3)(webpack@5.83.1) + specifier: ^9.4.4 + version: 9.4.4(typescript@5.1.6)(webpack@5.83.1) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 url: specifier: ^0.11.0 version: 0.11.0 @@ -1051,7 +1060,7 @@ importers: version: 15.2.6(@angular/core@15.2.6) '@angular/compiler-cli': specifier: ^15.2.6 - version: 15.2.6(@angular/compiler@15.2.6)(typescript@5.0.3) + version: 15.2.6(@angular/compiler@15.2.6)(typescript@5.1.6) '@angular/core': specifier: ^15.2.6 version: 15.2.6(rxjs@7.8.1)(zone.js@0.13.0) @@ -1069,13 +1078,13 @@ importers: version: 14.1.1(@angular/common@15.2.6)(@angular/core@15.2.6)(@angular/forms@15.2.6)(@angular/localize@15.2.9)(@popperjs/core@2.11.6)(rxjs@7.8.1) '@ngtools/webpack': specifier: ^15.2.5 - version: 15.2.5(@angular/compiler-cli@15.2.6)(typescript@5.0.3)(webpack@5.83.1) + version: 15.2.5(@angular/compiler-cli@15.2.6)(typescript@5.1.6)(webpack@5.83.1) '@popperjs/core': specifier: ^2.11.6 version: 2.11.6 '@types/node': - specifier: ^20.2.1 - version: 20.2.1 + specifier: ^20.4.0 + version: 20.4.0 '@types/webpack-env': specifier: ^1.16.0 version: 1.16.0 @@ -1089,8 +1098,8 @@ importers: specifier: ^9.1.2 version: 9.1.2(@babel/core@7.22.5)(webpack@5.83.1) mobx: - specifier: ^6.7.0 - version: 6.7.0 + specifier: ^6.9.0 + version: 6.9.0 rxjs: specifier: ^7.8.1 version: 7.8.1 @@ -1107,11 +1116,11 @@ importers: specifier: ^1.0.197-nightly.1 version: 1.0.197-nightly.1(@angular/animations@15.2.6)(@angular/common@15.2.6)(@angular/core@15.2.6)(@angular/forms@15.2.6)(@angular/platform-browser@15.2.6)(@ng-bootstrap/ng-bootstrap@14.1.1)(rxjs@7.8.1)(tabby-core@1.0.197-nightly.1)(tabby-settings@1.0.197-nightly.1) tslib: - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^2.6.0 + version: 2.6.0 typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 webpack: specifier: ^5.83.1 version: 5.83.1(webpack-cli@5.1.1) @@ -1128,33 +1137,33 @@ importers: ../../toolchain/eslint-config: dependencies: '@rushstack/eslint-patch': - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.3.2 + version: 1.3.2 '@typescript-eslint/eslint-plugin': - specifier: ^5.59.6 - version: 5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.41.0)(typescript@5.0.3) + specifier: ^5.61.0 + version: 5.61.0(@typescript-eslint/parser@5.61.0)(eslint@8.44.0)(typescript@5.1.6) '@typescript-eslint/parser': - specifier: ^5.59.6 - version: 5.59.6(eslint@8.41.0)(typescript@5.0.3) + specifier: ^5.61.0 + version: 5.61.0(eslint@8.44.0)(typescript@5.1.6) eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.44.0 + version: 8.44.0 eslint-plugin-import: - specifier: ^2.27.4 - version: 2.27.4(eslint@8.41.0) + specifier: ^2.27.5 + version: 2.27.5(eslint@8.44.0) typescript: - specifier: ^5.0.3 - version: 5.0.3 + specifier: ^5.1.6 + version: 5.1.6 devDependencies: prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 ../../toolchain/tsconfig: devDependencies: prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.0 + version: 3.0.0 packages: @@ -1176,7 +1185,7 @@ packages: '@angular/core': 15.2.6 dependencies: '@angular/core': 15.2.6(rxjs@7.8.1)(zone.js@0.13.0) - tslib: 2.5.2 + tslib: 2.6.0 dev: true /@angular/cdk@15.2.6(@angular/common@15.2.6)(@angular/core@15.2.6)(rxjs@7.8.1): @@ -1189,7 +1198,7 @@ packages: '@angular/common': 15.2.6(@angular/core@15.2.6)(rxjs@7.8.1) '@angular/core': 15.2.6(rxjs@7.8.1)(zone.js@0.13.0) rxjs: 7.8.1 - tslib: 2.5.2 + tslib: 2.6.0 optionalDependencies: parse5: 7.1.2 dev: true @@ -1203,10 +1212,10 @@ packages: dependencies: '@angular/core': 15.2.6(rxjs@7.8.1)(zone.js@0.13.0) rxjs: 7.8.1 - tslib: 2.5.2 + tslib: 2.6.0 dev: true - /@angular/compiler-cli@15.2.6(@angular/compiler@15.2.6)(typescript@5.0.3): + /@angular/compiler-cli@15.2.6(@angular/compiler@15.2.6)(typescript@5.1.6): resolution: {integrity: sha512-GHwL4l+NkaUGGdypF+nMFWCmTqvGusTzIriIwpnp38wc8lpmVME2jVodB6sHAkrxFmaHXU/gOCDFK4AnOi6Gmw==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0} hasBin: true @@ -1223,8 +1232,8 @@ packages: magic-string: 0.27.0 reflect-metadata: 0.1.13 semver: 7.5.3 - tslib: 2.5.2 - typescript: 5.0.3 + tslib: 2.6.0 + typescript: 5.1.6 yargs: 17.7.2 transitivePeerDependencies: - supports-color @@ -1240,7 +1249,7 @@ packages: optional: true dependencies: '@angular/core': 15.2.6(rxjs@7.8.1)(zone.js@0.13.0) - tslib: 2.5.2 + tslib: 2.6.0 dev: true /@angular/core@15.2.6(rxjs@7.8.1)(zone.js@0.13.0): @@ -1251,7 +1260,7 @@ packages: zone.js: ~0.11.4 || ~0.12.0 || ~0.13.0 dependencies: rxjs: 7.8.1 - tslib: 2.5.2 + tslib: 2.6.0 zone.js: 0.13.0 dev: true @@ -1268,7 +1277,7 @@ packages: '@angular/core': 15.2.6(rxjs@7.8.1)(zone.js@0.13.0) '@angular/platform-browser': 15.2.6(@angular/animations@15.2.6)(@angular/common@15.2.6)(@angular/core@15.2.6) rxjs: 7.8.1 - tslib: 2.5.2 + tslib: 2.6.0 dev: true /@angular/localize@15.2.9(@angular/compiler-cli@15.2.6)(@angular/compiler@15.2.6): @@ -1280,7 +1289,7 @@ packages: '@angular/compiler-cli': 15.2.9 dependencies: '@angular/compiler': 15.2.6(@angular/core@15.2.6) - '@angular/compiler-cli': 15.2.6(@angular/compiler@15.2.6)(typescript@5.0.3) + '@angular/compiler-cli': 15.2.6(@angular/compiler@15.2.6)(typescript@5.1.6) '@babel/core': 7.19.3 glob: 8.1.0 yargs: 17.7.2 @@ -1301,7 +1310,7 @@ packages: '@angular/compiler': 15.2.6(@angular/core@15.2.6) '@angular/core': 15.2.6(rxjs@7.8.1)(zone.js@0.13.0) '@angular/platform-browser': 15.2.6(@angular/animations@15.2.6)(@angular/common@15.2.6)(@angular/core@15.2.6) - tslib: 2.5.2 + tslib: 2.6.0 dev: true /@angular/platform-browser@15.2.6(@angular/animations@15.2.6)(@angular/common@15.2.6)(@angular/core@15.2.6): @@ -1318,7 +1327,7 @@ packages: '@angular/animations': 15.2.6(@angular/core@15.2.6) '@angular/common': 15.2.6(@angular/core@15.2.6)(rxjs@7.8.1) '@angular/core': 15.2.6(rxjs@7.8.1)(zone.js@0.13.0) - tslib: 2.5.2 + tslib: 2.6.0 dev: true /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): @@ -2594,26 +2603,26 @@ packages: resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} dev: false - /@eslint-community/eslint-utils@4.4.0(eslint@8.41.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.44.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.41.0 + eslint: 8.44.0 eslint-visitor-keys: 3.4.1 /@eslint-community/regexpp@4.5.1: resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - /@eslint/eslintrc@2.0.3: - resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} + /@eslint/eslintrc@2.1.0: + resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.2 + espree: 9.6.0 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -2623,37 +2632,37 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.41.0: - resolution: {integrity: sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==} + /@eslint/js@8.44.0: + resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /@fluentui/date-time-utilities@8.5.13: resolution: {integrity: sha512-X3clbPKh0URkDj21QoARw6SNec7dWg7Gt7SkTlkVYFzmZUdC4ZIrYk3n36xKe3U1wcGp26EVmKjhAhB262ugpw==} dependencies: '@fluentui/set-version': 8.2.11 - tslib: 2.5.2 + tslib: 2.6.0 dev: false /@fluentui/dom-utilities@2.2.11: resolution: {integrity: sha512-2tXfg7/9PXu9nfU72/P3o3waHEFEQtHUfQbVexUaYqNNAxMj6sOfsqpUx4vd5nPgO+grSWrl+spqlLN2yej51w==} dependencies: '@fluentui/set-version': 8.2.11 - tslib: 2.5.2 + tslib: 2.6.0 dev: false - /@fluentui/font-icons-mdl2@8.5.23(@types/react@18.2.6)(react@18.2.0): + /@fluentui/font-icons-mdl2@8.5.23(@types/react@18.2.14)(react@18.2.0): resolution: {integrity: sha512-jZjUtfQm9/84jX34zhwwsoZME86xXXgKAgBYuMvRStKzXGdZcd7YSOlmuT8lbISmtFL/SWwUGOEal1nLCUNeNA==} dependencies: '@fluentui/set-version': 8.2.11 - '@fluentui/style-utilities': 8.9.16(@types/react@18.2.6)(react@18.2.0) - '@fluentui/utilities': 8.13.18(@types/react@18.2.6)(react@18.2.0) - tslib: 2.5.2 + '@fluentui/style-utilities': 8.9.16(@types/react@18.2.14)(react@18.2.0) + '@fluentui/utilities': 8.13.18(@types/react@18.2.14)(react@18.2.0) + tslib: 2.6.0 transitivePeerDependencies: - '@types/react' - react dev: false - /@fluentui/foundation-legacy@8.2.43(@types/react@18.2.6)(react@18.2.0): + /@fluentui/foundation-legacy@8.2.43(@types/react@18.2.14)(react@18.2.0): resolution: {integrity: sha512-rXr71KxNcWDH2LmTsFZbP75p8HssLlVLaFAqEdLE+sKf/LNKmqkDVTNhDbHZxzxy0QnguI4aNHcyGhMZUH3MPA==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' @@ -2661,40 +2670,40 @@ packages: dependencies: '@fluentui/merge-styles': 8.5.12 '@fluentui/set-version': 8.2.11 - '@fluentui/style-utilities': 8.9.16(@types/react@18.2.6)(react@18.2.0) - '@fluentui/utilities': 8.13.18(@types/react@18.2.6)(react@18.2.0) - '@types/react': 18.2.6 + '@fluentui/style-utilities': 8.9.16(@types/react@18.2.14)(react@18.2.0) + '@fluentui/utilities': 8.13.18(@types/react@18.2.14)(react@18.2.0) + '@types/react': 18.2.14 react: 18.2.0 - tslib: 2.5.2 + tslib: 2.6.0 dev: false /@fluentui/keyboard-key@0.4.11: resolution: {integrity: sha512-TVB/EloWado9AVp1niChgcdDOQAHGP5B30Dinmtfe7zi8OnstwPoxwFP6dHJDdpLQ6ZEUTaEHViSzvewl7Chag==} dependencies: - tslib: 2.5.2 + tslib: 2.6.0 dev: false /@fluentui/merge-styles@8.5.12: resolution: {integrity: sha512-ZnUo0YuMP7AYi68dkknFqVxopIAgbrUnqR/MZlemmRvBYyy1SMj1WQeHcoiLFA8mF8YKn7B+jxQgJbN2bfcrRw==} dependencies: '@fluentui/set-version': 8.2.11 - tslib: 2.5.2 + tslib: 2.6.0 dev: false - /@fluentui/react-file-type-icons@8.8.17(@types/react@18.2.6)(react@18.2.0): - resolution: {integrity: sha512-QHudXzwWeMufTX0mfQtYerP6sfCNyDm0844OHCZZvjQMuf3KUDXVZAL7X2kI5GMuFZ7FmsrlTtigyAJNaPKADg==} + /@fluentui/react-file-type-icons@8.9.3(@types/react@18.2.14)(react@18.2.0): + resolution: {integrity: sha512-nos8Fy8e/JSenf5SQbUoDVcEjV0xbnJ5Nzm6X6KBhdXluvwBVY657zms5gSc3flDqtZjYVtbL2DvVuXM1hlliw==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: '@fluentui/set-version': 8.2.11 - '@fluentui/style-utilities': 8.9.10(@types/react@18.2.6)(react@18.2.0) - '@types/react': 18.2.6 + '@fluentui/style-utilities': 8.9.16(@types/react@18.2.14)(react@18.2.0) + '@types/react': 18.2.14 react: 18.2.0 - tslib: 2.5.2 + tslib: 2.6.0 dev: false - /@fluentui/react-focus@8.8.30(@types/react@18.2.6)(react@18.2.0): + /@fluentui/react-focus@8.8.30(@types/react@18.2.14)(react@18.2.0): resolution: {integrity: sha512-dKQQtNTZbQOE+u/Tmh7AbtJPSpzQNI0L8o55a22y4U7s33rizUd++CIiToXsB+bPvlotcmpZswZQ8V06zM4KIw==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' @@ -2703,62 +2712,62 @@ packages: '@fluentui/keyboard-key': 0.4.11 '@fluentui/merge-styles': 8.5.12 '@fluentui/set-version': 8.2.11 - '@fluentui/style-utilities': 8.9.16(@types/react@18.2.6)(react@18.2.0) - '@fluentui/utilities': 8.13.18(@types/react@18.2.6)(react@18.2.0) - '@types/react': 18.2.6 + '@fluentui/style-utilities': 8.9.16(@types/react@18.2.14)(react@18.2.0) + '@fluentui/utilities': 8.13.18(@types/react@18.2.14)(react@18.2.0) + '@types/react': 18.2.14 react: 18.2.0 - tslib: 2.5.2 + tslib: 2.6.0 dev: false - /@fluentui/react-hooks@8.6.24(@types/react@18.2.6)(react@18.2.0): - resolution: {integrity: sha512-nw7jGA9Q+n33QPXFkOMNg7LwoPxbD2l0ifWJ5sN7UOZYMPpxO/oSKRiPiskvqKW1I/cGjGffyFE+aRomy9sO7A==} + /@fluentui/react-hooks@8.6.29(@types/react@18.2.14)(react@18.2.0): + resolution: {integrity: sha512-MeVevmGJtrYxdhoarrkVWE0Hs4XdzOc9A3tiOjMBIcwOvoOYOAoOELoHK/wuulPVwUn2R9Y+7JpJ6oCe4ImdJw==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: - '@fluentui/react-window-provider': 2.2.15(@types/react@18.2.6)(react@18.2.0) + '@fluentui/react-window-provider': 2.2.15(@types/react@18.2.14)(react@18.2.0) '@fluentui/set-version': 8.2.11 - '@fluentui/utilities': 8.13.18(@types/react@18.2.6)(react@18.2.0) - '@types/react': 18.2.6 + '@fluentui/utilities': 8.13.18(@types/react@18.2.14)(react@18.2.0) + '@types/react': 18.2.14 react: 18.2.0 - tslib: 2.5.2 + tslib: 2.6.0 dev: false - /@fluentui/react-icons@2.0.202(react@18.2.0): - resolution: {integrity: sha512-QMiFMaDj99T+w3/EAdvEfDCk5hkzn6LBkqSVW2Ov+WY25/WNv54W169qmWW8LuEZLUiEYHZejwcEghaMHmswVA==} + /@fluentui/react-icons@2.0.206(react@18.2.0): + resolution: {integrity: sha512-Hq+QCAQbmIR8Pi7eihNQQgV3NmBcNP7j0Px1gBusgqK+RfttE0ubLym3SwQ3/Zz4neaDgAa9QKoArgEt3HorvA==} peerDependencies: react: '>=16.8.0 <19.0.0' dependencies: - '@griffel/react': 1.5.7(react@18.2.0) + '@griffel/react': 1.5.10(react@18.2.0) react: 18.2.0 - tslib: 2.5.2 + tslib: 2.6.0 dev: false - /@fluentui/react-portal-compat-context@9.0.6(@types/react@18.2.6)(react@18.2.0): + /@fluentui/react-portal-compat-context@9.0.6(@types/react@18.2.14)(react@18.2.0): resolution: {integrity: sha512-HUt0/YXKRB4chtzlGbZ+7y7FHFyqaI0CeMFAe/QBXVOiOwA01QOr2j4Uky+30vupspIt6mjodLanuw1jMybmqQ==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: '@swc/helpers': 0.4.14 - '@types/react': 18.2.6 + '@types/react': 18.2.14 react: 18.2.0 dev: false - /@fluentui/react-window-provider@2.2.15(@types/react@18.2.6)(react@18.2.0): + /@fluentui/react-window-provider@2.2.15(@types/react@18.2.14)(react@18.2.0): resolution: {integrity: sha512-RraWvRe7wakpPJRBX2tlCV/cybOKiqLJ1UBLPNf5xq7ZIs0T0g/hh3G3Zb5teOeipjuRnl6srkdDUT9Dy9wrBg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' react: '>=16.8.0 <19.0.0' dependencies: '@fluentui/set-version': 8.2.11 - '@types/react': 18.2.6 + '@types/react': 18.2.14 react: 18.2.0 - tslib: 2.5.2 + tslib: 2.6.0 dev: false - /@fluentui/react@8.109.4(@types/react-dom@18.2.6)(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-YKyGQMlIXO5OFlNEH6ASJFYconDBsT7y3ZdKNhxc5EH3DBUk3YdcFOfbrJCzMv8lFS3lNbIeKjPYTkS6tY42nw==} + /@fluentui/react@8.110.7(@types/react-dom@18.2.6)(@types/react@18.2.14)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-3sn4HZL10jghiYFF+Ouc7pNDJ5pR2ueU6ZY1IdmVFgYXTJJ/IwQhVc37mXVf8VoUM7hF4vRcGE4z+loNTpTX0w==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' '@types/react-dom': '>=16.8.0 <19.0.0' @@ -2766,60 +2775,46 @@ packages: react-dom: '>=16.8.0 <19.0.0' dependencies: '@fluentui/date-time-utilities': 8.5.13 - '@fluentui/font-icons-mdl2': 8.5.23(@types/react@18.2.6)(react@18.2.0) - '@fluentui/foundation-legacy': 8.2.43(@types/react@18.2.6)(react@18.2.0) + '@fluentui/font-icons-mdl2': 8.5.23(@types/react@18.2.14)(react@18.2.0) + '@fluentui/foundation-legacy': 8.2.43(@types/react@18.2.14)(react@18.2.0) '@fluentui/merge-styles': 8.5.12 - '@fluentui/react-focus': 8.8.30(@types/react@18.2.6)(react@18.2.0) - '@fluentui/react-hooks': 8.6.24(@types/react@18.2.6)(react@18.2.0) - '@fluentui/react-portal-compat-context': 9.0.6(@types/react@18.2.6)(react@18.2.0) - '@fluentui/react-window-provider': 2.2.15(@types/react@18.2.6)(react@18.2.0) + '@fluentui/react-focus': 8.8.30(@types/react@18.2.14)(react@18.2.0) + '@fluentui/react-hooks': 8.6.29(@types/react@18.2.14)(react@18.2.0) + '@fluentui/react-portal-compat-context': 9.0.6(@types/react@18.2.14)(react@18.2.0) + '@fluentui/react-window-provider': 2.2.15(@types/react@18.2.14)(react@18.2.0) '@fluentui/set-version': 8.2.11 - '@fluentui/style-utilities': 8.9.10(@types/react@18.2.6)(react@18.2.0) - '@fluentui/theme': 2.6.34(@types/react@18.2.6)(react@18.2.0) - '@fluentui/utilities': 8.13.18(@types/react@18.2.6)(react@18.2.0) + '@fluentui/style-utilities': 8.9.16(@types/react@18.2.14)(react@18.2.0) + '@fluentui/theme': 2.6.34(@types/react@18.2.14)(react@18.2.0) + '@fluentui/utilities': 8.13.18(@types/react@18.2.14)(react@18.2.0) '@microsoft/load-themed-styles': 1.10.295 - '@types/react': 18.2.6 + '@types/react': 18.2.14 '@types/react-dom': 18.2.6 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tslib: 2.5.2 + tslib: 2.6.0 dev: false /@fluentui/set-version@8.2.11: resolution: {integrity: sha512-UI03tysau/adBO1a3q4uFZWQ3lfkiFcAWIFng4k5odWcCokfCm5IxA0urKqj5W5JRYdyoBUaq8QbcNGkFB4dCw==} dependencies: - tslib: 2.5.2 + tslib: 2.6.0 dev: false - /@fluentui/style-utilities@8.9.10(@types/react@18.2.6)(react@18.2.0): - resolution: {integrity: sha512-spCRXvBndb34HQC3e5LOLZPSAJF/UDkpHfZQEXmCU9K2dlvMKbmTBZ8B5b4XibBCMZ7VhDtLcV53eQTDl2KMXQ==} - dependencies: - '@fluentui/merge-styles': 8.5.12 - '@fluentui/set-version': 8.2.11 - '@fluentui/theme': 2.6.34(@types/react@18.2.6)(react@18.2.0) - '@fluentui/utilities': 8.13.18(@types/react@18.2.6)(react@18.2.0) - '@microsoft/load-themed-styles': 1.10.295 - tslib: 2.5.2 - transitivePeerDependencies: - - '@types/react' - - react - dev: false - - /@fluentui/style-utilities@8.9.16(@types/react@18.2.6)(react@18.2.0): + /@fluentui/style-utilities@8.9.16(@types/react@18.2.14)(react@18.2.0): resolution: {integrity: sha512-8hS5HscCFYvcWjAdk37frPZJZthr7f/cu5db7gjrPy+DEhf13WAZRHsropWm17+8GhJhvKt98BQf/Kzxtt34Eg==} dependencies: '@fluentui/merge-styles': 8.5.12 '@fluentui/set-version': 8.2.11 - '@fluentui/theme': 2.6.34(@types/react@18.2.6)(react@18.2.0) - '@fluentui/utilities': 8.13.18(@types/react@18.2.6)(react@18.2.0) + '@fluentui/theme': 2.6.34(@types/react@18.2.14)(react@18.2.0) + '@fluentui/utilities': 8.13.18(@types/react@18.2.14)(react@18.2.0) '@microsoft/load-themed-styles': 1.10.295 - tslib: 2.5.2 + tslib: 2.6.0 transitivePeerDependencies: - '@types/react' - react dev: false - /@fluentui/theme@2.6.34(@types/react@18.2.6)(react@18.2.0): + /@fluentui/theme@2.6.34(@types/react@18.2.14)(react@18.2.0): resolution: {integrity: sha512-2Ssi3sX2snnbPJ4PmxbpCDCGePRE36tvGj2qKgdKiSh/fPVsg1b+Q50YlpFl9sXmbhl1uFmxjAx6WPsVGTl7vQ==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' @@ -2827,13 +2822,13 @@ packages: dependencies: '@fluentui/merge-styles': 8.5.12 '@fluentui/set-version': 8.2.11 - '@fluentui/utilities': 8.13.18(@types/react@18.2.6)(react@18.2.0) - '@types/react': 18.2.6 + '@fluentui/utilities': 8.13.18(@types/react@18.2.14)(react@18.2.0) + '@types/react': 18.2.14 react: 18.2.0 - tslib: 2.5.2 + tslib: 2.6.0 dev: false - /@fluentui/utilities@8.13.18(@types/react@18.2.6)(react@18.2.0): + /@fluentui/utilities@8.13.18(@types/react@18.2.14)(react@18.2.0): resolution: {integrity: sha512-/0rX9EzltLKwU1SS14VV7agWoOzruVTU3oagZq1QgFAvoj8qi7fNqvSX/VEeRy+0gmbsCkrEViUPkmC7drKzPg==} peerDependencies: '@types/react': '>=16.8.0 <19.0.0' @@ -2842,9 +2837,9 @@ packages: '@fluentui/dom-utilities': 2.2.11 '@fluentui/merge-styles': 8.5.12 '@fluentui/set-version': 8.2.11 - '@types/react': 18.2.6 + '@types/react': 18.2.14 react: 18.2.0 - tslib: 2.5.2 + tslib: 2.6.0 dev: false /@fortawesome/fontawesome-free@6.4.0: @@ -2860,17 +2855,17 @@ packages: csstype: 3.1.2 rtl-css-js: 1.16.1 stylis: 4.3.0 - tslib: 2.5.2 + tslib: 2.6.0 dev: false - /@griffel/react@1.5.7(react@18.2.0): - resolution: {integrity: sha512-b9/LkkuO512O268jqRpJPso9ROng/kqh81YSTJUL13tT4qPZQnvrdiwoP7ZeqXbG0zzZHLZ3tWUZrCDOl549OQ==} + /@griffel/react@1.5.10(react@18.2.0): + resolution: {integrity: sha512-3V8PUCapgifoGqwbTBs/PR0MHgCt+PkfDmTTv4Ctfg0Pxrj8wSRWMourvlwLHJqqd9NPNxiklZlrDG+ELS6Zxg==} peerDependencies: react: '>=16.8.0 <19.0.0' dependencies: '@griffel/core': 1.12.2 react: 18.2.0 - tslib: 2.5.2 + tslib: 2.6.0 dev: false /@humanwhocodes/config-array@0.11.10: @@ -2910,8 +2905,8 @@ packages: resolution: {integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.5.0 - '@types/node': 20.2.1 + '@jest/types': 29.6.1 + '@types/node': 20.4.0 chalk: 4.1.2 jest-message-util: 29.5.0 jest-util: 29.5.0 @@ -2932,14 +2927,14 @@ packages: '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 20.2.1 + '@types/node': 20.4.0 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.8.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.5.0 - jest-config: 29.5.0(@types/node@20.2.1) + jest-config: 29.5.0(@types/node@20.4.0) jest-haste-map: 29.5.0 jest-message-util: 29.5.0 jest-regex-util: 29.4.3 @@ -2960,14 +2955,14 @@ packages: - ts-node dev: true - /@jest/environment@29.5.0: - resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==} + /@jest/environment@29.6.1: + resolution: {integrity: sha512-RMMXx4ws+Gbvw3DfLSuo2cfQlK7IwGbpuEWXCqyYDcqYTI+9Ju3a5hDnXaxjNsa6uKh9PQF2v+qg+RLe63tz5A==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 29.5.0 - '@jest/types': 29.5.0 - '@types/node': 20.2.1 - jest-mock: 29.5.0 + '@jest/fake-timers': 29.6.1 + '@jest/types': 29.6.1 + '@types/node': 20.4.0 + jest-mock: 29.6.1 dev: true /@jest/expect-utils@29.5.0: @@ -2977,12 +2972,19 @@ packages: jest-get-type: 29.4.3 dev: true - /@jest/expect@29.5.0: - resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==} + /@jest/expect-utils@29.6.1: + resolution: {integrity: sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 29.5.0 - jest-snapshot: 29.5.0 + jest-get-type: 29.4.3 + dev: true + + /@jest/expect@29.6.1: + resolution: {integrity: sha512-N5xlPrAYaRNyFgVf2s9Uyyvr795jnB6rObuPx4QFvNJz8aAjpZUDfO4bh5G/xuplMID8PrnuF1+SfSyDxhsgYg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + expect: 29.6.1 + jest-snapshot: 29.6.1 transitivePeerDependencies: - supports-color dev: true @@ -2991,22 +2993,34 @@ packages: resolution: {integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.5.0 + '@jest/types': 29.6.1 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.2.1 + '@types/node': 20.4.0 jest-message-util: 29.5.0 - jest-mock: 29.5.0 - jest-util: 29.5.0 + jest-mock: 29.6.1 + jest-util: 29.6.1 dev: true - /@jest/globals@29.5.0: - resolution: {integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==} + /@jest/fake-timers@29.6.1: + resolution: {integrity: sha512-RdgHgbXyosCDMVYmj7lLpUwXA4c69vcNzhrt69dJJdf8azUrpRh3ckFCaTPNjsEeRi27Cig0oKDGxy5j7hOgHg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.5.0 - '@jest/expect': 29.5.0 - '@jest/types': 29.5.0 - jest-mock: 29.5.0 + '@jest/types': 29.6.1 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 20.4.0 + jest-message-util: 29.6.1 + jest-mock: 29.6.1 + jest-util: 29.6.1 + dev: true + + /@jest/globals@29.6.1: + resolution: {integrity: sha512-2VjpaGy78JY9n9370H8zGRCFbYVWwjY6RdDMhoJHa1sYfwe6XM/azGN0SjY8kk7BOZApIejQ1BFPyH7FPG0w3A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.6.1 + '@jest/expect': 29.6.1 + '@jest/types': 29.6.1 + jest-mock: 29.6.1 transitivePeerDependencies: - supports-color dev: true @@ -3024,9 +3038,9 @@ packages: '@jest/console': 29.5.0 '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 - '@jest/types': 29.5.0 + '@jest/types': 29.6.1 '@jridgewell/trace-mapping': 0.3.18 - '@types/node': 20.2.1 + '@types/node': 20.4.0 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -3055,6 +3069,13 @@ packages: '@sinclair/typebox': 0.25.24 dev: true + /@jest/schemas@29.6.0: + resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + /@jest/source-map@29.4.3: resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3069,7 +3090,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/console': 29.5.0 - '@jest/types': 29.5.0 + '@jest/types': 29.6.1 '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.1 dev: true @@ -3089,7 +3110,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.22.5 - '@jest/types': 29.5.0 + '@jest/types': 29.6.1 '@jridgewell/trace-mapping': 0.3.18 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -3107,6 +3128,29 @@ packages: - supports-color dev: true + /@jest/transform@29.6.1: + resolution: {integrity: sha512-URnTneIU3ZjRSaf906cvf6Hpox3hIeJXRnz3VDSw5/X93gR8ycdfSIEy19FlVx8NFmpN7fe3Gb1xF+NjXaQLWg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.22.5 + '@jest/types': 29.6.1 + '@jridgewell/trace-mapping': 0.3.18 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.6.1 + jest-regex-util: 29.4.3 + jest-util: 29.6.1 + micromatch: 4.0.5 + pirates: 4.0.6 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + /@jest/types@29.5.0: resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3114,7 +3158,19 @@ packages: '@jest/schemas': 29.4.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.2.1 + '@types/node': 20.4.0 + '@types/yargs': 17.0.24 + chalk: 4.1.2 + dev: true + + /@jest/types@29.6.1: + resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.0 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 20.4.0 '@types/yargs': 17.0.24 chalk: 4.1.2 dev: true @@ -3151,8 +3207,8 @@ packages: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - /@mdx-js/loader@2.2.1(webpack@5.83.1): - resolution: {integrity: sha512-J4E8A5H+xtk4otZiEZ5AXl61Tj04Avm5MqLQazITdI3+puVXVnTTuZUKM1oNHTtfDIfOl0uMt+o/Ij+x6Fvf+g==} + /@mdx-js/loader@2.3.0(webpack@5.83.1): + resolution: {integrity: sha512-IqsscXh7Q3Rzb+f5DXYk0HU71PK+WuFsEhf+mSV3fOhpLcEpgsHvTQ2h0T6TlZ5gHOaBeFjkXwB52by7ypMyNg==} peerDependencies: webpack: '>=4' dependencies: @@ -3187,13 +3243,13 @@ packages: - supports-color dev: true - /@mdx-js/react@2.2.1(react@18.2.0): - resolution: {integrity: sha512-YdXcMcEnqZhzql98RNrqYo9cEhTTesBiCclEtoiQUbJwx87q9453GTapYU6kJ8ZZ2ek1Vp25SiAXEFy5O/eAPw==} + /@mdx-js/react@2.3.0(react@18.2.0): + resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==} peerDependencies: react: '>=16' dependencies: '@types/mdx': 2.0.5 - '@types/react': 18.2.6 + '@types/react': 18.2.14 react: 18.2.0 dev: true @@ -3201,8 +3257,8 @@ packages: resolution: {integrity: sha512-W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==} dev: false - /@next/bundle-analyzer@13.4.3: - resolution: {integrity: sha512-jzWk6eaCFaIXfIswyQQWnR6FN22HpWoSWe3nLa3JCNkNd2ksriJgn86oQyZRxgAPaEbVKQXBp8GZi8e5DrhVJg==} + /@next/bundle-analyzer@13.4.9: + resolution: {integrity: sha512-T/nSgXmhAx8Wy2qPGr9P3AcLwlFCMbA7DuYNCm7BdF10Sk74S0bJ1b3ygq+306dBwKRWV5Lj80sYzWzZ5/rwgQ==} dependencies: webpack-bundle-analyzer: 4.7.0 transitivePeerDependencies: @@ -3210,17 +3266,17 @@ packages: - utf-8-validate dev: true - /@next/env@13.4.3: - resolution: {integrity: sha512-pa1ErjyFensznttAk3EIv77vFbfSYT6cLzVRK5jx4uiRuCQo+m2wCFAREaHKIy63dlgvOyMlzh6R8Inu8H3KrQ==} + /@next/env@13.4.9: + resolution: {integrity: sha512-vuDRK05BOKfmoBYLNi2cujG2jrYbEod/ubSSyqgmEx9n/W3eZaJQdRNhTfumO+qmq/QTzLurW487n/PM/fHOkw==} - /@next/eslint-plugin-next@13.4.3: - resolution: {integrity: sha512-5B0uOnh7wyUY9vNNdIA6NUvWozhrZaTMZOzdirYAefqD0ZBK5C/h3+KMYdCKrR7JrXGvVpWnHtv54b3dCzwICA==} + /@next/eslint-plugin-next@13.4.9: + resolution: {integrity: sha512-nDtGpa992tNyAkT/KmSMy7QkHfNZmGCBYhHtafU97DubqxzNdvLsqRtliQ4FU04CysRCtvP2hg8rRC1sAKUTUA==} dependencies: glob: 7.1.7 dev: true - /@next/mdx@13.3.1(@mdx-js/loader@2.2.1)(@mdx-js/react@2.2.1): - resolution: {integrity: sha512-DasSzihfUHVwX+NRuc7GdnGtspOp3AHTlUc397CEK8qkBw05TVQIAOywP6gT/0WpbKWD4iOch9JZS8XVkXKq7A==} + /@next/mdx@13.4.9(@mdx-js/loader@2.3.0)(@mdx-js/react@2.3.0): + resolution: {integrity: sha512-6ALqgOUsHWFWCl5LaYM96RzjBb/+Ca8IxVLhyZ4ukOZkFlYXInJmVLZhXWDxes7b8iVMMKZNgvNJR9dKLaGAQw==} peerDependencies: '@mdx-js/loader': '>=0.15.0' '@mdx-js/react': '>=0.15.0' @@ -3230,77 +3286,77 @@ packages: '@mdx-js/react': optional: true dependencies: - '@mdx-js/loader': 2.2.1(webpack@5.83.1) - '@mdx-js/react': 2.2.1(react@18.2.0) + '@mdx-js/loader': 2.3.0(webpack@5.83.1) + '@mdx-js/react': 2.3.0(react@18.2.0) source-map: 0.7.4 dev: true - /@next/swc-darwin-arm64@13.4.3: - resolution: {integrity: sha512-yx18udH/ZmR4Bw4M6lIIPE3JxsAZwo04iaucEfA2GMt1unXr2iodHUX/LAKNyi6xoLP2ghi0E+Xi1f4Qb8f1LQ==} + /@next/swc-darwin-arm64@13.4.9: + resolution: {integrity: sha512-TVzGHpZoVBk3iDsTOQA/R6MGmFp0+17SWXMEWd6zG30AfuELmSSMe2SdPqxwXU0gbpWkJL1KgfLzy5ReN0crqQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@next/swc-darwin-x64@13.4.3: - resolution: {integrity: sha512-Mi8xJWh2IOjryAM1mx18vwmal9eokJ2njY4nDh04scy37F0LEGJ/diL6JL6kTXi0UfUCGbMsOItf7vpReNiD2A==} + /@next/swc-darwin-x64@13.4.9: + resolution: {integrity: sha512-aSfF1fhv28N2e7vrDZ6zOQ+IIthocfaxuMWGReB5GDriF0caTqtHttAvzOMgJgXQtQx6XhyaJMozLTSEXeNN+A==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@next/swc-linux-arm64-gnu@13.4.3: - resolution: {integrity: sha512-aBvtry4bxJ1xwKZ/LVPeBGBwWVwxa4bTnNkRRw6YffJnn/f4Tv4EGDPaVeYHZGQVA56wsGbtA6nZMuWs/EIk4Q==} + /@next/swc-linux-arm64-gnu@13.4.9: + resolution: {integrity: sha512-JhKoX5ECzYoTVyIy/7KykeO4Z2lVKq7HGQqvAH+Ip9UFn1MOJkOnkPRB7v4nmzqAoY+Je05Aj5wNABR1N18DMg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-arm64-musl@13.4.3: - resolution: {integrity: sha512-krT+2G3kEsEUvZoYte3/2IscscDraYPc2B+fDJFipPktJmrv088Pei/RjrhWm5TMIy5URYjZUoDZdh5k940Dyw==} + /@next/swc-linux-arm64-musl@13.4.9: + resolution: {integrity: sha512-OOn6zZBIVkm/4j5gkPdGn4yqQt+gmXaLaSjRSO434WplV8vo2YaBNbSHaTM9wJpZTHVDYyjzuIYVEzy9/5RVZw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-x64-gnu@13.4.3: - resolution: {integrity: sha512-AMdFX6EKJjC0G/CM6hJvkY8wUjCcbdj3Qg7uAQJ7PVejRWaVt0sDTMavbRfgMchx8h8KsAudUCtdFkG9hlEClw==} + /@next/swc-linux-x64-gnu@13.4.9: + resolution: {integrity: sha512-iA+fJXFPpW0SwGmx/pivVU+2t4zQHNOOAr5T378PfxPHY6JtjV6/0s1vlAJUdIHeVpX98CLp9k5VuKgxiRHUpg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-x64-musl@13.4.3: - resolution: {integrity: sha512-jySgSXE48shaLtcQbiFO9ajE9mqz7pcAVLnVLvRIlUHyQYR/WyZdK8ehLs65Mz6j9cLrJM+YdmdJPyV4WDaz2g==} + /@next/swc-linux-x64-musl@13.4.9: + resolution: {integrity: sha512-rlNf2WUtMM+GAQrZ9gMNdSapkVi3koSW3a+dmBVp42lfugWVvnyzca/xJlN48/7AGx8qu62WyO0ya1ikgOxh6A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@next/swc-win32-arm64-msvc@13.4.3: - resolution: {integrity: sha512-5DxHo8uYcaADiE9pHrg8o28VMt/1kR8voDehmfs9AqS0qSClxAAl+CchjdboUvbCjdNWL1MISCvEfKY2InJ3JA==} + /@next/swc-win32-arm64-msvc@13.4.9: + resolution: {integrity: sha512-5T9ybSugXP77nw03vlgKZxD99AFTHaX8eT1ayKYYnGO9nmYhJjRPxcjU5FyYI+TdkQgEpIcH7p/guPLPR0EbKA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@next/swc-win32-ia32-msvc@13.4.3: - resolution: {integrity: sha512-LaqkF3d+GXRA5X6zrUjQUrXm2MN/3E2arXBtn5C7avBCNYfm9G3Xc646AmmmpN3DJZVaMYliMyCIQCMDEzk80w==} + /@next/swc-win32-ia32-msvc@13.4.9: + resolution: {integrity: sha512-ojZTCt1lP2ucgpoiFgrFj07uq4CZsq4crVXpLGgQfoFq00jPKRPgesuGPaz8lg1yLfvafkU3Jd1i8snKwYR3LA==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@next/swc-win32-x64-msvc@13.4.3: - resolution: {integrity: sha512-jglUk/x7ZWeOJWlVoKyIAkHLTI+qEkOriOOV+3hr1GyiywzcqfI7TpFSiwC7kk1scOiH7NTFKp8mA3XPNO9bDw==} + /@next/swc-win32-x64-msvc@13.4.9: + resolution: {integrity: sha512-QbT03FXRNdpuL+e9pLnu+XajZdm/TtIXVYY4lA9t+9l0fLZbHXDYEKitAqxrOj37o3Vx5ufxiRAniaIebYDCgw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -3323,10 +3379,10 @@ packages: '@angular/localize': 15.2.9(@angular/compiler-cli@15.2.6)(@angular/compiler@15.2.6) '@popperjs/core': 2.11.6 rxjs: 7.8.1 - tslib: 2.5.2 + tslib: 2.6.0 dev: true - /@ngtools/webpack@15.2.5(@angular/compiler-cli@15.2.6)(typescript@5.0.3)(webpack@5.83.1): + /@ngtools/webpack@15.2.5(@angular/compiler-cli@15.2.6)(typescript@5.1.6)(webpack@5.83.1): resolution: {integrity: sha512-wD6GY4xghVK+SQL0dy/M3saGx5pqi7+1VHEr+BBI7IUNYGSqPNzylKNxLBgQiTzfkzvbrZ6MhfaMNkhvSCYr5w==} engines: {node: ^14.20.0 || ^16.13.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: @@ -3334,8 +3390,8 @@ packages: typescript: '>=4.8.2 <5.0' webpack: ^5.54.0 dependencies: - '@angular/compiler-cli': 15.2.6(@angular/compiler@15.2.6)(typescript@5.0.3) - typescript: 5.0.3 + '@angular/compiler-cli': 15.2.6(@angular/compiler@15.2.6)(typescript@5.1.6) + typescript: 5.1.6 webpack: 5.83.1(webpack-cli@5.1.1) dev: true @@ -3366,7 +3422,7 @@ packages: is-glob: 4.0.3 open: 9.1.0 picocolors: 1.0.0 - tslib: 2.5.2 + tslib: 2.6.0 dev: true /@polka/url@1.0.0-next.21: @@ -3431,13 +3487,17 @@ packages: rollup: 2.79.1 dev: true - /@rushstack/eslint-patch@1.2.0: - resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} + /@rushstack/eslint-patch@1.3.2: + resolution: {integrity: sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==} /@sinclair/typebox@0.25.24: resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} dev: true + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + /@sindresorhus/is@0.7.0: resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} engines: {node: '>=4'} @@ -3466,13 +3526,13 @@ packages: /@swc/helpers@0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: - tslib: 2.5.2 + tslib: 2.6.0 dev: false /@swc/helpers@0.5.1: resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==} dependencies: - tslib: 2.5.2 + tslib: 2.6.0 /@types/acorn@4.0.6: resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} @@ -3480,8 +3540,8 @@ packages: '@types/estree': 1.0.1 dev: true - /@types/audioworklet@0.0.46: - resolution: {integrity: sha512-LWJ9gC7sTsV/r8Vud0+WChc18tSHtYzr0/z4IFVtDuCQ2nsDxWM5yUNsVIN64F5foipNzGTHq3GmnyLhosJ9Fw==} + /@types/audioworklet@0.0.48: + resolution: {integrity: sha512-p5XQ+iuQ9fBPch52memypxYsGRiaHXdwoIXoPACGlaEhje5eO6ECiKYs1oEK1oaNyvHyVJElgVRASfSfbMag3g==} dev: true /@types/babel__core@7.20.1: @@ -3522,17 +3582,17 @@ packages: /@types/decompress@4.2.4: resolution: {integrity: sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==} dependencies: - '@types/node': 20.2.1 + '@types/node': 20.4.0 - /@types/dom-webcodecs@0.1.6: - resolution: {integrity: sha512-m+Y2WRIKvLwFzyToNGA5XV+sfihtrfcOaMrXzsZULVdqYyKy4yn0XZ8lES9RRwZTzW7TKcz84xed3e5FBk3wCg==} + /@types/dom-webcodecs@0.1.8: + resolution: {integrity: sha512-KThTPaGQJLITk8Q0XkEkz+GqFdoWDyQfbyeJmfEUagB15TZQdNx5AqP2b7GP6vkVM6X/6T1Z8EHxA8RgHfY9BA==} /@types/download@8.0.2: resolution: {integrity: sha512-z1Jbba+2mUP3LuQ6EaH9xsVElphj7eY7UMCnIQ5Jw6L4ZZOC3oizFo7MbyjUx8DRMupsZvEZZfXnTmLEPQFzQg==} dependencies: '@types/decompress': 4.2.4 '@types/got': 9.6.12 - '@types/node': 20.2.1 + '@types/node': 20.4.0 /@types/eslint-scope@3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} @@ -3566,20 +3626,20 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.2.1 + '@types/node': 20.4.0 dev: true /@types/got@9.6.12: resolution: {integrity: sha512-X4pj/HGHbXVLqTpKjA2ahI4rV/nNBc9mGO2I/0CgAra+F2dKgMXnENv2SRpemScBzBAI4vMelIVYViQxlSE6xA==} dependencies: - '@types/node': 20.2.1 + '@types/node': 20.4.0 '@types/tough-cookie': 4.0.2 form-data: 2.5.1 /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 20.2.1 + '@types/node': 20.4.0 dev: true /@types/hast@2.3.4: @@ -3635,11 +3695,11 @@ packages: /@types/node-fetch@2.6.4: resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} dependencies: - '@types/node': 20.2.1 + '@types/node': 20.4.0 form-data: 3.0.1 - /@types/node@20.2.1: - resolution: {integrity: sha512-DqJociPbZP1lbZ5SQPk4oag6W7AyaGMO6gSfRwq3PWl4PXTwJpRQJhDq4W0kzrg3w6tJ1SwlvGZ5uKFHY13LIg==} + /@types/node@20.4.0: + resolution: {integrity: sha512-jfT7iTf/4kOQ9S7CHV9BIyRaQqHu67mOjsIQBC3BKZvzvUB6zLxEwJ6sBE3ozcvP8kF6Uk5PXN0Q+c0dfhGX0g==} /@types/prettier@2.7.3: resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} @@ -3651,11 +3711,11 @@ packages: /@types/react-dom@18.2.6: resolution: {integrity: sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==} dependencies: - '@types/react': 18.2.6 + '@types/react': 18.2.14 dev: false - /@types/react@18.2.6: - resolution: {integrity: sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==} + /@types/react@18.2.14: + resolution: {integrity: sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.3 @@ -3664,7 +3724,7 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.2.1 + '@types/node': 20.4.0 dev: true /@types/scheduler@0.16.3: @@ -3710,8 +3770,8 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin@5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.41.0)(typescript@5.0.3): - resolution: {integrity: sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==} + /@typescript-eslint/eslint-plugin@5.61.0(@typescript-eslint/parser@5.61.0)(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-A5l/eUAug103qtkwccSCxn8ZRwT+7RXWkFECdA4Cvl1dOlDUgTpAOfSEElZn2uSUxhdDpnCdetrf0jvU4qrL+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -3722,24 +3782,24 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.59.6(eslint@8.41.0)(typescript@5.0.3) - '@typescript-eslint/scope-manager': 5.59.6 - '@typescript-eslint/type-utils': 5.59.6(eslint@8.41.0)(typescript@5.0.3) - '@typescript-eslint/utils': 5.59.6(eslint@8.41.0)(typescript@5.0.3) + '@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/scope-manager': 5.61.0 + '@typescript-eslint/type-utils': 5.61.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.61.0(eslint@8.44.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.41.0 - grapheme-splitter: 1.0.4 + eslint: 8.44.0 + graphemer: 1.4.0 ignore: 5.2.4 natural-compare-lite: 1.4.0 semver: 7.5.3 - tsutils: 3.21.0(typescript@5.0.3) - typescript: 5.0.3 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/parser@5.59.6(eslint@8.41.0)(typescript@5.0.3): - resolution: {integrity: sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==} + /@typescript-eslint/parser@5.61.0(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-yGr4Sgyh8uO6fSi9hw3jAFXNBHbCtKKFMdX2IkT3ZqpKmtAq3lHS4ixB/COFuAIJpwl9/AqF7j72ZDWYKmIfvg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3748,24 +3808,24 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.59.6 - '@typescript-eslint/types': 5.59.6 - '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.0.3) + '@typescript-eslint/scope-manager': 5.61.0 + '@typescript-eslint/types': 5.61.0 + '@typescript-eslint/typescript-estree': 5.61.0(typescript@5.1.6) debug: 4.3.4 - eslint: 8.41.0 - typescript: 5.0.3 + eslint: 8.44.0 + typescript: 5.1.6 transitivePeerDependencies: - supports-color - /@typescript-eslint/scope-manager@5.59.6: - resolution: {integrity: sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ==} + /@typescript-eslint/scope-manager@5.61.0: + resolution: {integrity: sha512-W8VoMjoSg7f7nqAROEmTt6LoBpn81AegP7uKhhW5KzYlehs8VV0ZW0fIDVbcZRcaP3aPSW+JZFua+ysQN+m/Nw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.59.6 - '@typescript-eslint/visitor-keys': 5.59.6 + '@typescript-eslint/types': 5.61.0 + '@typescript-eslint/visitor-keys': 5.61.0 - /@typescript-eslint/type-utils@5.59.6(eslint@8.41.0)(typescript@5.0.3): - resolution: {integrity: sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ==} + /@typescript-eslint/type-utils@5.61.0(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-kk8u//r+oVK2Aj3ph/26XdH0pbAkC2RiSjUYhKD+PExemG4XSjpGFeyZ/QM8lBOa7O8aGOU+/yEbMJgQv/DnCg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -3774,22 +3834,22 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.0.3) - '@typescript-eslint/utils': 5.59.6(eslint@8.41.0)(typescript@5.0.3) + '@typescript-eslint/typescript-estree': 5.61.0(typescript@5.1.6) + '@typescript-eslint/utils': 5.61.0(eslint@8.44.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.41.0 - tsutils: 3.21.0(typescript@5.0.3) - typescript: 5.0.3 + eslint: 8.44.0 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/types@5.59.6: - resolution: {integrity: sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA==} + /@typescript-eslint/types@5.61.0: + resolution: {integrity: sha512-ldyueo58KjngXpzloHUog/h9REmHl59G1b3a5Sng1GfBo14BkS3ZbMEb3693gnP1k//97lh7bKsp6/V/0v1veQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /@typescript-eslint/typescript-estree@5.59.6(typescript@5.0.3): - resolution: {integrity: sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==} + /@typescript-eslint/typescript-estree@5.61.0(typescript@5.1.6): + resolution: {integrity: sha512-Fud90PxONnnLZ36oR5ClJBLTLfU4pIWBmnvGwTbEa2cXIqj70AEDEmOmpkFComjBZ/037ueKrOdHuYmSFVD7Rw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -3797,30 +3857,30 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.59.6 - '@typescript-eslint/visitor-keys': 5.59.6 + '@typescript-eslint/types': 5.61.0 + '@typescript-eslint/visitor-keys': 5.61.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.3 - tsutils: 3.21.0(typescript@5.0.3) - typescript: 5.0.3 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color - /@typescript-eslint/utils@5.59.6(eslint@8.41.0)(typescript@5.0.3): - resolution: {integrity: sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg==} + /@typescript-eslint/utils@5.61.0(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-mV6O+6VgQmVE6+xzlA91xifndPW9ElFW8vbSF0xCT/czPXVhwDewKila1jOyRwa9AE19zKnrr7Cg5S3pJVrTWQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.59.6 - '@typescript-eslint/types': 5.59.6 - '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.0.3) - eslint: 8.41.0 + '@typescript-eslint/scope-manager': 5.61.0 + '@typescript-eslint/types': 5.61.0 + '@typescript-eslint/typescript-estree': 5.61.0(typescript@5.1.6) + eslint: 8.44.0 eslint-scope: 5.1.1 semver: 7.5.3 transitivePeerDependencies: @@ -3828,11 +3888,11 @@ packages: - typescript dev: false - /@typescript-eslint/visitor-keys@5.59.6: - resolution: {integrity: sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q==} + /@typescript-eslint/visitor-keys@5.61.0: + resolution: {integrity: sha512-50XQ5VdbWrX06mQXhy93WywSFZZGsv3EOjq+lqp6WC2t+j3mb6A9xYVdrRxafvK88vg9k9u+CT4l6D8PEatjKg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.59.6 + '@typescript-eslint/types': 5.61.0 eslint-visitor-keys: 3.4.1 /@webassemblyjs/ast@1.11.6: @@ -3989,9 +4049,9 @@ packages: /@yume-chan/async@2.2.0: resolution: {integrity: sha512-jatCtX1/3DsR9Vt3EB8CGFy0MNrXP5f+eNiRGHLH+LkYz7MPLzpqL/DnvXSip+Z0EKBCDnzuNuELjsKEEzcdQA==} dependencies: - tslib: 2.5.2 + tslib: 2.6.0 - /@yume-chan/next-pwa@5.6.0-mod.2(@babel/core@7.22.5)(next@13.4.3)(webpack@5.83.1): + /@yume-chan/next-pwa@5.6.0-mod.2(@babel/core@7.22.5)(next@13.4.9)(webpack@5.83.1): resolution: {integrity: sha512-no8+dpzcmd4QDSAZd6rFBLO3h63S5POSh8yJH1BvJErqyFdWhx8aKaUM0VdnhYX2honygKJY31nr5MKK7Tqo5g==} peerDependencies: next: '>=9.0.0' @@ -3999,7 +4059,7 @@ packages: babel-loader: 8.3.0(@babel/core@7.22.5)(webpack@5.83.1) clean-webpack-plugin: 4.0.0(webpack@5.83.1) globby: 11.1.0 - next: 13.4.3(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) + next: 13.4.9(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) terser-webpack-plugin: 5.3.9(webpack@5.83.1) workbox-webpack-plugin: 6.6.0(webpack@5.83.1) workbox-window: 6.6.0 @@ -5305,8 +5365,8 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-config-next@13.4.3(eslint@8.41.0)(typescript@5.0.3): - resolution: {integrity: sha512-1lXwdFi29fKxzeugof/TUE7lpHyJQt5+U4LaUHyvQfHjvsWO77vFNicJv5sX6k0VDVSbnfz0lw+avxI+CinbMg==} + /eslint-config-next@13.4.9(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-0fLtKRR268NArpqeXXwnLgMXPvF64YESQvptVg+RMLCaijKm3FICN9Y7Jc1p2o+yrWwE4DufJXDM/Vo53D1L7g==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1' @@ -5314,17 +5374,17 @@ packages: typescript: optional: true dependencies: - '@next/eslint-plugin-next': 13.4.3 - '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.59.6(eslint@8.41.0)(typescript@5.0.3) - eslint: 8.41.0 + '@next/eslint-plugin-next': 13.4.9 + '@rushstack/eslint-patch': 1.3.2 + '@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@5.1.6) + eslint: 8.44.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5(eslint-plugin-import@2.27.4)(eslint@8.41.0) - eslint-plugin-import: 2.27.4(eslint@8.41.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.41.0) - eslint-plugin-react: 7.32.2(eslint@8.41.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.41.0) - typescript: 5.0.3 + eslint-import-resolver-typescript: 3.5.5(eslint-plugin-import@2.27.5)(eslint@8.44.0) + eslint-plugin-import: 2.27.5(eslint@8.44.0) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.44.0) + eslint-plugin-react: 7.32.2(eslint@8.44.0) + eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.44.0) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true @@ -5336,7 +5396,7 @@ packages: is-core-module: 2.12.1 resolve: 1.22.2 - /eslint-import-resolver-typescript@3.5.5(eslint-plugin-import@2.27.4)(eslint@8.41.0): + /eslint-import-resolver-typescript@3.5.5(eslint-plugin-import@2.27.5)(eslint@8.44.0): resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -5345,9 +5405,9 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.15.0 - eslint: 8.41.0 - eslint-module-utils: 2.8.0(eslint@8.41.0) - eslint-plugin-import: 2.27.4(eslint@8.41.0) + eslint: 8.44.0 + eslint-module-utils: 2.8.0(eslint@8.44.0) + eslint-plugin-import: 2.27.5(eslint@8.44.0) get-tsconfig: 4.6.2 globby: 13.2.0 is-core-module: 2.12.1 @@ -5357,7 +5417,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(eslint@8.41.0): + /eslint-module-utils@2.8.0(eslint@8.44.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5367,10 +5427,10 @@ packages: optional: true dependencies: debug: 3.2.7 - eslint: 8.41.0 + eslint: 8.44.0 - /eslint-plugin-import@2.27.4(eslint@8.41.0): - resolution: {integrity: sha512-Z1jVt1EGKia1X9CnBCkpAOhWy8FgQ7OmJ/IblEkT82yrFU/xJaxwujaTzLWqigewwynRQ9mmHfX9MtAfhxm0sA==} + /eslint-plugin-import@2.27.5(eslint@8.44.0): + resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -5380,9 +5440,9 @@ packages: array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.41.0 + eslint: 8.44.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(eslint@8.41.0) + eslint-module-utils: 2.8.0(eslint@8.44.0) has: 1.0.3 is-core-module: 2.12.1 is-glob: 4.0.3 @@ -5392,7 +5452,7 @@ packages: semver: 6.3.0 tsconfig-paths: 3.14.2 - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.41.0): + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.44.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: @@ -5407,7 +5467,7 @@ packages: axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.41.0 + eslint: 8.44.0 has: 1.0.3 jsx-ast-utils: 3.3.4 language-tags: 1.0.5 @@ -5417,16 +5477,16 @@ packages: semver: 6.3.0 dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.41.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + /eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.44.0): + resolution: {integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.41.0 + eslint: 8.44.0 dev: true - /eslint-plugin-react@7.32.2(eslint@8.41.0): + /eslint-plugin-react@7.32.2(eslint@8.44.0): resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -5436,7 +5496,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.41.0 + eslint: 8.44.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.4 minimatch: 3.1.2 @@ -5468,15 +5528,15 @@ packages: resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.41.0: - resolution: {integrity: sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==} + /eslint@8.44.0: + resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) '@eslint-community/regexpp': 4.5.1 - '@eslint/eslintrc': 2.0.3 - '@eslint/js': 8.41.0 + '@eslint/eslintrc': 2.1.0 + '@eslint/js': 8.44.0 '@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -5488,7 +5548,7 @@ packages: escape-string-regexp: 4.0.0 eslint-scope: 7.2.0 eslint-visitor-keys: 3.4.1 - espree: 9.5.2 + espree: 9.6.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -5515,8 +5575,8 @@ packages: transitivePeerDependencies: - supports-color - /espree@9.5.2: - resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} + /espree@9.6.0: + resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.9.0 @@ -5656,7 +5716,19 @@ packages: jest-get-type: 29.4.3 jest-matcher-utils: 29.5.0 jest-message-util: 29.5.0 - jest-util: 29.5.0 + jest-util: 29.6.1 + dev: true + + /expect@29.6.1: + resolution: {integrity: sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.6.1 + '@types/node': 20.4.0 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.6.1 + jest-message-util: 29.6.1 + jest-util: 29.6.1 dev: true /ext-list@2.2.2: @@ -5958,7 +6030,6 @@ packages: /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true /glob@7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} @@ -6071,10 +6142,6 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: false - /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -6634,11 +6701,11 @@ packages: resolution: {integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.5.0 - '@jest/expect': 29.5.0 + '@jest/environment': 29.6.1 + '@jest/expect': 29.6.1 '@jest/test-result': 29.5.0 - '@jest/types': 29.5.0 - '@types/node': 20.2.1 + '@jest/types': 29.6.1 + '@types/node': 20.4.0 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -6647,8 +6714,8 @@ packages: jest-matcher-utils: 29.5.0 jest-message-util: 29.5.0 jest-runtime: 29.5.0 - jest-snapshot: 29.5.0 - jest-util: 29.5.0 + jest-snapshot: 29.6.1 + jest-util: 29.6.1 p-limit: 3.1.0 pretty-format: 29.5.0 pure-rand: 6.0.2 @@ -6658,7 +6725,7 @@ packages: - supports-color dev: true - /jest-cli@29.5.0(@types/node@20.2.1): + /jest-cli@29.5.0(@types/node@20.4.0): resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -6675,7 +6742,7 @@ packages: exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 29.5.0(@types/node@20.2.1) + jest-config: 29.5.0(@types/node@20.4.0) jest-util: 29.5.0 jest-validate: 29.5.0 prompts: 2.4.2 @@ -6686,7 +6753,7 @@ packages: - ts-node dev: true - /jest-config@29.5.0(@types/node@20.2.1): + /jest-config@29.5.0(@types/node@20.4.0): resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -6700,8 +6767,8 @@ packages: dependencies: '@babel/core': 7.22.5 '@jest/test-sequencer': 29.5.0 - '@jest/types': 29.5.0 - '@types/node': 20.2.1 + '@jest/types': 29.6.1 + '@types/node': 20.4.0 babel-jest: 29.5.0(@babel/core@7.22.5) chalk: 4.1.2 ci-info: 3.8.0 @@ -6735,6 +6802,16 @@ packages: pretty-format: 29.5.0 dev: true + /jest-diff@29.6.1: + resolution: {integrity: sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.4.3 + jest-get-type: 29.4.3 + pretty-format: 29.6.1 + dev: true + /jest-docblock@29.4.3: resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -6746,23 +6823,23 @@ packages: resolution: {integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.5.0 + '@jest/types': 29.6.1 chalk: 4.1.2 jest-get-type: 29.4.3 - jest-util: 29.5.0 - pretty-format: 29.5.0 + jest-util: 29.6.1 + pretty-format: 29.6.1 dev: true /jest-environment-node@29.5.0: resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.5.0 - '@jest/fake-timers': 29.5.0 - '@jest/types': 29.5.0 - '@types/node': 20.2.1 - jest-mock: 29.5.0 - jest-util: 29.5.0 + '@jest/environment': 29.6.1 + '@jest/fake-timers': 29.6.1 + '@jest/types': 29.6.1 + '@types/node': 20.4.0 + jest-mock: 29.6.1 + jest-util: 29.6.1 dev: true /jest-get-type@29.4.3: @@ -6774,9 +6851,9 @@ packages: resolution: {integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.5.0 + '@jest/types': 29.6.1 '@types/graceful-fs': 4.1.6 - '@types/node': 20.2.1 + '@types/node': 20.4.0 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -6789,6 +6866,25 @@ packages: fsevents: 2.3.2 dev: true + /jest-haste-map@29.6.1: + resolution: {integrity: sha512-0m7f9PZXxOCk1gRACiVgX85knUKPKLPg4oRCjLoqIm9brTHXaorMA0JpmtmVkQiT8nmXyIVoZd/nnH1cfC33ig==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + '@types/graceful-fs': 4.1.6 + '@types/node': 20.4.0 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.4.3 + jest-util: 29.6.1 + jest-worker: 29.6.1 + micromatch: 4.0.5 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /jest-leak-detector@29.5.0: resolution: {integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -6807,12 +6903,22 @@ packages: pretty-format: 29.5.0 dev: true + /jest-matcher-utils@29.6.1: + resolution: {integrity: sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.6.1 + jest-get-type: 29.4.3 + pretty-format: 29.6.1 + dev: true + /jest-message-util@29.5.0: resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/code-frame': 7.22.5 - '@jest/types': 29.5.0 + '@jest/types': 29.6.1 '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 @@ -6822,13 +6928,28 @@ packages: stack-utils: 2.0.6 dev: true - /jest-mock@29.5.0: - resolution: {integrity: sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==} + /jest-message-util@29.6.1: + resolution: {integrity: sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.5.0 - '@types/node': 20.2.1 - jest-util: 29.5.0 + '@babel/code-frame': 7.22.5 + '@jest/types': 29.6.1 + '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.6.1 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-mock@29.6.1: + resolution: {integrity: sha512-brovyV9HBkjXAEdRooaTQK42n8usKoSRR3gihzUpYeV/vwqgSoNfrksO7UfSACnPmxasO/8TmHM3w9Hp3G1dgw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + '@types/node': 20.4.0 + jest-util: 29.6.1 dev: true /jest-pnp-resolver@1.2.3(jest-resolve@29.5.0): @@ -6878,11 +6999,11 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/console': 29.5.0 - '@jest/environment': 29.5.0 + '@jest/environment': 29.6.1 '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 - '@jest/types': 29.5.0 - '@types/node': 20.2.1 + '@jest/types': 29.6.1 + '@types/node': 20.4.0 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -6906,14 +7027,14 @@ packages: resolution: {integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 29.5.0 + '@jest/environment': 29.6.1 '@jest/fake-timers': 29.5.0 - '@jest/globals': 29.5.0 + '@jest/globals': 29.6.1 '@jest/source-map': 29.4.3 '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 - '@jest/types': 29.5.0 - '@types/node': 20.2.1 + '@jest/types': 29.6.1 + '@types/node': 20.4.0 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.1 @@ -6921,7 +7042,7 @@ packages: graceful-fs: 4.2.11 jest-haste-map: 29.5.0 jest-message-util: 29.5.0 - jest-mock: 29.5.0 + jest-mock: 29.6.1 jest-regex-util: 29.4.3 jest-resolve: 29.5.0 jest-snapshot: 29.5.0 @@ -6944,7 +7065,7 @@ packages: '@babel/types': 7.22.5 '@jest/expect-utils': 29.5.0 '@jest/transform': 29.5.0 - '@jest/types': 29.5.0 + '@jest/types': 29.6.1 '@types/babel__traverse': 7.20.1 '@types/prettier': 2.7.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5) @@ -6963,12 +7084,53 @@ packages: - supports-color dev: true + /jest-snapshot@29.6.1: + resolution: {integrity: sha512-G4UQE1QQ6OaCgfY+A0uR1W2AY0tGXUPQpoUClhWHq1Xdnx1H6JOrC2nH5lqnOEqaDgbHFgIwZ7bNq24HpB180A==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.22.5 + '@babel/generator': 7.22.5 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.5) + '@babel/types': 7.22.5 + '@jest/expect-utils': 29.6.1 + '@jest/transform': 29.6.1 + '@jest/types': 29.6.1 + '@types/prettier': 2.7.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5) + chalk: 4.1.2 + expect: 29.6.1 + graceful-fs: 4.2.11 + jest-diff: 29.6.1 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.6.1 + jest-message-util: 29.6.1 + jest-util: 29.6.1 + natural-compare: 1.4.0 + pretty-format: 29.6.1 + semver: 7.5.3 + transitivePeerDependencies: + - supports-color + dev: true + /jest-util@29.5.0: resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 20.2.1 + '@types/node': 20.4.0 + chalk: 4.1.2 + ci-info: 3.8.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /jest-util@29.6.1: + resolution: {integrity: sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + '@types/node': 20.4.0 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -6979,7 +7141,7 @@ packages: resolution: {integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 29.5.0 + '@jest/types': 29.6.1 camelcase: 6.3.0 chalk: 4.1.2 jest-get-type: 29.4.3 @@ -6992,8 +7154,8 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/test-result': 29.5.0 - '@jest/types': 29.5.0 - '@types/node': 20.2.1 + '@jest/types': 29.6.1 + '@types/node': 20.4.0 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -7005,7 +7167,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.2.1 + '@types/node': 20.4.0 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -7014,7 +7176,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.2.1 + '@types/node': 20.4.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -7023,13 +7185,23 @@ packages: resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.2.1 - jest-util: 29.5.0 + '@types/node': 20.4.0 + jest-util: 29.6.1 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.5.0(@types/node@20.2.1): + /jest-worker@29.6.1: + resolution: {integrity: sha512-U+Wrbca7S8ZAxAe9L6nb6g8kPdia5hj32Puu5iOqBCMTMWFHXuK6dOV2IFrpedbTV8fjMFLdWNttQTBL6u2MRA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/node': 20.4.0 + jest-util: 29.6.1 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest@29.5.0(@types/node@20.4.0): resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -7042,7 +7214,7 @@ packages: '@jest/core': 29.5.0 '@jest/types': 29.5.0 import-local: 3.1.0 - jest-cli: 29.5.0(@types/node@20.2.1) + jest-cli: 29.5.0(@types/node@20.4.0) transitivePeerDependencies: - '@types/node' - supports-color @@ -7775,7 +7947,7 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - /mobx-react-lite@3.4.3(mobx@6.7.0)(react-dom@18.2.0)(react@18.2.0): + /mobx-react-lite@3.4.3(mobx@6.9.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-NkJREyFTSUXR772Qaai51BnE1voWx56LOL80xG7qkZr6vo8vEaLF3sz1JNUVh+rxmUzxYaqOhfuxTfqUh0FXUg==} peerDependencies: mobx: ^6.1.0 @@ -7788,13 +7960,13 @@ packages: react-native: optional: true dependencies: - mobx: 6.7.0 + mobx: 6.9.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /mobx@6.7.0: - resolution: {integrity: sha512-1kBLBdSNG2bA522HQdbsTvwAwYf9hq9FWxmlhX7wTsJUAI54907J+ozfGW+LoYUo06vjit748g6QH1AAGLNebw==} + /mobx@6.9.0: + resolution: {integrity: sha512-HdKewQEREEJgsWnErClfbFoVebze6rGazxFLU/XUyrII8dORfVszN1V0BMRnQSzcgsNNtkX8DHj3nC6cdWE9YQ==} /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -7828,14 +8000,13 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /next@13.4.3(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-FV3pBrAAnAIfOclTvncw9dDohyeuEEXPe5KNcva91anT/rdycWbgtu3IjUj4n5yHnWK8YEPo0vrUecHmnmUNbA==} + /next@13.4.9(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-vtefFm/BWIi/eWOqf1GsmKG3cjKw1k3LjuefKRcL3iiLl3zWzFdPG3as6xtxrGO6gwTzzaO1ktL4oiHt/uvTjA==} engines: {node: '>=16.8.0'} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 fibers: '>= 3.1.0' - node-sass: ^6.0.0 || ^7.0.0 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 @@ -7844,12 +8015,10 @@ packages: optional: true fibers: optional: true - node-sass: - optional: true sass: optional: true dependencies: - '@next/env': 13.4.3 + '@next/env': 13.4.9 '@swc/helpers': 0.5.1 busboy: 1.6.0 caniuse-lite: 1.0.30001509 @@ -7857,17 +8026,18 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) styled-jsx: 5.1.1(@babel/core@7.22.5)(react@18.2.0) + watchpack: 2.4.0 zod: 3.21.4 optionalDependencies: - '@next/swc-darwin-arm64': 13.4.3 - '@next/swc-darwin-x64': 13.4.3 - '@next/swc-linux-arm64-gnu': 13.4.3 - '@next/swc-linux-arm64-musl': 13.4.3 - '@next/swc-linux-x64-gnu': 13.4.3 - '@next/swc-linux-x64-musl': 13.4.3 - '@next/swc-win32-arm64-msvc': 13.4.3 - '@next/swc-win32-ia32-msvc': 13.4.3 - '@next/swc-win32-x64-msvc': 13.4.3 + '@next/swc-darwin-arm64': 13.4.9 + '@next/swc-darwin-x64': 13.4.9 + '@next/swc-linux-arm64-gnu': 13.4.9 + '@next/swc-linux-arm64-musl': 13.4.9 + '@next/swc-linux-x64-gnu': 13.4.9 + '@next/swc-linux-x64-musl': 13.4.9 + '@next/swc-win32-arm64-msvc': 13.4.9 + '@next/swc-win32-ia32-msvc': 13.4.9 + '@next/swc-win32-x64-msvc': 13.4.9 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -7882,7 +8052,7 @@ packages: '@angular/common': 15.2.6(@angular/core@15.2.6)(rxjs@7.8.1) '@angular/core': 15.2.6(rxjs@7.8.1)(zone.js@0.13.0) '@angular/platform-browser': 15.2.6(@angular/animations@15.2.6)(@angular/common@15.2.6)(@angular/core@15.2.6) - tslib: 2.5.2 + tslib: 2.6.0 dev: true /node-fetch@2.6.12: @@ -8312,9 +8482,9 @@ packages: resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} engines: {node: '>=4'} - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + /prettier@3.0.0: + resolution: {integrity: sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==} + engines: {node: '>=14'} hasBin: true dev: true @@ -8332,6 +8502,15 @@ packages: react-is: 18.2.0 dev: true + /pretty-format@29.6.1: + resolution: {integrity: sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.0 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -8693,7 +8872,7 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.5.2 + tslib: 2.6.0 dev: true /sade@1.8.1: @@ -9183,7 +9362,7 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/utils': 2.4.1 - tslib: 2.5.2 + tslib: 2.6.0 dev: true /tabby-community-color-schemes@1.0.197-nightly.1(@angular/core@15.2.6)(tabby-core@1.0.197-nightly.1)(tabby-terminal@1.0.197-nightly.1): @@ -9412,8 +9591,8 @@ packages: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: true - /ts-jest@29.0.4(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.0.3): - resolution: {integrity: sha512-YdNofkoyzeinwjIqLSYQeAM+GTmFQ7xFNtWcR5OyitY5VLzzNINrNmfhP5H3daA/V+RGQR7O3g1K6ysRgu5xIQ==} + /ts-jest@29.1.1(@babel/core@7.22.5)(jest@29.5.0)(typescript@5.1.6): + resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: @@ -9422,7 +9601,7 @@ packages: babel-jest: ^29.0.0 esbuild: '*' jest: ^29.0.0 - typescript: '>=4.3' + typescript: '>=4.3 <6' peerDependenciesMeta: '@babel/core': optional: true @@ -9436,18 +9615,18 @@ packages: '@babel/core': 7.22.5 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.5.0(@types/node@20.2.1) + jest: 29.5.0(@types/node@20.4.0) jest-util: 29.5.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.5.3 - typescript: 5.0.3 + typescript: 5.1.6 yargs-parser: 21.1.1 dev: true - /ts-loader@9.4.2(typescript@5.0.3)(webpack@5.83.1): - resolution: {integrity: sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==} + /ts-loader@9.4.4(typescript@5.1.6)(webpack@5.83.1): + resolution: {integrity: sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==} engines: {node: '>=12.0.0'} peerDependencies: typescript: '*' @@ -9457,7 +9636,7 @@ packages: enhanced-resolve: 5.15.0 micromatch: 4.0.5 semver: 7.5.3 - typescript: 5.0.3 + typescript: 5.1.6 webpack: 5.83.1(webpack-cli@5.1.1) dev: true @@ -9472,17 +9651,17 @@ packages: /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - /tslib@2.5.2: - resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==} + /tslib@2.6.0: + resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} - /tsutils@3.21.0(typescript@5.0.3): + /tsutils@3.21.0(typescript@5.1.6): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.0.3 + typescript: 5.1.6 /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -9516,9 +9695,9 @@ packages: for-each: 0.3.3 is-typed-array: 1.1.10 - /typescript@5.0.3: - resolution: {integrity: sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==} - engines: {node: '>=12.20'} + /typescript@5.1.6: + resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + engines: {node: '>=14.17'} hasBin: true /unbox-primitive@1.0.2: @@ -9735,11 +9914,11 @@ packages: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - dev: true /web-streams-polyfill@4.0.0-beta.3: resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} engines: {node: '>= 14'} + dev: false /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -9748,10 +9927,10 @@ packages: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: true - /webm-muxer@3.1.0: - resolution: {integrity: sha512-qXW07JfkumKOQNy+Nj7/ndGHLmBDK5crolZig4zb5EZlymq5IPd5UBpRwVehy2OFiizhOzUmvXMCL3tkAB4zlQ==} + /webm-muxer@3.1.1: + resolution: {integrity: sha512-ZdSRwpbS/UU6K6SPjnyyj3XBLOf0H/b5vjBcdequcBTA16oE5rjrTCn802xZvsyL01Sjjpzam1uUPvZcSlZssg==} dependencies: - '@types/dom-webcodecs': 0.1.6 + '@types/dom-webcodecs': 0.1.8 '@types/wicg-file-system-access': 2020.9.6 dev: false @@ -10168,7 +10347,7 @@ packages: /zone.js@0.13.0: resolution: {integrity: sha512-7m3hNNyswsdoDobCkYNAy5WiUulkMd3+fWaGT9ij6iq3Zr/IwJo4RMCYPSDjT+r7tnPErmY9sZpKhWQ8S5k6XQ==} dependencies: - tslib: 2.5.2 + tslib: 2.6.0 dev: true /zwitch@2.0.4: diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 66f135b8..6ba01323 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "749c0b292fb7bef0d2e3e177d6dc093da3453d0c", + "pnpmShrinkwrapHash": "a5141c6066b3d19a36bfe08201796dd2828a4130", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/libraries/adb-credential-web/package.json b/libraries/adb-credential-web/package.json index 84ee41c5..30eb3bd3 100644 --- a/libraries/adb-credential-web/package.json +++ b/libraries/adb-credential-web/package.json @@ -31,13 +31,13 @@ }, "dependencies": { "@yume-chan/adb": "workspace:^0.0.20", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", - "eslint": "^8.41.0", - "prettier": "^2.8.8", - "typescript": "^5.0.3" + "eslint": "^8.44.0", + "prettier": "^3.0.0", + "typescript": "^5.1.6" } } diff --git a/libraries/adb-credential-web/src/index.ts b/libraries/adb-credential-web/src/index.ts index bc134987..6a9357a0 100644 --- a/libraries/adb-credential-web/src/index.ts +++ b/libraries/adb-credential-web/src/index.ts @@ -81,11 +81,11 @@ export default class AdbWebCredentialStore implements AdbCredentialStore { hash: "SHA-1", }, true, - ["sign", "verify"] + ["sign", "verify"], ); const privateKey = new Uint8Array( - await crypto.subtle.exportKey("pkcs8", cryptoKey) + await crypto.subtle.exportKey("pkcs8", cryptoKey), ); await saveKey(privateKey); diff --git a/libraries/adb-daemon-direct-sockets/package.json b/libraries/adb-daemon-direct-sockets/package.json index f3af55a8..cd8dac92 100644 --- a/libraries/adb-daemon-direct-sockets/package.json +++ b/libraries/adb-daemon-direct-sockets/package.json @@ -34,13 +34,13 @@ "dependencies": { "@yume-chan/adb": "workspace:^0.0.20", "@yume-chan/stream-extra": "workspace:^0.0.20", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", - "eslint": "^8.41.0", - "prettier": "^2.8.8", - "typescript": "^5.0.3" + "eslint": "^8.44.0", + "prettier": "^3.0.0", + "typescript": "^5.1.6" } } diff --git a/libraries/adb-daemon-direct-sockets/src/index.ts b/libraries/adb-daemon-direct-sockets/src/index.ts index cca5bfde..70159e13 100644 --- a/libraries/adb-daemon-direct-sockets/src/index.ts +++ b/libraries/adb-daemon-direct-sockets/src/index.ts @@ -40,7 +40,7 @@ declare global { new ( remoteAddress: string, remotePort: number, - options?: TCPSocketOptions + options?: TCPSocketOptions, ): TCPSocket; }; } @@ -73,7 +73,7 @@ export default class AdbDaemonDirectSocketsDevice implements AdbDaemonDevice { return { readable: new WrapReadableStream(readable).pipeThrough( - new StructDeserializeStream(AdbPacket) + new StructDeserializeStream(AdbPacket), ), writable: new WrapWritableStream(writable) .bePipedThroughFrom(new UnwrapConsumableStream()) diff --git a/libraries/adb-daemon-webusb/package.json b/libraries/adb-daemon-webusb/package.json index cc4a038f..d2c9d50f 100644 --- a/libraries/adb-daemon-webusb/package.json +++ b/libraries/adb-daemon-webusb/package.json @@ -35,13 +35,13 @@ "@yume-chan/adb": "workspace:^0.0.20", "@yume-chan/stream-extra": "workspace:^0.0.20", "@yume-chan/struct": "workspace:^0.0.20", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", - "eslint": "^8.41.0", - "prettier": "^2.8.8", - "typescript": "^5.0.3" + "eslint": "^8.44.0", + "prettier": "^3.0.0", + "typescript": "^5.1.6" } } diff --git a/libraries/adb-daemon-webusb/src/device.ts b/libraries/adb-daemon-webusb/src/device.ts index ca26326e..36b15b71 100644 --- a/libraries/adb-daemon-webusb/src/device.ts +++ b/libraries/adb-daemon-webusb/src/device.ts @@ -89,7 +89,7 @@ class Uint8ArrayExactReadable implements ExactReadable { public readExactly(length: number): Uint8Array { const result = this.#data.subarray( this.#position, - this.#position + length + this.#position + length, ); this.#position += length; return result; @@ -113,7 +113,7 @@ export class AdbDaemonWebUsbConnection device: USBDevice, inEndpoint: USBEndpoint, outEndpoint: USBEndpoint, - usbManager: USB + usbManager: USB, ) { let closed = false; @@ -133,7 +133,7 @@ export class AdbDaemonWebUsbConnection closed = true; usbManager.removeEventListener( "disconnect", - handleUsbDisconnect + handleUsbDisconnect, ); }, }); @@ -155,7 +155,7 @@ export class AdbDaemonWebUsbConnection // ADB daemon sends each packet in two parts, the 24-byte header and the payload. const result = await device.transferIn( inEndpoint.endpointNumber, - 24 + 24, ); // TODO: webusb: handle `babble` by discarding the data and receive again @@ -166,15 +166,15 @@ export class AdbDaemonWebUsbConnection // Add `payload` field to its type, it's assigned below. const packet = AdbPacketHeader.deserialize( - stream + stream, ) as AdbPacketHeader & { payload: Uint8Array }; if (packet.payloadLength !== 0) { const result = await device.transferIn( inEndpoint.endpointNumber, - packet.payloadLength + packet.payloadLength, ); packet.payload = new Uint8Array( - result.data!.buffer + result.data!.buffer, ); } else { packet.payload = EMPTY_UINT8_ARRAY; @@ -203,7 +203,7 @@ export class AdbDaemonWebUsbConnection throw e; } }, - }) + }), ); const zeroMask = outEndpoint.packetSize - 1; @@ -214,7 +214,7 @@ export class AdbDaemonWebUsbConnection try { await device.transferOut( outEndpoint.endpointNumber, - chunk + chunk, ); // In USB protocol, a not-full packet indicates the end of a transfer. @@ -227,7 +227,7 @@ export class AdbDaemonWebUsbConnection ) { await device.transferOut( outEndpoint.endpointNumber, - EMPTY_UINT8_ARRAY + EMPTY_UINT8_ARRAY, ); } } catch (e) { @@ -237,9 +237,9 @@ export class AdbDaemonWebUsbConnection throw e; } }, - }) + }), ), - new AdbPacketSerializeStream() + new AdbPacketSerializeStream(), ); } } @@ -270,7 +270,7 @@ export class AdbDaemonWebUsbDevice implements AdbDaemonDevice { public constructor( device: USBDevice, filters: AdbDeviceFilter[] = [ADB_DEFAULT_DEVICE_FILTER], - usbManager: USB + usbManager: USB, ) { this.#raw = device; this.#filters = filters; @@ -298,7 +298,7 @@ export class AdbDaemonWebUsbDevice implements AdbDaemonDevice { // Note: Switching configuration is not supported on Windows, // but Android devices should always expose ADB function at the first (default) configuration. await this.#raw.selectConfiguration( - configuration.configurationValue + configuration.configurationValue, ); } @@ -311,18 +311,18 @@ export class AdbDaemonWebUsbDevice implements AdbDaemonDevice { ) { await this.#raw.selectAlternateInterface( interface_.interfaceNumber, - alternate.alternateSetting + alternate.alternateSetting, ); } const { inEndpoint, outEndpoint } = findUsbEndpoints( - alternate.endpoints + alternate.endpoints, ); return new AdbDaemonWebUsbConnection( this.#raw, inEndpoint, outEndpoint, - this.#usbManager + this.#usbManager, ); } } diff --git a/libraries/adb-daemon-webusb/src/manager.ts b/libraries/adb-daemon-webusb/src/manager.ts index 4ff27df4..b62108b9 100644 --- a/libraries/adb-daemon-webusb/src/manager.ts +++ b/libraries/adb-daemon-webusb/src/manager.ts @@ -38,7 +38,7 @@ export class AdbDaemonWebUsbDeviceManager { * or `undefined` if the user cancelled the device picker. */ public async requestDevice( - filters: AdbDeviceFilter[] = [ADB_DEFAULT_DEVICE_FILTER] + filters: AdbDeviceFilter[] = [ADB_DEFAULT_DEVICE_FILTER], ): Promise { try { const device = await this.#usbManager.requestDevice({ @@ -68,7 +68,7 @@ export class AdbDaemonWebUsbDeviceManager { * @returns An array of {@link AdbDaemonWebUsbDevice} instances for all connected and authenticated devices. */ public async getDevices( - filters: AdbDeviceFilter[] = [ADB_DEFAULT_DEVICE_FILTER] + filters: AdbDeviceFilter[] = [ADB_DEFAULT_DEVICE_FILTER], ): Promise { const devices = await this.#usbManager.getDevices(); return devices @@ -104,7 +104,11 @@ export class AdbDaemonWebUsbDeviceManager { }) .map( (device) => - new AdbDaemonWebUsbDevice(device, filters, this.#usbManager) + new AdbDaemonWebUsbDevice( + device, + filters, + this.#usbManager, + ), ); } } diff --git a/libraries/adb-daemon-webusb/src/utils.ts b/libraries/adb-daemon-webusb/src/utils.ts index 7dabcd07..996986b2 100644 --- a/libraries/adb-daemon-webusb/src/utils.ts +++ b/libraries/adb-daemon-webusb/src/utils.ts @@ -18,19 +18,19 @@ export type AdbDeviceFilter = USBDeviceFilter & function alternateMatchesFilter( alternate: USBAlternateInterface, - filters: AdbDeviceFilter[] + filters: AdbDeviceFilter[], ) { return filters.some( (filter) => alternate.interfaceClass === filter.classCode && alternate.interfaceSubclass === filter.subclassCode && - alternate.interfaceProtocol === filter.protocolCode + alternate.interfaceProtocol === filter.protocolCode, ); } export function findUsbAlternateInterface( device: USBDevice, - filters: AdbDeviceFilter[] + filters: AdbDeviceFilter[], ) { for (const configuration of device.configurations) { for (const interface_ of configuration.interfaces) { diff --git a/libraries/adb-daemon-webusb/src/watcher.ts b/libraries/adb-daemon-webusb/src/watcher.ts index 2a2b6dc4..22713ea3 100644 --- a/libraries/adb-daemon-webusb/src/watcher.ts +++ b/libraries/adb-daemon-webusb/src/watcher.ts @@ -14,7 +14,7 @@ export class AdbDaemonWebUsbDeviceWatcher { this.#usbManager.removeEventListener("connect", this.handleConnect); this.#usbManager.removeEventListener( "disconnect", - this.handleDisconnect + this.handleDisconnect, ); } diff --git a/libraries/adb-daemon-ws/package.json b/libraries/adb-daemon-ws/package.json index 73e42b5b..4a947b56 100644 --- a/libraries/adb-daemon-ws/package.json +++ b/libraries/adb-daemon-ws/package.json @@ -33,14 +33,14 @@ "dependencies": { "@yume-chan/adb": "workspace:^0.0.20", "@yume-chan/stream-extra": "workspace:^0.0.20", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "typescript": "^5.1.6" } } diff --git a/libraries/adb-scrcpy/jest.config.js b/libraries/adb-scrcpy/jest.config.js index d3c43fff..ff68d1cb 100644 --- a/libraries/adb-scrcpy/jest.config.js +++ b/libraries/adb-scrcpy/jest.config.js @@ -1,4 +1,4 @@ -/** @type {import('ts-jest').InitialOptionsTsJest} */ +/** @type {import('ts-jest').JestConfigWithTsJest} */ export default { preset: "ts-jest/presets/default-esm", extensionsToTreatAsEsm: [".ts"], diff --git a/libraries/adb-scrcpy/package.json b/libraries/adb-scrcpy/package.json index bc983d43..69a0477b 100644 --- a/libraries/adb-scrcpy/package.json +++ b/libraries/adb-scrcpy/package.json @@ -39,17 +39,17 @@ "@yume-chan/scrcpy": "workspace:^0.0.20", "@yume-chan/stream-extra": "workspace:^0.0.20", "@yume-chan/struct": "workspace:^0.0.20", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { - "@jest/globals": "^29.5.0", + "@jest/globals": "^29.6.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "cross-env": "^7.0.3", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "ts-jest": "^29.0.4", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6" } } diff --git a/libraries/adb-scrcpy/src/client.ts b/libraries/adb-scrcpy/src/client.ts index f66c52d2..f1baf263 100644 --- a/libraries/adb-scrcpy/src/client.ts +++ b/libraries/adb-scrcpy/src/client.ts @@ -101,7 +101,7 @@ export class AdbScrcpyClient { public static async pushServer( adb: Adb, file: ReadableStream>, - filename = DEFAULT_SERVER_PATH + filename = DEFAULT_SERVER_PATH, ) { const sync = await adb.sync(); try { @@ -118,7 +118,7 @@ export class AdbScrcpyClient { adb: Adb, path: string, version: string, - options: AdbScrcpyOptions + options: AdbScrcpyOptions, ) { let connection: AdbScrcpyConnection | undefined; let process: AdbSubprocessProtocol | undefined; @@ -153,7 +153,7 @@ export class AdbScrcpyClient { // Scrcpy server doesn't use stderr, // so disable Shell Protocol to simplify processing protocols: [AdbSubprocessNoneProtocol], - } + }, ); const stdout = process.stdout @@ -173,7 +173,7 @@ export class AdbScrcpyClient { { signal: abortController.signal, preventCancel: true, - } + }, ) .catch((e) => { if (abortController.signal.aborted) { @@ -217,7 +217,7 @@ export class AdbScrcpyClient { adb: Adb, path: string, version: string, - options: AdbScrcpyOptions + options: AdbScrcpyOptions, ): Promise { options.setListEncoders(); return await options.getEncoders(adb, path, version); @@ -231,7 +231,7 @@ export class AdbScrcpyClient { adb: Adb, path: string, version: string, - options: AdbScrcpyOptions + options: AdbScrcpyOptions, ): Promise { options.setListDisplays(); return await options.getDisplays(adb, path, version); @@ -304,10 +304,10 @@ export class AdbScrcpyClient { if (controlStream) { this._controlMessageWriter = new ScrcpyControlMessageWriter( controlStream.writable.getWriter(), - options + options, ); this._deviceMessageStream = controlStream.readable.pipeThrough( - new ScrcpyDeviceMessageDeserializeStream() + new ScrcpyDeviceMessageDeserializeStream(), ); } } @@ -341,17 +341,17 @@ export class AdbScrcpyClient { } } } - }) + }), ), metadata, }; } private async createAudioStream( - initialStream: ReadableStream + initialStream: ReadableStream, ): Promise { const metadata = await this._options.parseAudioStreamMetadata( - initialStream + initialStream, ); switch (metadata.type) { @@ -362,14 +362,14 @@ export class AdbScrcpyClient { return { ...metadata, stream: metadata.stream.pipeThrough( - this._options.createMediaStreamTransformer() + this._options.createMediaStreamTransformer(), ), }; default: throw new Error( `Unexpected audio metadata type ${ metadata["type"] as unknown as string - }` + }`, ); } } diff --git a/libraries/adb-scrcpy/src/connection.ts b/libraries/adb-scrcpy/src/connection.ts index 9ae7816f..2332e220 100644 --- a/libraries/adb-scrcpy/src/connection.ts +++ b/libraries/adb-scrcpy/src/connection.ts @@ -82,7 +82,7 @@ export class AdbScrcpyForwardConnection extends AdbScrcpyConnection { } private async connectAndRetry( - sendDummyByte: boolean + sendDummyByte: boolean, ): Promise>> { for (let i = 0; !this._disposed && i < 100; i += 1) { try { @@ -91,7 +91,7 @@ export class AdbScrcpyForwardConnection extends AdbScrcpyConnection { // Can't guarantee the stream will preserve message boundaries, // so buffer the stream const buffered = new BufferedReadableStream( - stream.readable + stream.readable, ); await buffered.readExactly(1); return { diff --git a/libraries/adb-scrcpy/src/options/1_16.ts b/libraries/adb-scrcpy/src/options/1_16.ts index 8f14324a..905d79e7 100644 --- a/libraries/adb-scrcpy/src/options/1_16.ts +++ b/libraries/adb-scrcpy/src/options/1_16.ts @@ -23,7 +23,7 @@ export class AdbScrcpyOptions1_16 extends AdbScrcpyOptionsBase + options: AdbScrcpyOptions, ): Promise { const client = await AdbScrcpyClient.start(adb, path, version, options); @@ -49,7 +49,7 @@ export class AdbScrcpyOptions1_16 extends AdbScrcpyOptionsBase + options: AdbScrcpyOptions, ): Promise { try { // Server will exit before opening connections when an invalid display id was given @@ -68,7 +68,7 @@ export class AdbScrcpyOptions1_16 extends AdbScrcpyOptionsBase { return AdbScrcpyOptions1_16.getEncoders(adb, path, version, this); } @@ -101,7 +101,7 @@ export class AdbScrcpyOptions1_16 extends AdbScrcpyOptionsBase { return AdbScrcpyOptions1_16.getDisplays(adb, path, version, this); } @@ -118,7 +118,7 @@ export class AdbScrcpyOptions1_16 extends AdbScrcpyOptionsBase { return AdbScrcpyOptions1_16.getEncoders(adb, path, version, this); } @@ -22,7 +22,7 @@ export class AdbScrcpyOptions1_22 extends AdbScrcpyOptionsBase { return AdbScrcpyOptions1_16.getDisplays(adb, path, version, this); } @@ -37,7 +37,7 @@ export class AdbScrcpyOptions1_22 extends AdbScrcpyOptionsBase + options: AdbScrcpyOptions, ): Promise { try { // Similar to `AdbScrcpyOptions1_16.getDisplays`, @@ -26,7 +26,7 @@ export class AdbScrcpyOptions2_0 extends AdbScrcpyOptionsBase { return AdbScrcpyOptions2_0.getEncoders(adb, path, version, this); } @@ -59,7 +59,7 @@ export class AdbScrcpyOptions2_0 extends AdbScrcpyOptionsBase { return AdbScrcpyOptions1_16.getDisplays(adb, path, version, this); } @@ -74,7 +74,7 @@ export class AdbScrcpyOptions2_0 extends AdbScrcpyOptionsBase { return AdbScrcpyOptions2_0.getEncoders(adb, path, version, this); } @@ -23,7 +23,7 @@ export class AdbScrcpyOptions2_1 extends AdbScrcpyOptionsBase { return AdbScrcpyOptions1_16.getDisplays(adb, path, version, this); } @@ -38,7 +38,7 @@ export class AdbScrcpyOptions2_1 extends AdbScrcpyOptionsBase extends ScrcpyOptions { getEncoders( adb: Adb, path: string, - version: string + version: string, ): Promise; getDisplays( adb: Adb, path: string, - version: string + version: string, ): Promise; createConnection(adb: Adb): AdbScrcpyConnection; @@ -51,13 +51,13 @@ export abstract class AdbScrcpyOptionsBase public abstract getEncoders( adb: Adb, path: string, - version: string + version: string, ): Promise; public abstract getDisplays( adb: Adb, path: string, - version: string + version: string, ): Promise; public abstract createConnection(adb: Adb): AdbScrcpyConnection; diff --git a/libraries/adb-server-node-tcp/package.json b/libraries/adb-server-node-tcp/package.json index 990716c2..194719cb 100644 --- a/libraries/adb-server-node-tcp/package.json +++ b/libraries/adb-server-node-tcp/package.json @@ -36,15 +36,15 @@ "@yume-chan/adb": "workspace:^0.0.20", "@yume-chan/stream-extra": "workspace:^0.0.20", "@yume-chan/struct": "workspace:^0.0.20", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { - "@types/node": "^20.2.1", + "@types/node": "^20.4.0", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "typescript": "^5.1.6" } } diff --git a/libraries/adb/.eslintrc.cjs b/libraries/adb/.eslintrc.cjs index e225d0db..3a906170 100644 --- a/libraries/adb/.eslintrc.cjs +++ b/libraries/adb/.eslintrc.cjs @@ -1,11 +1,7 @@ module.exports = { - "extends": [ - "@yume-chan" - ], + extends: ["@yume-chan"], parserOptions: { tsconfigRootDir: __dirname, - project: [ - "./tsconfig.test.json" - ], + project: ["./tsconfig.test.json"], }, -} +}; diff --git a/libraries/adb/jest.config.js b/libraries/adb/jest.config.js index d3c43fff..ff68d1cb 100644 --- a/libraries/adb/jest.config.js +++ b/libraries/adb/jest.config.js @@ -1,4 +1,4 @@ -/** @type {import('ts-jest').InitialOptionsTsJest} */ +/** @type {import('ts-jest').JestConfigWithTsJest} */ export default { preset: "ts-jest/presets/default-esm", extensionsToTreatAsEsm: [".ts"], diff --git a/libraries/adb/package.json b/libraries/adb/package.json index e8c74be3..6279fd15 100644 --- a/libraries/adb/package.json +++ b/libraries/adb/package.json @@ -37,19 +37,18 @@ "@yume-chan/event": "workspace:^0.0.20", "@yume-chan/stream-extra": "workspace:^0.0.20", "@yume-chan/struct": "workspace:^0.0.20", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { - "@jest/globals": "^29.5.0", - "@types/node": "^20.2.1", + "@jest/globals": "^29.6.1", + "@types/node": "^20.4.0", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "cross-env": "^7.0.3", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "ts-jest": "^29.0.4", - "typescript": "^5.0.3", - "web-streams-polyfill": "^4.0.0-beta.3" + "prettier": "^3.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6" } } diff --git a/libraries/adb/src/adb.ts b/libraries/adb/src/adb.ts index fa346ffb..55f4a373 100644 --- a/libraries/adb/src/adb.ts +++ b/libraries/adb/src/adb.ts @@ -22,7 +22,7 @@ export interface AdbSocket } export type AdbIncomingSocketHandler = ( - socket: AdbSocket + socket: AdbSocket, ) => ValueOrPromise; export interface Closeable { @@ -42,7 +42,7 @@ export interface AdbTransport extends Closeable { addReverseTunnel( handler: AdbIncomingSocketHandler, - address?: string + address?: string, ): ValueOrPromise; removeReverseTunnel(address: string): ValueOrPromise; diff --git a/libraries/adb/src/banner.ts b/libraries/adb/src/banner.ts index 7312fa99..f1fa5156 100644 --- a/libraries/adb/src/banner.ts +++ b/libraries/adb/src/banner.ts @@ -72,7 +72,7 @@ export class AdbBanner { product: string | undefined, model: string | undefined, device: string | undefined, - features: AdbFeature[] + features: AdbFeature[], ) { this.#product = product; this.#model = model; diff --git a/libraries/adb/src/commands/reverse.ts b/libraries/adb/src/commands/reverse.ts index ffe4442b..054dfc7d 100644 --- a/libraries/adb/src/commands/reverse.ts +++ b/libraries/adb/src/commands/reverse.ts @@ -29,7 +29,7 @@ export class AdbReverseError extends Error { export class AdbReverseNotSupportedError extends AdbReverseError { public constructor() { super( - "ADB reverse tunnel is not supported on this device when connected wirelessly." + "ADB reverse tunnel is not supported on this device when connected wirelessly.", ); } } @@ -85,7 +85,7 @@ export class AdbReverseCommand extends AutoDisposable { const [deviceSerial, localName, remoteName] = line.split(" ") as [ string, string, - string + string, ]; return { deviceSerial, localName, remoteName }; }); @@ -101,7 +101,7 @@ export class AdbReverseCommand extends AutoDisposable { */ public async addExternal(deviceAddress: string, localAddress: string) { const stream = await this.sendRequest( - `reverse:forward:${deviceAddress};${localAddress}` + `reverse:forward:${deviceAddress};${localAddress}`, ); // `tcp:0` tells the device to pick an available port. @@ -140,11 +140,11 @@ export class AdbReverseCommand extends AutoDisposable { public async add( deviceAddress: string, handler: AdbIncomingSocketHandler, - localAddress?: string + localAddress?: string, ): Promise { localAddress = await this.adb.transport.addReverseTunnel( handler, - localAddress + localAddress, ); try { diff --git a/libraries/adb/src/commands/subprocess/command.ts b/libraries/adb/src/commands/subprocess/command.ts index 7a17f821..08cf7d3a 100644 --- a/libraries/adb/src/commands/subprocess/command.ts +++ b/libraries/adb/src/commands/subprocess/command.ts @@ -40,7 +40,7 @@ export class AdbSubprocess extends AdbCommandBase { private async createProtocol( mode: "pty" | "raw", command?: string | string[], - options?: Partial + options?: Partial, ): Promise { const { protocols } = { ...DEFAULT_OPTIONS, ...options }; @@ -77,7 +77,7 @@ export class AdbSubprocess extends AdbCommandBase { */ public shell( command?: string | string[], - options?: Partial + options?: Partial, ): Promise { return this.createProtocol("pty", command, options); } @@ -93,7 +93,7 @@ export class AdbSubprocess extends AdbCommandBase { */ public spawn( command: string | string[], - options?: Partial + options?: Partial, ): Promise { return this.createProtocol("raw", command, options); } @@ -106,7 +106,7 @@ export class AdbSubprocess extends AdbCommandBase { */ public async spawnAndWait( command: string | string[], - options?: Partial + options?: Partial, ): Promise { const process = await this.spawn(command, options); @@ -133,7 +133,7 @@ export class AdbSubprocess extends AdbCommandBase { * @returns The entire output of the command */ public async spawnAndWaitLegacy( - command: string | string[] + command: string | string[], ): Promise { const { stdout } = await this.spawnAndWait(command, { protocols: [AdbSubprocessNoneProtocol], diff --git a/libraries/adb/src/commands/subprocess/protocols/none.ts b/libraries/adb/src/commands/subprocess/protocols/none.ts index 7dee5bc7..0e25317f 100644 --- a/libraries/adb/src/commands/subprocess/protocols/none.ts +++ b/libraries/adb/src/commands/subprocess/protocols/none.ts @@ -19,7 +19,7 @@ export class AdbSubprocessNoneProtocol implements AdbSubprocessProtocol { public static async pty(adb: Adb, command: string) { return new AdbSubprocessNoneProtocol( - await adb.createSocket(`shell:${command}`) + await adb.createSocket(`shell:${command}`), ); } @@ -27,7 +27,7 @@ export class AdbSubprocessNoneProtocol implements AdbSubprocessProtocol { // `shell,raw:${command}` also triggers raw mode, // But is not supported on Android version <7. return new AdbSubprocessNoneProtocol( - await adb.createSocket(`exec:${command}`) + await adb.createSocket(`exec:${command}`), ); } diff --git a/libraries/adb/src/commands/subprocess/protocols/shell.ts b/libraries/adb/src/commands/subprocess/protocols/shell.ts index 3b38a90a..fa64f4d0 100644 --- a/libraries/adb/src/commands/subprocess/protocols/shell.ts +++ b/libraries/adb/src/commands/subprocess/protocols/shell.ts @@ -115,13 +115,13 @@ export class AdbSubprocessShellProtocol implements AdbSubprocessProtocol { public static async pty(adb: Adb, command: string) { // TODO: AdbShellSubprocessProtocol: Support setting `XTERM` environment variable return new AdbSubprocessShellProtocol( - await adb.createSocket(`shell,v2,pty:${command}`) + await adb.createSocket(`shell,v2,pty:${command}`), ); } public static async raw(adb: Adb, command: string) { return new AdbSubprocessShellProtocol( - await adb.createSocket(`shell,v2,raw:${command}`) + await adb.createSocket(`shell,v2,raw:${command}`), ); } @@ -183,7 +183,7 @@ export class AdbSubprocessShellProtocol implements AdbSubprocessProtocol { break; } }, - }) + }), ) .then( () => { @@ -191,7 +191,7 @@ export class AdbSubprocessShellProtocol implements AdbSubprocessProtocol { stderrController.close(); // If `#exit` has already resolved, this will be a no-op this.#exit.reject( - new Error("Socket ended without exit message") + new Error("Socket ended without exit message"), ); }, (e) => { @@ -199,7 +199,7 @@ export class AdbSubprocessShellProtocol implements AdbSubprocessProtocol { stderrController.error(e); // If `#exit` has already resolved, this will be a no-op this.#exit.reject(e); - } + }, ); const multiplexer = new MultiplexStream< @@ -210,16 +210,16 @@ export class AdbSubprocessShellProtocol implements AdbSubprocessProtocol { new ConsumableTransformStream({ async transform(chunk, controller) { await controller.enqueue( - AdbShellProtocolPacket.serialize(chunk) + AdbShellProtocolPacket.serialize(chunk), ); }, - }) + }), ) .pipeTo(socket.writable); this.#stdin = pipeFrom( multiplexer.createWriteable(), - new StdinSerializeStream() + new StdinSerializeStream(), ); this.#socketWriter = multiplexer.createWriteable().getWriter(); @@ -232,7 +232,7 @@ export class AdbSubprocessShellProtocol implements AdbSubprocessProtocol { // The "correct" format is `${rows}x${cols},${x_pixels}x${y_pixels}` // However, according to https://linux.die.net/man/4/tty_ioctl // `x_pixels` and `y_pixels` are unused, so always sending `0` should be fine. - `${rows}x${cols},0x0\0` + `${rows}x${cols},0x0\0`, ), }); } diff --git a/libraries/adb/src/commands/sync/list.ts b/libraries/adb/src/commands/sync/list.ts index 69c045c7..7445d811 100644 --- a/libraries/adb/src/commands/sync/list.ts +++ b/libraries/adb/src/commands/sync/list.ts @@ -30,7 +30,7 @@ export type AdbSyncEntry2Response = export async function* adbSyncOpenDirV2( socket: AdbSyncSocket, - path: string + path: string, ): AsyncGenerator { const locked = await socket.lock(); try { @@ -38,7 +38,7 @@ export async function* adbSyncOpenDirV2( for await (const item of adbSyncReadResponses( locked, AdbSyncResponseId.Entry2, - AdbSyncEntry2Response + AdbSyncEntry2Response, )) { // `LST2` can return error codes for failed `lstat` calls. // `LIST` just ignores them. @@ -55,7 +55,7 @@ export async function* adbSyncOpenDirV2( export async function* adbSyncOpenDirV1( socket: AdbSyncSocket, - path: string + path: string, ): AsyncGenerator { const locked = await socket.lock(); try { @@ -63,7 +63,7 @@ export async function* adbSyncOpenDirV1( for await (const item of adbSyncReadResponses( locked, AdbSyncResponseId.Entry, - AdbSyncEntryResponse + AdbSyncEntryResponse, )) { yield item; } @@ -75,7 +75,7 @@ export async function* adbSyncOpenDirV1( export async function* adbSyncOpenDir( socket: AdbSyncSocket, path: string, - v2: boolean + v2: boolean, ): AsyncGenerator { if (v2) { yield* adbSyncOpenDirV2(socket, path); diff --git a/libraries/adb/src/commands/sync/pull.ts b/libraries/adb/src/commands/sync/pull.ts index e439642a..60d654d6 100644 --- a/libraries/adb/src/commands/sync/pull.ts +++ b/libraries/adb/src/commands/sync/pull.ts @@ -16,7 +16,7 @@ export type AdbSyncDataResponse = export async function* adbSyncPullGenerator( socket: AdbSyncSocket, - path: string + path: string, ): AsyncGenerator { const locked = await socket.lock(); let done = false; @@ -25,7 +25,7 @@ export async function* adbSyncPullGenerator( for await (const packet of adbSyncReadResponses( locked, AdbSyncResponseId.Data, - AdbSyncDataResponse + AdbSyncDataResponse, )) { yield packet.data; } @@ -36,7 +36,7 @@ export async function* adbSyncPullGenerator( for await (const packet of adbSyncReadResponses( locked, AdbSyncResponseId.Data, - AdbSyncDataResponse + AdbSyncDataResponse, )) { void packet; } @@ -47,7 +47,7 @@ export async function* adbSyncPullGenerator( export function adbSyncPull( socket: AdbSyncSocket, - path: string + path: string, ): ReadableStream { return new PushReadableStream(async (controller) => { for await (const data of adbSyncPullGenerator(socket, path)) { diff --git a/libraries/adb/src/commands/sync/push.ts b/libraries/adb/src/commands/sync/push.ts index bcaf0d7b..53ade0ff 100644 --- a/libraries/adb/src/commands/sync/push.ts +++ b/libraries/adb/src/commands/sync/push.ts @@ -26,14 +26,14 @@ export interface AdbSyncPushV1Options { } export const AdbSyncOkResponse = new Struct({ littleEndian: true }).uint32( - "unused" + "unused", ); async function pipeFileData( locked: AdbSyncSocketLocked, file: ReadableStream>, packetSize: number, - mtime: number + mtime: number, ) { // Read and write in parallel, // allow error response to abort the write. @@ -45,11 +45,11 @@ async function pipeFileData( await adbSyncWriteRequest( locked, AdbSyncRequestId.Data, - chunk + chunk, ); }, }), - { signal: abortController.signal } + { signal: abortController.signal }, ) .then(async () => { await adbSyncWriteRequest(locked, AdbSyncRequestId.Done, mtime); @@ -59,7 +59,7 @@ async function pipeFileData( await adbSyncReadResponse( locked, AdbSyncResponseId.Ok, - AdbSyncOkResponse + AdbSyncOkResponse, ).catch((e) => { abortController.abort(); throw e; @@ -142,7 +142,7 @@ export async function adbSyncPushV2({ id: AdbSyncRequestId.SendV2, mode, flags, - }) + }), ); await pipeFileData(locked, file, packetSize, mtime); diff --git a/libraries/adb/src/commands/sync/request.ts b/libraries/adb/src/commands/sync/request.ts index 357c1b67..49bb50db 100644 --- a/libraries/adb/src/commands/sync/request.ts +++ b/libraries/adb/src/commands/sync/request.ts @@ -30,7 +30,7 @@ export interface AdbSyncWritable { export async function adbSyncWriteRequest( writable: AdbSyncWritable, id: AdbSyncRequestId | string, - value: number | string | Uint8Array + value: number | string | Uint8Array, ): Promise { if (typeof value === "number") { const buffer = AdbSyncNumberRequest.serialize({ @@ -42,12 +42,12 @@ export async function adbSyncWriteRequest( // Let `writable` buffer writes const buffer = encodeUtf8(value); await writable.write( - AdbSyncNumberRequest.serialize({ id, arg: buffer.byteLength }) + AdbSyncNumberRequest.serialize({ id, arg: buffer.byteLength }), ); await writable.write(buffer); } else { await writable.write( - AdbSyncNumberRequest.serialize({ id, arg: value.byteLength }) + AdbSyncNumberRequest.serialize({ id, arg: value.byteLength }), ); await writable.write(value); } diff --git a/libraries/adb/src/commands/sync/response.ts b/libraries/adb/src/commands/sync/response.ts index 89ec1bdf..d0bbc6a7 100644 --- a/libraries/adb/src/commands/sync/response.ts +++ b/libraries/adb/src/commands/sync/response.ts @@ -31,7 +31,7 @@ export const AdbSyncFailResponse = new Struct({ littleEndian: true }) export async function adbSyncReadResponse( stream: AsyncExactReadable, id: AdbSyncResponseId, - type: StructLike + type: StructLike, ): Promise { const actualId = decodeUtf8(await stream.readExactly(4)); switch (actualId) { @@ -46,11 +46,11 @@ export async function adbSyncReadResponse( } export async function* adbSyncReadResponses< - T extends Struct + T extends Struct, >( stream: AsyncExactReadable, id: AdbSyncResponseId, - type: T + type: T, ): AsyncGenerator, void, void> { while (true) { const actualId = decodeUtf8(await stream.readExactly(4)); @@ -70,7 +70,7 @@ export async function* adbSyncReadResponses< break; default: throw new Error( - `Expected '${id}' or '${AdbSyncResponseId.Done}', but got '${actualId}'` + `Expected '${id}' or '${AdbSyncResponseId.Done}', but got '${actualId}'`, ); } } diff --git a/libraries/adb/src/commands/sync/socket.ts b/libraries/adb/src/commands/sync/socket.ts index d7230943..6645ac62 100644 --- a/libraries/adb/src/commands/sync/socket.ts +++ b/libraries/adb/src/commands/sync/socket.ts @@ -27,7 +27,7 @@ export class AdbSyncSocketLocked implements AsyncExactReadable { writer: WritableStreamDefaultWriter>, readable: BufferedReadableStream, bufferSize: number, - lock: AutoResetEvent + lock: AutoResetEvent, ) { this.#writer = writer; this.#readable = readable; @@ -84,7 +84,7 @@ export class AdbSyncSocket { socket.writable.getWriter(), new BufferedReadableStream(socket.readable), bufferSize, - this.#lock + this.#lock, ); } diff --git a/libraries/adb/src/commands/sync/stat.ts b/libraries/adb/src/commands/sync/stat.ts index e07e77fd..4fa06b9d 100644 --- a/libraries/adb/src/commands/sync/stat.ts +++ b/libraries/adb/src/commands/sync/stat.ts @@ -103,7 +103,7 @@ export type AdbSyncStatResponse = export async function adbSyncLstat( socket: AdbSyncSocket, path: string, - v2: boolean + v2: boolean, ): Promise { const locked = await socket.lock(); try { @@ -112,14 +112,14 @@ export async function adbSyncLstat( return await adbSyncReadResponse( locked, AdbSyncResponseId.Lstat2, - AdbSyncStatResponse + AdbSyncStatResponse, ); } else { await adbSyncWriteRequest(locked, AdbSyncRequestId.Lstat, path); const response = await adbSyncReadResponse( locked, AdbSyncResponseId.Lstat, - AdbSyncLstatResponse + AdbSyncLstatResponse, ); return { mode: response.mode, @@ -141,7 +141,7 @@ export async function adbSyncLstat( export async function adbSyncStat( socket: AdbSyncSocket, - path: string + path: string, ): Promise { const locked = await socket.lock(); try { @@ -149,7 +149,7 @@ export async function adbSyncStat( return await adbSyncReadResponse( locked, AdbSyncResponseId.Stat, - AdbSyncStatResponse + AdbSyncStatResponse, ); } finally { locked.release(); diff --git a/libraries/adb/src/commands/sync/sync.ts b/libraries/adb/src/commands/sync/sync.ts index f4b79a0e..7944892d 100644 --- a/libraries/adb/src/commands/sync/sync.ts +++ b/libraries/adb/src/commands/sync/sync.ts @@ -78,7 +78,7 @@ export class AdbSync extends AutoDisposable { this.#supportsListV2 = adb.supportsFeature(AdbFeature.ListV2); this.#fixedPushMkdir = adb.supportsFeature(AdbFeature.FixedPushMkdir); this.#supportsSendReceiveV2 = adb.supportsFeature( - AdbFeature.SendReceiveV2 + AdbFeature.SendReceiveV2, ); // https://android.googlesource.com/platform/packages/modules/adb/+/91768a57b7138166e0a3d11f79cd55909dda7014/client/file_sync_client.cpp#1361 this.#needPushMkdirWorkaround = diff --git a/libraries/adb/src/daemon/auth.ts b/libraries/adb/src/daemon/auth.ts index 2f68c3e2..9cd25813 100644 --- a/libraries/adb/src/daemon/auth.ts +++ b/libraries/adb/src/daemon/auth.ts @@ -50,13 +50,13 @@ export interface AdbAuthenticator { */ ( credentialStore: AdbCredentialStore, - getNextRequest: () => Promise + getNextRequest: () => Promise, ): AsyncIterable; } export const AdbSignatureAuthenticator: AdbAuthenticator = async function* ( credentialStore: AdbCredentialStore, - getNextRequest: () => Promise + getNextRequest: () => Promise, ): AsyncIterable { for await (const key of credentialStore.iterateKeys()) { const packet = await getNextRequest(); @@ -77,7 +77,7 @@ export const AdbSignatureAuthenticator: AdbAuthenticator = async function* ( export const AdbPublicKeyAuthenticator: AdbAuthenticator = async function* ( credentialStore: AdbCredentialStore, - getNextRequest: () => Promise + getNextRequest: () => Promise, ): AsyncIterable { const packet = await getNextRequest(); @@ -100,7 +100,7 @@ export const AdbPublicKeyAuthenticator: AdbAuthenticator = async function* ( calculateBase64EncodedLength(publicKeyLength); const publicKeyBuffer = new Uint8Array( - publicKeyBase64Length + 1 // Null character + publicKeyBase64Length + 1, // Null character ); adbGeneratePublicKey(privateKey, publicKeyBuffer); @@ -129,7 +129,7 @@ export class AdbAuthenticationProcessor implements Disposable { public constructor( authenticators: readonly AdbAuthenticator[], - credentialStore: AdbCredentialStore + credentialStore: AdbCredentialStore, ) { this.authenticators = authenticators; this.credentialStore = credentialStore; @@ -147,7 +147,7 @@ export class AdbAuthenticationProcessor implements Disposable { for (const authenticator of this.authenticators) { for await (const packet of authenticator( this.credentialStore, - this.getNextRequest + this.getNextRequest, )) { // If the authenticator yielded a response // Prepare `nextRequest` for next authentication request diff --git a/libraries/adb/src/daemon/crypto.ts b/libraries/adb/src/daemon/crypto.ts index f093707f..7c377434 100644 --- a/libraries/adb/src/daemon/crypto.ts +++ b/libraries/adb/src/daemon/crypto.ts @@ -13,7 +13,7 @@ import { export function getBigUint( dataView: DataView, byteOffset: number, - length: number + length: number, ): bigint { let result = 0n; @@ -40,7 +40,7 @@ export function setBigUint( dataView: DataView, byteOffset: number, value: bigint, - littleEndian?: boolean + littleEndian?: boolean, ) { const start = byteOffset; @@ -135,11 +135,11 @@ export function adbGetPublicKeySize() { export function adbGeneratePublicKey(privateKey: Uint8Array): Uint8Array; export function adbGeneratePublicKey( privateKey: Uint8Array, - output: Uint8Array + output: Uint8Array, ): number; export function adbGeneratePublicKey( privateKey: Uint8Array, - output?: Uint8Array + output?: Uint8Array, ): Uint8Array | number { // Android has its own public key generation algorithm // See https://android.googlesource.com/platform/system/core.git/+/91784040db2b9273687f88d8b95f729d4a61ecc2/libcrypto_utils/android_pubkey.cpp#111 @@ -177,7 +177,7 @@ export function adbGeneratePublicKey( const outputView = new DataView( output.buffer, output.byteOffset, - output.byteLength + output.byteLength, ); let outputOffset = 0; @@ -221,7 +221,7 @@ export function adbGeneratePublicKey( export function powMod( base: bigint, exponent: bigint, - modulus: bigint + modulus: bigint, ): bigint { if (modulus === 1n) { return 0n; diff --git a/libraries/adb/src/daemon/dispatcher.ts b/libraries/adb/src/daemon/dispatcher.ts index 5beaecad..1449f1ba 100644 --- a/libraries/adb/src/daemon/dispatcher.ts +++ b/libraries/adb/src/daemon/dispatcher.ts @@ -67,7 +67,7 @@ export class AdbPacketDispatcher implements Closeable { AdbPacketData, Consumable >, - options: AdbPacketDispatcherOptions + options: AdbPacketDispatcherOptions, ) { this.options = options; @@ -90,12 +90,12 @@ export class AdbPacketDispatcher implements Closeable { await this.sendPacket( AdbCommand.OK, packet.arg1, - packet.arg0 + packet.arg0, ); break; } throw new Error( - `Unknown local socket id: ${packet.arg1}` + `Unknown local socket id: ${packet.arg1}`, ); case AdbCommand.Open: await this.handleOpen(packet); @@ -107,8 +107,8 @@ export class AdbPacketDispatcher implements Closeable { // (although it's possible that Adb added new commands in the future) throw new Error( `Unknown command: ${packet.command.toString( - 16 - )}` + 16, + )}`, ); } }, @@ -121,7 +121,7 @@ export class AdbPacketDispatcher implements Closeable { // So don't close `readable` here. preventCancel: true, signal: this.#readAbortController.signal, - } + }, ) .then( () => { @@ -132,7 +132,7 @@ export class AdbPacketDispatcher implements Closeable { this.#disconnected.reject(e); } this.dispose(); - } + }, ); this.#writer = connection.writable.getWriter(); @@ -162,7 +162,7 @@ export class AdbPacketDispatcher implements Closeable { packet.arg0 === 0 && this.#initializers.reject( packet.arg1, - new Error("Socket open failed") + new Error("Socket open failed"), ) ) { // Device failed to create the socket @@ -188,7 +188,7 @@ export class AdbPacketDispatcher implements Closeable { await this.sendPacket( AdbCommand.Close, packet.arg1, - packet.arg0 + packet.arg0, ); } await socket.dispose(); @@ -203,7 +203,7 @@ export class AdbPacketDispatcher implements Closeable { public addReverseTunnel( service: string, - handler: AdbIncomingSocketHandler + handler: AdbIncomingSocketHandler, ) { this.#incomingSocketHandlers.set(service, handler); } @@ -277,7 +277,7 @@ export class AdbPacketDispatcher implements Closeable { command: AdbCommand, arg0: number, arg1: number, - payload: string | Uint8Array = EMPTY_UINT8_ARRAY + payload: string | Uint8Array = EMPTY_UINT8_ARRAY, ): Promise { if (typeof payload === "string") { payload = encodeUtf8(payload); @@ -302,7 +302,7 @@ export class AdbPacketDispatcher implements Closeable { public async close() { // Send `CLSE` packets for all sockets await Promise.all( - Array.from(this.#sockets.values(), (socket) => socket.close()) + Array.from(this.#sockets.values(), (socket) => socket.close()), ); // Stop receiving diff --git a/libraries/adb/src/daemon/socket.ts b/libraries/adb/src/daemon/socket.ts index 2e2b5b99..3063855c 100644 --- a/libraries/adb/src/daemon/socket.ts +++ b/libraries/adb/src/daemon/socket.ts @@ -92,7 +92,7 @@ export class AdbDaemonSocketController await this.dispatcher.sendPacket( AdbCommand.Close, this.localId, - this.remoteId + this.remoteId, ); // Don't `dispose` here, we need to wait for `CLSE` response packet. @@ -114,8 +114,8 @@ export class AdbDaemonSocketController size(chunk) { return chunk.byteLength; }, - } - ) + }, + ), ); this.writable = pipeFrom( @@ -128,13 +128,13 @@ export class AdbDaemonSocketController AdbCommand.Write, this.localId, this.remoteId, - chunk + chunk, ); await this.#writePromise.promise; }, - }) + }), ), - new DistributionStream(this.dispatcher.options.maxPayloadSize) + new DistributionStream(this.dispatcher.options.maxPayloadSize), ); this._socket = new AdbDaemonSocket(this); diff --git a/libraries/adb/src/daemon/transport.ts b/libraries/adb/src/daemon/transport.ts index 0379f94a..5e45d06f 100644 --- a/libraries/adb/src/daemon/transport.ts +++ b/libraries/adb/src/daemon/transport.ts @@ -65,7 +65,7 @@ export class AdbDaemonTransport implements AdbTransport { const resolver = new PromiseResolver(); const authProcessor = new AdbAuthenticationProcessor( authenticators, - credentialStore + credentialStore, ); // Here is similar to `AdbPacketDispatcher`, @@ -80,13 +80,13 @@ export class AdbDaemonTransport implements AdbTransport { version = Math.min(version, packet.arg0); maxPayloadSize = Math.min( maxPayloadSize, - packet.arg1 + packet.arg1, ); resolver.resolve(decodeUtf8(packet.payload)); break; case AdbCommand.Auth: { const response = await authProcessor.process( - packet + packet, ); await sendPacket(response); break; @@ -105,19 +105,19 @@ export class AdbDaemonTransport implements AdbTransport { // Don't cancel the source ReadableStream on AbortSignal abort. preventCancel: true, signal: abortController.signal, - } + }, ) .then( () => { if (resolver.state === "running") { resolver.reject( - new Error("Connection closed unexpectedly") + new Error("Connection closed unexpectedly"), ); } }, (e) => { resolver.reject(e); - } + }, ); const writer = connection.writable.getWriter(); @@ -245,7 +245,7 @@ export class AdbDaemonTransport implements AdbTransport { public addReverseTunnel( handler: AdbIncomingSocketHandler, - address?: string + address?: string, ): string { if (!address) { const id = Math.random().toString().substring(2); diff --git a/libraries/adb/src/server/client.ts b/libraries/adb/src/server/client.ts index 4b3e95da..1d9cbffc 100644 --- a/libraries/adb/src/server/client.ts +++ b/libraries/adb/src/server/client.ts @@ -39,12 +39,12 @@ export interface AdbServerConnectionOptions { export interface AdbServerConnection { connect( - options?: AdbServerConnectionOptions + options?: AdbServerConnectionOptions, ): ValueOrPromise>; addReverseTunnel( handler: AdbIncomingSocketHandler, - address?: string + address?: string, ): ValueOrPromise; removeReverseTunnel(address: string): ValueOrPromise; @@ -85,7 +85,7 @@ export class AdbServerClient { public static readString(stream: ExactReadable): string; public static readString(stream: AsyncExactReadable): PromiseLike; public static readString( - stream: ExactReadable | AsyncExactReadable + stream: ExactReadable | AsyncExactReadable, ): string | PromiseLike { return SyncPromise.try(() => stream.readExactly(4)) .then((buffer) => { @@ -100,7 +100,7 @@ export class AdbServerClient { public static async writeString( writer: WritableStreamDefaultWriter, - value: string + value: string, ): Promise { const valueBuffer = encodeUtf8(value); const buffer = new Uint8Array(4 + valueBuffer.length); @@ -110,7 +110,7 @@ export class AdbServerClient { } public static async readOkay( - stream: ExactReadable | AsyncExactReadable + stream: ExactReadable | AsyncExactReadable, ): Promise { const response = decodeUtf8(await stream.readExactly(4)); if (response === "OKAY") { @@ -127,7 +127,7 @@ export class AdbServerClient { public async connect( request: string, - options?: AdbServerConnectionOptions + options?: AdbServerConnectionOptions, ): Promise> { const connection = await this.connection.connect(options); @@ -141,7 +141,7 @@ export class AdbServerClient { // so the `catch` block can close the connection. await raceSignal( () => AdbServerClient.readOkay(readable), - options?.signal + options?.signal, ); writer.releaseLock(); @@ -173,7 +173,7 @@ export class AdbServerClient { const version = await this.getVersion(); if (version !== AdbServerClient.VERSION) { throw new Error( - `adb server version (${version}) doesn't match this client (${AdbServerClient.VERSION})` + `adb server version (${version}) doesn't match this client (${AdbServerClient.VERSION})`, ); } } @@ -255,7 +255,7 @@ export class AdbServerClient { public formatDeviceService( device: AdbServerDeviceSelector, - command: string + command: string, ) { if (!device) { return `host:${command}`; @@ -283,7 +283,7 @@ export class AdbServerClient { * @returns The transport ID of the selected device, and the features supported by the device. */ public async getDeviceFeatures( - device: AdbServerDeviceSelector + device: AdbServerDeviceSelector, ): Promise<{ transportId: bigint; features: AdbFeature[] }> { // Usually the client sends a device command using `connectDevice`, // so the command got forwarded and handled by ADB daemon. @@ -311,7 +311,7 @@ export class AdbServerClient { */ public async connectDevice( device: AdbServerDeviceSelector, - service: string + service: string, ): Promise { await this.validateVersion(); @@ -342,7 +342,7 @@ export class AdbServerClient { const dataView = new DataView( array.buffer, array.byteOffset, - array.byteLength + array.byteLength, ); transportId = BigIntFieldType.Uint64.getter(dataView, 0, true); } @@ -359,8 +359,8 @@ export class AdbServerClient { const wrapReadable = duplex.wrapReadable(readable.release()); const wrapWritable = duplex.createWritable( new WrapWritableStream(connection.writable).bePipedThroughFrom( - new UnwrapConsumableStream() - ) + new UnwrapConsumableStream(), + ), ); return { @@ -389,7 +389,7 @@ export class AdbServerClient { public async waitFor( device: AdbServerDeviceSelector, state: "device" | "disconnect", - options?: AdbServerConnectionOptions + options?: AdbServerConnectionOptions, ): Promise { let type: string; if (!device) { @@ -410,7 +410,7 @@ export class AdbServerClient { // might not be available yet. const service = this.formatDeviceService( device, - `wait-for-${type}-${state}` + `wait-for-${type}-${state}`, ); // `connect` resolves when server writes `OKAY`, @@ -419,27 +419,27 @@ export class AdbServerClient { } public async createTransport( - device: AdbServerDeviceSelector + device: AdbServerDeviceSelector, ): Promise { const { transportId, features } = await this.getDeviceFeatures(device); const devices = await this.getDevices(); const info = devices.find( - (device) => device.transportId === transportId + (device) => device.transportId === transportId, ); const banner = new AdbBanner( info?.product, info?.model, info?.device, - features + features, ); return new AdbServerTransport( this, info?.serial ?? "", banner, - transportId + transportId, ); } } diff --git a/libraries/adb/src/server/transport.ts b/libraries/adb/src/server/transport.ts index a4836c37..381605f2 100644 --- a/libraries/adb/src/server/transport.ts +++ b/libraries/adb/src/server/transport.ts @@ -30,7 +30,7 @@ export class AdbServerTransport implements AdbTransport { client: AdbServerClient, serial: string, banner: AdbBanner, - transportId: bigint + transportId: bigint, ) { this.#client = client; this.serial = serial; @@ -51,13 +51,13 @@ export class AdbServerTransport implements AdbTransport { { transportId: this.transportId, }, - service + service, ); } public async addReverseTunnel( handler: AdbIncomingSocketHandler, - address?: string + address?: string, ): Promise { return await this.#client.connection.addReverseTunnel(handler, address); } diff --git a/libraries/adb/src/utils/base64.spec.ts b/libraries/adb/src/utils/base64.spec.ts index f9cd3ad3..461c80a2 100644 --- a/libraries/adb/src/utils/base64.spec.ts +++ b/libraries/adb/src/utils/base64.spec.ts @@ -21,7 +21,7 @@ describe("base64", () => { const inputs = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 254, 255, 256].map( (x) => - new Uint8Array(Array.from({ length: x }, (_, index) => x - index)) + new Uint8Array(Array.from({ length: x }, (_, index) => x - index)), ); describe("decodeBase64", () => { @@ -33,7 +33,7 @@ describe("base64", () => { describe(`input length = ${input.length}`, () => { it("should return correct decoded buffer", () => { expect(decodeBase64(nodeEncodeBase64(input))).toEqual( - input + input, ); }); }); @@ -47,8 +47,8 @@ describe("base64", () => { // Convert base64 string to Buffer Buffer.from( // Convert `input` to base64 string - Buffer.from(input).toString("base64") - ) + Buffer.from(input).toString("base64"), + ), ); } @@ -61,7 +61,7 @@ describe("base64", () => { function concatBuffers(...buffers: Uint8Array[]) { const length = buffers.reduce( (sum, buffer) => sum + buffer.length, - 0 + 0, ); const result = new Uint8Array(length); let offset = 0; @@ -88,7 +88,7 @@ describe("base64", () => { const outputLength = encodeBase64( input, - output.subarray(2, 2 + correct.length + 2) + output.subarray(2, 2 + correct.length + 2), ); expect(outputLength).toEqual(correct.length); expect(output).toEqual(expectedOutput); @@ -104,7 +104,7 @@ describe("base64", () => { describe("in-place encoding", () => { function canEncodeInPlaceForward( inputOffset: number, - outputOffset: number + outputOffset: number, ) { let inputIndex = inputOffset; let outputIndex = outputOffset; @@ -128,13 +128,13 @@ describe("base64", () => { function canEncodeInPlaceBackward( inputOffset: number, - outputOffset: number + outputOffset: number, ) { let inputIndex = inputOffset + input.length - 1; let outputIndex = outputOffset + correct.length - 1; const paddingLength = correct.filter( - (x) => x === "=".charCodeAt(0) + (x) => x === "=".charCodeAt(0), ).length; if (paddingLength !== 0) { inputIndex -= 3 - paddingLength; @@ -156,12 +156,12 @@ describe("base64", () => { function canEncodeInPlace( inputOffset: number, - outputOffset: number + outputOffset: number, ) { return ( canEncodeInPlaceForward( inputOffset, - outputOffset + outputOffset, ) || canEncodeInPlaceBackward(inputOffset, outputOffset) ); @@ -171,7 +171,7 @@ describe("base64", () => { const buffer = concatBuffers( createFilledBuffer(correct.length + 2, 0xcc), input, - createFilledBuffer(correct.length + 2, 0xcc) + createFilledBuffer(correct.length + 2, 0xcc), ); const expectedBuffer = buffer.slice(); @@ -180,9 +180,9 @@ describe("base64", () => { const outputLength = encodeBase64( buffer.subarray( correct.length + 2, - correct.length + 2 + input.length + correct.length + 2 + input.length, ), - buffer.subarray(outputOffset) + buffer.subarray(outputOffset), ); expect(outputLength).toEqual(correct.length); expect(buffer).toEqual(expectedBuffer); @@ -204,7 +204,7 @@ describe("base64", () => { i - 1 }`, () => { expect(() => - testInPlaceEncodeBase64(i - 1) + testInPlaceEncodeBase64(i - 1), ).toThrow(); }); } @@ -231,7 +231,7 @@ describe("base64", () => { it(`should throw with offset = ${i}`, () => { expect(() => - testInPlaceEncodeBase64(i) + testInPlaceEncodeBase64(i), ).toThrow(); }); } diff --git a/libraries/adb/src/utils/base64.ts b/libraries/adb/src/utils/base64.ts index a723b09d..8295b927 100644 --- a/libraries/adb/src/utils/base64.ts +++ b/libraries/adb/src/utils/base64.ts @@ -26,7 +26,7 @@ addRange("/", "/"); * @returns Length of the output in bytes */ export function calculateBase64EncodedLength( - inputLength: number + inputLength: number, ): [outputLength: number, paddingLength: number] { const remainder = inputLength % 3; const paddingLength = remainder !== 0 ? 3 - remainder : 0; @@ -54,10 +54,10 @@ export function encodeBase64(input: Uint8Array): Uint8Array; export function encodeBase64(input: Uint8Array, output: Uint8Array): number; export function encodeBase64( input: Uint8Array, - output?: Uint8Array + output?: Uint8Array, ): Uint8Array | number { const [outputLength, paddingLength] = calculateBase64EncodedLength( - input.length + input.length, ); if (!output) { @@ -123,7 +123,7 @@ export function encodeBase64( function encodeForward( input: Uint8Array, output: Uint8Array, - paddingLength: number + paddingLength: number, ) { let inputIndex = 0; let outputIndex = 0; @@ -200,7 +200,7 @@ function encodeForward( function encodeBackward( input: Uint8Array, output: Uint8Array, - paddingLength: number + paddingLength: number, ) { let inputIndex = input.length - 1; let outputIndex = output.length - 1; diff --git a/libraries/adb/src/utils/conditional-variable.ts b/libraries/adb/src/utils/conditional-variable.ts index 0c963a0c..d84511cd 100644 --- a/libraries/adb/src/utils/conditional-variable.ts +++ b/libraries/adb/src/utils/conditional-variable.ts @@ -37,7 +37,7 @@ export class ConditionalVariable implements Disposable { public dispose(): void { for (const item of this.#queue) { item.resolver.reject( - new Error("The ConditionalVariable has been disposed") + new Error("The ConditionalVariable has been disposed"), ); } this.#queue.length = 0; diff --git a/libraries/android-bin/src/bu.ts b/libraries/android-bin/src/bu.ts index 0671ea6b..297fb279 100644 --- a/libraries/android-bin/src/bu.ts +++ b/libraries/android-bin/src/bu.ts @@ -22,7 +22,7 @@ export class AdbBackup extends AdbCommandBase { * User must confirm backup on device within 60 seconds. */ public async backup( - options: AdbBackupOptions + options: AdbBackupOptions, ): Promise> { const args = ["bu", "backup"]; @@ -36,7 +36,7 @@ export class AdbBackup extends AdbCommandBase { args.push(options.savePackageApk ? "--apk" : "--no-apk"); args.push(options.savePackageObb ? "--obb" : "--no-obb"); args.push( - options.savePackageKeyValue ? "--key-value" : "--no-key-value" + options.savePackageKeyValue ? "--key-value" : "--no-key-value", ); args.push(options.compress ? "--compress" : "--no-compress"); diff --git a/libraries/android-bin/src/bug-report.ts b/libraries/android-bin/src/bug-report.ts index f4f0e394..cdf09f9a 100644 --- a/libraries/android-bin/src/bug-report.ts +++ b/libraries/android-bin/src/bug-report.ts @@ -79,7 +79,7 @@ export class BugReportZ extends AdbCommandBase { * @returns The path of the bugreport file. */ public async generate( - onProgress?: (progress: string, total: string) => void + onProgress?: (progress: string, total: string) => void, ): Promise { const process = await this.adb.subprocess.spawn([ "bugreportz", @@ -118,7 +118,7 @@ export class BugReportZ extends AdbCommandBase { error = match[1]; } }, - }) + }), ); if (error) { @@ -149,7 +149,7 @@ export class BugReportZ extends AdbCommandBase { async write(chunk) { await controller.enqueue(chunk); }, - }) + }), ) .catch((e) => { controller.error(e); @@ -161,7 +161,7 @@ export class BugReportZ extends AdbCommandBase { write(chunk) { controller.error(new Error(chunk)); }, - }) + }), ) .catch((e) => { controller.error(e); diff --git a/libraries/android-bin/src/cmd.ts b/libraries/android-bin/src/cmd.ts index 5ddf9e89..4bfe3371 100644 --- a/libraries/android-bin/src/cmd.ts +++ b/libraries/android-bin/src/cmd.ts @@ -64,8 +64,8 @@ export class Cmd extends AdbCommandBase { if (supportsAbb) { return new Protocol( await this.adb.createSocket( - `${service}:${command}\0${args.join("\0")}\0` - ) + `${service}:${command}\0${args.join("\0")}\0`, + ), ); } diff --git a/libraries/android-bin/src/demo-mode.ts b/libraries/android-bin/src/demo-mode.ts index 22762716..914cdce2 100644 --- a/libraries/android-bin/src/demo-mode.ts +++ b/libraries/android-bin/src/demo-mode.ts @@ -69,7 +69,7 @@ export class DemoMode extends AdbCommandBase { public async getAllowed(): Promise { const output = await this.settings.get( "global", - DemoMode.AllowedSettingKey + DemoMode.AllowedSettingKey, ); return output === "1"; } @@ -86,7 +86,7 @@ export class DemoMode extends AdbCommandBase { public async getEnabled(): Promise { const result = await this.settings.get( "global", - DemoMode.EnabledSettingKey + DemoMode.EnabledSettingKey, ); return result === "1"; } @@ -102,7 +102,7 @@ export class DemoMode extends AdbCommandBase { public async broadcast( command: string, - extra?: Record + extra?: Record, ): Promise { await this.adb.subprocess.spawnAndWaitLegacy([ "am", @@ -139,13 +139,13 @@ export class DemoMode extends AdbCommandBase { } public async setWifiSignalStrength( - value: DemoModeSignalStrength + value: DemoModeSignalStrength, ): Promise { await this.broadcast("network", { wifi: "show", level: value }); } public async setMobileDataType( - value: DemoModeMobileDataType + value: DemoModeMobileDataType, ): Promise { for (let i = 0; i < 2; i += 1) { await this.broadcast("network", { @@ -165,7 +165,7 @@ export class DemoMode extends AdbCommandBase { } public async setMobileSignalStrength( - value: DemoModeSignalStrength + value: DemoModeSignalStrength, ): Promise { await this.broadcast("network", { mobile: "show", level: value }); } diff --git a/libraries/android-bin/src/dumpsys.ts b/libraries/android-bin/src/dumpsys.ts index 6b6a3dc6..fa493329 100644 --- a/libraries/android-bin/src/dumpsys.ts +++ b/libraries/android-bin/src/dumpsys.ts @@ -9,7 +9,7 @@ export class DumpSys extends AdbCommandBase { function getSize(name: string) { const match = output.match( - new RegExp(`${name}-Free: (\\d+)K / (\\d+)K`) + new RegExp(`${name}-Free: (\\d+)K / (\\d+)K`), ); if (!match) { return [0, 0]; diff --git a/libraries/android-bin/src/logcat.ts b/libraries/android-bin/src/logcat.ts index 59c4ec8c..3666eb57 100644 --- a/libraries/android-bin/src/logcat.ts +++ b/libraries/android-bin/src/logcat.ts @@ -148,7 +148,7 @@ function formatSeconds(seconds: number, modifiers: LogcatFormatModifiers) { function formatNanoseconds( nanoseconds: number, - modifiers: LogcatFormatModifiers + modifiers: LogcatFormatModifiers, ) { if (modifiers.nanoseconds) { return padZero(nanoseconds, 9); @@ -186,7 +186,7 @@ function formatTimezone(seconds: number, modifiers: LogcatFormatModifiers) { function formatTime( seconds: number, nanoseconds: number, - modifiers: LogcatFormatModifiers + modifiers: LogcatFormatModifiers, ) { const secondsString = formatSeconds(seconds, modifiers); const nanosecondsString = formatNanoseconds(nanoseconds, modifiers); @@ -197,7 +197,7 @@ function formatTime( function formatUid( uid: number, modifiers: LogcatFormatModifiers, - suffix: string + suffix: string, ) { return modifiers.uid ? `${uid.toString().padStart(5)}${suffix}` : ""; } @@ -205,7 +205,7 @@ function formatUid( function getFormatPrefix( entry: AndroidLogEntry, format: LogcatFormat, - modifiers: LogcatFormatModifiers + modifiers: LogcatFormatModifiers, ) { // https://cs.android.com/android/platform/superproject/+/master:system/logging/liblog/logprint.cpp;l=1415;drc=8dbf3b2bb6b6d1652d9797e477b9abd03278bb79 switch (format) { @@ -294,7 +294,7 @@ function getFormatSuffix(entry: AndroidLogEntry, format: LogcatFormat) { function formatEntryWrapLine( entry: AndroidLogEntry, format: LogcatFormat, - modifiers: LogcatFormatModifiers + modifiers: LogcatFormatModifiers, ) { const prefix = getFormatPrefix(entry, format, modifiers); const suffix = getFormatSuffix(entry, format); @@ -306,7 +306,7 @@ function formatEntryWrapLine( function AndroidLogEntryToString( this: AndroidLogEntry, format: LogcatFormat = LogcatFormat.ThreadTime, - modifiers: LogcatFormatModifiers = {} + modifiers: LogcatFormatModifiers = {}, ) { switch (format) { case LogcatFormat.Long: @@ -348,7 +348,7 @@ function findTagEnd(payload: Uint8Array) { } export async function deserializeAndroidLogEntry( - stream: AsyncExactReadable + stream: AsyncExactReadable, ): Promise { const entry = (await LoggerEntry.deserialize(stream)) as AndroidLogEntry; if (entry.headerSize !== LoggerEntry.size) { @@ -430,15 +430,15 @@ export class Logcat extends AdbCommandBase { id: Logcat.logNameToId(match[1]!), size: Logcat.parseSize( Number.parseInt(match[2]!, 10), - match[3]! + match[3]!, ), readable: Logcat.parseSize( Number.parseInt(match[6]!, 10), - match[7]! + match[7]!, ), consumed: Logcat.parseSize( Number.parseInt(match[4]!, 10), - match[5]! + match[5]!, ), maxEntrySize: parseInt(match[8]!, 10), maxPayloadSize: parseInt(match[9]!, 10), @@ -452,18 +452,18 @@ export class Logcat extends AdbCommandBase { id: Logcat.logNameToId(match[1]!), size: Logcat.parseSize( Number.parseInt(match[2]!, 10), - match[3]! + match[3]!, ), consumed: Logcat.parseSize( Number.parseInt(match[4]!, 10), - match[5]! + match[5]!, ), maxEntrySize: parseInt(match[6]!, 10), maxPayloadSize: parseInt(match[7]!, 10), }); } }, - }) + }), ); return result; @@ -493,13 +493,13 @@ export class Logcat extends AdbCommandBase { { // PERF: None protocol is 150% faster then Shell protocol protocols: [AdbSubprocessNoneProtocol], - } + }, ); return stdout; }).pipeThrough( new BufferedTransformStream((stream) => { return deserializeAndroidLogEntry(stream); - }) + }), ); } } diff --git a/libraries/android-bin/src/overlay-display.ts b/libraries/android-bin/src/overlay-display.ts index ea6df92b..8512f941 100644 --- a/libraries/android-bin/src/overlay-display.ts +++ b/libraries/android-bin/src/overlay-display.ts @@ -35,9 +35,9 @@ export class OverlayDisplay extends AdbCommandBase { p.literal("x"), { name: "height", format: p.digits() }, p.literal("/"), - { name: "density", format: p.digits() } + { name: "density", format: p.digits() }, ), - 1 + 1, ), }, { @@ -49,15 +49,15 @@ export class OverlayDisplay extends AdbCommandBase { format: p.union( p.literal("secure"), p.literal("own_content_only"), - p.literal("show_system_decorations") + p.literal("show_system_decorations"), ), - }) + }), ), (value) => value.map((item) => item.flag), - (value) => value.map((item) => ({ flag: item })) + (value) => value.map((item) => ({ flag: item })), ), - } - ) + }, + ), ); constructor(adb: Adb) { @@ -69,7 +69,7 @@ export class OverlayDisplay extends AdbCommandBase { return OverlayDisplay.OverlayDisplayDevicesFormat.parse({ value: await this.settings.get( "global", - OverlayDisplay.OVERLAY_DISPLAY_DEVICES_KEY + OverlayDisplay.OVERLAY_DISPLAY_DEVICES_KEY, ), position: 0, }).map((device) => ({ @@ -77,7 +77,7 @@ export class OverlayDisplay extends AdbCommandBase { secure: device.flags.includes("secure"), ownContentOnly: device.flags.includes("own_content_only"), showSystemDecorations: device.flags.includes( - "show_system_decorations" + "show_system_decorations", ), })); } @@ -106,8 +106,8 @@ export class OverlayDisplay extends AdbCommandBase { modes: device.modes, flags, }; - }) - ) + }), + ), ); } } diff --git a/libraries/android-bin/src/pm.ts b/libraries/android-bin/src/pm.ts index a105562a..6b5bce41 100644 --- a/libraries/android-bin/src/pm.ts +++ b/libraries/android-bin/src/pm.ts @@ -229,7 +229,7 @@ export class PackageManager extends AdbCommandBase { private buildArguments( commands: string[], options: Partial | undefined, - map: Record + map: Record, ): string[] { const args = ["pm", ...commands]; if (options) { @@ -254,18 +254,18 @@ export class PackageManager extends AdbCommandBase { } private buildInstallArguments( - options: Partial | undefined + options: Partial | undefined, ): string[] { return this.buildArguments( ["install"], options, - PACKAGE_MANAGER_INSTALL_OPTIONS_MAP + PACKAGE_MANAGER_INSTALL_OPTIONS_MAP, ); } public async install( apks: string[], - options?: Partial + options?: Partial, ): Promise { const args = this.buildInstallArguments(options); // WIP: old version of pm doesn't support multiple apks @@ -275,7 +275,7 @@ export class PackageManager extends AdbCommandBase { public async pushAndInstallStream( stream: ReadableStream>, - options?: Partial + options?: Partial, ): Promise> { const sync = await this.adb.sync(); @@ -299,7 +299,7 @@ export class PackageManager extends AdbCommandBase { args.push(filePath); const process = await AdbSubprocessNoneProtocol.raw( this.adb, - args.map(escapeArg).join(" ") + args.map(escapeArg).join(" "), ); return new WrapReadableStream({ start: () => process.stdout.pipeThrough(new DecodeUtf8Stream()), @@ -312,7 +312,7 @@ export class PackageManager extends AdbCommandBase { public async installStream( size: number, stream: ReadableStream>, - options?: Partial + options?: Partial, ): Promise> { // Android 7 added both `cmd` command and streaming install support, // we can't detect whether `pm` supports streaming install, @@ -331,7 +331,7 @@ export class PackageManager extends AdbCommandBase { } public static parsePackageListItem( - line: string + line: string, ): PackageManagerListPackagesResult { line = line.substring("package:".length); @@ -358,7 +358,7 @@ export class PackageManager extends AdbCommandBase { if (index !== -1) { versionCode = Number.parseInt( line.substring(index + " versionCode:".length), - 10 + 10, ); line = line.substring(0, index); } @@ -382,12 +382,12 @@ export class PackageManager extends AdbCommandBase { } public async listPackages( - options?: Partial + options?: Partial, ): Promise { const args = this.buildArguments( ["list", "packages"], options, - PACKAGE_MANAGER_LIST_PACKAGES_OPTIONS_MAP + PACKAGE_MANAGER_LIST_PACKAGES_OPTIONS_MAP, ); if (options?.filter) { args.push(options.filter); diff --git a/libraries/android-bin/src/settings.ts b/libraries/android-bin/src/settings.ts index f15eda8f..ad716673 100644 --- a/libraries/android-bin/src/settings.ts +++ b/libraries/android-bin/src/settings.ts @@ -48,7 +48,7 @@ export class Settings extends AdbCommandBase { if (this.#cmd.supportsCmd) { output = await this.#cmd.spawnAndWait( command[0]!, - ...command.slice(1) + ...command.slice(1), ); } else { output = await this.adb.subprocess.spawnAndWait(command); @@ -64,7 +64,7 @@ export class Settings extends AdbCommandBase { public async get( namespace: SettingsNamespace, key: string, - options?: SettingsOptions + options?: SettingsOptions, ) { const output = await this.base("get", namespace, options, key); // Remove last \n @@ -74,7 +74,7 @@ export class Settings extends AdbCommandBase { public async delete( namespace: SettingsNamespace, key: string, - options?: SettingsOptions + options?: SettingsOptions, ): Promise { await this.base("delete", namespace, options, key); } @@ -83,7 +83,7 @@ export class Settings extends AdbCommandBase { namespace: SettingsNamespace, key: string, value: string, - options?: SettingsPutOptions + options?: SettingsPutOptions, ): Promise { const args = [key, value]; if (options?.tag) { @@ -98,19 +98,19 @@ export class Settings extends AdbCommandBase { public reset( namespace: SettingsNamespace, mode: SettingsResetMode, - options?: SettingsOptions + options?: SettingsOptions, ): Promise; public reset( namespace: SettingsNamespace, packageName: string, tag?: string, - options?: SettingsOptions + options?: SettingsOptions, ): Promise; public async reset( namespace: SettingsNamespace, modeOrPackageName: string, tagOrOptions?: string | SettingsOptions, - options?: SettingsOptions + options?: SettingsOptions, ): Promise { const args = [modeOrPackageName]; if ( diff --git a/libraries/android-bin/src/string-format.ts b/libraries/android-bin/src/string-format.ts index be13e4f3..0f5f90f2 100644 --- a/libraries/android-bin/src/string-format.ts +++ b/libraries/android-bin/src/string-format.ts @@ -39,7 +39,7 @@ type SequenceResult< T extends readonly ( | Format | { name: string; format: Format } - )[] + )[], > = UnionToIntersection< { [K in keyof T]: T[K] extends { @@ -119,7 +119,7 @@ export const p = { separator: string, format: Format, min = 0, - max = Infinity + max = Infinity, ): Format => ({ parse(reader: Reader) { const result: T[] = []; @@ -171,7 +171,7 @@ export const p = { const T extends readonly ( | Format | { name: string; format: Format } - )[] + )[], >( ...args: T ): Format>> => ({ @@ -191,7 +191,7 @@ export const p = { for (const part of args) { if ("name" in part) { result += part.format.stringify( - value[part.name as keyof typeof value] + value[part.name as keyof typeof value], ); } } @@ -201,7 +201,7 @@ export const p = { map: ( format: Format, map: (value: T) => R, - reverse: (value: R) => T + reverse: (value: R) => T, ): Format => ({ parse(reader: Reader) { return map(format.parse(reader)); diff --git a/libraries/aoa/package.json b/libraries/aoa/package.json index 7dd48562..6dd1de44 100644 --- a/libraries/aoa/package.json +++ b/libraries/aoa/package.json @@ -36,7 +36,7 @@ "devDependencies": { "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", - "eslint": "^8.41.0", - "typescript": "^5.0.3" + "eslint": "^8.44.0", + "typescript": "^5.1.6" } } diff --git a/libraries/b-tree/jest.config.js b/libraries/b-tree/jest.config.js index d3c43fff..ff68d1cb 100644 --- a/libraries/b-tree/jest.config.js +++ b/libraries/b-tree/jest.config.js @@ -1,4 +1,4 @@ -/** @type {import('ts-jest').InitialOptionsTsJest} */ +/** @type {import('ts-jest').JestConfigWithTsJest} */ export default { preset: "ts-jest/presets/default-esm", extensionsToTreatAsEsm: [".ts"], diff --git a/libraries/b-tree/package.json b/libraries/b-tree/package.json index dc6edc23..1d93c533 100644 --- a/libraries/b-tree/package.json +++ b/libraries/b-tree/package.json @@ -34,17 +34,17 @@ "prepublishOnly": "npm run build" }, "dependencies": { - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { - "@jest/globals": "^29.5.0", + "@jest/globals": "^29.6.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "cross-env": "^7.0.3", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "ts-jest": "^29.0.4", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6" } } diff --git a/libraries/b-tree/src/index.spec.ts b/libraries/b-tree/src/index.spec.ts index cfd7f7ce..26f71613 100644 --- a/libraries/b-tree/src/index.spec.ts +++ b/libraries/b-tree/src/index.spec.ts @@ -27,7 +27,7 @@ describe("BTree", () => { if (!root) { // Math.ceil(order / 2) - 1 expect(node.keyCount).toBeGreaterThanOrEqual( - ((node.order + 1) >> 1) - 1 + ((node.order + 1) >> 1) - 1, ); } expect(node.keyCount).toBeLessThan(node.order); @@ -57,7 +57,7 @@ describe("BTree", () => { const values = Array.from( { length: LENGTH }, - (_, i) => i - LENGTH / 2 + (_, i) => i - LENGTH / 2, ); for (const value of values) { tree.add(value); @@ -77,7 +77,7 @@ describe("BTree", () => { const values = Array.from( { length: LENGTH }, - (_, i) => i - LENGTH / 2 + (_, i) => i - LENGTH / 2, ); shuffle(values); for (const value of values) { diff --git a/libraries/b-tree/src/index.ts b/libraries/b-tree/src/index.ts index 657d81b3..805dc362 100644 --- a/libraries/b-tree/src/index.ts +++ b/libraries/b-tree/src/index.ts @@ -7,7 +7,7 @@ function insert( array: Int32Array, length: number, value: number, - index: number + index: number, ) { if (index !== length) { array.set(array.subarray(index, length), index + 1); @@ -37,7 +37,7 @@ export class BTreeNode { keys: Int32Array, keyCount: number, height: number, - children: BTreeNode[] + children: BTreeNode[], ) { this.order = order; this.mid = this.order >> 1; @@ -62,7 +62,7 @@ export class BTreeNode { protected split( value: number, index: number, - child?: BTreeNode + child?: BTreeNode, ): BTreeInsertionResult { let middleKey: number; const rightKeys = new Int32Array(this.order - 1); @@ -78,7 +78,7 @@ export class BTreeNode { // internal node rightChildren = this.children.splice( this.mid, - this.order - this.mid + this.order - this.mid, ); // TODO: this may cause the underlying array to grow (re-alloc and copy) // investigate if this hurts performance. @@ -103,7 +103,7 @@ export class BTreeNode { if (child) { rightChildren = this.children.splice( this.mid + 1, - this.order - this.mid - 1 + this.order - this.mid - 1, ); rightChildren.splice(index - this.mid, 0, child); } else { @@ -119,7 +119,7 @@ export class BTreeNode { rightKeys, this.order - 1 - this.mid, this.height, - rightChildren + rightChildren, ), }; } @@ -243,7 +243,7 @@ export class BTreeNode { left.keyCount += 1; left.keys.set( child.keys.subarray(0, child.keyCount), - left.keyCount + left.keyCount, ); if (this.height > 1) { for (let i = 0; i <= child.keyCount; i += 1) { @@ -264,7 +264,7 @@ export class BTreeNode { if (this.height > 1) { child.children[child.keyCount + 1] = right.children.splice( 0, - 1 + 1, )[0]!; } child.keyCount += 1; @@ -380,7 +380,7 @@ export class BTree { keys, 1, this._root.height + 1, - children + children, ); } if (split) { diff --git a/libraries/dataview-bigint-polyfill/package.json b/libraries/dataview-bigint-polyfill/package.json index c974b615..c5c1e387 100644 --- a/libraries/dataview-bigint-polyfill/package.json +++ b/libraries/dataview-bigint-polyfill/package.json @@ -36,14 +36,14 @@ "prepublishOnly": "npm run build" }, "dependencies": { - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "typescript": "^5.1.6" } } diff --git a/libraries/dataview-bigint-polyfill/src/fallback.ts b/libraries/dataview-bigint-polyfill/src/fallback.ts index 36e1346f..835dbe46 100644 --- a/libraries/dataview-bigint-polyfill/src/fallback.ts +++ b/libraries/dataview-bigint-polyfill/src/fallback.ts @@ -10,7 +10,7 @@ export const getBigInt64 = ? ( dataView: DataView, byteOffset: number, - littleEndian: boolean | undefined + littleEndian: boolean | undefined, ) => dataView.getBigInt64(byteOffset, littleEndian) : fallbackGetBigInt64; @@ -19,7 +19,7 @@ export const getBigUint64 = ? ( dataView: DataView, byteOffset: number, - littleEndian: boolean | undefined + littleEndian: boolean | undefined, ) => dataView.getBigUint64(byteOffset, littleEndian) : fallbackGetBigUint64; @@ -29,7 +29,7 @@ export const setBigInt64 = dataView: DataView, byteOffset: number, value: bigint, - littleEndian: boolean | undefined + littleEndian: boolean | undefined, ) => dataView.setBigInt64(byteOffset, value, littleEndian) : fallbackSetBigInt64; @@ -39,6 +39,6 @@ export const setBigUint64 = dataView: DataView, byteOffset: number, value: bigint, - littleEndian: boolean | undefined + littleEndian: boolean | undefined, ) => dataView.setBigUint64(byteOffset, value, littleEndian) : fallbackSetBigUint64; diff --git a/libraries/dataview-bigint-polyfill/src/polyfill.ts b/libraries/dataview-bigint-polyfill/src/polyfill.ts index 698c5103..071c0fe2 100644 --- a/libraries/dataview-bigint-polyfill/src/polyfill.ts +++ b/libraries/dataview-bigint-polyfill/src/polyfill.ts @@ -21,7 +21,7 @@ if (!("setBigInt64" in DataView)) { DataView.prototype.setBigInt64 = function ( byteOffset, value, - littleEndian + littleEndian, ) { setBigInt64(this, byteOffset, value, littleEndian); }; @@ -31,7 +31,7 @@ if (!("setBigUint64" in DataView)) { DataView.prototype.setBigUint64 = function ( byteOffset, value, - littleEndian + littleEndian, ) { setBigUint64(this, byteOffset, value, littleEndian); }; diff --git a/libraries/dataview-bigint-polyfill/src/pure.ts b/libraries/dataview-bigint-polyfill/src/pure.ts index aeaac1b5..51944dff 100644 --- a/libraries/dataview-bigint-polyfill/src/pure.ts +++ b/libraries/dataview-bigint-polyfill/src/pure.ts @@ -1,7 +1,7 @@ export function getBigInt64( dataView: DataView, byteOffset: number, - littleEndian: boolean | undefined + littleEndian: boolean | undefined, ): bigint { const littleEndianMask = Number(!!littleEndian); const bigEndianMask = Number(!littleEndian); @@ -10,12 +10,13 @@ export function getBigInt64( (BigInt( dataView.getInt32(byteOffset, littleEndian) * bigEndianMask + dataView.getInt32(byteOffset + 4, littleEndian) * - littleEndianMask + littleEndianMask, ) << 32n) | BigInt( dataView.getUint32(byteOffset, littleEndian) * littleEndianMask + - dataView.getUint32(byteOffset + 4, littleEndian) * bigEndianMask + dataView.getUint32(byteOffset + 4, littleEndian) * + bigEndianMask, ) ); } @@ -23,7 +24,7 @@ export function getBigInt64( export function getBigUint64( dataView: DataView, byteOffset: number, - littleEndian: boolean | undefined + littleEndian: boolean | undefined, ): bigint { const a = dataView.getUint32(byteOffset, littleEndian); const b = dataView.getUint32(byteOffset + 4, littleEndian); @@ -44,7 +45,7 @@ export function setBigInt64( dataView: DataView, byteOffset: number, value: bigint, - littleEndian: boolean | undefined + littleEndian: boolean | undefined, ) { const hi = Number(value >> 32n); const lo = Number(BigInt.asUintN(32, value)); @@ -62,7 +63,7 @@ export function setBigUint64( dataView: DataView, byteOffset: number, value: bigint, - littleEndian: boolean | undefined + littleEndian: boolean | undefined, ) { const hi = Number(value >> 32n); const lo = Number(BigInt.asUintN(32, value)); diff --git a/libraries/event/jest.config.js b/libraries/event/jest.config.js index 9a89fa6e..ebdcaf63 100644 --- a/libraries/event/jest.config.js +++ b/libraries/event/jest.config.js @@ -1,4 +1,4 @@ -/** @type {import('ts-jest').InitialOptionsTsJest} */ +/** @type {import('ts-jest').JestConfigWithTsJest} */ export default { preset: "ts-jest/presets/default-esm", transform: { diff --git a/libraries/event/package.json b/libraries/event/package.json index e4abcdd7..6d0e557c 100644 --- a/libraries/event/package.json +++ b/libraries/event/package.json @@ -34,17 +34,17 @@ }, "dependencies": { "@yume-chan/async": "^2.2.0", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { - "@jest/globals": "^29.5.0", + "@jest/globals": "^29.6.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "cross-env": "^7.0.3", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "ts-jest": "^29.0.4", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6" } } diff --git a/libraries/event/src/event-emitter.ts b/libraries/event/src/event-emitter.ts index 38c84bfb..d576bca5 100644 --- a/libraries/event/src/event-emitter.ts +++ b/libraries/event/src/event-emitter.ts @@ -11,7 +11,7 @@ export interface EventListenerInfo { export interface AddEventListener { ( - listener: EventListener + listener: EventListener, ): RemoveEventListener; ( listener: EventListener, @@ -28,7 +28,7 @@ export class EventEmitter implements Disposable { } protected addEventListener( - info: EventListenerInfo + info: EventListenerInfo, ): RemoveEventListener { this.listeners.push(info); @@ -44,7 +44,7 @@ export class EventEmitter implements Disposable { public event: AddEventListener = < TThis, - TArgs extends unknown[] + TArgs extends unknown[], >( listener: EventListener, thisArg?: TThis, diff --git a/libraries/event/src/event.ts b/libraries/event/src/event.ts index 12d9074d..3e89407d 100644 --- a/libraries/event/src/event.ts +++ b/libraries/event/src/event.ts @@ -4,7 +4,7 @@ export interface EventListener< TEvent, TThis, TArgs extends unknown[], - TResult + TResult, > { (this: TThis, e: TEvent, ...args: TArgs): TResult; } @@ -18,7 +18,7 @@ export interface Event { * Attaches an event listener. */ ( - listener: EventListener + listener: EventListener, ): RemoveEventListener; /** diff --git a/libraries/fetch-scrcpy-server/package.json b/libraries/fetch-scrcpy-server/package.json index 3be71464..b3e1efa9 100644 --- a/libraries/fetch-scrcpy-server/package.json +++ b/libraries/fetch-scrcpy-server/package.json @@ -30,6 +30,6 @@ "gh-release-fetch": "^3.0.2" }, "devDependencies": { - "@types/node": "^20.2.1" + "@types/node": "^20.4.0" } } diff --git a/libraries/pcm-player/jest.config.js b/libraries/pcm-player/jest.config.js index d3c43fff..ff68d1cb 100644 --- a/libraries/pcm-player/jest.config.js +++ b/libraries/pcm-player/jest.config.js @@ -1,4 +1,4 @@ -/** @type {import('ts-jest').InitialOptionsTsJest} */ +/** @type {import('ts-jest').JestConfigWithTsJest} */ export default { preset: "ts-jest/presets/default-esm", extensionsToTreatAsEsm: [".ts"], diff --git a/libraries/pcm-player/package.json b/libraries/pcm-player/package.json index 62627032..f6015e9d 100644 --- a/libraries/pcm-player/package.json +++ b/libraries/pcm-player/package.json @@ -31,18 +31,18 @@ "prepublishOnly": "npm run build" }, "dependencies": { - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { - "@jest/globals": "^29.5.0", - "@types/audioworklet": "^0.0.46", + "@jest/globals": "^29.6.1", + "@types/audioworklet": "^0.0.48", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "cross-env": "^7.0.3", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "ts-jest": "^29.0.4", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6" } } diff --git a/libraries/pcm-player/src/index.ts b/libraries/pcm-player/src/index.ts index 3918c77d..2b85525d 100644 --- a/libraries/pcm-player/src/index.ts +++ b/libraries/pcm-player/src/index.ts @@ -25,7 +25,7 @@ export abstract class PcmPlayer { public async start() { await this._context.audioWorklet.addModule( - new URL("./worker.js", import.meta.url) + new URL("./worker.js", import.meta.url), ); this._worklet = new AudioWorkletNode(this._context, this.sourceName, { @@ -70,7 +70,7 @@ export class Float32PcmPlayer extends PcmPlayer { protected override feedCore( worklet: AudioWorkletNode, - source: Float32Array + source: Float32Array, ) { if ( source.byteOffset !== 0 || @@ -89,7 +89,7 @@ export class Float32PlanerPcmPlayer extends PcmPlayer { protected override feedCore( worklet: AudioWorkletNode, - source: Float32Array[] + source: Float32Array[], ) { const buffers = source.map((channel) => { if ( diff --git a/libraries/scrcpy-decoder-tinyh264/jest.config.js b/libraries/scrcpy-decoder-tinyh264/jest.config.js index d3c43fff..ff68d1cb 100644 --- a/libraries/scrcpy-decoder-tinyh264/jest.config.js +++ b/libraries/scrcpy-decoder-tinyh264/jest.config.js @@ -1,4 +1,4 @@ -/** @type {import('ts-jest').InitialOptionsTsJest} */ +/** @type {import('ts-jest').JestConfigWithTsJest} */ export default { preset: "ts-jest/presets/default-esm", extensionsToTreatAsEsm: [".ts"], diff --git a/libraries/scrcpy-decoder-tinyh264/package.json b/libraries/scrcpy-decoder-tinyh264/package.json index ae2c9ef7..c8b37eb4 100644 --- a/libraries/scrcpy-decoder-tinyh264/package.json +++ b/libraries/scrcpy-decoder-tinyh264/package.json @@ -39,19 +39,19 @@ "@yume-chan/scrcpy": "workspace:^0.0.20", "@yume-chan/stream-extra": "workspace:^0.0.20", "tinyh264": "^0.0.7", - "tslib": "^2.5.2", + "tslib": "^2.6.0", "yuv-buffer": "^1.0.0", "yuv-canvas": "^1.2.11" }, "devDependencies": { - "@jest/globals": "^29.5.0", + "@jest/globals": "^29.6.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "cross-env": "^7.0.3", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "ts-jest": "^29.0.4", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6" } } diff --git a/libraries/scrcpy-decoder-tinyh264/src/decoder.ts b/libraries/scrcpy-decoder-tinyh264/src/decoder.ts index 1b6cfb37..e3286901 100644 --- a/libraries/scrcpy-decoder-tinyh264/src/decoder.ts +++ b/libraries/scrcpy-decoder-tinyh264/src/decoder.ts @@ -145,7 +145,7 @@ export class TinyH264Decoder implements ScrcpyVideoDecoder { format, YuvBuffer.lumaPlane(format, array, encodedWidth, 0), YuvBuffer.chromaPlane(format, array, chromaWidth, uPlaneOffset), - YuvBuffer.chromaPlane(format, array, chromaWidth, vPlaneOffset) + YuvBuffer.chromaPlane(format, array, chromaWidth, vPlaneOffset), ); this._yuvCanvas!.drawFrame(frame); }); diff --git a/libraries/scrcpy-decoder-tinyh264/src/libs.d.ts b/libraries/scrcpy-decoder-tinyh264/src/libs.d.ts index bac51d28..594d3f53 100644 --- a/libraries/scrcpy-decoder-tinyh264/src/libs.d.ts +++ b/libraries/scrcpy-decoder-tinyh264/src/libs.d.ts @@ -31,7 +31,7 @@ declare module "yuv-buffer" { format: YUVFormat, source: Uint8Array, stride: number, - offset: number + offset: number, ): YUVPlane; /** @@ -48,7 +48,7 @@ declare module "yuv-buffer" { format: YUVFormat, source: Uint8Array, stride: number, - offset: number + offset: number, ): YUVPlane; /** @@ -63,7 +63,7 @@ declare module "yuv-buffer" { format: YUVFormat, y: YUVPlane, u: YUVPlane, - v: YUVPlane + v: YUVPlane, ): YUVFrame; /** @@ -80,7 +80,7 @@ declare module "yuv-buffer" { * @returns {Array} - list of transferable objects */ export function transferables( - frame: YUVFrame + frame: YUVFrame, ): (ArrayBuffer | SharedArrayBuffer)[]; /** diff --git a/libraries/scrcpy-decoder-tinyh264/src/wrapper.ts b/libraries/scrcpy-decoder-tinyh264/src/wrapper.ts index 530d247d..a0060cca 100644 --- a/libraries/scrcpy-decoder-tinyh264/src/wrapper.ts +++ b/libraries/scrcpy-decoder-tinyh264/src/wrapper.ts @@ -24,7 +24,7 @@ const PICTURE_READY_SUBSCRIPTIONS = new Map< function subscribePictureReady( streamId: number, - handler: (e: PictureReadyEventArgs) => void + handler: (e: PictureReadyEventArgs) => void, ): Disposable { PICTURE_READY_SUBSCRIPTIONS.set(streamId, handler); @@ -49,7 +49,7 @@ export class TinyH264Wrapper extends AutoDisposable { this.streamId = streamId; this.addDisposable( - subscribePictureReady(streamId, this.handlePictureReady) + subscribePictureReady(streamId, this.handlePictureReady), ); } @@ -66,7 +66,7 @@ export class TinyH264Wrapper extends AutoDisposable { length: data.byteLength, renderStateId: this.streamId, }, - [data] + [data], ); } @@ -114,11 +114,11 @@ export function createTinyH264Wrapper(): Promise { break; case "pictureReady": PICTURE_READY_SUBSCRIPTIONS.get(data.renderStateId)?.( - data + data, ); break; } - } + }, ); } diff --git a/libraries/scrcpy-decoder-webcodecs/jest.config.js b/libraries/scrcpy-decoder-webcodecs/jest.config.js index d3c43fff..ff68d1cb 100644 --- a/libraries/scrcpy-decoder-webcodecs/jest.config.js +++ b/libraries/scrcpy-decoder-webcodecs/jest.config.js @@ -1,4 +1,4 @@ -/** @type {import('ts-jest').InitialOptionsTsJest} */ +/** @type {import('ts-jest').JestConfigWithTsJest} */ export default { preset: "ts-jest/presets/default-esm", extensionsToTreatAsEsm: [".ts"], diff --git a/libraries/scrcpy-decoder-webcodecs/package.json b/libraries/scrcpy-decoder-webcodecs/package.json index adc95193..9082d2aa 100644 --- a/libraries/scrcpy-decoder-webcodecs/package.json +++ b/libraries/scrcpy-decoder-webcodecs/package.json @@ -34,21 +34,21 @@ "prepublishOnly": "npm run build" }, "dependencies": { - "@types/dom-webcodecs": "^0.1.6", + "@types/dom-webcodecs": "^0.1.8", "@yume-chan/scrcpy": "workspace:^0.0.20", "@yume-chan/scrcpy-decoder-tinyh264": "workspace:^0.0.20", "@yume-chan/stream-extra": "workspace:^0.0.20", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { - "@jest/globals": "^29.5.0", + "@jest/globals": "^29.6.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "cross-env": "^7.0.3", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "ts-jest": "^29.0.4", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6" } } diff --git a/libraries/scrcpy-decoder-webcodecs/src/index.ts b/libraries/scrcpy-decoder-webcodecs/src/index.ts index b797b6b8..7c1c20cf 100644 --- a/libraries/scrcpy-decoder-webcodecs/src/index.ts +++ b/libraries/scrcpy-decoder-webcodecs/src/index.ts @@ -195,7 +195,7 @@ export class WebCodecsDecoder implements ScrcpyVideoDecoder { let data: Uint8Array; if (this._config !== undefined) { data = new Uint8Array( - this._config.byteLength + packet.data.byteLength + this._config.byteLength + packet.data.byteLength, ); data.set(this._config, 0); data.set(packet.data, this._config.byteLength); @@ -210,7 +210,7 @@ export class WebCodecsDecoder implements ScrcpyVideoDecoder { type: packet.keyframe === false ? "delta" : "key", timestamp: 0, data, - }) + }), ); } diff --git a/libraries/scrcpy/jest.config.js b/libraries/scrcpy/jest.config.js index d3c43fff..ff68d1cb 100644 --- a/libraries/scrcpy/jest.config.js +++ b/libraries/scrcpy/jest.config.js @@ -1,4 +1,4 @@ -/** @type {import('ts-jest').InitialOptionsTsJest} */ +/** @type {import('ts-jest').JestConfigWithTsJest} */ export default { preset: "ts-jest/presets/default-esm", extensionsToTreatAsEsm: [".ts"], diff --git a/libraries/scrcpy/package.json b/libraries/scrcpy/package.json index 399be94a..971a3b65 100644 --- a/libraries/scrcpy/package.json +++ b/libraries/scrcpy/package.json @@ -38,19 +38,19 @@ "dependencies": { "@yume-chan/stream-extra": "workspace:^0.0.20", "@yume-chan/struct": "workspace:^0.0.20", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { - "@jest/globals": "^29.5.0", + "@jest/globals": "^29.6.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "cross-env": "^7.0.3", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "gh-release-fetch": "^3.0.2", "jest": "^29.5.0", - "prettier": "^2.8.8", - "ts-jest": "^29.0.4", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6" }, "peerDependencies": { "gh-release-fetch": "^3.0.2" diff --git a/libraries/scrcpy/src/codec/h265.ts b/libraries/scrcpy/src/codec/h265.ts index 090b2674..e9531094 100644 --- a/libraries/scrcpy/src/codec/h265.ts +++ b/libraries/scrcpy/src/codec/h265.ts @@ -130,7 +130,7 @@ export function h265ParseVideoParameterSet(nalu: Uint8Array) { const profileTierLevel = h265ParseProfileTierLevel( reader, true, - vps_max_sub_layers_minus1 + vps_max_sub_layers_minus1, ); const vps_sub_layer_ordering_info_present_flag = !!reader.next(); @@ -193,7 +193,7 @@ export function h265ParseVideoParameterSet(nalu: Uint8Array) { hrdParameters[i] = h265ParseHrdParameters( reader, cprms_present_flag[i]!, - vps_max_sub_layers_minus1 + vps_max_sub_layers_minus1, ); } } @@ -245,7 +245,7 @@ export function h265ParseSequenceParameterSet(nalu: Uint8Array) { const profileTierLevel = h265ParseProfileTierLevel( reader, true, - sps_max_sub_layers_minus1 + sps_max_sub_layers_minus1, ); const sps_seq_parameter_set_id = reader.decodeExponentialGolombNumber(); @@ -345,7 +345,7 @@ export function h265ParseSequenceParameterSet(nalu: Uint8Array) { reader, i, num_short_term_ref_pic_sets, - shortTermRefPicSets + shortTermRefPicSets, ); } @@ -359,7 +359,7 @@ export function h265ParseSequenceParameterSet(nalu: Uint8Array) { used_by_curr_pic_lt_sps_flag = []; for (let i = 0; i < num_long_term_ref_pics_sps; i += 1) { lt_ref_pic_poc_lsb_sps[i] = reader.read( - log2_max_pic_order_cnt_lsb_minus4 + 4 + log2_max_pic_order_cnt_lsb_minus4 + 4, ); used_by_curr_pic_lt_sps_flag[i] = !!reader.next(); } @@ -624,22 +624,22 @@ export interface H265ProfileTierLevel { function h265ParseProfileTierLevel( reader: NaluSodbBitReader, profilePresentFlag: true, - maxNumSubLayersMinus1: number + maxNumSubLayersMinus1: number, ): H265ProfileTierLevel & { generalProfileTier: H265ProfileTier }; function h265ParseProfileTierLevel( reader: NaluSodbBitReader, profilePresentFlag: false, - maxNumSubLayersMinus1: number + maxNumSubLayersMinus1: number, ): H265ProfileTierLevel & { generalProfileTier: undefined }; function h265ParseProfileTierLevel( reader: NaluSodbBitReader, profilePresentFlag: boolean, - maxNumSubLayersMinus1: number + maxNumSubLayersMinus1: number, ): H265ProfileTierLevel; function h265ParseProfileTierLevel( reader: NaluSodbBitReader, profilePresentFlag: boolean, - maxNumSubLayersMinus1: number + maxNumSubLayersMinus1: number, ): H265ProfileTierLevel { let generalProfileTier: H265ProfileTier | undefined; if (profilePresentFlag) { @@ -739,7 +739,7 @@ export function h265ParseShortTermReferencePictureSet( reader: NaluSodbBitReader, stRpsIdx: number, num_short_term_ref_pic_sets: number, - sets: ShortTermReferencePictureSet[] + sets: ShortTermReferencePictureSet[], ): ShortTermReferencePictureSet { let inter_ref_pic_set_prediction_flag = false; if (stRpsIdx !== 0) { @@ -1058,7 +1058,7 @@ export type H265VuiParameters = ReturnType; export function h265ParseHrdParameters( reader: NaluSodbBitReader, commonInfPresentFlag: boolean, - maxNumSubLayersMinus1: number + maxNumSubLayersMinus1: number, ) { let nal_hrd_parameters_present_flag: boolean | undefined; let vcl_hrd_parameters_present_flag: boolean | undefined; @@ -1125,14 +1125,14 @@ export function h265ParseHrdParameters( nalHrdParameters[i] = h265ParseSubLayerHrdParameters( reader, i, - getCpbCnt(cpb_cnt_minus1[i]!) + getCpbCnt(cpb_cnt_minus1[i]!), ); } if (vcl_hrd_parameters_present_flag) { vclHrdParameters[i] = h265ParseSubLayerHrdParameters( reader, i, - getCpbCnt(cpb_cnt_minus1[i]!) + getCpbCnt(cpb_cnt_minus1[i]!), ); } } @@ -1169,7 +1169,7 @@ export type H265HrdParameters = ReturnType; export function h265ParseSubLayerHrdParameters( reader: NaluSodbBitReader, subLayerId: number, - CpbCnt: number + CpbCnt: number, ) { const bit_rate_value_minus1: number[] = []; const cpb_size_value_minus1: number[] = []; diff --git a/libraries/scrcpy/src/codec/nalu.spec.ts b/libraries/scrcpy/src/codec/nalu.spec.ts index 2dacedc8..43d02140 100644 --- a/libraries/scrcpy/src/codec/nalu.spec.ts +++ b/libraries/scrcpy/src/codec/nalu.spec.ts @@ -6,13 +6,13 @@ describe("nalu", () => { describe.only("NaluSodbReader", () => { it("should throw error if no end bit found", () => { expect( - () => new NaluSodbBitReader(new Uint8Array([0b00000000])) + () => new NaluSodbBitReader(new Uint8Array([0b00000000])), ).toThrowError(); expect( () => new NaluSodbBitReader( - new Uint8Array([0b00000000, 0b00000000]) - ) + new Uint8Array([0b00000000, 0b00000000]), + ), ).toThrowError(); }); @@ -21,7 +21,7 @@ describe("nalu", () => { expect(() => reader.next()).toThrowError(); reader = new NaluSodbBitReader( - new Uint8Array([0b11111111, 0b10000000]) + new Uint8Array([0b11111111, 0b10000000]), ); for (let i = 0; i < 8; i += 1) { expect(reader.next()).toBe(1); @@ -31,7 +31,7 @@ describe("nalu", () => { it("should skip emulation prevent byte", () => { const reader = new NaluSodbBitReader( - new Uint8Array([0xff, 0x00, 0x00, 0x03, 0xff, 0x80]) + new Uint8Array([0xff, 0x00, 0x00, 0x03, 0xff, 0x80]), ); for (let i = 0; i < 8; i += 1) { expect(reader.next()).toBe(1); @@ -48,7 +48,7 @@ describe("nalu", () => { const reader = new NaluSodbBitReader( new Uint8Array([ 0xff, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0xff, 0x80, - ]) + ]), ); for (let i = 0; i < 8; i += 1) { expect(reader.next()).toBe(1); diff --git a/libraries/scrcpy/src/control/hover-helper.ts b/libraries/scrcpy/src/control/hover-helper.ts index cca31226..652736dc 100644 --- a/libraries/scrcpy/src/control/hover-helper.ts +++ b/libraries/scrcpy/src/control/hover-helper.ts @@ -21,7 +21,7 @@ export class ScrcpyHoverHelper { private lastHoverMessage: ScrcpyInjectTouchControlMessage | undefined; public process( - message: Omit + message: Omit, ): ScrcpyInjectTouchControlMessage[] { const result: ScrcpyInjectTouchControlMessage[] = []; diff --git a/libraries/scrcpy/src/control/serializer.ts b/libraries/scrcpy/src/control/serializer.ts index e11d36f6..68f9612c 100644 --- a/libraries/scrcpy/src/control/serializer.ts +++ b/libraries/scrcpy/src/control/serializer.ts @@ -28,13 +28,13 @@ export class ScrcpyControlMessageSerializer { } public injectKeyCode( - message: Omit + message: Omit, ) { return ScrcpyInjectKeyCodeControlMessage.serialize( this._typeValues.fillMessageType( message, - ScrcpyControlMessageType.InjectKeyCode - ) + ScrcpyControlMessageType.InjectKeyCode, + ), ); } @@ -52,8 +52,8 @@ export class ScrcpyControlMessageSerializer { return this._options.serializeInjectTouchControlMessage( this._typeValues.fillMessageType( message, - ScrcpyControlMessageType.InjectTouch - ) + ScrcpyControlMessageType.InjectTouch, + ), ); } @@ -61,13 +61,13 @@ export class ScrcpyControlMessageSerializer { * `scrollX` and `scrollY` are float values between 0 and 1. */ public injectScroll( - message: Omit + message: Omit, ) { return this._scrollController.serializeScrollMessage( this._typeValues.fillMessageType( message, - ScrcpyControlMessageType.InjectScroll - ) + ScrcpyControlMessageType.InjectScroll, + ), ); } @@ -82,7 +82,7 @@ export class ScrcpyControlMessageSerializer { return ScrcpySetScreenPowerModeControlMessage.serialize({ mode, type: this._typeValues.get( - ScrcpyControlMessageType.SetScreenPowerMode + ScrcpyControlMessageType.SetScreenPowerMode, ), }); } diff --git a/libraries/scrcpy/src/control/type.ts b/libraries/scrcpy/src/control/type.ts index 1683c8f6..1286ba92 100644 --- a/libraries/scrcpy/src/control/type.ts +++ b/libraries/scrcpy/src/control/type.ts @@ -41,7 +41,7 @@ export class ScrcpyControlMessageTypeValue { public fillMessageType( message: Omit, - type: T["type"] + type: T["type"], ): T { (message as T).type = this.get(type); return message as T; diff --git a/libraries/scrcpy/src/control/writer.ts b/libraries/scrcpy/src/control/writer.ts index a7e42da7..57952020 100644 --- a/libraries/scrcpy/src/control/writer.ts +++ b/libraries/scrcpy/src/control/writer.ts @@ -21,7 +21,7 @@ export class ScrcpyControlMessageWriter { public constructor( writer: WritableStreamDefaultWriter>, - options: ScrcpyOptions + options: ScrcpyOptions, ) { this._writer = writer; this._serializer = new ScrcpyControlMessageSerializer(options); @@ -32,7 +32,7 @@ export class ScrcpyControlMessageWriter { } public async injectKeyCode( - message: Omit + message: Omit, ) { await this.write(this._serializer.injectKeyCode(message)); } @@ -45,7 +45,7 @@ export class ScrcpyControlMessageWriter { * `pressure` is a float value between 0 and 1. */ public async injectTouch( - message: Omit + message: Omit, ) { await this.write(this._serializer.injectTouch(message)); } @@ -54,7 +54,7 @@ export class ScrcpyControlMessageWriter { * `scrollX` and `scrollY` are float values between 0 and 1. */ public async injectScroll( - message: Omit + message: Omit, ) { const data = this._serializer.injectScroll(message); if (data) { diff --git a/libraries/scrcpy/src/device-message/stream.ts b/libraries/scrcpy/src/device-message/stream.ts index f08dcd27..af1ceff6 100644 --- a/libraries/scrcpy/src/device-message/stream.ts +++ b/libraries/scrcpy/src/device-message/stream.ts @@ -21,11 +21,11 @@ export class ScrcpyDeviceMessageDeserializeStream extends BufferedTransformStrea switch (type[0]) { case ScrcpyDeviceMessageType.Clipboard: return await ScrcpyClipboardDeviceMessage.deserialize( - stream + stream, ); case ScrcpyDeviceMessageType.AckClipboard: return await ScrcpyAckClipboardDeviceMessage.deserialize( - stream + stream, ); default: throw new Error("Unsupported control message type"); diff --git a/libraries/scrcpy/src/options/1_16/codec-options.ts b/libraries/scrcpy/src/options/1_16/codec-options.ts index 6087494b..98e11b31 100644 --- a/libraries/scrcpy/src/options/1_16/codec-options.ts +++ b/libraries/scrcpy/src/options/1_16/codec-options.ts @@ -35,7 +35,7 @@ export class CodecOptions implements ScrcpyOptionValue { public toOptionValue(): string | undefined { const entries = Object.entries(this.value).filter( - ([, value]) => value !== undefined + ([, value]) => value !== undefined, ); if (entries.length === 0) { diff --git a/libraries/scrcpy/src/options/1_16/float-to-uint16.ts b/libraries/scrcpy/src/options/1_16/float-to-uint16.ts index 38940506..3f21625a 100644 --- a/libraries/scrcpy/src/options/1_16/float-to-uint16.ts +++ b/libraries/scrcpy/src/options/1_16/float-to-uint16.ts @@ -29,5 +29,5 @@ export const ScrcpyFloatToUint16NumberType: NumberFieldType = { }; export const ScrcpyFloatToUint16FieldDefinition = new NumberFieldDefinition( - ScrcpyFloatToUint16NumberType + ScrcpyFloatToUint16NumberType, ); diff --git a/libraries/scrcpy/src/options/1_16/options.ts b/libraries/scrcpy/src/options/1_16/options.ts index fdd9615c..cbf3531c 100644 --- a/libraries/scrcpy/src/options/1_16/options.ts +++ b/libraries/scrcpy/src/options/1_16/options.ts @@ -76,7 +76,7 @@ export class ScrcpyOptions1_16 implements ScrcpyOptions { public static async parseCString( stream: AsyncExactReadable, - maxLength: number + maxLength: number, ): Promise { let result = decodeUtf8(await stream.readExactly(maxLength)); result = result.substring(0, result.indexOf("\0")); @@ -84,14 +84,14 @@ export class ScrcpyOptions1_16 implements ScrcpyOptions { } public static async parseUint16BE( - stream: AsyncExactReadable + stream: AsyncExactReadable, ): Promise { const buffer = await stream.readExactly(NumberFieldType.Uint16.size); return NumberFieldType.Uint16.deserialize(buffer, false); } public static async parseUint32BE( - stream: AsyncExactReadable + stream: AsyncExactReadable, ): Promise { const buffer = await stream.readExactly(NumberFieldType.Uint32.size); return NumberFieldType.Uint32.deserialize(buffer, false); @@ -112,7 +112,7 @@ export class ScrcpyOptions1_16 implements ScrcpyOptions { public serialize(): string[] { return ScrcpyOptions1_16.serialize( this.value, - ScrcpyOptions1_16.SERIALIZE_ORDER + ScrcpyOptions1_16.SERIALIZE_ORDER, ); } @@ -143,7 +143,7 @@ export class ScrcpyOptions1_16 implements ScrcpyOptions { } public parseVideoStreamMetadata( - stream: ReadableStream + stream: ReadableStream, ): ValueOrPromise { return (async () => { const buffered = new BufferedReadableStream(stream); @@ -152,7 +152,7 @@ export class ScrcpyOptions1_16 implements ScrcpyOptions { }; metadata.deviceName = await ScrcpyOptions1_16.parseCString( buffered, - 64 + 64, ); metadata.width = await ScrcpyOptions1_16.parseUint16BE(buffered); metadata.height = await ScrcpyOptions1_16.parseUint16BE(buffered); @@ -181,7 +181,7 @@ export class ScrcpyOptions1_16 implements ScrcpyOptions { } const deserializeStream = new StructDeserializeStream( - ScrcpyMediaStreamRawPacket + ScrcpyMediaStreamRawPacket, ); return { writable: deserializeStream.writable, @@ -202,19 +202,19 @@ export class ScrcpyOptions1_16 implements ScrcpyOptions { data: packet.data, }); }, - }) + }), ), }; } public serializeInjectTouchControlMessage( - message: ScrcpyInjectTouchControlMessage + message: ScrcpyInjectTouchControlMessage, ): Uint8Array { return ScrcpyInjectTouchControlMessage1_16.serialize(message); } public serializeBackOrScreenOnControlMessage( - message: ScrcpyBackOrScreenOnControlMessage + message: ScrcpyBackOrScreenOnControlMessage, ) { if (message.action === AndroidKeyEventAction.Down) { return ScrcpyBackOrScreenOnControlMessage1_16.serialize(message); @@ -224,7 +224,7 @@ export class ScrcpyOptions1_16 implements ScrcpyOptions { } public serializeSetClipboardControlMessage( - message: ScrcpySetClipboardControlMessage + message: ScrcpySetClipboardControlMessage, ): Uint8Array { return ScrcpySetClipboardControlMessage1_15.serialize(message); } diff --git a/libraries/scrcpy/src/options/1_16/scroll.ts b/libraries/scrcpy/src/options/1_16/scroll.ts index 1877828c..d506d0ca 100644 --- a/libraries/scrcpy/src/options/1_16/scroll.ts +++ b/libraries/scrcpy/src/options/1_16/scroll.ts @@ -4,7 +4,7 @@ import type { ScrcpyInjectScrollControlMessage } from "../../control/index.js"; export interface ScrcpyScrollController { serializeScrollMessage( - message: ScrcpyInjectScrollControlMessage + message: ScrcpyInjectScrollControlMessage, ): Uint8Array | undefined; } @@ -28,7 +28,7 @@ export class ScrcpyScrollController1_16 implements ScrcpyScrollController { private accumulatedY = 0; protected processMessage( - message: ScrcpyInjectScrollControlMessage + message: ScrcpyInjectScrollControlMessage, ): ScrcpyInjectScrollControlMessage | undefined { this.accumulatedX += message.scrollX; this.accumulatedY += message.scrollY; @@ -61,7 +61,7 @@ export class ScrcpyScrollController1_16 implements ScrcpyScrollController { } public serializeScrollMessage( - message: ScrcpyInjectScrollControlMessage + message: ScrcpyInjectScrollControlMessage, ): Uint8Array | undefined { const processed = this.processMessage(message); if (!processed) { diff --git a/libraries/scrcpy/src/options/1_17.ts b/libraries/scrcpy/src/options/1_17.ts index 91e9cb56..fe36d94c 100644 --- a/libraries/scrcpy/src/options/1_17.ts +++ b/libraries/scrcpy/src/options/1_17.ts @@ -23,7 +23,7 @@ export class ScrcpyOptions1_17 extends ScrcpyOptionsBase< public static parseEncoder( line: string, - encoderNameRegex: RegExp + encoderNameRegex: RegExp, ): ScrcpyEncoder | undefined { const match = line.match(encoderNameRegex); if (match) { @@ -46,7 +46,7 @@ export class ScrcpyOptions1_17 extends ScrcpyOptionsBase< public override serialize(): string[] { return ScrcpyOptions1_16.serialize( this.value, - ScrcpyOptions1_17.SERIALIZE_ORDER + ScrcpyOptions1_17.SERIALIZE_ORDER, ); } @@ -60,7 +60,7 @@ export class ScrcpyOptions1_17 extends ScrcpyOptionsBase< public override parseEncoder(line: string): ScrcpyEncoder | undefined { return ScrcpyOptions1_17.parseEncoder( line, - /\s+scrcpy --encoder-name '(.*?)'/ + /\s+scrcpy --encoder-name '(.*?)'/, ); } } diff --git a/libraries/scrcpy/src/options/1_18.ts b/libraries/scrcpy/src/options/1_18.ts index 38b9def0..a2a439fd 100644 --- a/libraries/scrcpy/src/options/1_18.ts +++ b/libraries/scrcpy/src/options/1_18.ts @@ -56,7 +56,7 @@ export const SCRCPY_CONTROL_MESSAGE_TYPES_1_18 = SCRCPY_CONTROL_MESSAGE_TYPES_1_18.splice( 6, 0, - ScrcpyControlMessageType.ExpandSettingPanel + ScrcpyControlMessageType.ExpandSettingPanel, ); const LOG_LEVEL_MAP = { @@ -111,26 +111,26 @@ export class ScrcpyOptions1_18 extends ScrcpyOptionsBase< lockVideoOrientation: VIDEO_ORIENTATION_MAP[value.lockVideoOrientation], }), - value + value, ); } public override serialize(): string[] { return ScrcpyOptions1_16.serialize( this.value, - ScrcpyOptions1_18.SERIALIZE_ORDER + ScrcpyOptions1_18.SERIALIZE_ORDER, ); } public override parseEncoder(line: string): ScrcpyEncoder | undefined { return ScrcpyOptions1_17.parseEncoder( line, - /\s+scrcpy --encoder '(.*?)'/ + /\s+scrcpy --encoder '(.*?)'/, ); } public override serializeBackOrScreenOnControlMessage( - message: ScrcpyBackOrScreenOnControlMessage + message: ScrcpyBackOrScreenOnControlMessage, ) { return ScrcpyBackOrScreenOnControlMessage1_18.serialize(message); } diff --git a/libraries/scrcpy/src/options/1_21.ts b/libraries/scrcpy/src/options/1_21.ts index a86b6484..e127ffb4 100644 --- a/libraries/scrcpy/src/options/1_21.ts +++ b/libraries/scrcpy/src/options/1_21.ts @@ -37,7 +37,7 @@ export class ScrcpyOptions1_21 extends ScrcpyOptionsBase< public static serialize( options: T, - defaults: Required + defaults: Required, ): string[] { // 1.21 changed the format of arguments const result: string[] = []; @@ -49,7 +49,7 @@ export class ScrcpyOptions1_21 extends ScrcpyOptionsBase< const defaultValue = toScrcpyOptionValue( defaults[key as keyof T], - undefined + undefined, ); if (serializedValue == defaultValue) { continue; @@ -76,7 +76,7 @@ export class ScrcpyOptions1_21 extends ScrcpyOptionsBase< } public override serializeSetClipboardControlMessage( - message: ScrcpySetClipboardControlMessage + message: ScrcpySetClipboardControlMessage, ): Uint8Array { return ScrcpySetClipboardControlMessage1_21.serialize(message); } diff --git a/libraries/scrcpy/src/options/1_22/options.spec.ts b/libraries/scrcpy/src/options/1_22/options.spec.ts index 0cf31a1c..7e743bc0 100644 --- a/libraries/scrcpy/src/options/1_22/options.spec.ts +++ b/libraries/scrcpy/src/options/1_22/options.spec.ts @@ -7,10 +7,10 @@ import { ScrcpyOptions1_22 } from "./options.js"; describe("ScrcpyOptions1_22", () => { it("should return a different scroll controller", () => { const controller1_21 = new ScrcpyOptions1_21( - {} + {}, ).createScrollController(); const controller1_22 = new ScrcpyOptions1_22( - {} + {}, ).createScrollController(); expect(controller1_22).not.toBe(controller1_21); }); diff --git a/libraries/scrcpy/src/options/1_22/options.ts b/libraries/scrcpy/src/options/1_22/options.ts index 6a8070e2..194b4ced 100644 --- a/libraries/scrcpy/src/options/1_22/options.ts +++ b/libraries/scrcpy/src/options/1_22/options.ts @@ -33,7 +33,7 @@ export class ScrcpyOptions1_22 extends ScrcpyOptionsBase< } public override parseVideoStreamMetadata( - stream: ReadableStream + stream: ReadableStream, ): ValueOrPromise { if (!this.value.sendDeviceMeta) { return { stream, metadata: { codec: ScrcpyVideoCodecId.H264 } }; diff --git a/libraries/scrcpy/src/options/1_22/scroll.ts b/libraries/scrcpy/src/options/1_22/scroll.ts index 4a65ff9d..6b2edc13 100644 --- a/libraries/scrcpy/src/options/1_22/scroll.ts +++ b/libraries/scrcpy/src/options/1_22/scroll.ts @@ -14,7 +14,7 @@ export type ScrcpyInjectScrollControlMessage1_22 = export class ScrcpyScrollController1_22 extends ScrcpyScrollController1_16 { public override serializeScrollMessage( - message: ScrcpyInjectScrollControlMessage1_22 + message: ScrcpyInjectScrollControlMessage1_22, ): Uint8Array | undefined { const processed = this.processMessage(message); if (!processed) { diff --git a/libraries/scrcpy/src/options/1_23.ts b/libraries/scrcpy/src/options/1_23.ts index 0b2d2177..fb44cf2b 100644 --- a/libraries/scrcpy/src/options/1_23.ts +++ b/libraries/scrcpy/src/options/1_23.ts @@ -61,7 +61,7 @@ export class ScrcpyOptions1_23 extends ScrcpyOptionsBase< controller.enqueue(packet); }, - }) + }), ), }; } diff --git a/libraries/scrcpy/src/options/1_25/options.spec.ts b/libraries/scrcpy/src/options/1_25/options.spec.ts index bcee0c80..1b79a76a 100644 --- a/libraries/scrcpy/src/options/1_25/options.spec.ts +++ b/libraries/scrcpy/src/options/1_25/options.spec.ts @@ -7,10 +7,10 @@ import { ScrcpyOptions1_25 } from "./options.js"; describe("ScrcpyOptions1_25", () => { it("should return a different scroll controller", () => { const controller1_24 = new ScrcpyOptions1_24( - {} + {}, ).createScrollController(); const controller1_25 = new ScrcpyOptions1_25( - {} + {}, ).createScrollController(); expect(controller1_25).not.toBe(controller1_24); }); diff --git a/libraries/scrcpy/src/options/1_25/scroll.ts b/libraries/scrcpy/src/options/1_25/scroll.ts index b583bc7e..92380f70 100644 --- a/libraries/scrcpy/src/options/1_25/scroll.ts +++ b/libraries/scrcpy/src/options/1_25/scroll.ts @@ -25,7 +25,7 @@ export const ScrcpyFloatToInt16NumberType: NumberFieldType = { }; const ScrcpyFloatToInt16FieldDefinition = new NumberFieldDefinition( - ScrcpyFloatToInt16NumberType + ScrcpyFloatToInt16NumberType, ); export const ScrcpyInjectScrollControlMessage1_25 = new Struct() @@ -43,7 +43,7 @@ export type ScrcpyInjectScrollControlMessage1_25 = export class ScrcpyScrollController1_25 implements ScrcpyScrollController { serializeScrollMessage( - message: ScrcpyInjectScrollControlMessage + message: ScrcpyInjectScrollControlMessage, ): Uint8Array | undefined { return ScrcpyInjectScrollControlMessage1_25.serialize(message); } diff --git a/libraries/scrcpy/src/options/2_0.ts b/libraries/scrcpy/src/options/2_0.ts index a85d7c4d..bc1cdfab 100644 --- a/libraries/scrcpy/src/options/2_0.ts +++ b/libraries/scrcpy/src/options/2_0.ts @@ -91,7 +91,7 @@ export interface ScrcpyOptionsInit2_0 function omit( obj: T, - keys: K[] + keys: K[], ): Omit { const result: Record = {}; for (const key in obj) { @@ -155,7 +155,7 @@ export class ScrcpyOptions2_0 extends ScrcpyOptionsBase< public override parseEncoder(line: string): ScrcpyEncoder | undefined { let match = line.match( - /\s+--video-codec=(.*)\s+--video-encoder='(.*)'/ + /\s+--video-codec=(.*)\s+--video-encoder='(.*)'/, ); if (match) { return { @@ -192,7 +192,7 @@ export class ScrcpyOptions2_0 extends ScrcpyOptionsBase< } public override parseVideoStreamMetadata( - stream: ReadableStream + stream: ReadableStream, ): ValueOrPromise { const { sendDeviceMeta, sendCodecMeta } = this.value; if (!sendDeviceMeta && !sendCodecMeta) { @@ -250,17 +250,17 @@ export class ScrcpyOptions2_0 extends ScrcpyOptionsBase< } public override parseAudioStreamMetadata( - stream: ReadableStream + stream: ReadableStream, ): ValueOrPromise { return (async (): Promise => { const buffered = new BufferedReadableStream(stream); const buffer = await buffered.readExactly( - NumberFieldType.Uint32.size + NumberFieldType.Uint32.size, ); const codecMetadataValue = NumberFieldType.Uint32.deserialize( buffer, - false + false, ); // Server will send `0x00_00_00_00` and `0x00_00_00_01` even if `sendCodecMeta` is false switch (codecMetadataValue) { @@ -288,7 +288,7 @@ export class ScrcpyOptions2_0 extends ScrcpyOptionsBase< break; default: throw new Error( - `Unknown audio codec metadata value: ${codecMetadataValue}` + `Unknown audio codec metadata value: ${codecMetadataValue}`, ); } return { @@ -328,14 +328,14 @@ export class ScrcpyOptions2_0 extends ScrcpyOptionsBase< } await controller.enqueue(value); } - } + }, ), }; })(); } public override serializeInjectTouchControlMessage( - message: ScrcpyInjectTouchControlMessage + message: ScrcpyInjectTouchControlMessage, ): Uint8Array { return ScrcpyInjectTouchControlMessage2_0.serialize(message); } diff --git a/libraries/scrcpy/src/options/codec.ts b/libraries/scrcpy/src/options/codec.ts index ee4ad5ae..5288e584 100644 --- a/libraries/scrcpy/src/options/codec.ts +++ b/libraries/scrcpy/src/options/codec.ts @@ -25,19 +25,19 @@ export class ScrcpyAudioCodec implements ScrcpyOptionValue { "opus", 0x6f_70_75_73, "audio/opus", - "opus" + "opus", ); public static readonly AAC = new ScrcpyAudioCodec( "aac", 0x00_61_61_63, "audio/aac", - "mp4a.66" + "mp4a.66", ); public static readonly RAW = new ScrcpyAudioCodec( "raw", 0x00_72_61_77, "audio/raw", - "1" + "1", ); public readonly optionValue: string; @@ -49,7 +49,7 @@ export class ScrcpyAudioCodec implements ScrcpyOptionValue { optionValue: string, metadataValue: number, mimeType: string, - webCodecId: string + webCodecId: string, ) { this.optionValue = optionValue; this.metadataValue = metadataValue; diff --git a/libraries/scrcpy/src/options/types.ts b/libraries/scrcpy/src/options/types.ts index 24bb80bf..e66193c2 100644 --- a/libraries/scrcpy/src/options/types.ts +++ b/libraries/scrcpy/src/options/types.ts @@ -22,7 +22,7 @@ export interface ScrcpyOptionValue { } export function isScrcpyOptionValue( - value: unknown + value: unknown, ): value is ScrcpyOptionValue { return ( typeof value === "object" && @@ -96,11 +96,11 @@ export interface ScrcpyOptions { * The returned video stream may be different from the input stream, and should be used for further processing. */ parseVideoStreamMetadata( - stream: ReadableStream + stream: ReadableStream, ): ValueOrPromise; parseAudioStreamMetadata( - stream: ReadableStream + stream: ReadableStream, ): ValueOrPromise; createMediaStreamTransformer(): TransformStream< @@ -109,15 +109,15 @@ export interface ScrcpyOptions { >; serializeInjectTouchControlMessage( - message: ScrcpyInjectTouchControlMessage + message: ScrcpyInjectTouchControlMessage, ): Uint8Array; serializeBackOrScreenOnControlMessage( - message: ScrcpyBackOrScreenOnControlMessage + message: ScrcpyBackOrScreenOnControlMessage, ): Uint8Array | undefined; serializeSetClipboardControlMessage( - message: ScrcpySetClipboardControlMessage + message: ScrcpySetClipboardControlMessage, ): Uint8Array; createScrollController(): ScrcpyScrollController; @@ -125,7 +125,7 @@ export interface ScrcpyOptions { export abstract class ScrcpyOptionsBase< T extends object, - B extends ScrcpyOptions + B extends ScrcpyOptions, > implements ScrcpyOptions { protected _base: B; @@ -170,13 +170,13 @@ export abstract class ScrcpyOptionsBase< * The returned video stream may be different from the input stream, and should be used for further processing. */ public parseVideoStreamMetadata( - stream: ReadableStream + stream: ReadableStream, ): ValueOrPromise { return this._base.parseVideoStreamMetadata(stream); } public parseAudioStreamMetadata( - stream: ReadableStream + stream: ReadableStream, ): ValueOrPromise { return this._base.parseAudioStreamMetadata(stream); } @@ -189,19 +189,19 @@ export abstract class ScrcpyOptionsBase< } public serializeInjectTouchControlMessage( - message: ScrcpyInjectTouchControlMessage + message: ScrcpyInjectTouchControlMessage, ): Uint8Array { return this._base.serializeInjectTouchControlMessage(message); } public serializeBackOrScreenOnControlMessage( - message: ScrcpyBackOrScreenOnControlMessage + message: ScrcpyBackOrScreenOnControlMessage, ): Uint8Array | undefined { return this._base.serializeBackOrScreenOnControlMessage(message); } public serializeSetClipboardControlMessage( - message: ScrcpySetClipboardControlMessage + message: ScrcpySetClipboardControlMessage, ): Uint8Array { return this._base.serializeSetClipboardControlMessage(message); } diff --git a/libraries/stream-extra/jest.config.js b/libraries/stream-extra/jest.config.js index d3c43fff..ff68d1cb 100644 --- a/libraries/stream-extra/jest.config.js +++ b/libraries/stream-extra/jest.config.js @@ -1,4 +1,4 @@ -/** @type {import('ts-jest').InitialOptionsTsJest} */ +/** @type {import('ts-jest').JestConfigWithTsJest} */ export default { preset: "ts-jest/presets/default-esm", extensionsToTreatAsEsm: [".ts"], diff --git a/libraries/stream-extra/package.json b/libraries/stream-extra/package.json index 9fd7e480..f16e95c7 100644 --- a/libraries/stream-extra/package.json +++ b/libraries/stream-extra/package.json @@ -34,18 +34,18 @@ "dependencies": { "@yume-chan/async": "^2.2.0", "@yume-chan/struct": "workspace:^0.0.20", - "tslib": "^2.5.2", + "tslib": "^2.6.0", "web-streams-polyfill": "^4.0.0-beta.3" }, "devDependencies": { - "@jest/globals": "^29.5.0", + "@jest/globals": "^29.6.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "cross-env": "^7.0.3", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "ts-jest": "^29.0.4", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6" } } diff --git a/libraries/stream-extra/src/buffered-transform.ts b/libraries/stream-extra/src/buffered-transform.ts index 897dbecc..94989fe8 100644 --- a/libraries/stream-extra/src/buffered-transform.ts +++ b/libraries/stream-extra/src/buffered-transform.ts @@ -22,7 +22,7 @@ export class BufferedTransformStream } constructor( - transform: (stream: BufferedReadableStream) => ValueOrPromise + transform: (stream: BufferedReadableStream) => ValueOrPromise, ) { // Convert incoming chunks to a `BufferedReadableStream` let sourceStreamController!: PushReadableStreamController; @@ -30,7 +30,7 @@ export class BufferedTransformStream const buffered = new BufferedReadableStream( new PushReadableStream((controller) => { sourceStreamController = controller; - }) + }), ); this.#readable = new ReadableStream({ diff --git a/libraries/stream-extra/src/concat.spec.ts b/libraries/stream-extra/src/concat.spec.ts index ef1286c5..06c08391 100644 --- a/libraries/stream-extra/src/concat.spec.ts +++ b/libraries/stream-extra/src/concat.spec.ts @@ -50,7 +50,7 @@ describe("ConcatStringStream", () => { await stream.writable.getWriter().abort(reason); await expect(stream.readable).rejects.toBe(reason); await expect(() => stream.readable.getReader().read()).rejects.toBe( - reason + reason, ); }); }); @@ -95,7 +95,7 @@ describe("ConcatBufferStream", () => { }).pipeThrough(new ConcatBufferStream()); await expect(readable).resolves.toEqual( - new Uint8Array([1, 2, 3, 4, 5, 6]) + new Uint8Array([1, 2, 3, 4, 5, 6]), ); }); @@ -125,7 +125,7 @@ describe("ConcatBufferStream", () => { await stream.writable.getWriter().abort(reason); await expect(stream.readable).rejects.toBe(reason); await expect(() => stream.readable.getReader().read()).rejects.toBe( - reason + reason, ); }); }); diff --git a/libraries/stream-extra/src/concat.ts b/libraries/stream-extra/src/concat.ts index 835a19b0..061eacdc 100644 --- a/libraries/stream-extra/src/concat.ts +++ b/libraries/stream-extra/src/concat.ts @@ -108,8 +108,8 @@ export class ConcatBufferStream { result = new Uint8Array( this.#segments.reduce( (prev, item) => prev + item.length, - 0 - ) + 0, + ), ); for (const segment of this.#segments) { result.set(segment, offset); diff --git a/libraries/stream-extra/src/consumable.ts b/libraries/stream-extra/src/consumable.ts index b6817357..fc34e77f 100644 --- a/libraries/stream-extra/src/consumable.ts +++ b/libraries/stream-extra/src/consumable.ts @@ -62,7 +62,7 @@ export class Consumable { async function enqueue( controller: { enqueue: (chunk: Consumable) => void }, - chunk: T + chunk: T, ) { const output = new Consumable(chunk); controller.enqueue(output); @@ -101,10 +101,10 @@ export interface ConsumableReadableStreamController { export interface ConsumableReadableStreamSource { start?( - controller: ConsumableReadableStreamController + controller: ConsumableReadableStreamController, ): void | PromiseLike; pull?( - controller: ConsumableReadableStreamController + controller: ConsumableReadableStreamController, ): void | PromiseLike; cancel?(reason: any): void | PromiseLike; } @@ -112,7 +112,7 @@ export interface ConsumableReadableStreamSource { export class ConsumableReadableStream extends ReadableStream> { public constructor( source: ConsumableReadableStreamSource, - strategy?: QueuingStrategy + strategy?: QueuingStrategy, ) { let wrappedController: | ConsumableReadableStreamController @@ -155,7 +155,7 @@ export class ConsumableReadableStream extends ReadableStream> { await source.cancel?.(reason); }, }, - wrappedStrategy + wrappedStrategy, ); } } @@ -170,7 +170,7 @@ export interface ConsumableWritableStreamSink { export class ConsumableWritableStream extends WritableStream> { public static async write( writer: WritableStreamDefaultWriter>, - value: T + value: T, ) { const consumable = new Consumable(value); await writer.write(consumable); @@ -179,7 +179,7 @@ export class ConsumableWritableStream extends WritableStream> { public constructor( sink: ConsumableWritableStreamSink, - strategy?: QueuingStrategy + strategy?: QueuingStrategy, ) { let wrappedStrategy: QueuingStrategy> | undefined; if (strategy) { @@ -210,21 +210,21 @@ export class ConsumableWritableStream extends WritableStream> { return sink.close?.(); }, }, - wrappedStrategy + wrappedStrategy, ); } } export interface ConsumableTransformer { start?( - controller: ConsumableReadableStreamController + controller: ConsumableReadableStreamController, ): void | PromiseLike; transform?( chunk: I, - controller: ConsumableReadableStreamController + controller: ConsumableReadableStreamController, ): void | PromiseLike; flush?( - controller: ConsumableReadableStreamController + controller: ConsumableReadableStreamController, ): void | PromiseLike; } @@ -254,8 +254,9 @@ export class ConsumableTransformStream extends TransformStream< await transformer.start?.(wrappedController); }, async transform(chunk) { - await chunk.tryConsume((value) => - transformer.transform?.(value, wrappedController!) + await chunk.tryConsume( + (value) => + transformer.transform?.(value, wrappedController!), ); chunk.consume(); }, diff --git a/libraries/stream-extra/src/distribution.spec.ts b/libraries/stream-extra/src/distribution.spec.ts index 0632cb28..fe1e617f 100644 --- a/libraries/stream-extra/src/distribution.spec.ts +++ b/libraries/stream-extra/src/distribution.spec.ts @@ -14,7 +14,7 @@ for (let i = 0; i < 50; i += 1) { async function testInputOutput( combine: boolean, inputLengths: number[], - outputLengths: number[] + outputLengths: number[], ) { const write = jest.fn((chunk: Uint8Array) => { void chunk; @@ -37,7 +37,7 @@ async function testInputOutput( // chunk will be reused, so we need to copy it write(chunk.slice()); }, - }) + }), ); expect(write).toHaveBeenCalledTimes(outputLengths.length); @@ -46,7 +46,7 @@ async function testInputOutput( const end = offset + outputLengths[i]!; expect(write).toHaveBeenNthCalledWith( i + 1, - TestData.subarray(offset, end) + TestData.subarray(offset, end), ); offset = end; } diff --git a/libraries/stream-extra/src/distribution.ts b/libraries/stream-extra/src/distribution.ts index 8a5738dd..7cfc8ff2 100644 --- a/libraries/stream-extra/src/distribution.ts +++ b/libraries/stream-extra/src/distribution.ts @@ -31,7 +31,7 @@ export class BufferCombiner { if (available >= this.#available) { this.#buffer.set( data.subarray(0, this.#available), - this.#offset + this.#offset, ); offset += this.#available; available -= this.#available; diff --git a/libraries/stream-extra/src/pipe-from.ts b/libraries/stream-extra/src/pipe-from.ts index 82b20bdf..7aa9120d 100644 --- a/libraries/stream-extra/src/pipe-from.ts +++ b/libraries/stream-extra/src/pipe-from.ts @@ -12,7 +12,7 @@ import { WritableStream } from "./stream.js"; */ export function pipeFrom( writable: WritableStream, - pair: ReadableWritablePair + pair: ReadableWritablePair, ) { const writer = pair.writable.getWriter(); const pipe = pair.readable.pipeTo(writable); diff --git a/libraries/stream-extra/src/push-readable.ts b/libraries/stream-extra/src/push-readable.ts index 195878be..00d9e07c 100644 --- a/libraries/stream-extra/src/push-readable.ts +++ b/libraries/stream-extra/src/push-readable.ts @@ -14,7 +14,7 @@ export interface PushReadableStreamController { } export type PushReadableStreamSource = ( - controller: PushReadableStreamController + controller: PushReadableStreamController, ) => void | Promise; export class PushReadableStream extends ReadableStream { @@ -27,7 +27,7 @@ export class PushReadableStream extends ReadableStream { */ public constructor( source: PushReadableStreamSource, - strategy?: QueuingStrategy + strategy?: QueuingStrategy, ) { let waterMarkLow: PromiseResolver | undefined; const abortController = new AbortController(); @@ -79,7 +79,7 @@ export class PushReadableStream extends ReadableStream { }, (e) => { controller.error(e); - } + }, ); } }, @@ -91,7 +91,7 @@ export class PushReadableStream extends ReadableStream { waterMarkLow?.reject(reason); }, }, - strategy + strategy, ); } } diff --git a/libraries/stream-extra/src/split-string.ts b/libraries/stream-extra/src/split-string.ts index 3188d8a9..9ffce3cd 100644 --- a/libraries/stream-extra/src/split-string.ts +++ b/libraries/stream-extra/src/split-string.ts @@ -2,7 +2,7 @@ import { TransformStream } from "./stream.js"; function* split( input: string, - separator: string + separator: string, ): Generator { let start = 0; diff --git a/libraries/stream-extra/src/struct-deserialize.ts b/libraries/stream-extra/src/struct-deserialize.ts index 1431158a..ef0a66e5 100644 --- a/libraries/stream-extra/src/struct-deserialize.ts +++ b/libraries/stream-extra/src/struct-deserialize.ts @@ -4,7 +4,7 @@ import type { StructValueType } from "@yume-chan/struct"; import { BufferedTransformStream } from "./buffered-transform.js"; export class StructDeserializeStream< - T extends Struct + T extends Struct, > extends BufferedTransformStream> { public constructor(struct: T) { super((stream) => { diff --git a/libraries/stream-extra/src/struct-serialize.ts b/libraries/stream-extra/src/struct-serialize.ts index 2392ca01..825be3ed 100644 --- a/libraries/stream-extra/src/struct-serialize.ts +++ b/libraries/stream-extra/src/struct-serialize.ts @@ -3,7 +3,7 @@ import type Struct from "@yume-chan/struct"; import { TransformStream } from "./stream.js"; export class StructSerializeStream< - T extends Struct + T extends Struct, > extends TransformStream { constructor(struct: T) { super({ diff --git a/libraries/stream-extra/src/wrap-readable.ts b/libraries/stream-extra/src/wrap-readable.ts index 4cd4562c..80bb9f25 100644 --- a/libraries/stream-extra/src/wrap-readable.ts +++ b/libraries/stream-extra/src/wrap-readable.ts @@ -7,7 +7,7 @@ import type { import { ReadableStream } from "./stream.js"; export type WrapReadableStreamStart = ( - controller: ReadableStreamDefaultController + controller: ReadableStreamDefaultController, ) => ValueOrPromise>; export interface ReadableStreamWrapper { @@ -21,7 +21,7 @@ function getWrappedReadableStream( | ReadableStream | WrapReadableStreamStart | ReadableStreamWrapper, - controller: ReadableStreamDefaultController + controller: ReadableStreamDefaultController, ) { if ("start" in wrapper) { return wrapper.start(controller); @@ -50,7 +50,7 @@ export class WrapReadableStream extends ReadableStream { wrapper: | ReadableStream | WrapReadableStreamStart - | ReadableStreamWrapper + | ReadableStreamWrapper, ) { super({ start: async (controller) => { @@ -62,7 +62,7 @@ export class WrapReadableStream extends ReadableStream { this.readable = await getWrappedReadableStream( wrapper, - controller + controller, ); this.#reader = this.readable.getReader(); }, diff --git a/libraries/stream-extra/src/wrap-writable.ts b/libraries/stream-extra/src/wrap-writable.ts index 00059d83..e485dcfb 100644 --- a/libraries/stream-extra/src/wrap-writable.ts +++ b/libraries/stream-extra/src/wrap-writable.ts @@ -16,7 +16,7 @@ async function getWrappedWritableStream( wrapper: | WritableStream | WrapWritableStreamStart - | WritableStreamWrapper + | WritableStreamWrapper, ) { if ("start" in wrapper) { return await wrapper.start(); @@ -38,7 +38,7 @@ export class WrapWritableStream extends WritableStream { wrapper: | WritableStream | WrapWritableStreamStart - | WritableStreamWrapper + | WritableStreamWrapper, ) { super({ start: async () => { diff --git a/libraries/struct/jest.config.js b/libraries/struct/jest.config.js index d3c43fff..ff68d1cb 100644 --- a/libraries/struct/jest.config.js +++ b/libraries/struct/jest.config.js @@ -1,4 +1,4 @@ -/** @type {import('ts-jest').InitialOptionsTsJest} */ +/** @type {import('ts-jest').JestConfigWithTsJest} */ export default { preset: "ts-jest/presets/default-esm", extensionsToTreatAsEsm: [".ts"], diff --git a/libraries/struct/package.json b/libraries/struct/package.json index 8d1cb90c..839c80c4 100644 --- a/libraries/struct/package.json +++ b/libraries/struct/package.json @@ -35,17 +35,17 @@ }, "dependencies": { "@yume-chan/dataview-bigint-polyfill": "workspace:^0.0.20", - "tslib": "^2.5.2" + "tslib": "^2.6.0" }, "devDependencies": { - "@jest/globals": "^29.5.0", + "@jest/globals": "^29.6.1", "@yume-chan/eslint-config": "workspace:^1.0.0", "@yume-chan/tsconfig": "workspace:^1.0.0", "cross-env": "^7.0.3", - "eslint": "^8.41.0", + "eslint": "^8.44.0", "jest": "^29.5.0", - "prettier": "^2.8.8", - "ts-jest": "^29.0.4", - "typescript": "^5.0.3" + "prettier": "^3.0.0", + "ts-jest": "^29.1.1", + "typescript": "^5.1.6" } } diff --git a/libraries/struct/src/basic/definition.spec.ts b/libraries/struct/src/basic/definition.spec.ts index 3831cd6d..2845ad1c 100644 --- a/libraries/struct/src/basic/definition.spec.ts +++ b/libraries/struct/src/basic/definition.spec.ts @@ -21,7 +21,7 @@ describe("StructFieldDefinition", () => { public create( options: Readonly, struct: StructValue, - value: unknown + value: unknown, ): StructFieldValue { void options; void struct; @@ -31,17 +31,17 @@ describe("StructFieldDefinition", () => { public override deserialize( options: Readonly, stream: ExactReadable, - struct: StructValue + struct: StructValue, ): StructFieldValue; public override deserialize( options: Readonly, stream: AsyncExactReadable, - struct: StructValue + struct: StructValue, ): Promise>; public deserialize( options: Readonly, stream: ExactReadable | AsyncExactReadable, - struct: StructValue + struct: StructValue, ): ValueOrPromise> { void options; void stream; diff --git a/libraries/struct/src/basic/definition.ts b/libraries/struct/src/basic/definition.ts index 7c4c02cf..9fe0e64e 100644 --- a/libraries/struct/src/basic/definition.ts +++ b/libraries/struct/src/basic/definition.ts @@ -13,7 +13,7 @@ import type { StructValue } from "./struct-value.js"; export abstract class StructFieldDefinition< TOptions = void, TValue = unknown, - TOmitInitKey extends PropertyKey = never + TOmitInitKey extends PropertyKey = never, > { /** * When `T` is a type initiated `StructFieldDefinition`, @@ -46,7 +46,7 @@ export abstract class StructFieldDefinition< public abstract create( options: Readonly, structValue: StructValue, - value: TValue + value: TValue, ): StructFieldValue; /** @@ -58,11 +58,11 @@ export abstract class StructFieldDefinition< public abstract deserialize( options: Readonly, stream: ExactReadable, - structValue: StructValue + structValue: StructValue, ): StructFieldValue; public abstract deserialize( options: Readonly, stream: AsyncExactReadable, - struct: StructValue + struct: StructValue, ): Promise>; } diff --git a/libraries/struct/src/basic/field-value.spec.ts b/libraries/struct/src/basic/field-value.spec.ts index 1eaf4241..ebac9f6b 100644 --- a/libraries/struct/src/basic/field-value.spec.ts +++ b/libraries/struct/src/basic/field-value.spec.ts @@ -28,7 +28,7 @@ describe("StructFieldValue", () => { definition, options, struct, - value + value, ); expect(fieldValue).toHaveProperty("definition", definition); expect(fieldValue).toHaveProperty("options", options); @@ -46,7 +46,7 @@ describe("StructFieldValue", () => { public create( options: Readonly, struct: StructValue, - value: unknown + value: unknown, ): StructFieldValue { void options; void struct; @@ -57,17 +57,17 @@ describe("StructFieldValue", () => { public override deserialize( options: Readonly, stream: ExactReadable, - struct: StructValue + struct: StructValue, ): StructFieldValue; public override deserialize( options: Readonly, stream: AsyncExactReadable, - struct: StructValue + struct: StructValue, ): Promise>; public override deserialize( options: Readonly, stream: ExactReadable | AsyncExactReadable, - struct: StructValue + struct: StructValue, ): ValueOrPromise> { void options; void stream; @@ -89,7 +89,7 @@ describe("StructFieldValue", () => { fieldDefinition, undefined as any, undefined as any, - undefined as any + undefined as any, ); expect(fieldValue.getSize()).toBe(42); }); @@ -109,7 +109,7 @@ describe("StructFieldValue", () => { undefined as any, undefined as any, undefined as any, - undefined as any + undefined as any, ); fieldValue.set(1); expect(fieldValue.get()).toBe(1); diff --git a/libraries/struct/src/basic/field-value.ts b/libraries/struct/src/basic/field-value.ts index 06783902..ef9c296c 100644 --- a/libraries/struct/src/basic/field-value.ts +++ b/libraries/struct/src/basic/field-value.ts @@ -13,7 +13,7 @@ export abstract class StructFieldValue< any, any, any - > = StructFieldDefinition + > = StructFieldDefinition, > { /** Gets the definition associated with this runtime value */ public readonly definition: TDefinition; @@ -37,7 +37,7 @@ export abstract class StructFieldValue< definition: TDefinition, options: Readonly, struct: StructValue, - value: TDefinition["TValue"] + value: TDefinition["TValue"], ) { this.definition = definition; this.options = options; diff --git a/libraries/struct/src/struct.spec.ts b/libraries/struct/src/struct.spec.ts index 1117b94e..a1a26812 100644 --- a/libraries/struct/src/struct.spec.ts +++ b/libraries/struct/src/struct.spec.ts @@ -51,7 +51,7 @@ describe("Struct", () => { public create( options: Readonly, struct: StructValue, - value: unknown + value: unknown, ): StructFieldValue { void options; void struct; @@ -61,17 +61,17 @@ describe("Struct", () => { public override deserialize( options: Readonly, stream: ExactReadable, - struct: StructValue + struct: StructValue, ): StructFieldValue; public override deserialize( options: Readonly, stream: AsyncExactReadable, - struct: StructValue + struct: StructValue, ): Promise>; public override deserialize( options: Readonly, stream: ExactReadable | AsyncExactReadable, - struct: StructValue + struct: StructValue, ): ValueOrPromise> { void options; void stream; @@ -107,7 +107,7 @@ describe("Struct", () => { const fieldName = "foo"; struct.field(fieldName, new MockFieldDefinition(4)); expect(() => - struct.field(fieldName, new MockFieldDefinition(4)) + struct.field(fieldName, new MockFieldDefinition(4)), ).toThrowError(); }); }); @@ -203,7 +203,7 @@ describe("Struct", () => { const definition = struct .fields[0]![1] as FixedLengthBufferLikeFieldDefinition; expect(definition).toBeInstanceOf( - FixedLengthBufferLikeFieldDefinition + FixedLengthBufferLikeFieldDefinition, ); expect(definition.type).toBeInstanceOf(BufferFieldSubType); expect(definition.options.length).toBe(10); @@ -217,7 +217,7 @@ describe("Struct", () => { const definition = struct .fields[0]![1] as FixedLengthBufferLikeFieldDefinition; expect(definition).toBeInstanceOf( - FixedLengthBufferLikeFieldDefinition + FixedLengthBufferLikeFieldDefinition, ); expect(definition.type).toBeInstanceOf(BufferFieldSubType); expect(definition.options.length).toBe(10); @@ -235,7 +235,7 @@ describe("Struct", () => { const definition = struct .fields[1]![1] as VariableLengthBufferLikeFieldDefinition; expect(definition).toBeInstanceOf( - VariableLengthBufferLikeFieldDefinition + VariableLengthBufferLikeFieldDefinition, ); expect(definition.type).toBeInstanceOf(BufferFieldSubType); expect(definition.options.lengthField).toBe("barLength"); @@ -251,7 +251,7 @@ describe("Struct", () => { const definition = struct .fields[1]![1] as VariableLengthBufferLikeFieldDefinition; expect(definition).toBeInstanceOf( - VariableLengthBufferLikeFieldDefinition + VariableLengthBufferLikeFieldDefinition, ); expect(definition.type).toBeInstanceOf(BufferFieldSubType); expect(definition.options.lengthField).toBe("barLength"); @@ -334,9 +334,9 @@ describe("Struct", () => { expect( Object.entries( Object.getOwnPropertyDescriptors( - Object.getPrototypeOf(result) - ) - ) + Object.getPrototypeOf(result), + ), + ), ).toEqual([ [ "foo", @@ -378,9 +378,9 @@ describe("Struct", () => { expect( Object.entries( Object.getOwnPropertyDescriptors( - Object.getPrototypeOf(result) - ) - ) + Object.getPrototypeOf(result), + ), + ), ).toEqual([ [ "foo", @@ -462,7 +462,7 @@ describe("Struct", () => { const struct = new Struct().int8("foo").int16("bar"); const result = new Uint8Array( - struct.serialize({ foo: 0x42, bar: 0x1024 }) + struct.serialize({ foo: 0x42, bar: 0x1024 }), ); expect(result).toEqual(new Uint8Array([0x42, 0x10, 0x24])); @@ -476,11 +476,11 @@ describe("Struct", () => { const result = new Uint8Array( struct.serialize({ foo: new Uint8Array([0x03, 0x04, 0x05]), - }) + }), ); expect(result).toEqual( - new Uint8Array([0x03, 0x03, 0x04, 0x05]) + new Uint8Array([0x03, 0x03, 0x04, 0x05]), ); }); }); diff --git a/libraries/struct/src/struct.ts b/libraries/struct/src/struct.ts index d68ff5d7..ff2fd49b 100644 --- a/libraries/struct/src/struct.ts +++ b/libraries/struct/src/struct.ts @@ -50,7 +50,7 @@ type AddFieldDescriptor< TExtra extends object, TPostDeserialized, TFieldName extends PropertyKey, - TDefinition extends StructFieldDefinition + TDefinition extends StructFieldDefinition, > = Identity< Struct< // Merge two types @@ -70,7 +70,7 @@ interface ArrayBufferLikeFieldCreator< TFields extends object, TOmitInitKey extends PropertyKey, TExtra extends object, - TPostDeserialized + TPostDeserialized, > { /** * Append a fixed-length array buffer like field to the `Struct` @@ -84,12 +84,12 @@ interface ArrayBufferLikeFieldCreator< < TName extends PropertyKey, TType extends BufferFieldSubType, - TTypeScriptType = TType["TTypeScriptType"] + TTypeScriptType = TType["TTypeScriptType"], >( name: TName, type: TType, options: FixedLengthBufferLikeFieldOptions, - typeScriptType?: TTypeScriptType + typeScriptType?: TTypeScriptType, ): AddFieldDescriptor< TFields, TOmitInitKey, @@ -109,12 +109,12 @@ interface ArrayBufferLikeFieldCreator< TName extends PropertyKey, TType extends BufferFieldSubType, TOptions extends VariableLengthBufferLikeFieldOptions, - TTypeScriptType = TType["TTypeScriptType"] + TTypeScriptType = TType["TTypeScriptType"], >( name: TName, type: TType, options: TOptions, - typeScriptType?: TTypeScriptType + typeScriptType?: TTypeScriptType, ): AddFieldDescriptor< TFields, TOmitInitKey, @@ -133,12 +133,12 @@ interface BoundArrayBufferLikeFieldDefinitionCreator< TOmitInitKey extends PropertyKey, TExtra extends object, TPostDeserialized, - TType extends BufferFieldSubType + TType extends BufferFieldSubType, > { ( name: TName, options: FixedLengthBufferLikeFieldOptions, - typeScriptType?: TTypeScriptType + typeScriptType?: TTypeScriptType, ): AddFieldDescriptor< TFields, TOmitInitKey, @@ -159,11 +159,11 @@ interface BoundArrayBufferLikeFieldDefinitionCreator< TFields, TLengthField >, - TTypeScriptType = TType["TTypeScriptType"] + TTypeScriptType = TType["TTypeScriptType"], >( name: TName, options: TOptions, - typeScriptType?: TTypeScriptType + typeScriptType?: TTypeScriptType, ): AddFieldDescriptor< TFields, TOmitInitKey, @@ -180,13 +180,13 @@ interface BoundArrayBufferLikeFieldDefinitionCreator< export type StructPostDeserialized = ( this: TFields, - object: TFields + object: TFields, ) => TPostDeserialized; export type StructDeserializedResult< TFields extends object, TExtra extends object, - TPostDeserialized + TPostDeserialized, > = TPostDeserialized extends undefined ? Overwrite : TPostDeserialized; @@ -201,7 +201,7 @@ export class StructDeserializeError extends Error { export class StructNotEnoughDataError extends StructDeserializeError { public constructor() { super( - "The underlying readable was ended before the struct was fully deserialized" + "The underlying readable was ended before the struct was fully deserialized", ); } } @@ -216,7 +216,7 @@ export class Struct< TFields extends object = Record, TOmitInitKey extends PropertyKey = never, TExtra extends object = Record, - TPostDeserialized = undefined + TPostDeserialized = undefined, > implements StructLike< StructDeserializedResult @@ -248,11 +248,11 @@ export class Struct< #fields: [ name: PropertyKey, - definition: StructFieldDefinition + definition: StructFieldDefinition, ][] = []; public get fields(): readonly [ name: PropertyKey, - definition: StructFieldDefinition + definition: StructFieldDefinition, ][] { return this.#fields; } @@ -270,10 +270,10 @@ export class Struct< */ public field< TName extends PropertyKey, - TDefinition extends StructFieldDefinition + TDefinition extends StructFieldDefinition, >( name: TName, - definition: TDefinition + definition: TDefinition, ): AddFieldDescriptor< TFields, TOmitInitKey, @@ -287,7 +287,7 @@ export class Struct< // Convert Symbol to string const nameString = String(name); throw new Error( - `This struct already have a field with name '${nameString}'` + `This struct already have a field with name '${nameString}'`, ); } } @@ -305,7 +305,7 @@ export class Struct< * Merges (flats) another `Struct`'s fields and extra fields into this one. */ public concat>( - other: TOther + other: TOther, ): Struct< TFields & TOther["TFields"], TOmitInitKey | TOther["TOmitInitKey"], @@ -318,7 +318,7 @@ export class Struct< this.#size += other.#size; Object.defineProperties( this.#extra, - Object.getOwnPropertyDescriptors(other.#extra) + Object.getOwnPropertyDescriptors(other.#extra), ); return this as any; } @@ -326,11 +326,11 @@ export class Struct< private number< TName extends PropertyKey, TType extends NumberFieldType = NumberFieldType, - TTypeScriptType = number + TTypeScriptType = number, >(name: TName, type: TType, typeScriptType?: TTypeScriptType) { return this.field( name, - new NumberFieldDefinition(type, typeScriptType) + new NumberFieldDefinition(type, typeScriptType), ); } @@ -339,7 +339,7 @@ export class Struct< */ public int8( name: TName, - typeScriptType?: TTypeScriptType + typeScriptType?: TTypeScriptType, ) { return this.number(name, NumberFieldType.Int8, typeScriptType); } @@ -349,7 +349,7 @@ export class Struct< */ public uint8( name: TName, - typeScriptType?: TTypeScriptType + typeScriptType?: TTypeScriptType, ) { return this.number(name, NumberFieldType.Uint8, typeScriptType); } @@ -359,7 +359,7 @@ export class Struct< */ public int16( name: TName, - typeScriptType?: TTypeScriptType + typeScriptType?: TTypeScriptType, ) { return this.number(name, NumberFieldType.Int16, typeScriptType); } @@ -369,7 +369,7 @@ export class Struct< */ public uint16( name: TName, - typeScriptType?: TTypeScriptType + typeScriptType?: TTypeScriptType, ) { return this.number(name, NumberFieldType.Uint16, typeScriptType); } @@ -379,7 +379,7 @@ export class Struct< */ public int32( name: TName, - typeScriptType?: TTypeScriptType + typeScriptType?: TTypeScriptType, ) { return this.number(name, NumberFieldType.Int32, typeScriptType); } @@ -389,7 +389,7 @@ export class Struct< */ public uint32( name: TName, - typeScriptType?: TTypeScriptType + typeScriptType?: TTypeScriptType, ) { return this.number(name, NumberFieldType.Uint32, typeScriptType); } @@ -397,11 +397,11 @@ export class Struct< private bigint< TName extends PropertyKey, TType extends BigIntFieldType = BigIntFieldType, - TTypeScriptType = TType["TTypeScriptType"] + TTypeScriptType = TType["TTypeScriptType"], >(name: TName, type: TType, typeScriptType?: TTypeScriptType) { return this.field( name, - new BigIntFieldDefinition(type, typeScriptType) + new BigIntFieldDefinition(type, typeScriptType), ); } @@ -412,7 +412,7 @@ export class Struct< */ public int64< TName extends PropertyKey, - TTypeScriptType = BigIntFieldType["TTypeScriptType"] + TTypeScriptType = BigIntFieldType["TTypeScriptType"], >(name: TName, typeScriptType?: TTypeScriptType) { return this.bigint(name, BigIntFieldType.Int64, typeScriptType); } @@ -424,7 +424,7 @@ export class Struct< */ public uint64< TName extends PropertyKey, - TTypeScriptType = BigIntFieldType["TTypeScriptType"] + TTypeScriptType = BigIntFieldType["TTypeScriptType"], >(name: TName, typeScriptType?: TTypeScriptType) { return this.bigint(name, BigIntFieldType.Uint64, typeScriptType); } @@ -439,17 +439,17 @@ export class Struct< type: BufferFieldSubType, options: | FixedLengthBufferLikeFieldOptions - | VariableLengthBufferLikeFieldOptions + | VariableLengthBufferLikeFieldOptions, ): any => { if ("length" in options) { return this.field( name, - new FixedLengthBufferLikeFieldDefinition(type, options) + new FixedLengthBufferLikeFieldDefinition(type, options), ); } else { return this.field( name, - new VariableLengthBufferLikeFieldDefinition(type, options) + new VariableLengthBufferLikeFieldDefinition(type, options), ); } }; @@ -465,7 +465,7 @@ export class Struct< name, Uint8ArrayBufferFieldSubType.Instance, options, - typeScriptType + typeScriptType, ); }; @@ -480,7 +480,7 @@ export class Struct< name, StringBufferFieldSubType.Instance, options, - typeScriptType + typeScriptType, ); }; @@ -499,13 +499,13 @@ export class Struct< // This trick disallows any keys that are already in `TValue` Exclude>, never - > + >, >( - value: T & ThisType, TFields>> + value: T & ThisType, TFields>>, ): Struct, TPostDeserialized> { Object.defineProperties( this.#extra, - Object.getOwnPropertyDescriptors(value) + Object.getOwnPropertyDescriptors(value), ); return this as any; } @@ -517,7 +517,7 @@ export class Struct< * will also change the return type of `deserialize` to `never`. */ public postDeserialize( - callback: StructPostDeserialized + callback: StructPostDeserialized, ): Struct; /** * Registers (or replaces) a custom callback to be run after deserialized. @@ -526,7 +526,7 @@ export class Struct< * (or doesn't modify it at all), so `deserialize` will still return the result object. */ public postDeserialize( - callback?: StructPostDeserialized + callback?: StructPostDeserialized, ): Struct; /** * Registers (or replaces) a custom callback to be run after deserialized. @@ -535,7 +535,7 @@ export class Struct< * will `deserialize` to return that object instead. */ public postDeserialize( - callback?: StructPostDeserialized + callback?: StructPostDeserialized, ): Struct; public postDeserialize(callback?: StructPostDeserialized) { this.#postDeserialized = callback; @@ -546,13 +546,13 @@ export class Struct< * Deserialize a struct value from `stream`. */ public deserialize( - stream: ExactReadable + stream: ExactReadable, ): StructDeserializedResult; public deserialize( - stream: AsyncExactReadable + stream: AsyncExactReadable, ): Promise>; public deserialize( - stream: ExactReadable | AsyncExactReadable + stream: ExactReadable | AsyncExactReadable, ): ValueOrPromise< StructDeserializedResult > { @@ -564,7 +564,7 @@ export class Struct< for (const [name, definition] of this.#fields) { promise = promise .then(() => - definition.deserialize(this.options, stream, structValue) + definition.deserialize(this.options, stream, structValue), ) .then( (fieldValue) => { @@ -580,7 +580,7 @@ export class Struct< } else { throw new StructNotEnoughDataError(); } - } + }, ); } @@ -606,11 +606,11 @@ export class Struct< public serialize(init: Evaluate>): Uint8Array; public serialize( init: Evaluate>, - output: Uint8Array + output: Uint8Array, ): number; public serialize( init: Evaluate>, - output?: Uint8Array + output?: Uint8Array, ): Uint8Array | number { let structValue: StructValue; if (STRUCT_VALUE_SYMBOL in init) { @@ -627,7 +627,7 @@ export class Struct< const fieldValue = definition.create( this.options, structValue, - (init as any)[name] + (init as any)[name], ); structValue.set(name, fieldValue); } @@ -652,7 +652,7 @@ export class Struct< const dataView = new DataView( output.buffer, output.byteOffset, - output.byteLength + output.byteLength, ); let offset = 0; for (const { fieldValue, size } of fieldsInfo) { diff --git a/libraries/struct/src/sync-promise.spec.ts b/libraries/struct/src/sync-promise.spec.ts index 5656898b..269cf592 100644 --- a/libraries/struct/src/sync-promise.spec.ts +++ b/libraries/struct/src/sync-promise.spec.ts @@ -25,7 +25,7 @@ describe("SyncPromise", () => { it("should resolve with a pending SyncPromise", async () => { const promise = SyncPromise.resolve( - SyncPromise.resolve(Promise.resolve(42)) + SyncPromise.resolve(Promise.resolve(42)), ); await expect(promise.valueOrPromise()).resolves.toBe(42); }); @@ -37,7 +37,7 @@ describe("SyncPromise", () => { it("should resolve with a rejected SyncPromise", () => { const promise = SyncPromise.resolve( - SyncPromise.reject(new Error("error")) + SyncPromise.reject(new Error("error")), ); expect(() => promise.valueOrPromise()).toThrowError("error"); }); @@ -71,7 +71,7 @@ describe("SyncPromise", () => { it("should resolve with a pending SyncPromise", async () => { const promise = SyncPromise.try(() => - SyncPromise.resolve(Promise.resolve(42)) + SyncPromise.resolve(Promise.resolve(42)), ); await expect(promise.valueOrPromise()).resolves.toBe(42); }); @@ -83,7 +83,7 @@ describe("SyncPromise", () => { it("should resolve with a rejected SyncPromise", () => { const promise = SyncPromise.try(() => - SyncPromise.reject(new Error("error")) + SyncPromise.reject(new Error("error")), ); expect(() => promise.valueOrPromise()).toThrowError("error"); }); diff --git a/libraries/struct/src/sync-promise.ts b/libraries/struct/src/sync-promise.ts index 4c9096d8..45a65f7d 100644 --- a/libraries/struct/src/sync-promise.ts +++ b/libraries/struct/src/sync-promise.ts @@ -7,7 +7,7 @@ export interface SyncPromise { onrejected?: | ((reason: any) => TResult2 | PromiseLike) | null - | undefined + | undefined, ): SyncPromise; valueOrPromise(): T | PromiseLike; @@ -69,10 +69,10 @@ class PendingSyncPromise implements SyncPromise { onrejected?: | ((reason: any) => TResult2 | PromiseLike) | null - | undefined + | undefined, ) { return new PendingSyncPromise( - this.#promise.then(onfulfilled, onrejected) + this.#promise.then(onfulfilled, onrejected), ); } @@ -92,7 +92,7 @@ class ResolvedSyncPromise implements SyncPromise { onfulfilled?: | ((value: T) => TResult1 | PromiseLike) | null - | undefined + | undefined, ) { if (!onfulfilled) { return this as any; @@ -120,7 +120,7 @@ class RejectedSyncPromise implements SyncPromise { onrejected?: | ((reason: any) => TResult2 | PromiseLike) | null - | undefined + | undefined, ) { if (!onrejected) { return this as any; diff --git a/libraries/struct/src/types/bigint.ts b/libraries/struct/src/types/bigint.ts index e095e218..fee13ea9 100644 --- a/libraries/struct/src/types/bigint.ts +++ b/libraries/struct/src/types/bigint.ts @@ -18,14 +18,14 @@ import type { ValueOrPromise } from "../utils.js"; type DataViewBigInt64Getter = ( dataView: DataView, byteOffset: number, - littleEndian: boolean | undefined + littleEndian: boolean | undefined, ) => bigint; type DataViewBigInt64Setter = ( dataView: DataView, byteOffset: number, value: bigint, - littleEndian: boolean | undefined + littleEndian: boolean | undefined, ) => void; export class BigIntFieldType { @@ -40,7 +40,7 @@ export class BigIntFieldType { public constructor( size: number, getter: DataViewBigInt64Getter, - setter: DataViewBigInt64Setter + setter: DataViewBigInt64Setter, ) { this.size = size; this.getter = getter; @@ -50,19 +50,19 @@ export class BigIntFieldType { public static readonly Int64 = new BigIntFieldType( 8, getBigInt64, - setBigInt64 + setBigInt64, ); public static readonly Uint64 = new BigIntFieldType( 8, getBigUint64, - setBigUint64 + setBigUint64, ); } export class BigIntFieldDefinition< TType extends BigIntFieldType = BigIntFieldType, - TTypeScriptType = TType["TTypeScriptType"] + TTypeScriptType = TType["TTypeScriptType"], > extends StructFieldDefinition { public readonly type: TType; @@ -79,7 +79,7 @@ export class BigIntFieldDefinition< public create( options: Readonly, struct: StructValue, - value: TTypeScriptType + value: TTypeScriptType, ): BigIntFieldValue { return new BigIntFieldValue(this, options, struct, value); } @@ -87,17 +87,17 @@ export class BigIntFieldDefinition< public override deserialize( options: Readonly, stream: ExactReadable, - struct: StructValue + struct: StructValue, ): BigIntFieldValue; public override deserialize( options: Readonly, stream: AsyncExactReadable, - struct: StructValue + struct: StructValue, ): Promise>; public override deserialize( options: Readonly, stream: ExactReadable | AsyncExactReadable, - struct: StructValue + struct: StructValue, ): ValueOrPromise> { return SyncPromise.try(() => { return stream.readExactly(this.getSize()); @@ -106,7 +106,7 @@ export class BigIntFieldDefinition< const view = new DataView( array.buffer, array.byteOffset, - array.byteLength + array.byteLength, ); const value = this.type.getter(view, 0, options.littleEndian); return this.create(options, struct, value as any); @@ -116,14 +116,14 @@ export class BigIntFieldDefinition< } export class BigIntFieldValue< - TDefinition extends BigIntFieldDefinition + TDefinition extends BigIntFieldDefinition, > extends StructFieldValue { public serialize(dataView: DataView, offset: number): void { this.definition.type.setter( dataView, offset, this.value, - this.options.littleEndian + this.options.littleEndian, ); } } diff --git a/libraries/struct/src/types/buffer/base.spec.ts b/libraries/struct/src/types/buffer/base.spec.ts index 5f5e8ec1..d6f822ce 100644 --- a/libraries/struct/src/types/buffer/base.spec.ts +++ b/libraries/struct/src/types/buffer/base.spec.ts @@ -24,28 +24,28 @@ describe("Types", () => { describe("Uint8ArrayBufferFieldSubType", () => { it("should have a static instance", () => { expect(Uint8ArrayBufferFieldSubType.Instance).toBeInstanceOf( - Uint8ArrayBufferFieldSubType + Uint8ArrayBufferFieldSubType, ); }); it("`#toBuffer` should return the same `Uint8Array`", () => { const array = new Uint8Array(10); expect( - Uint8ArrayBufferFieldSubType.Instance.toBuffer(array) + Uint8ArrayBufferFieldSubType.Instance.toBuffer(array), ).toBe(array); }); it("`#fromBuffer` should return the same `Uint8Array`", () => { const buffer = new Uint8Array(10); expect( - Uint8ArrayBufferFieldSubType.Instance.toValue(buffer) + Uint8ArrayBufferFieldSubType.Instance.toValue(buffer), ).toBe(buffer); }); it("`#getSize` should return the `byteLength` of the `Uint8Array`", () => { const array = new Uint8Array(10); expect( - Uint8ArrayBufferFieldSubType.Instance.getSize(array) + Uint8ArrayBufferFieldSubType.Instance.getSize(array), ).toBe(10); }); }); @@ -53,7 +53,7 @@ describe("Types", () => { describe("StringBufferFieldSubType", () => { it("should have a static instance", () => { expect(StringBufferFieldSubType.Instance).toBeInstanceOf( - StringBufferFieldSubType + StringBufferFieldSubType, ); }); @@ -61,7 +61,7 @@ describe("Types", () => { const text = "foo"; const array = new Uint8Array(Buffer.from(text, "utf-8")); expect( - StringBufferFieldSubType.Instance.toBuffer(text) + StringBufferFieldSubType.Instance.toBuffer(text), ).toEqual(array); }); @@ -69,7 +69,7 @@ describe("Types", () => { const text = "foo"; const array = new Uint8Array(Buffer.from(text, "utf-8")); expect(StringBufferFieldSubType.Instance.toValue(array)).toBe( - text + text, ); }); @@ -79,7 +79,7 @@ describe("Types", () => { }); class MockArrayBufferFieldDefinition< - TType extends BufferFieldSubType + TType extends BufferFieldSubType, > extends BufferLikeFieldDefinition { public getSize(): number { return this.options; @@ -91,7 +91,7 @@ describe("Types", () => { const size = 10; const definition = new MockArrayBufferFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - size + size, ); const context = new MockDeserializationStream(); @@ -102,7 +102,7 @@ describe("Types", () => { const fieldValue = definition.deserialize( StructDefaultOptions, context, - struct + struct, ); expect(context.readExactly).toBeCalledTimes(1); expect(context.readExactly).toBeCalledWith(size); @@ -115,7 +115,7 @@ describe("Types", () => { const size = 0; const definition = new MockArrayBufferFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - size + size, ); const context = new MockDeserializationStream(); @@ -126,7 +126,7 @@ describe("Types", () => { const fieldValue = definition.deserialize( StructDefaultOptions, context, - struct + struct, ); expect(context.readExactly).toBeCalledTimes(0); expect(fieldValue["array"]).toBeInstanceOf(Uint8Array); @@ -144,7 +144,7 @@ describe("Types", () => { const size = 0; const definition = new MockArrayBufferFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - size + size, ); const context = new MockDeserializationStream(); @@ -155,7 +155,7 @@ describe("Types", () => { const fieldValue = definition.deserialize( StructDefaultOptions, context, - struct + struct, ); const newValue = new Uint8Array(20); @@ -170,12 +170,12 @@ describe("Types", () => { const size = 0; const definition = new MockArrayBufferFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - size + size, ); const context = new MockDeserializationStream(); const sourceArray = new Uint8Array( - Array.from({ length: size }, (_, i) => i) + Array.from({ length: size }, (_, i) => i), ); const array = sourceArray; context.array = array; @@ -184,7 +184,7 @@ describe("Types", () => { const fieldValue = definition.deserialize( StructDefaultOptions, context, - struct + struct, ); const targetArray = new Uint8Array(size); @@ -198,12 +198,12 @@ describe("Types", () => { const size = 0; const definition = new MockArrayBufferFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - size + size, ); const context = new MockDeserializationStream(); const sourceArray = new Uint8Array( - Array.from({ length: size }, (_, i) => i) + Array.from({ length: size }, (_, i) => i), ); const array = sourceArray; context.array = array; @@ -212,7 +212,7 @@ describe("Types", () => { const fieldValue = definition.deserialize( StructDefaultOptions, context, - struct + struct, ); fieldValue.set(sourceArray); diff --git a/libraries/struct/src/types/buffer/base.ts b/libraries/struct/src/types/buffer/base.ts index c60d7da5..d04549c8 100644 --- a/libraries/struct/src/types/buffer/base.ts +++ b/libraries/struct/src/types/buffer/base.ts @@ -20,7 +20,7 @@ import { decodeUtf8, encodeUtf8 } from "../../utils.js"; */ export abstract class BufferFieldSubType< TValue = unknown, - TTypeScriptType = TValue + TTypeScriptType = TValue, > { public readonly TTypeScriptType!: TTypeScriptType; @@ -47,7 +47,7 @@ export abstract class BufferFieldSubType< /** An `BufferFieldSubType` that's actually an `Uint8Array` */ export class Uint8ArrayBufferFieldSubType< - TTypeScriptType = Uint8Array + TTypeScriptType = Uint8Array, > extends BufferFieldSubType { public static readonly Instance = new Uint8ArrayBufferFieldSubType(); @@ -70,7 +70,7 @@ export class Uint8ArrayBufferFieldSubType< /** An `BufferFieldSubType` that converts between `Uint8Array` and `string` */ export class StringBufferFieldSubType< - TTypeScriptType = string + TTypeScriptType = string, > extends BufferFieldSubType { public static readonly Instance = new StringBufferFieldSubType(); @@ -99,7 +99,7 @@ export abstract class BufferLikeFieldDefinition< >, TOptions = void, TOmitInitKey extends PropertyKey = never, - TTypeScriptType = TType["TTypeScriptType"] + TTypeScriptType = TType["TTypeScriptType"], > extends StructFieldDefinition { public readonly type: TType; @@ -120,7 +120,7 @@ export abstract class BufferLikeFieldDefinition< options: Readonly, struct: StructValue, value: TType["TTypeScriptType"], - array?: Uint8Array + array?: Uint8Array, ): BufferLikeFieldValue { return new BufferLikeFieldValue(this, options, struct, value, array); } @@ -128,17 +128,17 @@ export abstract class BufferLikeFieldDefinition< public override deserialize( options: Readonly, stream: ExactReadable, - struct: StructValue + struct: StructValue, ): BufferLikeFieldValue; public override deserialize( options: Readonly, stream: AsyncExactReadable, - struct: StructValue + struct: StructValue, ): Promise>; public override deserialize( options: Readonly, stream: ExactReadable | AsyncExactReadable, - struct: StructValue + struct: StructValue, ): ValueOrPromise> { return SyncPromise.try(() => { const size = this.getDeserializeSize(struct); @@ -161,7 +161,7 @@ export class BufferLikeFieldValue< BufferFieldSubType, any, any - > + >, > extends StructFieldValue { protected array: Uint8Array | undefined; @@ -170,7 +170,7 @@ export class BufferLikeFieldValue< options: Readonly, struct: StructValue, value: TDefinition["TValue"], - array?: Uint8Array + array?: Uint8Array, ) { super(definition, options, struct, value); this.array = array; @@ -191,7 +191,7 @@ export class BufferLikeFieldValue< new Uint8Array( dataView.buffer, dataView.byteOffset, - dataView.byteLength + dataView.byteLength, ).set(this.array, offset); } } diff --git a/libraries/struct/src/types/buffer/fixed-length.spec.ts b/libraries/struct/src/types/buffer/fixed-length.spec.ts index 756cebb3..98665d8b 100644 --- a/libraries/struct/src/types/buffer/fixed-length.spec.ts +++ b/libraries/struct/src/types/buffer/fixed-length.spec.ts @@ -9,7 +9,7 @@ describe("Types", () => { it("should return size in its options", () => { const definition = new FixedLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { length: 10 } + { length: 10 }, ); expect(definition.getSize()).toBe(10); }); diff --git a/libraries/struct/src/types/buffer/fixed-length.ts b/libraries/struct/src/types/buffer/fixed-length.ts index a603c40b..a28f7ab3 100644 --- a/libraries/struct/src/types/buffer/fixed-length.ts +++ b/libraries/struct/src/types/buffer/fixed-length.ts @@ -7,8 +7,9 @@ export interface FixedLengthBufferLikeFieldOptions { export class FixedLengthBufferLikeFieldDefinition< TType extends BufferFieldSubType = BufferFieldSubType, - TOptions extends FixedLengthBufferLikeFieldOptions = FixedLengthBufferLikeFieldOptions, - TTypeScriptType = TType["TTypeScriptType"] + TOptions extends + FixedLengthBufferLikeFieldOptions = FixedLengthBufferLikeFieldOptions, + TTypeScriptType = TType["TTypeScriptType"], > extends BufferLikeFieldDefinition { public getSize(): number { return this.options.length; diff --git a/libraries/struct/src/types/buffer/variable-length.spec.ts b/libraries/struct/src/types/buffer/variable-length.spec.ts index 32a4d331..ac2f1619 100644 --- a/libraries/struct/src/types/buffer/variable-length.spec.ts +++ b/libraries/struct/src/types/buffer/variable-length.spec.ts @@ -66,7 +66,7 @@ describe("Types", () => { const lengthFieldValue = new VariableLengthBufferLikeFieldLengthValue( mockOriginalFieldValue, - mockArrayBufferFieldValue + mockArrayBufferFieldValue, ); mockOriginalFieldValue.size = 0; @@ -88,7 +88,7 @@ describe("Types", () => { const lengthFieldValue = new VariableLengthBufferLikeFieldLengthValue( mockOriginalFieldValue, - mockArrayBufferFieldValue + mockArrayBufferFieldValue, ); mockOriginalFieldValue.value = 0; @@ -112,7 +112,7 @@ describe("Types", () => { const lengthFieldValue = new VariableLengthBufferLikeFieldLengthValue( mockOriginalFieldValue, - mockArrayBufferFieldValue + mockArrayBufferFieldValue, ); mockOriginalFieldValue.value = "0"; @@ -138,7 +138,7 @@ describe("Types", () => { const lengthFieldValue = new VariableLengthBufferLikeFieldLengthValue( mockOriginalFieldValue, - mockArrayBufferFieldValue + mockArrayBufferFieldValue, ); mockOriginalFieldValue.value = 0; @@ -158,7 +158,7 @@ describe("Types", () => { const lengthFieldValue = new VariableLengthBufferLikeFieldLengthValue( mockOriginalFieldValue, - mockArrayBufferFieldValue + mockArrayBufferFieldValue, ); const dataView = 0 as any; @@ -174,7 +174,7 @@ describe("Types", () => { expect(mockOriginalFieldValue.serialize).toBeCalledTimes(1); expect(mockOriginalFieldValue.serialize).toBeCalledWith( dataView, - offset + offset, ); mockOriginalFieldValue.set.mockClear(); @@ -186,7 +186,7 @@ describe("Types", () => { expect(mockOriginalFieldValue.serialize).toBeCalledTimes(1); expect(mockOriginalFieldValue.serialize).toBeCalledWith( dataView, - offset + offset, ); }); @@ -197,7 +197,7 @@ describe("Types", () => { const lengthFieldValue = new VariableLengthBufferLikeFieldLengthValue( mockOriginalFieldValue, - mockArrayBufferFieldValue + mockArrayBufferFieldValue, ); const dataView = 0 as any; @@ -213,7 +213,7 @@ describe("Types", () => { expect(mockOriginalFieldValue.serialize).toBeCalledTimes(1); expect(mockOriginalFieldValue.serialize).toBeCalledWith( dataView, - offset + offset, ); mockOriginalFieldValue.set.mockClear(); @@ -225,7 +225,7 @@ describe("Types", () => { expect(mockOriginalFieldValue.serialize).toBeCalledTimes(1); expect(mockOriginalFieldValue.serialize).toBeCalledWith( dataView, - offset + offset, ); }); @@ -236,7 +236,7 @@ describe("Types", () => { const lengthFieldValue = new VariableLengthBufferLikeFieldLengthValue( mockOriginalFieldValue, - mockArrayBufferFieldValue + mockArrayBufferFieldValue, ); const radix = 16; @@ -256,7 +256,7 @@ describe("Types", () => { expect(mockOriginalFieldValue.serialize).toBeCalledTimes(1); expect(mockOriginalFieldValue.serialize).toBeCalledWith( dataView, - offset + offset, ); mockOriginalFieldValue.set.mockClear(); @@ -265,12 +265,12 @@ describe("Types", () => { lengthFieldValue.serialize(dataView, offset); expect(mockOriginalFieldValue.set).toBeCalledTimes(1); expect(mockOriginalFieldValue.set).toBeCalledWith( - (100).toString(radix) + (100).toString(radix), ); expect(mockOriginalFieldValue.serialize).toBeCalledTimes(1); expect(mockOriginalFieldValue.serialize).toBeCalledWith( dataView, - offset + offset, ); }); }); @@ -288,7 +288,7 @@ describe("Types", () => { const arrayBufferFieldDefinition = new VariableLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { lengthField } + { lengthField }, ); const value = EMPTY_UINT8_ARRAY; @@ -298,16 +298,16 @@ describe("Types", () => { arrayBufferFieldDefinition, StructDefaultOptions, struct, - value + value, ); expect(bufferFieldValue).toHaveProperty( "definition", - arrayBufferFieldDefinition + arrayBufferFieldDefinition, ); expect(bufferFieldValue).toHaveProperty( "options", - StructDefaultOptions + StructDefaultOptions, ); expect(bufferFieldValue).toHaveProperty("struct", struct); expect(bufferFieldValue).toHaveProperty("value", value); @@ -325,7 +325,7 @@ describe("Types", () => { const arrayBufferFieldDefinition = new VariableLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { lengthField } + { lengthField }, ); const value = new Uint8Array(100); @@ -336,16 +336,16 @@ describe("Types", () => { StructDefaultOptions, struct, value, - value + value, ); expect(bufferFieldValue).toHaveProperty( "definition", - arrayBufferFieldDefinition + arrayBufferFieldDefinition, ); expect(bufferFieldValue).toHaveProperty( "options", - StructDefaultOptions + StructDefaultOptions, ); expect(bufferFieldValue).toHaveProperty("struct", struct); expect(bufferFieldValue).toHaveProperty("value", value); @@ -363,7 +363,7 @@ describe("Types", () => { const arrayBufferFieldDefinition = new VariableLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { lengthField } + { lengthField }, ); const value = EMPTY_UINT8_ARRAY; @@ -373,14 +373,14 @@ describe("Types", () => { arrayBufferFieldDefinition, StructDefaultOptions, struct, - value + value, ); expect(bufferFieldValue["lengthFieldValue"]).toBeInstanceOf( - StructFieldValue + StructFieldValue, ); expect(struct.fieldValues[lengthField]).toBe( - bufferFieldValue["lengthFieldValue"] + bufferFieldValue["lengthFieldValue"], ); }); }); @@ -390,13 +390,13 @@ describe("Types", () => { public override toBuffer = jest.fn( (value: Uint8Array): Uint8Array => { return value; - } + }, ); public override toValue = jest.fn( (arrayBuffer: Uint8Array): Uint8Array => { return arrayBuffer; - } + }, ); public size = 0; @@ -405,7 +405,7 @@ describe("Types", () => { (value: Uint8Array): number => { void value; return this.size; - } + }, ); } @@ -422,7 +422,7 @@ describe("Types", () => { arrayBufferFieldType, { lengthField, - } + }, ); const value = new Uint8Array(100); @@ -433,7 +433,7 @@ describe("Types", () => { StructDefaultOptions, struct, value, - value + value, ); expect(bufferFieldValue.getSize()).toBe(100); @@ -455,7 +455,7 @@ describe("Types", () => { arrayBufferFieldType, { lengthField, - } + }, ); const value = new Uint8Array(100); @@ -465,7 +465,7 @@ describe("Types", () => { arrayBufferFieldDefinition, StructDefaultOptions, struct, - value + value, ); arrayBufferFieldType.size = 100; @@ -490,7 +490,7 @@ describe("Types", () => { arrayBufferFieldType, { lengthField, - } + }, ); const value = new Uint8Array(100); @@ -500,7 +500,7 @@ describe("Types", () => { arrayBufferFieldDefinition, StructDefaultOptions, struct, - value + value, ); arrayBufferFieldType.size = -1; @@ -524,7 +524,7 @@ describe("Types", () => { const arrayBufferFieldDefinition = new VariableLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { lengthField } + { lengthField }, ); const value = new Uint8Array(100); @@ -535,7 +535,7 @@ describe("Types", () => { StructDefaultOptions, struct, value, - value + value, ); const newValue = new ArrayBuffer(100); @@ -554,7 +554,7 @@ describe("Types", () => { const arrayBufferFieldDefinition = new VariableLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { lengthField } + { lengthField }, ); const value = new Uint8Array(100); @@ -565,7 +565,7 @@ describe("Types", () => { StructDefaultOptions, struct, value, - value + value, ); const newValue = new ArrayBuffer(100); @@ -580,7 +580,7 @@ describe("Types", () => { it("should always return `0`", () => { const definition = new VariableLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { lengthField: "foo" } + { lengthField: "foo" }, ); expect(definition.getSize()).toBe(0); }); @@ -596,7 +596,7 @@ describe("Types", () => { const definition = new VariableLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { lengthField } + { lengthField }, ); originalLengthFieldValue.value = 0; @@ -618,7 +618,7 @@ describe("Types", () => { const definition = new VariableLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { lengthField } + { lengthField }, ); originalLengthFieldValue.value = "0"; @@ -641,7 +641,7 @@ describe("Types", () => { const radix = 8; const definition = new VariableLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { lengthField, lengthFieldRadix: radix } + { lengthField, lengthFieldRadix: radix }, ); originalLengthFieldValue.value = "0"; @@ -651,7 +651,7 @@ describe("Types", () => { originalLengthFieldValue.get.mockClear(); originalLengthFieldValue.value = "100"; expect(definition["getDeserializeSize"](struct)).toBe( - Number.parseInt("100", radix) + Number.parseInt("100", radix), ); expect(originalLengthFieldValue.get).toBeCalledTimes(1); }); @@ -667,23 +667,23 @@ describe("Types", () => { const definition = new VariableLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { lengthField } + { lengthField }, ); const value = new Uint8Array(100); const bufferFieldValue = definition.create( StructDefaultOptions, struct, - value + value, ); expect(bufferFieldValue).toHaveProperty( "definition", - definition + definition, ); expect(bufferFieldValue).toHaveProperty( "options", - StructDefaultOptions + StructDefaultOptions, ); expect(bufferFieldValue).toHaveProperty("struct", struct); expect(bufferFieldValue).toHaveProperty("value", value); @@ -700,7 +700,7 @@ describe("Types", () => { const definition = new VariableLengthBufferLikeFieldDefinition( Uint8ArrayBufferFieldSubType.Instance, - { lengthField } + { lengthField }, ); const value = new Uint8Array(100); @@ -708,16 +708,16 @@ describe("Types", () => { StructDefaultOptions, struct, value, - value + value, ); expect(bufferFieldValue).toHaveProperty( "definition", - definition + definition, ); expect(bufferFieldValue).toHaveProperty( "options", - StructDefaultOptions + StructDefaultOptions, ); expect(bufferFieldValue).toHaveProperty("struct", struct); expect(bufferFieldValue).toHaveProperty("value", value); diff --git a/libraries/struct/src/types/buffer/variable-length.ts b/libraries/struct/src/types/buffer/variable-length.ts index 93a116d6..30ae5bbf 100644 --- a/libraries/struct/src/types/buffer/variable-length.ts +++ b/libraries/struct/src/types/buffer/variable-length.ts @@ -13,7 +13,7 @@ export type LengthField = KeysOfType; export interface VariableLengthBufferLikeFieldOptions< TFields = object, - TLengthField extends LengthField = any + TLengthField extends LengthField = any, > { /** * The name of the field that contains the length of the buffer. @@ -33,8 +33,9 @@ export interface VariableLengthBufferLikeFieldOptions< export class VariableLengthBufferLikeFieldDefinition< TType extends BufferFieldSubType = BufferFieldSubType, - TOptions extends VariableLengthBufferLikeFieldOptions = VariableLengthBufferLikeFieldOptions, - TTypeScriptType = TType["TTypeScriptType"] + TOptions extends + VariableLengthBufferLikeFieldOptions = VariableLengthBufferLikeFieldOptions, + TTypeScriptType = TType["TTypeScriptType"], > extends BufferLikeFieldDefinition< TType, TOptions, @@ -57,20 +58,21 @@ export class VariableLengthBufferLikeFieldDefinition< options: Readonly, struct: StructValue, value: TTypeScriptType, - array?: Uint8Array + array?: Uint8Array, ): VariableLengthBufferLikeStructFieldValue { return new VariableLengthBufferLikeStructFieldValue( this, options, struct, value, - array + array, ); } } export class VariableLengthBufferLikeStructFieldValue< - TDefinition extends VariableLengthBufferLikeFieldDefinition = VariableLengthBufferLikeFieldDefinition + TDefinition extends + VariableLengthBufferLikeFieldDefinition = VariableLengthBufferLikeFieldDefinition, > extends BufferLikeFieldValue { protected length: number | undefined; @@ -81,7 +83,7 @@ export class VariableLengthBufferLikeStructFieldValue< options: Readonly, struct: StructValue, value: TDefinition["TValue"], - array?: Uint8Array + array?: Uint8Array, ) { super(definition, options, struct, value, array); @@ -95,7 +97,7 @@ export class VariableLengthBufferLikeStructFieldValue< const originalValue = struct.get(lengthField); this.lengthFieldValue = new VariableLengthBufferLikeFieldLengthValue( originalValue, - this + this, ); struct.set(lengthField, this.lengthFieldValue); } @@ -131,13 +133,13 @@ export class VariableLengthBufferLikeFieldLengthValue extends StructFieldValue { public constructor( originalField: StructFieldValue, - arrayBufferField: VariableLengthBufferLikeFieldValueLike + arrayBufferField: VariableLengthBufferLikeFieldValueLike, ) { super( originalField.definition, originalField.options, originalField.struct, - 0 + 0, ); this.originalField = originalField; this.bufferField = arrayBufferField; @@ -153,7 +155,7 @@ export class VariableLengthBufferLikeFieldLengthValue extends StructFieldValue { const originalValue = this.originalField.get(); if (typeof originalValue === "string") { value = value.toString( - this.bufferField.definition.options.lengthFieldRadix ?? 10 + this.bufferField.definition.options.lengthFieldRadix ?? 10, ); } diff --git a/libraries/struct/src/types/number.spec.ts b/libraries/struct/src/types/number.spec.ts index 80f45a5f..cd56090b 100644 --- a/libraries/struct/src/types/number.spec.ts +++ b/libraries/struct/src/types/number.spec.ts @@ -9,7 +9,7 @@ function testEndian( type: NumberFieldType, min: number, max: number, - littleEndian: boolean + littleEndian: boolean, ) { test(`min = ${min}`, () => { const buffer = new ArrayBuffer(type.size); @@ -156,33 +156,33 @@ describe("Types", () => { it("should return size of its type", () => { expect( new NumberFieldDefinition( - NumberFieldType.Int8 - ).getSize() + NumberFieldType.Int8, + ).getSize(), ).toBe(1); expect( new NumberFieldDefinition( - NumberFieldType.Uint8 - ).getSize() + NumberFieldType.Uint8, + ).getSize(), ).toBe(1); expect( new NumberFieldDefinition( - NumberFieldType.Int16 - ).getSize() + NumberFieldType.Int16, + ).getSize(), ).toBe(2); expect( new NumberFieldDefinition( - NumberFieldType.Uint16 - ).getSize() + NumberFieldType.Uint16, + ).getSize(), ).toBe(2); expect( new NumberFieldDefinition( - NumberFieldType.Int32 - ).getSize() + NumberFieldType.Int32, + ).getSize(), ).toBe(4); expect( new NumberFieldDefinition( - NumberFieldType.Uint32 - ).getSize() + NumberFieldType.Uint32, + ).getSize(), ).toBe(4); }); }); @@ -190,70 +190,70 @@ describe("Types", () => { describe("#deserialize", () => { it("should deserialize Uint8", () => { const readExactly = jest.fn( - () => new Uint8Array([1, 2, 3, 4]) + () => new Uint8Array([1, 2, 3, 4]), ); const stream: ExactReadable = { position: 0, readExactly }; const definition = new NumberFieldDefinition( - NumberFieldType.Uint8 + NumberFieldType.Uint8, ); const struct = new StructValue({}); const value = definition.deserialize( StructDefaultOptions, stream, - struct + struct, ); expect(value.get()).toBe(1); expect(readExactly).toBeCalledTimes(1); expect(readExactly).lastCalledWith( - NumberFieldType.Uint8.size + NumberFieldType.Uint8.size, ); }); it("should deserialize Uint16", () => { const readExactly = jest.fn( - () => new Uint8Array([1, 2, 3, 4]) + () => new Uint8Array([1, 2, 3, 4]), ); const stream: ExactReadable = { position: 0, readExactly }; const definition = new NumberFieldDefinition( - NumberFieldType.Uint16 + NumberFieldType.Uint16, ); const struct = new StructValue({}); const value = definition.deserialize( StructDefaultOptions, stream, - struct + struct, ); expect(value.get()).toBe((1 << 8) | 2); expect(readExactly).toBeCalledTimes(1); expect(readExactly).lastCalledWith( - NumberFieldType.Uint16.size + NumberFieldType.Uint16.size, ); }); it("should deserialize Uint16LE", () => { const readExactly = jest.fn( - () => new Uint8Array([1, 2, 3, 4]) + () => new Uint8Array([1, 2, 3, 4]), ); const stream: ExactReadable = { position: 0, readExactly }; const definition = new NumberFieldDefinition( - NumberFieldType.Uint16 + NumberFieldType.Uint16, ); const struct = new StructValue({}); const value = definition.deserialize( { ...StructDefaultOptions, littleEndian: true }, stream, - struct + struct, ); expect(value.get()).toBe((2 << 8) | 1); expect(readExactly).toBeCalledTimes(1); expect(readExactly).lastCalledWith( - NumberFieldType.Uint16.size + NumberFieldType.Uint16.size, ); }); }); @@ -267,37 +267,37 @@ describe("Types", () => { expect( new NumberFieldDefinition(NumberFieldType.Int8) .create(StructDefaultOptions, struct, 42) - .getSize() + .getSize(), ).toBe(1); expect( new NumberFieldDefinition(NumberFieldType.Uint8) .create(StructDefaultOptions, struct, 42) - .getSize() + .getSize(), ).toBe(1); expect( new NumberFieldDefinition(NumberFieldType.Int16) .create(StructDefaultOptions, struct, 42) - .getSize() + .getSize(), ).toBe(2); expect( new NumberFieldDefinition(NumberFieldType.Uint16) .create(StructDefaultOptions, struct, 42) - .getSize() + .getSize(), ).toBe(2); expect( new NumberFieldDefinition(NumberFieldType.Int32) .create(StructDefaultOptions, struct, 42) - .getSize() + .getSize(), ).toBe(4); expect( new NumberFieldDefinition(NumberFieldType.Uint32) .create(StructDefaultOptions, struct, 42) - .getSize() + .getSize(), ).toBe(4); }); }); @@ -305,13 +305,13 @@ describe("Types", () => { describe("#serialize", () => { it("should serialize uint8", () => { const definition = new NumberFieldDefinition( - NumberFieldType.Int8 + NumberFieldType.Int8, ); const struct = new StructValue({}); const value = definition.create( StructDefaultOptions, struct, - 42 + 42, ); const array = new Uint8Array(10); diff --git a/libraries/struct/src/types/number.ts b/libraries/struct/src/types/number.ts index 5e9edbf8..9f47af20 100644 --- a/libraries/struct/src/types/number.ts +++ b/libraries/struct/src/types/number.ts @@ -16,7 +16,7 @@ export interface NumberFieldType { dataView: DataView, offset: number, value: number, - littleEndian: boolean + littleEndian: boolean, ): void; } @@ -109,7 +109,7 @@ export namespace NumberFieldType { export class NumberFieldDefinition< TType extends NumberFieldType = NumberFieldType, - TTypeScriptType = number + TTypeScriptType = number, > extends StructFieldDefinition { public readonly type: TType; @@ -126,7 +126,7 @@ export class NumberFieldDefinition< public create( options: Readonly, struct: StructValue, - value: TTypeScriptType + value: TTypeScriptType, ): NumberFieldValue { return new NumberFieldValue(this, options, struct, value); } @@ -134,17 +134,17 @@ export class NumberFieldDefinition< public override deserialize( options: Readonly, stream: ExactReadable, - struct: StructValue + struct: StructValue, ): NumberFieldValue; public override deserialize( options: Readonly, stream: AsyncExactReadable, - struct: StructValue + struct: StructValue, ): Promise>; public override deserialize( options: Readonly, stream: ExactReadable | AsyncExactReadable, - struct: StructValue + struct: StructValue, ): ValueOrPromise> { return SyncPromise.try(() => { return stream.readExactly(this.getSize()); @@ -152,7 +152,7 @@ export class NumberFieldDefinition< .then((array) => { const value = this.type.deserialize( array, - options.littleEndian + options.littleEndian, ); return this.create(options, struct, value as any); }) @@ -161,14 +161,14 @@ export class NumberFieldDefinition< } export class NumberFieldValue< - TDefinition extends NumberFieldDefinition + TDefinition extends NumberFieldDefinition, > extends StructFieldValue { public serialize(dataView: DataView, offset: number): void { this.definition.type.serialize( dataView, offset, this.value, - this.options.littleEndian + this.options.littleEndian, ); } } diff --git a/libraries/tabby-launcher/package.json b/libraries/tabby-launcher/package.json index d58d62da..21689549 100644 --- a/libraries/tabby-launcher/package.json +++ b/libraries/tabby-launcher/package.json @@ -42,8 +42,8 @@ "tabby-settings": "^1.0.197-nightly.1", "tabby-terminal": "^1.0.197-nightly.1", "tabby-web": "^1.0.197-nightly.1", - "ts-loader": "^9.4.2", - "typescript": "^5.0.3", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", "url": "^0.11.0", "util": "^0.12.5", "webpack": "^5.83.1", diff --git a/libraries/tabby-tango/package.json b/libraries/tabby-tango/package.json index a4ca78a9..391ec987 100644 --- a/libraries/tabby-tango/package.json +++ b/libraries/tabby-tango/package.json @@ -26,19 +26,19 @@ "@ng-bootstrap/ng-bootstrap": "^14.1.1", "@ngtools/webpack": "^15.2.5", "@popperjs/core": "^2.11.6", - "@types/node": "^20.2.1", + "@types/node": "^20.4.0", "@types/webpack-env": "^1.16.0", "@yume-chan/adb": "workspace:^0.0.20", "@yume-chan/stream-extra": "workspace:^0.0.20", "babel-loader": "^9.1.2", - "mobx": "^6.7.0", + "mobx": "^6.9.0", "rxjs": "^7.8.1", "source-map-loader": "^4.0.1", "tabby-core": "^1.0.197-nightly.1", "tabby-settings": "^1.0.197-nightly.1", "tabby-terminal": "^1.0.197-nightly.1", - "tslib": "^2.5.2", - "typescript": "^5.0.3", + "tslib": "^2.6.0", + "typescript": "^5.1.6", "webpack": "^5.83.1", "webpack-bundle-analyzer": "^4.7.0", "webpack-cli": "^5.1.1", diff --git a/toolchain/eslint-config/package.json b/toolchain/eslint-config/package.json index 60adc867..1edd5364 100644 --- a/toolchain/eslint-config/package.json +++ b/toolchain/eslint-config/package.json @@ -2,14 +2,14 @@ "name": "@yume-chan/eslint-config", "version": "1.0.0", "dependencies": { - "@rushstack/eslint-patch": "^1.2.0", - "@typescript-eslint/eslint-plugin": "^5.59.6", - "@typescript-eslint/parser": "^5.59.6", - "eslint": "^8.41.0", - "eslint-plugin-import": "^2.27.4", - "typescript": "^5.0.3" + "@rushstack/eslint-patch": "^1.3.2", + "@typescript-eslint/eslint-plugin": "^5.61.0", + "@typescript-eslint/parser": "^5.61.0", + "eslint": "^8.44.0", + "eslint-plugin-import": "^2.27.5", + "typescript": "^5.1.6" }, "devDependencies": { - "prettier": "^2.8.8" + "prettier": "^3.0.0" } } diff --git a/toolchain/tsconfig/package.json b/toolchain/tsconfig/package.json index dec3ecb1..0f9ebb55 100644 --- a/toolchain/tsconfig/package.json +++ b/toolchain/tsconfig/package.json @@ -2,6 +2,6 @@ "name": "@yume-chan/tsconfig", "version": "1.0.0", "devDependencies": { - "prettier": "^2.8.8" + "prettier": "^3.0.0" } }