Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce8f062e authored by Simon Chan's avatar Simon Chan
Browse files

refactor(scrcpy): separate parts depend on ADB

parent 6158745e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
        "Nalu",
        "opendir",
        "PKCS",
        "ponyfill",
        "runtimes",
        "Scrcpy",
        "sendrecv",
+10 −9
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ import { CSSProperties, ReactNode, useEffect, useState } from "react";

import { ADB_SYNC_MAX_PACKET_SIZE, ChunkStream, InspectStream, ReadableStream, WritableStream } from '@yume-chan/adb';
import { EventEmitter } from "@yume-chan/event";
import { AndroidKeyCode, AndroidKeyEventAction, AndroidMotionEventAction, CodecOptions, DEFAULT_SERVER_PATH, pushServer, ScrcpyClient, ScrcpyLogLevel, ScrcpyOptions1_24, ScrcpyVideoOrientation, TinyH264Decoder, WebCodecsDecoder, type H264Decoder, type H264DecoderConstructor, type VideoStreamPacket } from "@yume-chan/scrcpy";
import { AdbScrcpyClient, AndroidKeyCode, AndroidKeyEventAction, AndroidMotionEventAction, CodecOptions, DEFAULT_SERVER_PATH, ScrcpyClient, ScrcpyLogLevel, ScrcpyOptions1_24, ScrcpyVideoOrientation, TinyH264Decoder, WebCodecsDecoder, type H264Decoder, type H264DecoderConstructor, type VideoStreamPacket } from "@yume-chan/scrcpy";
import SCRCPY_SERVER_VERSION from '@yume-chan/scrcpy/bin/version';

import { DemoModePanel, DeviceView, DeviceViewRef, ExternalLink } from "../components";
@@ -223,6 +223,8 @@ const SettingItem = observer(function SettingItem({
});

class ScrcpyPageState {
    adbScrcpyClient: AdbScrcpyClient | null = null;

    running = false;

    deviceView: DeviceViewRef | null = null;
@@ -252,7 +254,7 @@ class ScrcpyPageState {
                controller.close();
            },
        })
            .pipeTo(pushServer(GlobalState.device!));
            .pipeTo(this.adbScrcpyClient!.pushServer());
    }

    encoders: string[] = [];
