hediet / vscode-debug-visualizer

An extension for VS Code that visualizes data during debugging.
https://marketplace.visualstudio.com/items?itemName=hediet.debug-visualizer
GNU General Public License v3.0
7.92k stars 410 forks source link

Step by Step Instructions For JavaScript #41

Open Hardlygo opened 4 years ago

Hardlygo commented 4 years ago

could you please tell us more about how to write the expression for initial debugging ?please

hediet commented 4 years ago

Can you provide more details? Which language, what do you want to visualize and what do you mean with "initial"?

Hardlygo commented 4 years ago

thanks for your reply and please forgive me my poor english.I download it from vscode,and want to debug some algorithm writing by js but do not know how to write the expression.could you please tell us more about how to write the expression.thanks you again~

gtsec commented 4 years ago

@Hardlygo I also did not find any clear instructions on how to get the whole Javascript debugging thing working, and I am not super familiar with VS Code to know how to work this extension either. Here is what worked for me:

Prerequisites: have yarn and node installed.

  1. Clone the project to local, open the project with VS Code.
  2. Under the project's demos/js folder, run yarn, and make sure it installs the package @hediet/debug-visualizer-data-extraction, if not then run yarn add @hediet/debug-visualizer-data-extraction. I don't know why but when I first ran just yarn, it didn't install the package.
  3. Open up demo_doubly-linked-list.ts, VS Code should not have a squiggly line under @hediet/debug-visualizer-data-extraction, meaning it should be installed properly.
  4. Put a breakpoint somewhere in there, let's start with line 56, where visualize() is defined.
  5. Your VS Code is most likely configured differently from mine here. For me, I selected Node.js (preview) (see screenshot), image, then hit Run Current File. Debugger should now start and pause on line 56.
  6. Ctrl + Shift + P (or F1), then Type Debug Visualizer: New View
  7. Done, you should now see this: image
sbussard commented 4 years ago

@gtsec this doesn't seem to work since it's typescript. It gives the error SyntaxError: Cannot use import statement outside a module Further errors follow if I update package.json to be a module

gtsec commented 4 years ago

@sbussard If you run yarn dev in demos/js directory (which just does a tsc --watch), it'll generate *.js files under demos/js/dist. Maybe that will work for you

Tracker647 commented 3 years ago

@gtsec I runyarn in my js folder,but the install process is always failed by a file download error, now I don't know how to do.

error message:

PS E:\myprogramming\vscode-debug-visualizer-master\demos\js> yarn
yarn install v1.22.5
[1/4] Resolving packages...
[2/4] Fetching packages...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
error An unexpected error occurred: "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz: ESOCKETTIMEDOUT".
info If you think this is a bug, please open a bug report with the information provided in "E:\\myprogramming\\vscode-debug-visualizer-master\\demos\\js\\yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
PS E:\myprogramming\vscode-debug-visualizer-master\demos\js>

yarn-error.log:

Arguments: 
  D:\nodejs\node.exe C:\Program Files (x86)\Yarn\bin\yarn.js

PATH: 
  C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\mingw64\bin;D:\Program Files (x86)\Git\cmd;D:\mingw64\my_head;C:\Program Files (x86)\Calibre2\;D:\nodejs;D:\Program Files\MATLAB\R2018b\runtime\win64;D:\Program Files\MATLAB\R2018b\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Yarn\bin\;C:\Users\hw\AppData\Local\Programs\Python\Python38-32\Scripts\;C:\Users\hw\AppData\Local\Programs\Python\Python38-32\;C:\Users\hw\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Bandizip\;D:\Program Files (x86)\Microsoft VS Code\bin;C:\Users\hw\AppData\Roaming\npm;C:\Users\hw\AppData\Local\GitHubDesktop\bin;D:\Program Files\JetBrains\WebStorm 2020.2.2\bin;;C:\Users\hw\AppData\Local\Yarn\bin

Yarn version: 
  1.22.5

Node version: 
  12.18.3

Platform: 
  win32 x64