@@ -260,8 +262,7 @@ class ScrcpyPageState {
        try {
            await this.pushServer();

            const encoders = await ScrcpyClient.getEncoders(
                GlobalState.device!,
            const encoders = await this.adbScrcpyClient!.getEncoders(
                DEFAULT_SERVER_PATH,
                SCRCPY_SERVER_VERSION,
                new ScrcpyOptions1_24({
@@ -296,8 +297,7 @@ class ScrcpyPageState {
        try {
            await this.pushServer();

            const displays = await ScrcpyClient.getDisplays(
                GlobalState.device!,
            const displays = await this.adbScrcpyClient!.getDisplays(
                DEFAULT_SERVER_PATH,
                SCRCPY_SERVER_VERSION,
                new ScrcpyOptions1_24({
@@ -631,6 +631,8 @@ class ScrcpyPageState {
        autorun(() => {
            if (GlobalState.device) {
                runInAction(() => {
                    this.adbScrcpyClient = new AdbScrcpyClient(GlobalState.device!);

                    this.encoders = [];
                    this.settings.encoderName = undefined;

@@ -721,7 +723,7 @@ class ScrcpyPageState {
                    .pipeThrough(new ProgressStream(action((progress) => {
                        this.serverUploadedSize = progress;
                    })))
                    .pipeTo(pushServer(GlobalState.device));
                    .pipeTo(this.adbScrcpyClient!.pushServer());

                runInAction(() => {
                    this.serverUploadSpeed = this.serverUploadedSize - this.debouncedServerUploadedSize;
@@ -763,8 +765,7 @@ class ScrcpyPageState {
                this.log.push(`[client] Server arguments: ${options.formatServerArguments().join(' ')}`);
            });

            const client = await ScrcpyClient.start(
                GlobalState.device,
            const client = await this.adbScrcpyClient!.start(
                DEFAULT_SERVER_PATH,
                SCRCPY_SERVER_VERSION,
                options
+38 −47
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@ specifiers:
  eslint: 8.8.0
  eslint-config-next: 12.1.6
  file-loader: ^6.2.0
  gh-release-fetch: ^2.0.4
  jest: ^28.1.0
  json5: ^2.2.0
  mini-svg-data-uri: ^1.3.3
@@ -51,7 +50,6 @@ specifiers:
  react-dom: ^17.0.2
  source-map-loader: ^3.0.1
  streamsaver: ^2.0.5
  tinyh264: ^0.0.7
  ts-jest: ^28.0.2
  tslib: ^2.3.1
  typescript: 4.7.2
@@ -62,8 +60,6 @@ specifiers:
  xterm-addon-fit: ^0.5.0
  xterm-addon-search: ^0.8.2
  xterm-addon-webgl: ^0.11.4
  yuv-buffer: ^1.0.0
  yuv-canvas: ^1.2.7

dependencies:
  '@docusaurus/core': 2.0.0-beta.20_18c7f5bed56412102790ca2f4f7ad3a4
@@ -103,7 +99,6 @@ dependencies:
  eslint: 8.8.0
  eslint-config-next: 12.1.6_2286f1b09044d38231576974883dc607
  file-loader: 6.2.0
  gh-release-fetch: 2.0.6
  jest: 28.1.0_@types+node@17.0.33
  json5: 2.2.1
  mini-svg-data-uri: 1.4.4
@@ -116,7 +111,6 @@ dependencies:
  react-dom: 17.0.2_react@17.0.2
  source-map-loader: 3.0.1
  streamsaver: 2.0.6
  tinyh264: 0.0.7
  ts-jest: 28.0.2_jest@28.1.0+typescript@4.7.2
  tslib: 2.4.0
  typescript: 4.7.2
@@ -127,8 +121,6 @@ dependencies:
  xterm-addon-fit: 0.5.0_xterm@4.18.0
  xterm-addon-search: 0.8.2_xterm@4.18.0
  xterm-addon-webgl: 0.11.4_xterm@4.18.0
  yuv-buffer: 1.0.0
  yuv-canvas: 1.2.11

packages:

@@ -3908,7 +3900,7 @@ packages:
    dev: false

  /archive-type/4.0.0:
    resolution: {integrity: sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=}
    resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==}
    engines: {node: '>=4'}
    dependencies:
      file-type: 4.4.0
@@ -3994,7 +3986,7 @@ packages:
    dev: false

  /asynckit/0.4.0:
    resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=}
    resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
    dev: false

  /at-least-node/1.0.0:
@@ -4336,11 +4328,11 @@ packages:
    dev: false

  /buffer-crc32/0.2.13:
    resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=}
    resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
    dev: false

  /buffer-fill/1.0.0:
    resolution: {integrity: sha1-+PeLdniYiO858gXNY39o5wISKyw=}
    resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==}
    dev: false

  /buffer-from/1.1.2:
@@ -4365,7 +4357,7 @@ packages:
    dev: false

  /cacheable-request/2.1.4:
    resolution: {integrity: sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=}
    resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==}
    dependencies:
      clone-response: 1.0.2
      get-stream: 3.0.0
@@ -5072,7 +5064,7 @@ packages:
    dev: false

  /decode-uri-component/0.2.0:
    resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=}
    resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==}
    engines: {node: '>=0.10'}
    dev: false

@@ -5113,7 +5105,7 @@ packages:
    dev: false

  /decompress-unzip/4.0.1:
    resolution: {integrity: sha1-3qrM39FK6vhVePczroIQ+bSEj2k=}
    resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==}
    engines: {node: '>=4'}
    dependencies:
      file-type: 3.9.0
@@ -5193,7 +5185,7 @@ packages:
    dev: false

  /delayed-stream/1.0.0:
    resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=}
    resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
    engines: {node: '>=0.4.0'}
    dev: false

@@ -5988,7 +5980,7 @@ packages:
    dev: false

  /fd-slicer/1.1.0:
    resolution: {integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=}
    resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
    dependencies:
      pend: 1.2.0
    dev: false
@@ -6034,17 +6026,17 @@ packages:
    dev: false

  /file-type/3.9.0:
    resolution: {integrity: sha1-JXoHg4TR24CHvESdEH1SpSZyuek=}
    resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==}
    engines: {node: '>=0.10.0'}
    dev: false

  /file-type/4.4.0:
    resolution: {integrity: sha1-G2AOX8ofvcboDApwxxyNul95BsU=}
    resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==}
    engines: {node: '>=4'}
    dev: false

  /file-type/5.2.0:
    resolution: {integrity: sha1-LdvqfHP/42No365J3DOMBYwritY=}
    resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==}
    engines: {node: '>=4'}
    dev: false

@@ -6054,7 +6046,7 @@ packages:
    dev: false

  /filename-reserved-regex/2.0.0:
    resolution: {integrity: sha1-q/c9+rc10EVECr/qLZHzieu/oik=}
    resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==}
    engines: {node: '>=4'}
    dev: false

@@ -6221,7 +6213,7 @@ packages:
    dev: false

  /from2/2.3.0:
    resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=}
    resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==}
    dependencies:
      inherits: 2.0.4
      readable-stream: 2.3.7
@@ -6316,7 +6308,7 @@ packages:
    dev: false

  /get-stream/2.3.1:
    resolution: {integrity: sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=}
    resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==}
    engines: {node: '>=0.10.0'}
    dependencies:
      object-assign: 4.1.1
@@ -6324,7 +6316,7 @@ packages:
    dev: false

  /get-stream/3.0.0:
    resolution: {integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=}
    resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==}
    engines: {node: '>=4'}
    dev: false

@@ -6355,15 +6347,14 @@ packages:
      get-intrinsic: 1.1.1
    dev: false

  /gh-release-fetch/2.0.6:
    resolution: {integrity: sha512-l+x05y91qHgdrh66TjM0ZQ+tg5tg6tY4nkMB1iZ+geWD6aMBGNe5//4JDIMFTiHEZPbo72my8FcK9i2WADWPCg==}
    engines: {node: '>=10'}
  /gh-release-fetch/3.0.2:
    resolution: {integrity: sha512-xcX1uaOVDvsm+io4bvJfBFpQCLfoI3DsFay2GBMUtEnNInbNFFZqxTh7X0WIorCDtOmtos5atp2BGHAGEzmlAg==}
    engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0}
    dependencies:
      '@types/download': 8.0.1
      '@types/node-fetch': 2.6.1
      '@types/semver': 7.3.9
      download: 8.0.0
      make-dir: 3.1.0
      node-fetch: 2.6.7
      semver: 7.3.7
    transitivePeerDependencies:
@@ -6965,7 +6956,7 @@ packages:
    dev: false

  /into-stream/3.1.0:
    resolution: {integrity: sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=}
    resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==}
    engines: {node: '>=4'}
    dependencies:
      from2: 2.3.0
@@ -7104,7 +7095,7 @@ packages:
    dev: false

  /is-natural-number/4.0.1:
    resolution: {integrity: sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=}
    resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==}
    dev: false

  /is-negative-zero/2.0.2:
@@ -7154,7 +7145,7 @@ packages:
    dev: false

  /is-plain-obj/1.1.0:
    resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=}
    resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
    engines: {node: '>=0.10.0'}
    dev: false

@@ -7205,7 +7196,7 @@ packages:
    dev: false

  /is-stream/1.1.0:
    resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=}
    resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
    engines: {node: '>=0.10.0'}
    dev: false

@@ -8045,7 +8036,7 @@ packages:
    dev: false

  /lowercase-keys/1.0.0:
    resolution: {integrity: sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=}
    resolution: {integrity: sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==}
    engines: {node: '>=0.10.0'}
    dev: false

@@ -8593,12 +8584,12 @@ packages:
    dev: false

  /p-finally/1.0.0:
    resolution: {integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=}
    resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
    engines: {node: '>=4'}
    dev: false

  /p-is-promise/1.1.0:
    resolution: {integrity: sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=}
    resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==}
    engines: {node: '>=4'}
    dev: false