Trace: 
  Error: https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz: ESOCKETTIMEDOUT
      at ClientRequest.<anonymous> (C:\Program Files (x86)\Yarn\lib\cli.js:141376:19)
      at Object.onceWrapper (events.js:421:28)
      at ClientRequest.emit (events.js:315:20)
      at TLSSocket.emitRequestTimeout (_http_client.js:709:9)
      at Object.onceWrapper (events.js:421:28)
      at TLSSocket.emit (events.js:327:22)
      at TLSSocket.Socket._onTimeout (net.js:482:8)
      at listOnTimeout (internal/timers.js:549:17)
      at processTimers (internal/timers.js:492:7)

npm manifest: 
  {
    "name": "demo",
    "version": "1.0.0",
    "license": "MIT",
    "dependencies": {
        "@hediet/node-reload": "0.7.3",
        "@types/node": "^13.7.4",
        "node-fetch": "^2.6.1",
        "typescript": "^3.8.2"
    },
    "scripts": {
        "dev": "tsc --watch"
    }
  }

yarn manifest: 
  No manifest

Lockfile: 
  # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
  # yarn lockfile v1

  "@hediet/live-debug@^0.5.1":
    version "0.5.2"
    resolved "https://registry.yarnpkg.com/@hediet/live-debug/-/live-debug-0.5.2.tgz#f2ee0034f014836bfd68e26c35a168ab42b15486"
    integrity sha512-HBqVbyFez1oQlIPO9dzkFi7/9Gvt6ZpssgURzYaVFREl9Oq03nPd6V7Ay4bW03xFHPo3YT2Yff9mFmGQUX7JEg==
    dependencies:
      "@hediet/std" "^0.6.0"
      "@hediet/typed-json-rpc" "^0.7.6"
      "@hediet/typed-json-rpc-websocket" "^0.7.7"
      stacktracey "^1.2.112"
      ws "^7.0.0"

  "@hediet/node-reload@0.7.3":
    version "0.7.3"
    resolved "https://registry.yarnpkg.com/@hediet/node-reload/-/node-reload-0.7.3.tgz#305d68f54185200b018b14f257037ab8d8ca9857"
    integrity sha512-icOyfDpArfvqmw0VLf2CoGR/jCSuWk3fScJGFuXQHpb0c9yNoGTiuG3Q8L2iJIuDzCjRu47DR2T+yCvZsY/f+w==
    dependencies:
      "@hediet/live-debug" "^0.5.1"
      "@hediet/std" "^0.6.0"
      "@hediet/typed-json-rpc" "^0.7.6"
      "@types/node" "^12.0.7"
      "@types/stack-trace" "^0.0.29"
      chalk "^2.4.2"
      chokidar "^3.0.1"
      stack-trace "^0.0.10"
      ws "^7.0.0"

  "@hediet/std@^0.6.0":
    version "0.6.0"
    resolved "https://registry.yarnpkg.com/@hediet/std/-/std-0.6.0.tgz#f7d2ffc1180ecef6ff272d0d6780f0c0d9337e4e"
    integrity sha512-XzBiZo6pnt01k266lSbXOBZd7jrQQSutoH3IpI/1GuL09zxuDX+c0XersEbMCGS45S2l/TSlISyV3MH1lbYJEg==
    dependencies:
      "@types/chai" "^4.1.7"
      "@types/sinon" "^7.0.10"
      chai "^4.2.0"
      mobx "^5.10.0"
      sinon "^7.2.7"

  "@hediet/typed-json-rpc-websocket@^0.7.7":
    version "0.7.7"
    resolved "https://registry.yarnpkg.com/@hediet/typed-json-rpc-websocket/-/typed-json-rpc-websocket-0.7.7.tgz#b1555528226e2bf3202d1d0e1870d04b59c14048"
    integrity sha512-0Aakr7ktqjR9paPRHM0fhePZDA8kKWn2t2Al3ta9nXSsY4ec/HknEwR9NMhXD3lATa/wvvKVIymalzKuRoV82A==
    dependencies:
      "@hediet/typed-json-rpc" "^0.7.5"
      "@types/ws" "^6.0.1"
      isomorphic-ws "^4.0.1"

  "@hediet/typed-json-rpc@^0.7.5", "@hediet/typed-json-rpc@^0.7.6":
    version "0.7.7"
    resolved "https://registry.yarnpkg.com/@hediet/typed-json-rpc/-/typed-json-rpc-0.7.7.tgz#bd7e586ad5c0480f7bd6bc40d6ad202e0a80b54d"
    integrity sha512-lyjbVqt+mFrRS0+2cOVDithtfG9gfRV5CJMVDwV+F2gfCUjTe1aZu4xObpDDLfxfoZOGgtPNNg6jCNhvXSxQHg==
    dependencies:
      "@hediet/std" "^0.6.0"
      io-ts "^1.8.6"

  "@sinonjs/commons@^1", "@sinonjs/commons@^1.0.2", "@sinonjs/commons@^1.4.0":
    version "1.4.0"
    resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.4.0.tgz#7b3ec2d96af481d7a0321252e7b1c94724ec5a78"
    integrity sha512-9jHK3YF/8HtJ9wCAbG+j8cD0i0+ATS9A7gXFqS36TblLPNy6rEEc+SB0imo91eCboGaBYGV/MT1/br/J+EE7Tw==
    dependencies:
      type-detect "4.0.8"

  "@sinonjs/formatio@^3.1.0", "@sinonjs/formatio@^3.2.1":
    version "3.2.1"
    resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.1.tgz#52310f2f9bcbc67bdac18c94ad4901b95fde267e"
    integrity sha512-tsHvOB24rvyvV2+zKMmPkZ7dXX6LSLKZ7aOtXY6Edklp0uRcgGpOsQTTGTcWViFyx4uhWc6GV8QdnALbIbIdeQ==
    dependencies:
      "@sinonjs/commons" "^1"
      "@sinonjs/samsam" "^3.1.0"

  "@sinonjs/samsam@^3.1.0", "@sinonjs/samsam@^3.3.1":
    version "3.3.2"
    resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.2.tgz#63942e3d5eb0b79f6de3bef9abfad15fb4b6401b"
    integrity sha512-ILO/rR8LfAb60Y1Yfp9vxfYAASK43NFC2mLzpvLUbCQY/Qu8YwReboseu8aheCEkyElZF2L2T9mHcR2bgdvZyA==
    dependencies:
      "@sinonjs/commons" "^1.0.2"
      array-from "^2.1.1"
      lodash "^4.17.11"

  "@sinonjs/text-encoding@^0.7.1":
    version "0.7.1"
    resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5"
    integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==

  "@types/chai@^4.1.7":
    version "4.1.7"
    resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.7.tgz#1b8e33b61a8c09cbe1f85133071baa0dbf9fa71a"
    integrity sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==

  "@types/events@*":
    version "3.0.0"
    resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
    integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==

  "@types/node@*", "@types/node@^12.0.7":
    version "12.6.8"
    resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.8.tgz#e469b4bf9d1c9832aee4907ba8a051494357c12c"
    integrity sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg==

  "@types/node@^13.7.4":
    version "13.13.15"
    resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.15.tgz#fe1cc3aa465a3ea6858b793fd380b66c39919766"
    integrity sha512-kwbcs0jySLxzLsa2nWUAGOd/s21WU1jebrEdtzhsj1D4Yps1EOuyI1Qcu+FD56dL7NRNIJtDDjcqIG22NwkgLw==

  "@types/node@^8.0.7":
    version "8.10.51"
    resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.51.tgz#80600857c0a47a8e8bafc2dae6daed6db58e3627"
    integrity sha512-cArrlJp3Yv6IyFT/DYe+rlO8o3SIHraALbBW/+CcCYW/a9QucpLI+n2p4sRxAvl2O35TiecpX2heSZtJjvEO+Q==

  "@types/sinon@^7.0.10":
    version "7.0.13"
    resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-7.0.13.tgz#ca039c23a9e27ebea53e0901ef928ea2a1a6d313"
    integrity sha512-d7c/C/+H/knZ3L8/cxhicHUiTDxdgap0b/aNJfsmLwFu/iOP17mdgbQsbHA3SJmrzsjD0l3UEE5SN4xxuz5ung==

  "@types/stack-trace@^0.0.29":
    version "0.0.29"
    resolved "https://registry.yarnpkg.com/@types/stack-trace/-/stack-trace-0.0.29.tgz#eb7a7c60098edb35630ed900742a5ecb20cfcb4d"
    integrity sha512-TgfOX+mGY/NyNxJLIbDWrO9DjGoVSW9+aB8H2yy1fy32jsvxijhmyJI9fDFgvz3YP4lvJaq9DzdR/M1bOgVc9g==

  "@types/ws@^6.0.1":
    version "6.0.1"
    resolved "https://registry.yarnpkg.com/@types/ws/-/ws-6.0.1.tgz#ca7a3f3756aa12f62a0a62145ed14c6db25d5a28"
    integrity sha512-EzH8k1gyZ4xih/MaZTXwT2xOkPiIMSrhQ9b8wrlX88L0T02eYsddatQlwVFlEPyEqV0ChpdpNnE51QPH6NVT4Q==
    dependencies:
      "@types/events" "*"
      "@types/node" "*"

  ansi-styles@^3.2.1:
    version "3.2.1"
    resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
    integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
    dependencies:
      color-convert "^1.9.0"

  anymatch@^3.0.1:
    version "3.0.3"
    resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.0.3.tgz#2fb624fe0e84bccab00afee3d0006ed310f22f09"
    integrity sha512-c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g==
    dependencies:
      normalize-path "^3.0.0"
      picomatch "^2.0.4"

  array-from@^2.1.1:
    version "2.1.1"
    resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195"
    integrity sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=

  as-table@^1.0.36:
    version "1.0.52"
    resolved "https://registry.yarnpkg.com/as-table/-/as-table-1.0.52.tgz#537fb0cfcc6d04b498c8922df5f75ed357ec91e6"
    integrity sha512-Lw3OjVL9BDGSrU6RoK5aTm79SnrDY0Zvucxc+oOTqZrC2Sw575IhkOTPtvpzviliL/WJaCSWzJdKFdYeI+8wFg==
    dependencies:
      printable-characters "^1.0.42"

  assertion-error@^1.1.0:
    version "1.1.0"
    resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
    integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==

  async-limiter@^1.0.0:
    version "1.0.0"
    resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
    integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==

  binary-extensions@^2.0.0:
    version "2.0.0"
    resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c"
    integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==

  braces@^3.0.2:
    version "3.0.2"
    resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
    integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
    dependencies:
      fill-range "^7.0.1"

  chai@^4.2.0:
    version "4.2.0"
    resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5"
    integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==
    dependencies:
      assertion-error "^1.1.0"
      check-error "^1.0.2"
      deep-eql "^3.0.1"
      get-func-name "^2.0.0"
      pathval "^1.1.0"
      type-detect "^4.0.5"

  chalk@^2.4.2:
    version "2.4.2"
    resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
    integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
    dependencies:
      ansi-styles "^3.2.1"
      escape-string-regexp "^1.0.5"
      supports-color "^5.3.0"

  check-error@^1.0.2:
    version "1.0.2"
    resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
    integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=

  chokidar@^3.0.1:
    version "3.0.2"
    resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.0.2.tgz#0d1cd6d04eb2df0327446188cd13736a3367d681"
    integrity sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==
    dependencies:
      anymatch "^3.0.1"
      braces "^3.0.2"
      glob-parent "^5.0.0"
      is-binary-path "^2.1.0"
      is-glob "^4.0.1"
      normalize-path "^3.0.0"
      readdirp "^3.1.1"
    optionalDependencies:
      fsevents "^2.0.6"

  color-convert@^1.9.0:
    version "1.9.3"
    resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
    integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
    dependencies:
      color-name "1.1.3"

  color-name@1.1.3:
    version "1.1.3"
    resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
    integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=

  data-uri-to-buffer@^2.0.0:
    version "2.0.1"
    resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-2.0.1.tgz#ca8f56fe38b1fd329473e9d1b4a9afcd8ce1c045"
    integrity sha512-OkVVLrerfAKZlW2ZZ3Ve2y65jgiWqBKsTfUIAFbn8nVbPcCZg6l6gikKlEYv0kXcmzqGm6mFq/Jf2vriuEkv8A==
    dependencies:
      "@types/node" "^8.0.7"

  deep-eql@^3.0.1:
    version "3.0.1"
    resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
    integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==
    dependencies:
      type-detect "^4.0.0"

  diff@^3.5.0:
    version "3.5.0"
    resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
    integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==

  escape-string-regexp@^1.0.5:
    version "1.0.5"
    resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
    integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=

  fill-range@^7.0.1:
    version "7.0.1"
    resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
    integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
    dependencies:
      to-regex-range "^5.0.1"

  fp-ts@^1.0.0:
    version "1.19.5"
    resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a"
    integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A==

  fsevents@^2.0.6:
    version "2.0.7"
    resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a"
    integrity sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==

  get-func-name@^2.0.0:
    version "2.0.0"
    resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
    integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=

  get-source@^1.0.34:
    version "1.0.37"
    resolved "https://registry.yarnpkg.com/get-source/-/get-source-1.0.37.tgz#f1f3f799abd2a196de73ba8b853c38cd76c04583"
    integrity sha512-Q0YbhnCgvqFe3OTuxkNvWCM+22O4hkx7D0g8em7iFW4vmw/TiX8dhsFIaP6yRkyN9ETHgzU190L3keCg2MADtg==
    dependencies:
      data-uri-to-buffer "^2.0.0"
      source-map "^0.6.1"

  glob-parent@^5.0.0:
    version "5.0.0"
    resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954"
    integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==
    dependencies:
      is-glob "^4.0.1"

  has-flag@^3.0.0:
    version "3.0.0"
    resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
    integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=

  io-ts@^1.8.6:
    version "1.10.4"
    resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-1.10.4.tgz#cd5401b138de88e4f920adbcb7026e2d1967e6e2"
    integrity sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==
    dependencies:
      fp-ts "^1.0.0"

  is-binary-path@^2.1.0:
    version "2.1.0"
    resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
    integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
    dependencies:
      binary-extensions "^2.0.0"

  is-extglob@^2.1.1:
    version "2.1.1"
    resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
    integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=

  is-glob@^4.0.1:
    version "4.0.1"
    resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
    integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
    dependencies:
      is-extglob "^2.1.1"

  is-number@^7.0.0:
    version "7.0.0"
    resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
    integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==

  isarray@0.0.1:
    version "0.0.1"
    resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
    integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=

  isomorphic-ws@^4.0.1:
    version "4.0.1"
    resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc"
    integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==

  just-extend@^4.0.2:
    version "4.0.2"
    resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz#f3f47f7dfca0f989c55410a7ebc8854b07108afc"
    integrity sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==

  lodash@^4.17.11:
    version "4.17.15"
    resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
    integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==

  lolex@^4.0.1, lolex@^4.1.0:
    version "4.1.0"
    resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.1.0.tgz#ecdd7b86539391d8237947a3419aa8ac975f0fe1"
    integrity sha512-BYxIEXiVq5lGIXeVHnsFzqa1TxN5acnKnPCdlZSpzm8viNEOhiigupA4vTQ9HEFQ6nLTQ9wQOgBknJgzUYQ9Aw==

  mobx@^5.10.0:
    version "5.13.0"
    resolved "https://registry.yarnpkg.com/mobx/-/mobx-5.13.0.tgz#0fd68f10aa5ff2d146a4ed9e145b53337cfbca59"
    integrity sha512-eSAntMSMNj0PFL705rgv+aB/z1RjNqDnFEpBe18yQVreXTWiVgIrmBUXzjnJfuba+eo4eAk6zi+/gXQkSUea8A==

  nise@^1.4.10:
    version "1.5.0"
    resolved "https://registry.yarnpkg.com/nise/-/nise-1.5.0.tgz#d03ea0e6c1b75c638015aa3585eddc132949a50d"
    integrity sha512-Z3sfYEkLFzFmL8KY6xnSJLRxwQwYBjOXi/24lb62ZnZiGA0JUzGGTI6TBIgfCSMIDl9Jlu8SRmHNACLTemDHww==
    dependencies:
      "@sinonjs/formatio" "^3.1.0"
      "@sinonjs/text-encoding" "^0.7.1"
      just-extend "^4.0.2"
      lolex "^4.1.0"
      path-to-regexp "^1.7.0"

  node-fetch@^2.6.1:
    version "2.6.1"
    resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
    integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==

  normalize-path@^3.0.0:
    version "3.0.0"
    resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
    integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==

  path-to-regexp@^1.7.0:
    version "1.7.0"
    resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
    integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=
    dependencies:
      isarray "0.0.1"

  pathval@^1.1.0:
    version "1.1.0"
    resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
    integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA=

  picomatch@^2.0.4:
    version "2.0.7"
    resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6"
    integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==

  printable-characters@^1.0.42:
    version "1.0.42"
    resolved "https://registry.yarnpkg.com/printable-characters/-/printable-characters-1.0.42.tgz#3f18e977a9bd8eb37fcc4ff5659d7be90868b3d8"
    integrity sha1-Pxjpd6m9jrN/zE/1ZZ176Qhos9g=

  readdirp@^3.1.1:
    version "3.1.1"
    resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.1.1.tgz#b158123ac343c8b0f31d65680269cc0fc1025db1"
    integrity sha512-XXdSXZrQuvqoETj50+JAitxz1UPdt5dupjT6T5nVB+WvjMv2XKYj+s7hPeAVCXvmJrL36O4YYyWlIC3an2ePiQ==
    dependencies:
      picomatch "^2.0.4"

  sinon@^7.2.7:
    version "7.3.2"
    resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.3.2.tgz#82dba3a6d85f6d2181e1eca2c10d8657c2161f28"
    integrity sha512-thErC1z64BeyGiPvF8aoSg0LEnptSaWE7YhdWWbWXgelOyThent7uKOnnEh9zBxDbKixtr5dEko+ws1sZMuFMA==
    dependencies:
      "@sinonjs/commons" "^1.4.0"
      "@sinonjs/formatio" "^3.2.1"
      "@sinonjs/samsam" "^3.3.1"
      diff "^3.5.0"
      lolex "^4.0.1"
      nise "^1.4.10"
      supports-color "^5.5.0"

  source-map@^0.6.1:
    version "0.6.1"
    resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
    integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==

  stack-trace@^0.0.10:
    version "0.0.10"
    resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
    integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=

  stacktracey@^1.2.112:
    version "1.2.117"
    resolved "https://registry.yarnpkg.com/stacktracey/-/stacktracey-1.2.117.tgz#7249d41937c37af29011173131d6b9aa62e6ec05"
    integrity sha512-sj9olGCco8jxMw3fcmhL5er1yuVL2qSMhNfycwx+iIWz6uVpG+bQ2YNpVSlWscGmSskt61gSmUBjZ0Mb5jYBLw==
    dependencies:
      as-table "^1.0.36"
      get-source "^1.0.34"

  supports-color@^5.3.0, supports-color@^5.5.0:
    version "5.5.0"
    resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
    integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
    dependencies:
      has-flag "^3.0.0"

  to-regex-range@^5.0.1:
    version "5.0.1"
    resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
    integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
    dependencies:
      is-number "^7.0.0"

  type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5:
    version "4.0.8"
    resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
    integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==

  typescript@^3.8.2:
    version "3.9.7"
    resolved "**https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz(The failed file)**#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
    integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==

  ws@^7.0.0:
    version "7.1.1"
    resolved "https://registry.yarnpkg.com/ws/-/ws-7.1.1.tgz#f9942dc868b6dffb72c14fd8f2ba05f77a4d5983"
    integrity sha512-o41D/WmDeca0BqYhsr3nJzQyg9NF5X8l/UdnFNux9cS3lwB+swm8qGWX5rn+aD6xfBU3rGmtHij7g7x6LxFU3A==
    dependencies:
      async-limiter "^1.0.0"

The failed file is typescript-3.9.7.tgz.I'm not sure whether is my network problem because other 68 files are successful downloaded. Now I 'm try download the failed file by browser but I don't know where to put it.