@@ -8806,7 +8797,7 @@ packages:
    dev: false

  /pend/1.2.0:
    resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=}
    resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
    dev: false

  /picocolors/1.0.0:
@@ -8819,12 +8810,12 @@ packages:
    dev: false

  /pify/2.3.0:
    resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=}
    resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
    engines: {node: '>=0.10.0'}
    dev: false

  /pify/3.0.0:
    resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=}
    resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
    engines: {node: '>=4'}
    dev: false

@@ -8834,14 +8825,14 @@ packages:
    dev: false

  /pinkie-promise/2.0.1:
    resolution: {integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=}
    resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==}
    engines: {node: '>=0.10.0'}
    dependencies:
      pinkie: 2.0.4
    dev: false

  /pinkie/2.0.4:
    resolution: {integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=}
    resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==}
    engines: {node: '>=0.10.0'}
    dev: false

@@ -10252,21 +10243,21 @@ packages:
    dev: false

  /sort-keys-length/1.0.1:
    resolution: {integrity: sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=}
    resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==}
    engines: {node: '>=0.10.0'}
    dependencies:
      sort-keys: 1.1.2
    dev: false

  /sort-keys/1.1.2:
    resolution: {integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0=}
    resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==}
    engines: {node: '>=0.10.0'}
    dependencies:
      is-plain-obj: 1.1.0
    dev: false

  /sort-keys/2.0.0:
    resolution: {integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=}
    resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==}
    engines: {node: '>=4'}
    dependencies:
      is-plain-obj: 1.1.0
@@ -10391,7 +10382,7 @@ packages:
    dev: false

  /strict-uri-encode/1.1.0:
    resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=}
    resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==}
    engines: {node: '>=0.10.0'}
    dev: false

@@ -11784,7 +11775,7 @@ packages:
    dev: false

  file:projects/demo.tgz_@mdx-js+react@1.6.22:
    resolution: {integrity: sha512-L7E5kSZb12r38EuntJ+rQjRmhduSBo0EANWMliv6GH6RQykgkVqHqscH1d4VvUM0KuVm5F0oeii1pJzymCdIrg==, tarball: file:projects/demo.tgz}
    resolution: {integrity: sha512-gl5GkBO/BxTaB9ztOpDJnkUtk9rdfKeVyZU0JUPYAKEfvhdPMgv+80lEL3WaUHb9zZMZ3Jy/Pslu74KL1PtsQg==, tarball: file:projects/demo.tgz}
    id: file:projects/demo.tgz
    name: '@rush-temp/demo'
    version: 0.0.0
@@ -11844,7 +11835,7 @@ packages:
    dev: false

  file:projects/scrcpy.tgz_@types+node@17.0.33:
    resolution: {integrity: sha512-jCMSIItmtChytyjlkM594BanuzULuZ/Z9rVcQZxwh84HNtjqGnERhTR8zTUQTO6s/1QYgXaIKmtbDMauwAQTTg==, tarball: file:projects/scrcpy.tgz}
    resolution: {integrity: sha512-gWbbAg9u4YI8EMw0I5T7VUJlYhzGCP6cq3StmKWhqsSW2TjBECFNvmvjk7TB9BG3OohqjiFriDoEBElKqgLlgQ==, tarball: file:projects/scrcpy.tgz}
    id: file:projects/scrcpy.tgz
    name: '@rush-temp/scrcpy'
    version: 0.0.0
@@ -11852,7 +11843,7 @@ packages:
      '@jest/globals': 28.1.0
      '@types/dom-webcodecs': 0.1.4
      '@yume-chan/async': 2.1.4
      gh-release-fetch: 2.0.6
      gh-release-fetch: 3.0.2
      jest: 28.1.0_@types+node@17.0.33
      tinyh264: 0.0.7
      tslib: 2.4.0
+1 −1
Original line number Diff line number Diff line
// DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush.
{
  "pnpmShrinkwrapHash": "084447760927a169dd324c486492ee2effdc3820"
  "pnpmShrinkwrapHash": "3798fc5f6f6c673b1888e77923d3eeace5651923"
}
+251 −33

File changed.

Preview size limit exceeded, changes collapsed.

Loading