From cdd209448bdc311653f993213805f976f5b09e64 Mon Sep 17 00:00:00 2001 From: Lam Tang Date: Sat, 30 Sep 2023 15:00:36 +0800 Subject: [PATCH 01/25] chore: remove useless packages --- package.json | 2 - yarn.lock | 897 +-------------------------------------------------- 2 files changed, 7 insertions(+), 892 deletions(-) diff --git a/package.json b/package.json index a9a7037..cfb8cff 100644 --- a/package.json +++ b/package.json @@ -45,11 +45,9 @@ "webpack-dev-server": "^4.6.0" }, "dependencies": { - "anichart": "2.4.4", "bluebird": "^2.9.25", "bootstrap": "^3.3.4", "echarts": "^5.1.1", - "echarts-for-react": "^3.0.2", "history": "^1.17.0", "keymirror": "^0.1.1", "ngraph.events": "0.0.3", diff --git a/yarn.lock b/yarn.lock index a32c1ba..9cfb351 100644 --- a/yarn.lock +++ b/yarn.lock @@ -933,21 +933,6 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== -"@ffmpeg/core@^0.10.0": - version "0.10.0" - resolved "https://registry.nlark.com/@ffmpeg/core/download/@ffmpeg/core-0.10.0.tgz#f6a58361b22d7c23c6f7071b9fff6d572bc3f499" - integrity sha1-9qWDYbItfCPG9wcbn/9tVyvD9Jk= - -"@ffmpeg/ffmpeg@^0.10.1": - version "0.10.1" - resolved "https://registry.nlark.com/@ffmpeg/ffmpeg/download/@ffmpeg/ffmpeg-0.10.1.tgz#3dacf3985de9c83a95fbf79fe709920cc009b00a" - integrity sha1-PazzmF3pyDqV+/ef5wmSDMAJsAo= - dependencies: - is-url "^1.2.4" - node-fetch "^2.6.1" - regenerator-runtime "^0.13.7" - resolve-url "^0.2.1" - "@formatjs/intl-unified-numberformat@^3.2.0": version "3.3.7" resolved "https://registry.npmmirror.com/@formatjs/intl-unified-numberformat/download/@formatjs/intl-unified-numberformat-3.3.7.tgz#9995a24568908188e716d81a1de5b702b2ee00e2" @@ -960,21 +945,6 @@ resolved "https://registry.nlark.com/@formatjs/intl-utils/download/@formatjs/intl-utils-2.3.0.tgz#2dc8c57044de0340eb53a7ba602e59abf80dc799" integrity sha1-LcjFcETeA0DrU6e6YC5Zq/gNx5k= -"@mapbox/node-pre-gyp@^1.0.0": - version "1.0.6" - resolved "https://registry.npmmirror.com/@mapbox/node-pre-gyp/download/@mapbox/node-pre-gyp-1.0.6.tgz#f859d601a210537e27530f363028cde56e0cf962" - integrity sha1-+FnWAaIQU34nUw82MCjN5W4M+WI= - dependencies: - detect-libc "^1.0.3" - https-proxy-agent "^5.0.0" - make-dir "^3.1.0" - node-fetch "^2.6.5" - nopt "^5.0.0" - npmlog "^5.0.1" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.11" - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -996,216 +966,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@types/d3-array@^2": - version "2.12.3" - resolved "https://registry.npmmirror.com/@types/d3-array/download/@types/d3-array-2.12.3.tgz#8d16d51fb04ad5a5a8ebe14eb8263a579f1efdd1" - integrity sha1-jRbVH7BK1aWo6+FOuCY6V58e/dE= - -"@types/d3-axis@^2": - version "2.1.3" - resolved "https://registry.nlark.com/@types/d3-axis/download/@types/d3-axis-2.1.3.tgz#348cca877f6643030aa8c866d08ccae06821a0e2" - integrity sha1-NIzKh39mQwMKqMhm0IzK4GghoOI= - dependencies: - "@types/d3-selection" "^2" - -"@types/d3-brush@^2": - version "2.1.2" - resolved "https://registry.nlark.com/@types/d3-brush/download/@types/d3-brush-2.1.2.tgz#c75890d1ccaef24fba1811daae3f896c1806418b" - integrity sha1-x1iQ0cyu8k+6GBHarj+JbBgGQYs= - dependencies: - "@types/d3-selection" "^2" - -"@types/d3-chord@^2": - version "2.0.3" - resolved "https://registry.nlark.com/@types/d3-chord/download/@types/d3-chord-2.0.3.tgz?cache=0&sync_timestamp=1629707066237&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fd3-chord%2Fdownload%2F%40types%2Fd3-chord-2.0.3.tgz#3009b792b754da964d893b4269d1fe7757f21370" - integrity sha1-MAm3krdU2pZNiTtCadH+d1fyE3A= - -"@types/d3-color@^2": - version "2.0.3" - resolved "https://registry.nlark.com/@types/d3-color/download/@types/d3-color-2.0.3.tgz?cache=0&sync_timestamp=1629707071439&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fd3-color%2Fdownload%2F%40types%2Fd3-color-2.0.3.tgz#8bc4589073c80e33d126345542f588056511fe82" - integrity sha1-i8RYkHPIDjPRJjRVQvWIBWUR/oI= - -"@types/d3-contour@^2": - version "2.0.4" - resolved "https://registry.nlark.com/@types/d3-contour/download/@types/d3-contour-2.0.4.tgz?cache=0&sync_timestamp=1629707066393&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fd3-contour%2Fdownload%2F%40types%2Fd3-contour-2.0.4.tgz#2fc5aa8949c1a1d12d183633603923025e3d14fd" - integrity sha1-L8WqiUnBodEtGDYzYDkjAl49FP0= - dependencies: - "@types/d3-array" "^2" - "@types/geojson" "*" - -"@types/d3-delaunay@^5": - version "5.3.1" - resolved "https://registry.nlark.com/@types/d3-delaunay/download/@types/d3-delaunay-5.3.1.tgz?cache=0&sync_timestamp=1629707071291&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fd3-delaunay%2Fdownload%2F%40types%2Fd3-delaunay-5.3.1.tgz#47ae03af6b78cb3aa39d3d3c42ca71daca488aef" - integrity sha1-R64Dr2t4yzqjnT08Qspx2spIiu8= - -"@types/d3-dispatch@^2": - version "2.0.1" - resolved "https://registry.nlark.com/@types/d3-dispatch/download/@types/d3-dispatch-2.0.1.tgz?cache=0&sync_timestamp=1629707071610&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fd3-dispatch%2Fdownload%2F%40types%2Fd3-dispatch-2.0.1.tgz#d7dc50f9b679996ccf70f3c79dbbf99505a93107" - integrity sha1-19xQ+bZ5mWzPcPPHnbv5lQWpMQc= - -"@types/d3-drag@^2": - version "2.0.2" - resolved "https://registry.nlark.com/@types/d3-drag/download/@types/d3-drag-2.0.2.tgz#ed538d24456c839967a9ac7aab5e1b63b28bac7f" - integrity sha1-7VONJEVsg5lnqax6q14bY7KLrH8= - dependencies: - "@types/d3-selection" "^2" - -"@types/d3-dsv@^2": - version "2.0.2" - resolved "https://registry.nlark.com/@types/d3-dsv/download/@types/d3-dsv-2.0.2.tgz?cache=0&sync_timestamp=1629707071211&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fd3-dsv%2Fdownload%2F%40types%2Fd3-dsv-2.0.2.tgz#e10fa57576b50ded27e261db9984b9a92efec2f3" - integrity sha1-4Q+ldXa1De0n4mHbmYS5qS7+wvM= - -"@types/d3-ease@^2": - version "2.0.1" - resolved "https://registry.nlark.com/@types/d3-ease/download/@types/d3-ease-2.0.1.tgz#be03d29980ed7359be1d5b93ff666f95ddcbcf48" - integrity sha1-vgPSmYDtc1m+HVuT/2Zvld3Lz0g= - -"@types/d3-fetch@^2": - version "2.0.2" - resolved "https://registry.nlark.com/@types/d3-fetch/download/@types/d3-fetch-2.0.2.tgz#628c65d14b3a0d02fe1b9c2f3098b81a47e370bc" - integrity sha1-Yoxl0Us6DQL+G5wvMJi4GkfjcLw= - dependencies: - "@types/d3-dsv" "^2" - -"@types/d3-force@^2": - version "2.1.4" - resolved "https://registry.nlark.com/@types/d3-force/download/@types/d3-force-2.1.4.tgz#98919b87db8a0ca5011d189c598d69251d20344d" - integrity sha1-mJGbh9uKDKUBHRicWY1pJR0gNE0= - -"@types/d3-format@^2": - version "2.0.2" - resolved "https://registry.nlark.com/@types/d3-format/download/@types/d3-format-2.0.2.tgz#97b2ac314430ae9f7768cc9efba8b23b63af82ef" - integrity sha1-l7KsMUQwrp93aMye+6iyO2Ovgu8= - -"@types/d3-geo@^2": - version "2.0.3" - resolved "https://registry.nlark.com/@types/d3-geo/download/@types/d3-geo-2.0.3.tgz#4af0f33c9e796aad6c3fc0dd8cadda9886d1fea9" - integrity sha1-SvDzPJ55aq1sP8DdjK3amIbR/qk= - dependencies: - "@types/geojson" "*" - -"@types/d3-hierarchy@^2": - version "2.0.2" - resolved "https://registry.nlark.com/@types/d3-hierarchy/download/@types/d3-hierarchy-2.0.2.tgz#afd09d509c36e8cd4907333556f8b591f23589e9" - integrity sha1-r9CdUJw26M1JBzM1Vvi1kfI1iek= - -"@types/d3-interpolate@^2": - version "2.0.2" - resolved "https://registry.nlark.com/@types/d3-interpolate/download/@types/d3-interpolate-2.0.2.tgz#78eddf7278b19e48e8652603045528d46897aba0" - integrity sha1-eO3fcnixnkjoZSYDBFUo1GiXq6A= - dependencies: - "@types/d3-color" "^2" - -"@types/d3-path@^2": - version "2.0.1" - resolved "https://registry.nlark.com/@types/d3-path/download/@types/d3-path-2.0.1.tgz#ca03dfa8b94d8add97ad0cd97e96e2006b4763cb" - integrity sha1-ygPfqLlNit2XrQzZfpbiAGtHY8s= - -"@types/d3-polygon@^2": - version "2.0.1" - resolved "https://registry.nlark.com/@types/d3-polygon/download/@types/d3-polygon-2.0.1.tgz#c2056594f85b512bc2b4f741caddd4b5448bc115" - integrity sha1-wgVllPhbUSvCtPdByt3UtUSLwRU= - -"@types/d3-quadtree@^2": - version "2.0.2" - resolved "https://registry.nlark.com/@types/d3-quadtree/download/@types/d3-quadtree-2.0.2.tgz#e3cd92b4e05318f98b0a16e780ba99ce7b13eb77" - integrity sha1-482StOBTGPmLChbngLqZznsT63c= - -"@types/d3-random@^2": - version "2.2.1" - resolved "https://registry.nlark.com/@types/d3-random/download/@types/d3-random-2.2.1.tgz#551edbb71cb317dea2cf9c76ebe059d311eefacb" - integrity sha1-VR7btxyzF96iz5x26+BZ0xHu+ss= - -"@types/d3-scale-chromatic@^2": - version "2.0.1" - resolved "https://registry.nlark.com/@types/d3-scale-chromatic/download/@types/d3-scale-chromatic-2.0.1.tgz#495cbbae7273e0d0ff564cdc19aa6d2b9928da83" - integrity sha1-SVy7rnJz4ND/VkzcGaptK5ko2oM= - -"@types/d3-scale@^3": - version "3.3.2" - resolved "https://registry.npmmirror.com/@types/d3-scale/download/@types/d3-scale-3.3.2.tgz#18c94e90f4f1c6b1ee14a70f14bfca2bd1c61d06" - integrity sha1-GMlOkPTxxrHuFKcPFL/KK9HGHQY= - dependencies: - "@types/d3-time" "^2" - -"@types/d3-selection@^2": - version "2.0.1" - resolved "https://registry.nlark.com/@types/d3-selection/download/@types/d3-selection-2.0.1.tgz#bc2816c96faff285d204dda72b79734d4f37d583" - integrity sha1-vCgWyW+v8oXSBN2nK3lzTU831YM= - -"@types/d3-shape@^2": - version "2.1.3" - resolved "https://registry.nlark.com/@types/d3-shape/download/@types/d3-shape-2.1.3.tgz#35d397b9e687abaa0de82343b250b9897b8cacf3" - integrity sha1-NdOXueaHq6oN6CNDslC5iXuMrPM= - dependencies: - "@types/d3-path" "^2" - -"@types/d3-time-format@^3": - version "3.0.1" - resolved "https://registry.nlark.com/@types/d3-time-format/download/@types/d3-time-format-3.0.1.tgz#1680fb6c41ab3a85db261ede296626668592246a" - integrity sha1-FoD7bEGrOoXbJh7eKWYmZoWSJGo= - -"@types/d3-time@^2": - version "2.1.1" - resolved "https://registry.nlark.com/@types/d3-time/download/@types/d3-time-2.1.1.tgz#743fdc821c81f86537cbfece07093ac39b4bc342" - integrity sha1-dD/cghyB+GU3y/7OBwk6w5tLw0I= - -"@types/d3-timer@^2": - version "2.0.1" - resolved "https://registry.nlark.com/@types/d3-timer/download/@types/d3-timer-2.0.1.tgz?cache=0&sync_timestamp=1629707133527&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fd3-timer%2Fdownload%2F%40types%2Fd3-timer-2.0.1.tgz#ffb6620d290624f3726aa362c0c8a4b44c8d7200" - integrity sha1-/7ZiDSkGJPNyaqNiwMiktEyNcgA= - -"@types/d3-transition@^2": - version "2.0.2" - resolved "https://registry.nlark.com/@types/d3-transition/download/@types/d3-transition-2.0.2.tgz#d5ba1c26a3daeb0c5527d573d44b4c5ca9fae027" - integrity sha1-1bocJqPa6wxVJ9Vz1EtMXKn64Cc= - dependencies: - "@types/d3-selection" "^2" - -"@types/d3-zoom@^2": - version "2.0.3" - resolved "https://registry.nlark.com/@types/d3-zoom/download/@types/d3-zoom-2.0.3.tgz?cache=0&sync_timestamp=1629708157157&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fd3-zoom%2Fdownload%2F%40types%2Fd3-zoom-2.0.3.tgz#9eef8763600fa8be11b8cb0ed9144a395df6dffb" - integrity sha1-nu+HY2APqL4RuMsO2RRKOV323/s= - dependencies: - "@types/d3-interpolate" "^2" - "@types/d3-selection" "^2" - -"@types/d3@^6.3.0": - version "6.7.5" - resolved "https://registry.npmmirror.com/@types/d3/download/@types/d3-6.7.5.tgz#6ae8034ea21db10fa3e31db1f670c5887d91d8a3" - integrity sha1-augDTqIdsQ+j4x2x9nDFiH2R2KM= - dependencies: - "@types/d3-array" "^2" - "@types/d3-axis" "^2" - "@types/d3-brush" "^2" - "@types/d3-chord" "^2" - "@types/d3-color" "^2" - "@types/d3-contour" "^2" - "@types/d3-delaunay" "^5" - "@types/d3-dispatch" "^2" - "@types/d3-drag" "^2" - "@types/d3-dsv" "^2" - "@types/d3-ease" "^2" - "@types/d3-fetch" "^2" - "@types/d3-force" "^2" - "@types/d3-format" "^2" - "@types/d3-geo" "^2" - "@types/d3-hierarchy" "^2" - "@types/d3-interpolate" "^2" - "@types/d3-path" "^2" - "@types/d3-polygon" "^2" - "@types/d3-quadtree" "^2" - "@types/d3-random" "^2" - "@types/d3-scale" "^3" - "@types/d3-scale-chromatic" "^2" - "@types/d3-selection" "^2" - "@types/d3-shape" "^2" - "@types/d3-time" "^2" - "@types/d3-time-format" "^3" - "@types/d3-timer" "^2" - "@types/d3-transition" "^2" - "@types/d3-zoom" "^2" - "@types/eslint-scope@^3.7.0": version "3.7.1" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e" @@ -1227,11 +987,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== -"@types/geojson@*": - version "7946.0.8" - resolved "https://registry.nlark.com/@types/geojson/download/@types/geojson-7946.0.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fgeojson%2Fdownload%2F%40types%2Fgeojson-7946.0.8.tgz#30744afdb385e2945e22f3b033f897f76b1f12ca" - integrity sha1-MHRK/bOF4pReIvOwM/iX92sfEso= - "@types/html-minifier-terser@^6.0.0": version "6.0.0" resolved "https://registry.nlark.com/@types/html-minifier-terser/download/@types/html-minifier-terser-6.0.0.tgz#563c1c6c132cd204e71512f9c0b394ff90d3fae7" @@ -1412,11 +1167,6 @@ Base64@~0.2.0: resolved "https://registry.npm.taobao.org/Base64/download/Base64-0.2.1.tgz#ba3a4230708e186705065e66babdd4c35cf60028" integrity sha1-ujpCMHCOGGcFBl5mur3Uw1z2ACg= -abbrev@1: - version "1.1.1" - resolved "https://registry.nlark.com/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= - accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -1435,13 +1185,6 @@ acorn@^8.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== -agent-base@6: - version "6.0.2" - resolved "https://registry.nlark.com/agent-base/download/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c= - dependencies: - debug "4" - aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -1489,35 +1232,11 @@ ajv@^8.0.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" -anichart@2.4.4: - version "2.4.4" - resolved "https://registry.npmmirror.com/anichart/download/anichart-2.4.4.tgz#85a7bb1363c063769a3883d200a29a74953dc71c" - integrity sha1-hae7E2PAY3aaOIPSAKKadJU9xxw= - dependencies: - "@ffmpeg/core" "^0.10.0" - "@ffmpeg/ffmpeg" "^0.10.1" - "@types/d3" "^6.3.0" - async "^3.2.0" - canvas "^2.8.0" - canvas-5-polyfill "^0.1.5" - d3 "^6.5.0" - html-webpack-plugin "^5.2.0" - lodash-es "^4.17.15" - moment "^2.29.1" - node-csv "^0.1.2" - node-fetch-polyfill "^2.0.6" - path-browserify "^1.0.1" - ansi-html-community@^0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -1543,19 +1262,6 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -"aproba@^1.0.3 || ^2.0.0": - version "2.0.0" - resolved "https://registry.nlark.com/aproba/download/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha1-UlILiuW1aSFbNU78DKo/4eRaitw= - -are-we-there-yet@^2.0.0: - version "2.0.0" - resolved "https://registry.nlark.com/are-we-there-yet/download/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" - integrity sha1-Ny4Oe9J52OlMZTqqH2cgCIS/Phw= - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - array-flatten@1.1.1: version "1.1.1" resolved "https://registry.nlark.com/array-flatten/download/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -1591,11 +1297,6 @@ async@^2.6.2: dependencies: lodash "^4.17.14" -async@^3.2.0: - version "3.2.2" - resolved "https://registry.npmmirror.com/async/download/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd" - integrity sha1-LrdnEDS7IZTUXTDjHiTsfn+WcM0= - babel-loader@^8.2.3: version "8.2.3" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" @@ -1795,20 +1496,6 @@ caniuse-lite@^1.0.30001280: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz#8573685bdae4d733ef18f78d44ba0ca5fe9e896b" integrity sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg== -canvas-5-polyfill@^0.1.5: - version "0.1.5" - resolved "https://registry.npm.taobao.org/canvas-5-polyfill/download/canvas-5-polyfill-0.1.5.tgz#2bc0a2c6b6da5fcd7f42aebc9566a1354c78ea14" - integrity sha1-K8CixrbaX81/Qq68lWahNUx46hQ= - -canvas@^2.8.0: - version "2.8.0" - resolved "https://registry.nlark.com/canvas/download/canvas-2.8.0.tgz?cache=0&sync_timestamp=1621239877817&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcanvas%2Fdownload%2Fcanvas-2.8.0.tgz#f99ca7f25e6e26686661ffa4fec1239bbef74461" - integrity sha1-+Zyn8l5uJmhmYf+k/sEjm773RGE= - dependencies: - "@mapbox/node-pre-gyp" "^1.0.0" - nan "^2.14.0" - simple-get "^3.0.3" - chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -1833,11 +1520,6 @@ chokidar@^3.5.2: optionalDependencies: fsevents "~2.3.2" -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.nlark.com/chownr/download/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha1-Fb++U9LqtM9w8YqM1o6+Wzyx3s4= - chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" @@ -1881,17 +1563,12 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-support@^1.1.2: - version "1.1.3" - resolved "https://registry.npm.taobao.org/color-support/download/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI= - colorette@^2.0.10, colorette@^2.0.14: version "2.0.16" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== -commander@2, commander@^2.20.0: +commander@^2.20.0: version "2.20.3" resolved "https://registry.npmmirror.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1634886357672&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= @@ -1946,11 +1623,6 @@ console-browserify@^1.1.0: resolved "https://registry.nlark.com/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY= -console-control-strings@^1.0.0, console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.nlark.com/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - console-polyfill@^0.3.0: version "0.3.0" resolved "https://registry.npm.taobao.org/console-polyfill/download/console-polyfill-0.3.0.tgz#84900902a18c47a5eba932be75fa44d23e8af861" @@ -2085,250 +1757,6 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -d3-array@2, d3-array@^2.3.0, d3-array@^2.5.0: - version "2.12.1" - resolved "https://registry.npmmirror.com/d3-array/download/d3-array-2.12.1.tgz?cache=0&sync_timestamp=1633231313339&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fd3-array%2Fdownload%2Fd3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" - integrity sha1-4gtBqvzf/fXVCSgATs7PgVpGXoE= - dependencies: - internmap "^1.0.0" - -d3-axis@2: - version "2.1.0" - resolved "https://registry.nlark.com/d3-axis/download/d3-axis-2.1.0.tgz#978db534092711117d032fad5d733d206307f6a0" - integrity sha1-l421NAknERF9Ay+tXXM9IGMH9qA= - -d3-brush@2: - version "2.1.0" - resolved "https://registry.nlark.com/d3-brush/download/d3-brush-2.1.0.tgz#adadfbb104e8937af142e9a6e2028326f0471065" - integrity sha1-ra37sQTok3rxQumm4gKDJvBHEGU= - dependencies: - d3-dispatch "1 - 2" - d3-drag "2" - d3-interpolate "1 - 2" - d3-selection "2" - d3-transition "2" - -d3-chord@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-chord/download/d3-chord-2.0.0.tgz#32491b5665391180560f738e5c1ccd1e3c47ebae" - integrity sha1-MkkbVmU5EYBWD3OOXBzNHjxH664= - dependencies: - d3-path "1 - 2" - -"d3-color@1 - 2", d3-color@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-color/download/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e" - integrity sha1-jWJcq0Ltm49gGhdgo4n36pGJ1i4= - -d3-contour@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-contour/download/d3-contour-2.0.0.tgz#80ee834988563e3bea9d99ddde72c0f8c089ea40" - integrity sha1-gO6DSYhWPjvqnZnd3nLA+MCJ6kA= - dependencies: - d3-array "2" - -d3-delaunay@5: - version "5.3.0" - resolved "https://registry.nlark.com/d3-delaunay/download/d3-delaunay-5.3.0.tgz#b47f05c38f854a4e7b3cea80e0bb12e57398772d" - integrity sha1-tH8Fw4+FSk57POqA4LsS5XOYdy0= - dependencies: - delaunator "4" - -"d3-dispatch@1 - 2", d3-dispatch@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-dispatch/download/d3-dispatch-2.0.0.tgz#8a18e16f76dd3fcaef42163c97b926aa9b55e7cf" - integrity sha1-ihjhb3bdP8rvQhY8l7kmqptV588= - -d3-drag@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-drag/download/d3-drag-2.0.0.tgz?cache=0&sync_timestamp=1623254998807&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-drag%2Fdownload%2Fd3-drag-2.0.0.tgz#9eaf046ce9ed1c25c88661911c1d5a4d8eb7ea6d" - integrity sha1-nq8EbOntHCXIhmGRHB1aTY636m0= - dependencies: - d3-dispatch "1 - 2" - d3-selection "2" - -"d3-dsv@1 - 2", d3-dsv@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-dsv/download/d3-dsv-2.0.0.tgz#b37b194b6df42da513a120d913ad1be22b5fe7c5" - integrity sha1-s3sZS230LaUToSDZE60b4itf58U= - dependencies: - commander "2" - iconv-lite "0.4" - rw "1" - -"d3-ease@1 - 2", d3-ease@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-ease/download/d3-ease-2.0.0.tgz#fd1762bfca00dae4bacea504b1d628ff290ac563" - integrity sha1-/Rdiv8oA2uS6zqUEsdYo/ykKxWM= - -d3-fetch@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-fetch/download/d3-fetch-2.0.0.tgz#ecd7ef2128d9847a3b41b548fec80918d645c064" - integrity sha1-7NfvISjZhHo7QbVI/sgJGNZFwGQ= - dependencies: - d3-dsv "1 - 2" - -d3-force@2: - version "2.1.1" - resolved "https://registry.nlark.com/d3-force/download/d3-force-2.1.1.tgz#f20ccbf1e6c9e80add1926f09b51f686a8bc0937" - integrity sha1-8gzL8ebJ6ArdGSbwm1H2hqi8CTc= - dependencies: - d3-dispatch "1 - 2" - d3-quadtree "1 - 2" - d3-timer "1 - 2" - -"d3-format@1 - 2", d3-format@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-format/download/d3-format-2.0.0.tgz#a10bcc0f986c372b729ba447382413aabf5b0767" - integrity sha1-oQvMD5hsNytym6RHOCQTqr9bB2c= - -d3-geo@2: - version "2.0.2" - resolved "https://registry.nlark.com/d3-geo/download/d3-geo-2.0.2.tgz#c065c1b71fe8c5f1be657e5f43d9bdd010383c40" - integrity sha1-wGXBtx/oxfG+ZX5fQ9m90BA4PEA= - dependencies: - d3-array "^2.5.0" - -d3-hierarchy@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-hierarchy/download/d3-hierarchy-2.0.0.tgz#dab88a58ca3e7a1bc6cab390e89667fcc6d20218" - integrity sha1-2riKWMo+ehvGyrOQ6JZn/MbSAhg= - -"d3-interpolate@1 - 2", "d3-interpolate@1.2.0 - 2", d3-interpolate@2: - version "2.0.1" - resolved "https://registry.nlark.com/d3-interpolate/download/d3-interpolate-2.0.1.tgz#98be499cfb8a3b94d4ff616900501a64abc91163" - integrity sha1-mL5JnPuKO5TU/2FpAFAaZKvJEWM= - dependencies: - d3-color "1 - 2" - -"d3-path@1 - 2", d3-path@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-path/download/d3-path-2.0.0.tgz#55d86ac131a0548adae241eebfb56b4582dd09d8" - integrity sha1-VdhqwTGgVIra4kHuv7VrRYLdCdg= - -d3-polygon@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-polygon/download/d3-polygon-2.0.0.tgz#13608ef042fbec625ba1598327564f03c0396d8e" - integrity sha1-E2CO8EL77GJboVmDJ1ZPA8A5bY4= - -"d3-quadtree@1 - 2", d3-quadtree@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-quadtree/download/d3-quadtree-2.0.0.tgz#edbad045cef88701f6fee3aee8e93fb332d30f9d" - integrity sha1-7brQRc74hwH2/uOu6Ok/szLTD50= - -d3-random@2: - version "2.2.2" - resolved "https://registry.nlark.com/d3-random/download/d3-random-2.2.2.tgz#5eebd209ef4e45a2b362b019c1fb21c2c98cbb6e" - integrity sha1-XuvSCe9ORaKzYrAZwfshwsmMu24= - -d3-scale-chromatic@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-scale-chromatic/download/d3-scale-chromatic-2.0.0.tgz#c13f3af86685ff91323dc2f0ebd2dabbd72d8bab" - integrity sha1-wT86+GaF/5EyPcLw69Lau9cti6s= - dependencies: - d3-color "1 - 2" - d3-interpolate "1 - 2" - -d3-scale@3: - version "3.3.0" - resolved "https://registry.npmmirror.com/d3-scale/download/d3-scale-3.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fd3-scale%2Fdownload%2Fd3-scale-3.3.0.tgz#28c600b29f47e5b9cd2df9749c206727966203f3" - integrity sha1-KMYAsp9H5bnNLfl0nCBnJ5ZiA/M= - dependencies: - d3-array "^2.3.0" - d3-format "1 - 2" - d3-interpolate "1.2.0 - 2" - d3-time "^2.1.1" - d3-time-format "2 - 3" - -d3-selection@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-selection/download/d3-selection-2.0.0.tgz#94a11638ea2141b7565f883780dabc7ef6a61066" - integrity sha1-lKEWOOohQbdWX4g3gNq8fvamEGY= - -d3-shape@2: - version "2.1.0" - resolved "https://registry.nlark.com/d3-shape/download/d3-shape-2.1.0.tgz#3b6a82ccafbc45de55b57fcf956c584ded3b666f" - integrity sha1-O2qCzK+8Rd5VtX/PlWxYTe07Zm8= - dependencies: - d3-path "1 - 2" - -"d3-time-format@2 - 3", d3-time-format@3: - version "3.0.0" - resolved "https://registry.nlark.com/d3-time-format/download/d3-time-format-3.0.0.tgz#df8056c83659e01f20ac5da5fdeae7c08d5f1bb6" - integrity sha1-34BWyDZZ4B8grF2l/ernwI1fG7Y= - dependencies: - d3-time "1 - 2" - -"d3-time@1 - 2", d3-time@2, d3-time@^2.1.1: - version "2.1.1" - resolved "https://registry.nlark.com/d3-time/download/d3-time-2.1.1.tgz#e9d8a8a88691f4548e68ca085e5ff956724a6682" - integrity sha1-6dioqIaR9FSOaMoIXl/5VnJKZoI= - dependencies: - d3-array "2" - -"d3-timer@1 - 2", d3-timer@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-timer/download/d3-timer-2.0.0.tgz#055edb1d170cfe31ab2da8968deee940b56623e6" - integrity sha1-BV7bHRcM/jGrLaiWje7pQLVmI+Y= - -d3-transition@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-transition/download/d3-transition-2.0.0.tgz#366ef70c22ef88d1e34105f507516991a291c94c" - integrity sha1-Nm73DCLviNHjQQX1B1FpkaKRyUw= - dependencies: - d3-color "1 - 2" - d3-dispatch "1 - 2" - d3-ease "1 - 2" - d3-interpolate "1 - 2" - d3-timer "1 - 2" - -d3-zoom@2: - version "2.0.0" - resolved "https://registry.nlark.com/d3-zoom/download/d3-zoom-2.0.0.tgz#f04d0afd05518becce879d04709c47ecd93fba54" - integrity sha1-8E0K/QVRi+zOh50EcJxH7Nk/ulQ= - dependencies: - d3-dispatch "1 - 2" - d3-drag "2" - d3-interpolate "1 - 2" - d3-selection "2" - d3-transition "2" - -d3@^6.5.0: - version "6.7.0" - resolved "https://registry.npmmirror.com/d3/download/d3-6.7.0.tgz#adac458597b4a2cafe8e08cf30948af0c95cd61f" - integrity sha1-raxFhZe0osr+jgjPMJSK8Mlc1h8= - dependencies: - d3-array "2" - d3-axis "2" - d3-brush "2" - d3-chord "2" - d3-color "2" - d3-contour "2" - d3-delaunay "5" - d3-dispatch "2" - d3-drag "2" - d3-dsv "2" - d3-ease "2" - d3-fetch "2" - d3-force "2" - d3-format "2" - d3-geo "2" - d3-hierarchy "2" - d3-interpolate "2" - d3-path "2" - d3-polygon "2" - d3-quadtree "2" - d3-random "2" - d3-scale "3" - d3-scale-chromatic "2" - d3-selection "2" - d3-shape "2" - d3-time "2" - d3-time-format "3" - d3-timer "2" - d3-transition "2" - d3-zoom "2" - debug@2.6.9: version "2.6.9" resolved "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1636300872595&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -2336,13 +1764,6 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4: - version "4.3.2" - resolved "https://registry.npmmirror.com/debug/download/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha1-8KScGKyHeeMdSgxgKd+3aHPHQos= - dependencies: - ms "2.1.2" - debug@^3.1.1, debug@^3.2.6: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -2357,13 +1778,6 @@ debug@^4.1.0, debug@^4.1.1: dependencies: ms "2.1.2" -decompress-response@^4.2.0: - version "4.2.1" - resolved "https://registry.npm.taobao.org/decompress-response/download/decompress-response-4.2.1.tgz?cache=0&sync_timestamp=1613125280468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecompress-response%2Fdownload%2Fdecompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" - integrity sha1-QUAjzHowLaJc4uyC0NUjjMr9iYY= - dependencies: - mimic-response "^2.0.0" - deep-equal@^1.0.0, deep-equal@^1.0.1: version "1.1.1" resolved "https://registry.nlark.com/deep-equal/download/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" @@ -2409,16 +1823,6 @@ del@^6.0.0: rimraf "^3.0.2" slash "^3.0.0" -delaunator@4: - version "4.0.1" - resolved "https://registry.npm.taobao.org/delaunator/download/delaunator-4.0.1.tgz#3d779687f57919a7a418f8ab947d3bddb6846957" - integrity sha1-PXeWh/V5GaekGPirlH073baEaVc= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - depd@~1.1.2: version "1.1.2" resolved "https://registry.nlark.com/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" @@ -2429,11 +1833,6 @@ destroy@~1.0.4: resolved "https://registry.nlark.com/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= -detect-libc@^1.0.3: - version "1.0.3" - resolved "https://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" @@ -2533,14 +1932,6 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" -echarts-for-react@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/echarts-for-react/-/echarts-for-react-3.0.2.tgz#ac5859157048a1066d4553e34b328abb24f2b7c1" - integrity sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA== - dependencies: - fast-deep-equal "^3.1.3" - size-sensor "^1.0.1" - echarts@^5.1.1: version "5.2.2" resolved "https://registry.npmmirror.com/echarts/download/echarts-5.2.2.tgz#ec3c8b2a151cbba71ba3c2c7cf9b2f2047ce4370" @@ -2559,11 +1950,6 @@ electron-to-chromium@^1.3.896: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.8.tgz#e1b7752ac1a75e39b5dd90cc7e29ea08b351c484" integrity sha512-Cu5+dbg55+1E3ohlsa8HT0s4b8D0gBewXEGG8s5wBl8ynWv60VuvYW25GpsOeTVXpulhyU/U8JYZH+yxASSJBQ== -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= - emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.nlark.com/emojis-list/download/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" @@ -2574,13 +1960,6 @@ encodeurl@~1.0.2: resolved "https://registry.nlark.com/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding@^0.1.11: - version "0.1.13" - resolved "https://registry.npmmirror.com/encoding/download/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha1-VldK/deR9UqOmyeFwFgqLSYhD6k= - dependencies: - iconv-lite "^0.6.2" - enhanced-resolve@^5.8.3: version "5.8.3" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" @@ -2832,13 +2211,6 @@ fresh@0.5.2: resolved "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs= - dependencies: - minipass "^3.0.0" - fs-monkey@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" @@ -2859,21 +2231,6 @@ function-bind@^1.1.1: resolved "https://registry.nlark.com/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= -gauge@^3.0.0: - version "3.0.1" - resolved "https://registry.nlark.com/gauge/download/gauge-3.0.1.tgz?cache=0&sync_timestamp=1627307755867&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fgauge%2Fdownload%2Fgauge-3.0.1.tgz#4bea07bcde3782f06dced8950e51307aa0f4a346" - integrity sha1-S+oHvN43gvBtztiVDlEweqD0o0Y= - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" - has-unicode "^2.0.1" - object-assign "^4.1.1" - signal-exit "^3.0.0" - string-width "^1.0.1 || ^2.0.0" - strip-ansi "^3.0.1 || ^4.0.0" - wide-align "^1.1.2" - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -2993,11 +2350,6 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - has@^1.0.3: version "1.0.3" resolved "https://registry.nlark.com/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -3055,7 +2407,7 @@ html-minifier-terser@^6.0.2: relateurl "^0.2.7" terser "^5.7.2" -html-webpack-plugin@^5.2.0, html-webpack-plugin@^5.5.0: +html-webpack-plugin@^5.5.0: version "5.5.0" resolved "https://registry.npmmirror.com/html-webpack-plugin/download/html-webpack-plugin-5.5.0.tgz?cache=0&sync_timestamp=1635212582127&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50" integrity sha1-w5EZNvV2gcH59Ni2jBWM2d/lL1A= @@ -3151,33 +2503,18 @@ https-browserify@0.0.0: resolved "https://registry.nlark.com/https-browserify/download/https-browserify-0.0.0.tgz#b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd" integrity sha1-s//f5zSyo9Sp79WOhlTJH86G6v0= -https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.nlark.com/https-proxy-agent/download/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha1-4qkFQqu2inYuCghQ9sntrf2FBrI= - dependencies: - agent-base "6" - debug "4" - human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.4: +iconv-lite@0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE= - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" @@ -3239,11 +2576,6 @@ inherits@2.0.3: resolved "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -internmap@^1.0.0: - version "1.0.1" - resolved "https://registry.nlark.com/internmap/download/internmap-1.0.1.tgz?cache=0&sync_timestamp=1632107515842&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finternmap%2Fdownload%2Finternmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" - integrity sha1-ABfMijuZYF8DAvKxmNJy4BXl35U= - interpret@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" @@ -3335,16 +2667,6 @@ is-extglob@^2.1.1: resolved "https://registry.nlark.com/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= - is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -3387,21 +2709,11 @@ is-regex@^1.0.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-stream@^1.0.1, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.nlark.com/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-url@^1.2.4: - version "1.2.4" - resolved "https://registry.nlark.com/is-url/download/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" - integrity sha1-BKTfRtKMTP89c9Af8Gq+sxihqlI= - is-what@^3.12.0: version "3.14.1" resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" @@ -3566,11 +2878,6 @@ lodash-compat@^3.10.1: resolved "https://registry.yarnpkg.com/lodash-compat/-/lodash-compat-3.10.2.tgz#c6940128a9d30f8e902cd2cf99fd0cba4ecfc183" integrity sha1-xpQBKKnTD46QLNLPmf0Muk7PwYM= -lodash-es@^4.17.15: - version "4.17.21" - resolved "https://registry.npm.taobao.org/lodash-es/download/lodash-es-4.17.21.tgz?cache=0&sync_timestamp=1613836185353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash-es%2Fdownload%2Flodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha1-Q+YmxG5lkbd1C+srUBFzkMYJ4+4= - lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -3696,11 +3003,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-response@^2.0.0: - version "2.1.0" - resolved "https://registry.nlark.com/mimic-response/download/mimic-response-2.1.0.tgz?cache=0&sync_timestamp=1628692524926&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmimic-response%2Fdownload%2Fmimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" - integrity sha1-0Tdj019hPQnsN+uzC6wEacDuj0M= - min-document@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" @@ -3732,21 +3034,6 @@ minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1618847017774&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= -minipass@^3.0.0: - version "3.1.5" - resolved "https://registry.nlark.com/minipass/download/minipass-3.1.5.tgz#71f6251b0a33a49c01b3cf97ff77eda030dff732" - integrity sha1-cfYlGwozpJwBs8+X/3ftoDDf9zI= - dependencies: - yallist "^4.0.0" - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.npm.taobao.org/minizlib/download/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha1-6Q00Zrogm5MkUVCKEc49NjIUWTE= - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - mkdirp@^0.5.5: version "0.5.5" resolved "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" @@ -3754,16 +3041,6 @@ mkdirp@^0.5.5: dependencies: minimist "^1.2.5" -mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.npmmirror.com/mkdirp/download/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha1-PrXtYmInVteaXw4qIh3+utdcL34= - -moment@^2.29.1: - version "2.29.1" - resolved "https://registry.npm.taobao.org/moment/download/moment-2.29.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" - integrity sha1-sr52n6MZQL6e7qZGnAdeNQBvo9M= - ms@2.0.0: version "2.0.0" resolved "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -3797,11 +3074,6 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -nan@^2.14.0: - version "2.15.0" - resolved "https://registry.nlark.com/nan/download/nan-2.15.0.tgz?cache=0&sync_timestamp=1628093656744&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnan%2Fdownload%2Fnan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha1-PzSkc/8Y4VwbVia2KQO1rW5mX+4= - nanoid@^3.1.30: version "3.1.30" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" @@ -3859,27 +3131,6 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-csv@^0.1.2: - version "0.1.2" - resolved "https://registry.npm.taobao.org/node-csv/download/node-csv-0.1.2.tgz#ffc86df25f3dc0739020ab15121e2d3033e74700" - integrity sha1-/8ht8l89wHOQIKsVEh4tMDPnRwA= - -node-fetch-polyfill@^2.0.6: - version "2.0.6" - resolved "https://registry.nlark.com/node-fetch-polyfill/download/node-fetch-polyfill-2.0.6.tgz#073ce3ad6826bdb995a8728cfc4e3823f204407a" - integrity sha1-BzzjrWgmvbmVqHKM/E44I/IEQHo= - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - node-web-streams "^0.2.1" - -node-fetch@^2.6.1, node-fetch@^2.6.5: - version "2.6.6" - resolved "https://registry.npmmirror.com/node-fetch/download/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" - integrity sha1-F1GnwBg06OFpd1hzLp77burfr4k= - dependencies: - whatwg-url "^5.0.0" - node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -3919,21 +3170,6 @@ node-releases@^2.0.1: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== -node-web-streams@^0.2.1: - version "0.2.2" - resolved "https://registry.nlark.com/node-web-streams/download/node-web-streams-0.2.2.tgz#087e76bbeb7e8dc56686b25db4e60c5ff9db091f" - integrity sha1-CH52u+t+jcVmhrJdtOYMX/nbCR8= - dependencies: - is-stream "^1.1.0" - web-streams-polyfill "git://github.com/gwicke/web-streams-polyfill#spec_performance_improvements" - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/nopt/download/nopt-5.0.0.tgz?cache=0&sync_timestamp=1597649892953&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnopt%2Fdownload%2Fnopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha1-UwlCu1ilEvzK/lP+IQ8TolNV3Ig= - dependencies: - abbrev "1" - normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -3946,16 +3182,6 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npmlog@^5.0.1: - version "5.0.1" - resolved "https://registry.nlark.com/npmlog/download/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" - integrity sha1-8GZ46A4pQZrWerlk4PpplZweuLA= - dependencies: - are-we-there-yet "^2.0.0" - console-control-strings "^1.1.0" - gauge "^3.0.0" - set-blocking "^2.0.0" - nth-check@^2.0.0: version "2.0.1" resolved "https://registry.nlark.com/nth-check/download/nth-check-2.0.1.tgz?cache=0&sync_timestamp=1631793617973&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnth-check%2Fdownload%2Fnth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" @@ -4008,7 +3234,7 @@ on-headers@~1.0.2: resolved "https://registry.nlark.com/on-headers/download/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= -once@^1.3.0, once@^1.3.1: +once@^1.3.0: version "1.4.0" resolved "https://registry.nlark.com/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -4106,11 +3332,6 @@ path-browserify@0.0.0: resolved "https://registry.nlark.com/path-browserify/download/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= -path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/path-browserify/download/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha1-2YRUqcN1PVeQhg8W9ohnueRr4f0= - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -4472,7 +3693,7 @@ readable-stream@^2.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.6.0: +readable-stream@^3.0.6: version "3.6.0" resolved "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= @@ -4507,7 +3728,7 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: +regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz?cache=0&sync_timestamp=1626993001371&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I= @@ -4589,11 +3810,6 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.npmmirror.com/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - resolve@^1.14.2, resolve@^1.9.0: version "1.20.0" resolved "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" @@ -4631,11 +3847,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rw@1: - version "1.3.3" - resolved "https://registry.npmmirror.com/rw/download/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q= - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz?cache=0&sync_timestamp=1618847044058&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -4646,7 +3857,7 @@ safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.nlark.com/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= @@ -4775,11 +3986,6 @@ serve-static@1.14.1: parseurl "~1.3.3" send "0.17.1" -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.nlark.com/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" @@ -4819,35 +4025,11 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -signal-exit@^3.0.0: - version "3.0.5" - resolved "https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.5.tgz?cache=0&sync_timestamp=1632948374592&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" - integrity sha1-nj6MwMdamUcrRDIQM6dwLnc4JS8= - signal-exit@^3.0.3: version "3.0.6" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.nlark.com/simple-concat/download/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha1-9Gl2CCujXCJj8cirXt/ibEHJVS8= - -simple-get@^3.0.3: - version "3.1.0" - resolved "https://registry.npm.taobao.org/simple-get/download/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" - integrity sha1-tFvgYkNeUNFZVAtXYgLO7EC5xrM= - dependencies: - decompress-response "^4.2.0" - once "^1.3.1" - simple-concat "^1.0.0" - -size-sensor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/size-sensor/-/size-sensor-1.0.1.tgz#f84e46206d3e259faff1d548e4b3beca93219dbb" - integrity sha512-QTy7MnuugCFXIedXRpUSk9gUnyNiaxIdxGfUjr8xxXOqIB3QvBUYP9+b51oCg2C4dnhaeNk/h57TxjbvoJrJUA== - slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -4936,23 +4118,6 @@ strict-uri-encode@^1.0.0: resolved "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= -"string-width@^1.0.1 || ^2.0.0": - version "2.1.1" - resolved "https://registry.npmmirror.com/string-width/download/string-width-2.1.1.tgz?cache=0&sync_timestamp=1632421309919&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -"string-width@^1.0.2 || 2 || 3 || 4": - version "4.2.3" - resolved "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz?cache=0&sync_timestamp=1632421309919&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA= - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.nlark.com/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -4972,13 +4137,6 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi@^3.0.1 || ^4.0.0", strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -5022,18 +4180,6 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.nlark.com/tapable/download/tapable-2.2.1.tgz?cache=0&sync_timestamp=1631526982870&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftapable%2Fdownload%2Ftapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha1-GWenPvQGCoLxKrlq+G1S/bdu7KA= -tar@^6.1.11: - version "6.1.11" - resolved "https://registry.nlark.com/tar/download/tar-6.1.11.tgz?cache=0&sync_timestamp=1629994598621&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftar%2Fdownload%2Ftar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha1-Z2CjjwA6+hsv/Q/+npq70Oqz1iE= - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - terser-webpack-plugin@^5.1.3: version "5.2.5" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz#ce65b9880a0c36872555c4874f45bbdb02ee32c9" @@ -5100,11 +4246,6 @@ toidentifier@1.0.0: resolved "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmmirror.com/tr46/download/tr46-0.0.3.tgz?cache=0&sync_timestamp=1633302501959&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftr46%2Fdownload%2Ftr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - tslib@2.3.0: version "2.3.0" resolved "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&sync_timestamp=1628722580350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" @@ -5285,20 +4426,11 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -"web-streams-polyfill@git://github.com/gwicke/web-streams-polyfill#spec_performance_improvements": - version "1.2.2" - resolved "git://github.com/gwicke/web-streams-polyfill#42c488428adea1dc0c0245014e4896ad456b1ded" - webgl-enabled@^1.0.3: version "1.0.3" resolved "https://registry.npmmirror.com/webgl-enabled/download/webgl-enabled-1.0.3.tgz#f18e92606ee258795be700ca4c178c593d781222" integrity sha1-8Y6SYG7iWHlb5wDKTBeMWT14EiI= -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.nlark.com/webidl-conversions/download/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - webpack-cli@^4.9.1: version "4.9.1" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3" @@ -5416,14 +4548,6 @@ websocket-extensions@>=0.1.1: resolved "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha1-f4RzvIOd/YdgituV1+sHUhFXikI= -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -5431,13 +4555,6 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -wide-align@^1.1.2: - version "1.1.5" - resolved "https://registry.npmmirror.com/wide-align/download/wide-align-1.1.5.tgz?cache=0&sync_timestamp=1634307573729&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwide-align%2Fdownload%2Fwide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha1-3x1MIGhUNp7PPJpImPGyP72dFdM= - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - wildcard@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" From a7557af4b9dc2f1fe070e7d7d3e2b122f416aedc Mon Sep 17 00:00:00 2001 From: Lam Tang Date: Mon, 2 Oct 2023 10:31:23 +0800 Subject: [PATCH 02/25] chore: remove useless files and code --- .../temp_http_server/actions_count.json | 8 -- .../temp_http_server/companies_logos/360.png | Bin 38628 -> 0 bytes .../companies_logos/Alibaba.png | Bin 27506 -> 0 bytes .../companies_logos/Baidu.png | Bin 15683 -> 0 bytes .../companies_logos/Google.png | Bin 15917 -> 0 bytes .../companies_logos/Huawei.png | Bin 23498 -> 0 bytes .../companies_logos/Meituan.png | Bin 23256 -> 0 bytes .../temp_http_server/companies_logos/Meta.png | Bin 19396 -> 0 bytes .../companies_logos/Microsoft.png | Bin 8766 -> 0 bytes .../companies_logos/Tencent.png | Bin 16465 -> 0 bytes .../companies_logos/Xiaomi.png | Bin 13901 -> 0 bytes .../temp_http_server/companies_scatter.json | 7 -- .../temp_http_server/languages_count.json | 22 ----- .../repo_activities_top20.json | 28 ------ .../repos_and_users_monthly_counts.json | 22 ----- .../repos_and_users_total.json | 4 - src/destination.jsx | 42 -------- src/galaxy/about.jsx | 11 --- src/galaxy/scene.jsx | 7 -- src/galaxy/service/appEvents.js | 3 - src/welcome.jsx | 91 ------------------ 21 files changed, 245 deletions(-) delete mode 100644 src/SODAComponents/temp_http_server/actions_count.json delete mode 100644 src/SODAComponents/temp_http_server/companies_logos/360.png delete mode 100644 src/SODAComponents/temp_http_server/companies_logos/Alibaba.png delete mode 100644 src/SODAComponents/temp_http_server/companies_logos/Baidu.png delete mode 100644 src/SODAComponents/temp_http_server/companies_logos/Google.png delete mode 100644 src/SODAComponents/temp_http_server/companies_logos/Huawei.png delete mode 100644 src/SODAComponents/temp_http_server/companies_logos/Meituan.png delete mode 100644 src/SODAComponents/temp_http_server/companies_logos/Meta.png delete mode 100644 src/SODAComponents/temp_http_server/companies_logos/Microsoft.png delete mode 100644 src/SODAComponents/temp_http_server/companies_logos/Tencent.png delete mode 100644 src/SODAComponents/temp_http_server/companies_logos/Xiaomi.png delete mode 100644 src/SODAComponents/temp_http_server/companies_scatter.json delete mode 100644 src/SODAComponents/temp_http_server/languages_count.json delete mode 100644 src/SODAComponents/temp_http_server/repo_activities_top20.json delete mode 100644 src/SODAComponents/temp_http_server/repos_and_users_monthly_counts.json delete mode 100644 src/SODAComponents/temp_http_server/repos_and_users_total.json delete mode 100644 src/destination.jsx delete mode 100644 src/galaxy/about.jsx delete mode 100644 src/welcome.jsx diff --git a/src/SODAComponents/temp_http_server/actions_count.json b/src/SODAComponents/temp_http_server/actions_count.json deleted file mode 100644 index b3d8982..0000000 --- a/src/SODAComponents/temp_http_server/actions_count.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "issue": 999999, - "comment": 888888, - "PR": 777777, - "star": 666666, - "fork": 555555, - "watch": 444444 -} diff --git a/src/SODAComponents/temp_http_server/companies_logos/360.png b/src/SODAComponents/temp_http_server/companies_logos/360.png deleted file mode 100644 index 6d2766d1a6ece2e7986b628ddf0da65c19b782a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38628 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�zpe-6ttv0W86*JL@2N~D0 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%0AJ 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 E2QSYI>;M1& diff --git a/src/SODAComponents/temp_http_server/companies_logos/Baidu.png b/src/SODAComponents/temp_http_server/companies_logos/Baidu.png deleted file mode 100644 index 4ea65e81604fc95bfc80410367014dbf06f75345..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15683 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%0ARg4{;CkqdCX1R%MD7F)M`Scg3rxr$ZLG+$Y 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 diff --git a/src/SODAComponents/temp_http_server/companies_logos/Huawei.png b/src/SODAComponents/temp_http_server/companies_logos/Huawei.png deleted file mode 100644 index 4b711be35091764f34069a510c3042c5456db004..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23498 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 Zimw{R(CqT}*#BPX>1i2h)~nm0{tqY@QnLU6 diff --git a/src/SODAComponents/temp_http_server/companies_logos/Meituan.png b/src/SODAComponents/temp_http_server/companies_logos/Meituan.png deleted file mode 100644 index 0572de7895dcf772bea2987bba54fc947cb3c50e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23256 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 diff --git a/src/SODAComponents/temp_http_server/companies_logos/Meta.png b/src/SODAComponents/temp_http_server/companies_logos/Meta.png deleted file mode 100644 index a2cb0d2d91571659db20b1f32f0ad482a2010e8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19396 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 W4Ez{XM_zLS0P4y*O63YRq5lIh)PXDj diff --git a/src/SODAComponents/temp_http_server/companies_logos/Tencent.png b/src/SODAComponents/temp_http_server/companies_logos/Tencent.png deleted file mode 100644 index bcd5868f90c56b5aa7f9908f6723d57d00ac7d19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16465 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 -
- {props.name}/ -
-
-

{props.name}

- {props.description} -
-
- ); - } - -} diff --git a/src/galaxy/about.jsx b/src/galaxy/about.jsx deleted file mode 100644 index 4e57168..0000000 --- a/src/galaxy/about.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react'; - -export default function about() { - return ( -
- About... -
- ); -} diff --git a/src/galaxy/scene.jsx b/src/galaxy/scene.jsx index a7a794d..77b13dd 100644 --- a/src/galaxy/scene.jsx +++ b/src/galaxy/scene.jsx @@ -7,14 +7,11 @@ import SteeringIndicator from "./steeringIndicator.jsx"; import SearchBox from "./search/searchBoxView.jsx"; import NoWebGL from "./noWebgl.jsx"; import Help from "./help.jsx"; -// import About from "./about.jsx"; import WindowCollection from "./windows/windowCollectionView.jsx"; import createNativeRenderer from "./native/renderer.js"; import createKeyboardBindings from "./native/sceneKeyboardBinding.js"; -// SODA related components -// import GitHubScreen from "../SODAComponents/GitHubScreen/GitHubScreen.jsx"; import RepoDetails from '../SODAComponents/RepoDetails/RepoDetails.jsx'; import LocaleSelector from './locale/LocaleSelector.jsx'; @@ -41,9 +38,6 @@ class scene extends React.Component { return (
- {/* SODA related components */} - {/* 放到这个位置是为了让GitHubScreen里面的键盘事件也在container作用范围内 */} - {/* */}
@@ -53,7 +47,6 @@ class scene extends React.Component { - {/* */}
); }; diff --git a/src/galaxy/service/appEvents.js b/src/galaxy/service/appEvents.js index 0aa495b..72a227d 100644 --- a/src/galaxy/service/appEvents.js +++ b/src/galaxy/service/appEvents.js @@ -87,8 +87,5 @@ export default eventMirror([ 'queryChanged', 'accelerateNavigation', - - // SODA - 'toggleGitHubScreen', ], appEvents); diff --git a/src/welcome.jsx b/src/welcome.jsx deleted file mode 100644 index 6cf41b9..0000000 --- a/src/welcome.jsx +++ /dev/null @@ -1,91 +0,0 @@ -import React from "react"; -import Destination from './destination.jsx'; - -export default class WelcomePage extends React.Component { - render() { - return ( -
-

Welcome to the Code Galaxies, Commander

-

Choose your destination:

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- ); - } -} From 03d05707896211f18a8de1f3239e90926d4f7ba2 Mon Sep 17 00:00:00 2001 From: Lam Tang Date: Tue, 3 Oct 2023 11:24:57 +0800 Subject: [PATCH 03/25] refactor: the view part of nodeDetails -> NodeDetails --- .../default.jsx => BasicNodeInfo.jsx} | 8 ++-- src/galaxy/nodeDetails/index.jsx | 27 ++++++++++++ src/galaxy/nodeDetails/nodeDetailsView.jsx | 43 ------------------- src/galaxy/nodeDetails/templates/all.js | 9 ---- src/galaxy/scene.jsx | 2 +- src/styles/nodeDetails.less | 2 +- 6 files changed, 32 insertions(+), 59 deletions(-) rename src/galaxy/nodeDetails/{templates/default.jsx => BasicNodeInfo.jsx} (94%) create mode 100644 src/galaxy/nodeDetails/index.jsx delete mode 100644 src/galaxy/nodeDetails/nodeDetailsView.jsx delete mode 100644 src/galaxy/nodeDetails/templates/all.js diff --git a/src/galaxy/nodeDetails/templates/default.jsx b/src/galaxy/nodeDetails/BasicNodeInfo.jsx similarity index 94% rename from src/galaxy/nodeDetails/templates/default.jsx rename to src/galaxy/nodeDetails/BasicNodeInfo.jsx index b0d0ad9..18a255a 100644 --- a/src/galaxy/nodeDetails/templates/default.jsx +++ b/src/galaxy/nodeDetails/BasicNodeInfo.jsx @@ -1,11 +1,9 @@ import React from "react"; import intl from "react-intl-universal"; -import isRepoName from "../../utils/isRepoName"; - -export default function template(props) { - var model = props.model; +import isRepoName from "../utils/isRepoName"; +export const BasicNodeInfo = ({ model }) => { return (
@@ -66,4 +64,4 @@ export default function template(props) {
); -} +} \ No newline at end of file diff --git a/src/galaxy/nodeDetails/index.jsx b/src/galaxy/nodeDetails/index.jsx new file mode 100644 index 0000000..3ec95aa --- /dev/null +++ b/src/galaxy/nodeDetails/index.jsx @@ -0,0 +1,27 @@ +import React, { useEffect, useState } from 'react'; +import detailModel from './nodeDetailsStore.js'; +import { BasicNodeInfo } from './BasicNodeInfo.jsx'; + +export const NodeDetails = () => { + const selectedNode = detailModel.getSelectedNode(); + // a hack to force update the view + const [,setVersion] = useState(0); + const updateView = () => { + setVersion(version => version + 1); + }; + + useEffect(() => { + detailModel.on('changed', updateView); + return (() => { + detailModel.off('changed', updateView); + }); + }, []); + + if (!selectedNode) return null; + + return ( +
+ +
+ ); +} \ No newline at end of file diff --git a/src/galaxy/nodeDetails/nodeDetailsView.jsx b/src/galaxy/nodeDetails/nodeDetailsView.jsx deleted file mode 100644 index 4a05d5d..0000000 --- a/src/galaxy/nodeDetails/nodeDetailsView.jsx +++ /dev/null @@ -1,43 +0,0 @@ -import React from 'react'; -import detailModel from './nodeDetailsStore.js'; -import specialNodeDetails from './templates/all.js'; -import scene from '../store/scene.js'; - -class detailedNodeView extends React.Component { - constructor() { - super(); - this.getNodeDetails = this.getNodeDetails.bind(this); - this.updateView = this.updateView.bind(this); - } - - render() { - var selectedNode = detailModel.getSelectedNode(); - if (!selectedNode) return null; - var NodeDetails = this.getNodeDetails(selectedNode); - - return ( -
- -
- ); - }; - - componentDidMount() { - detailModel.on('changed', this.updateView); - }; - - componentWillUnmount() { - detailModel.off('changed', this.updateView); - }; - - getNodeDetails(viewModel) { - var Template = specialNodeDetails[scene.getGraphName()] || specialNodeDetails.default; - return Template; - } - - updateView() { - this.forceUpdate(); - } -} - -export default detailedNodeView; diff --git a/src/galaxy/nodeDetails/templates/all.js b/src/galaxy/nodeDetails/templates/all.js deleted file mode 100644 index dd79837..0000000 --- a/src/galaxy/nodeDetails/templates/all.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * TODO: I need something better than this. Manually changing template is - * very inconvenient :(. Should it be defined with metadata? - */ -import defaultTemplate from './default.jsx'; - -export default { - default: defaultTemplate -} diff --git a/src/galaxy/scene.jsx b/src/galaxy/scene.jsx index 77b13dd..cf374c6 100644 --- a/src/galaxy/scene.jsx +++ b/src/galaxy/scene.jsx @@ -1,7 +1,7 @@ import React from "react"; import { findDOMNode } from "react-dom"; import HoverInfo from "./hoverInfo.jsx"; -import NodeDetails from "./nodeDetails/nodeDetailsView.jsx"; +import { NodeDetails } from "./NodeDetails/index.jsx"; import SteeringIndicator from "./steeringIndicator.jsx"; import SearchBox from "./search/searchBoxView.jsx"; diff --git a/src/styles/nodeDetails.less b/src/styles/nodeDetails.less index 88ba0b3..1eea9e2 100644 --- a/src/styles/nodeDetails.less +++ b/src/styles/nodeDetails.less @@ -2,7 +2,7 @@ @line-height: 1.4; @lines-to-show: 2; -.node-details { +.basic-node-info { width: 395px; left: 16px; bottom: 12px; From 04ab44ea6cba2d16d06fda8034dcedcaafa4e325 Mon Sep 17 00:00:00 2001 From: Lam Tang Date: Tue, 3 Oct 2023 15:08:07 +0800 Subject: [PATCH 04/25] refactor: refactor code in functional component way --- src/galaxy/nodeDetails/ConnectedNodeList.jsx | 40 +++++++++++ .../NodeInfoRow.jsx} | 2 +- .../NodeList.jsx} | 13 ++-- .../WindowTitle.jsx} | 4 +- .../nodeDetails/degreeWindowViewModel.js | 54 --------------- src/galaxy/nodeDetails/index.jsx | 35 ++++++---- src/galaxy/nodeDetails/nodeDetailsStore.js | 66 ------------------- src/galaxy/scene.jsx | 10 --- src/galaxy/service/appEvents.js | 1 - src/galaxy/windows/windowCollectionModel.js | 46 ------------- src/galaxy/windows/windowCollectionView.jsx | 38 ----------- 11 files changed, 69 insertions(+), 240 deletions(-) create mode 100644 src/galaxy/nodeDetails/ConnectedNodeList.jsx rename src/galaxy/{windows/nodeInfoRow.jsx => nodeDetails/NodeInfoRow.jsx} (94%) rename src/galaxy/{windows/nodeListView.jsx => nodeDetails/NodeList.jsx} (81%) rename src/galaxy/{windows/windowTitle.jsx => nodeDetails/WindowTitle.jsx} (96%) delete mode 100644 src/galaxy/nodeDetails/degreeWindowViewModel.js delete mode 100644 src/galaxy/nodeDetails/nodeDetailsStore.js delete mode 100644 src/galaxy/windows/windowCollectionModel.js delete mode 100644 src/galaxy/windows/windowCollectionView.jsx diff --git a/src/galaxy/nodeDetails/ConnectedNodeList.jsx b/src/galaxy/nodeDetails/ConnectedNodeList.jsx new file mode 100644 index 0000000..3c266ce --- /dev/null +++ b/src/galaxy/nodeDetails/ConnectedNodeList.jsx @@ -0,0 +1,40 @@ +import scene from '../store/scene.js'; +import isRepoName from '../utils/isRepoName.js'; +import formatNumber from '../utils/formatNumber.js'; +import { NodeList } from './NodeList.jsx'; + +import React from 'react'; + +function ConnectedNodeListModel(name, list, connectionType, id) { + this.id = id; + this.className = 'degree-results-window'; + this.list = list; + this.nodeName = name; + this.degreeNumber = formatNumber(list.length); + this.connectionType = connectionType; + this.degreeKindName = 'None'; +} +ConnectedNodeListModel.prototype.__name = 'DegreeWindowViewModel'; + +function getViewModel(nodeId) { + if (nodeId) { + const rootInfo = scene.getNodeInfo(nodeId); + const connectionType = isRepoName(rootInfo.name) ? 'in' : 'out'; + const conenctions = scene.getConnected(nodeId, connectionType); + const viewModel = new ConnectedNodeListModel(rootInfo.name, conenctions, connectionType, nodeId); + return viewModel; + } + return null; +} + +export const ConnectedNodeList = ({ currentNodeId }) => { + const viewModel = getViewModel(currentNodeId); + + if (!viewModel) { + return null; + } + + return ( + + ); +} \ No newline at end of file diff --git a/src/galaxy/windows/nodeInfoRow.jsx b/src/galaxy/nodeDetails/NodeInfoRow.jsx similarity index 94% rename from src/galaxy/windows/nodeInfoRow.jsx rename to src/galaxy/nodeDetails/NodeInfoRow.jsx index 6fc372f..c66596a 100644 --- a/src/galaxy/windows/nodeInfoRow.jsx +++ b/src/galaxy/nodeDetails/NodeInfoRow.jsx @@ -3,7 +3,7 @@ import formatNumber from '../utils/formatNumber.js'; import isRepoName from '../utils/isRepoName.js'; -export default function windowTitle(props) { +export const NodeListItem = (props) => { var item = props.viewModel; var image = ''; if (item.icon) { diff --git a/src/galaxy/windows/nodeListView.jsx b/src/galaxy/nodeDetails/NodeList.jsx similarity index 81% rename from src/galaxy/windows/nodeListView.jsx rename to src/galaxy/nodeDetails/NodeList.jsx index 8d84273..adb1011 100644 --- a/src/galaxy/windows/nodeListView.jsx +++ b/src/galaxy/nodeDetails/NodeList.jsx @@ -5,15 +5,14 @@ */ import React from "react"; import ReactList from "react-list"; -import WindowTitle from "./windowTitle.jsx"; -import NodeInfoRow from "./nodeInfoRow.jsx"; +import WindowTitle from "./WindowTitle.jsx"; +import { NodeListItem } from "./NodeInfoRow.jsx"; var windowId = 0; -let nodeListView = (props) => { +export const NodeList = ({ windowViewModel }) => { windowId += 1; - var windowViewModel = props.viewModel; var className = "window-container"; if (windowViewModel.className) { @@ -32,7 +31,7 @@ let nodeListView = (props) => { function renderItem(idx, key) { var vm = items[idx]; - return ; + return ; } function getHeight() { @@ -55,6 +54,4 @@ let nodeListView = (props) => { return null; } } -}; - -export default nodeListView; +}; \ No newline at end of file diff --git a/src/galaxy/windows/windowTitle.jsx b/src/galaxy/nodeDetails/WindowTitle.jsx similarity index 96% rename from src/galaxy/windows/windowTitle.jsx rename to src/galaxy/nodeDetails/WindowTitle.jsx index 1da3210..de8e3c2 100644 --- a/src/galaxy/windows/windowTitle.jsx +++ b/src/galaxy/nodeDetails/WindowTitle.jsx @@ -6,7 +6,7 @@ import isRepoName from "../utils/isRepoName.js"; registerDataTemplates(); -class windowTitle extends React.Component { +class WindowTitle extends React.Component { render() { return ; } @@ -76,4 +76,4 @@ function registerDataTemplates() { ); } -export default windowTitle; +export default WindowTitle; diff --git a/src/galaxy/nodeDetails/degreeWindowViewModel.js b/src/galaxy/nodeDetails/degreeWindowViewModel.js deleted file mode 100644 index 89139f6..0000000 --- a/src/galaxy/nodeDetails/degreeWindowViewModel.js +++ /dev/null @@ -1,54 +0,0 @@ -import scene from '../store/scene.js'; -import formatNumber from '../utils/formatNumber.js'; - -export default DegreeWindowViewModel; - -function DegreeWindowViewModel(name, list, connectionType, id) { - this.id = id; - this.className = 'degree-results-window'; - this.list = list; - this.nodeName = name; - this.degreeNumber = formatNumber(list.length); - this.connectionType = connectionType; - this.degreeKindName = getDegreeName(connectionType, list.length); -} - -DegreeWindowViewModel.prototype.__name = 'DegreeWindowViewModel'; - -// TODO: This is a dupe. -function getDegreeName(connectionType, count) { - var graphName = scene.getGraphName(); - switch (graphName) { - case 'npm': - case 'bower': - case 'cpan': - case 'cran': - case 'composer': - case 'rubygems': - case 'gosearch': - case 'debian': - case 'fedora': - case 'arch': - case 'brew': - case 'nuget': - return dependencyName(connectionType, count); - case 'github': - return followerName(connectionType, count); - } - return connectionType === 'in' ? 'indegree' : 'outdegree'; -} - -function dependencyName(connectionType, count) { - if (connectionType === 'in') { - return count === 1 ? 'dependent' : 'dependents'; - } - return count === 1 ? 'dependency' : 'dependencies'; -} - -function followerName(connectionType, count) { - if (connectionType === 'out') { - return 'following' - } - - return count === 1 ? 'follower' : 'followers'; -} diff --git a/src/galaxy/nodeDetails/index.jsx b/src/galaxy/nodeDetails/index.jsx index 3ec95aa..9d764b9 100644 --- a/src/galaxy/nodeDetails/index.jsx +++ b/src/galaxy/nodeDetails/index.jsx @@ -1,27 +1,34 @@ -import React, { useEffect, useState } from 'react'; -import detailModel from './nodeDetailsStore.js'; +import appEvents from '../service/appEvents.js'; import { BasicNodeInfo } from './BasicNodeInfo.jsx'; +import { ConnectedNodeList } from './ConnectedNodeList.jsx'; +import getBaseNodeViewModel from '../store/baseNodeViewModel.js'; + +import React, { useEffect, useState } from 'react'; export const NodeDetails = () => { - const selectedNode = detailModel.getSelectedNode(); - // a hack to force update the view - const [,setVersion] = useState(0); - const updateView = () => { - setVersion(version => version + 1); - }; + const [currentNodeId, setCurrentNodeId] = useState(null); + + const update = (nodeId) => { + setCurrentNodeId(nodeId); + } useEffect(() => { - detailModel.on('changed', updateView); + appEvents.selectNode.on(update); return (() => { - detailModel.off('changed', updateView); + appEvents.selectNode.off(update); }); }, []); - if (!selectedNode) return null; + if (!currentNodeId) return null; + + const nodeModel = getBaseNodeViewModel(currentNodeId); return ( -
- -
+ <> +
+ +
+ + ); } \ No newline at end of file diff --git a/src/galaxy/nodeDetails/nodeDetailsStore.js b/src/galaxy/nodeDetails/nodeDetailsStore.js deleted file mode 100644 index fdbe75f..0000000 --- a/src/galaxy/nodeDetails/nodeDetailsStore.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Prepares data for selected node details - */ -import appEvents from '../service/appEvents.js'; -import scene from '../store/scene.js'; -import DegreeWindowViewModel from './degreeWindowViewModel.js'; - -import getBaseNodeViewModel from '../store/baseNodeViewModel.js'; - -import eventify from 'ngraph.events'; - -import isRepoName from '../utils/isRepoName.js'; - -export default nodeDetailsStore(); - -function nodeDetailsStore() { - var api = { - getSelectedNode: getSelectedNode - }; - - var currentNodeId, degreeVisible = false, - currentConnectionType; - - appEvents.selectNode.on(updateDetails); - appEvents.showDegree.on(updateDegreeDetails); - - eventify(api); - - return api; - - function updateDetails(nodeId) { - currentNodeId = nodeId; - updateDegreeDetails(currentNodeId, currentConnectionType); - } - - function updateDegreeDetails(id, connectionType) { - currentNodeId = id; - - degreeVisible = currentNodeId !== undefined; - if (degreeVisible) { - currentConnectionType = connectionType; - var rootInfo = scene.getNodeInfo(id); - // ignore existing code to change `currentConnectType` or `connectionType`, - // however to use node name to decide whether it is 'in' or 'out'. - if (isRepoName(rootInfo.name)) { - currentConnectionType = connectionType = 'in'; - } else { - currentConnectionType = connectionType = 'out'; - } - var conenctions = scene.getConnected(id, connectionType); - - var viewModel = new DegreeWindowViewModel(rootInfo.name, conenctions, connectionType, id); - - appEvents.showNodeListWindow.fire(viewModel, 'degree'); - } else { - appEvents.hideNodeListWindow.fire('degree'); - } - api.fire('changed'); - } - - function getSelectedNode() { - if (currentNodeId === undefined) return; - - return getBaseNodeViewModel(currentNodeId); - } -} diff --git a/src/galaxy/scene.jsx b/src/galaxy/scene.jsx index cf374c6..651dccc 100644 --- a/src/galaxy/scene.jsx +++ b/src/galaxy/scene.jsx @@ -8,7 +8,6 @@ import SearchBox from "./search/searchBoxView.jsx"; import NoWebGL from "./noWebgl.jsx"; import Help from "./help.jsx"; -import WindowCollection from "./windows/windowCollectionView.jsx"; import createNativeRenderer from "./native/renderer.js"; import createKeyboardBindings from "./native/sceneKeyboardBinding.js"; @@ -45,7 +44,6 @@ class scene extends React.Component { - ); @@ -73,15 +71,7 @@ class scene extends React.Component { // since we are handling all clicks, we should avoid excessive work and // talk with DOM only when absolutely necessary: var classList = clickedEl.classList; - var isInDegree = classList.contains("in-degree"); - var isOutDegree = !isInDegree && classList.contains("out-degree"); var nodeId; - if (isInDegree || isOutDegree) { - nodeId = parseInt(clickedEl.id, 10); - var connectionType = isInDegree ? "in" : "out"; - - appEvents.showDegree.fire(nodeId, connectionType); - } if (classList.contains("node-focus")) { nodeId = parseInt(clickedEl.id, 10); appEvents.focusOnNode.fire(nodeId); diff --git a/src/galaxy/service/appEvents.js b/src/galaxy/service/appEvents.js index 72a227d..3162abc 100644 --- a/src/galaxy/service/appEvents.js +++ b/src/galaxy/service/appEvents.js @@ -76,7 +76,6 @@ export default eventMirror([ // These events are not documented since I'm not sure whether to keep them 'showNodeListWindow', 'hideNodeListWindow', - 'showDegree', 'focusOnNode', 'focusScene', 'highlightQuery', diff --git a/src/galaxy/windows/windowCollectionModel.js b/src/galaxy/windows/windowCollectionModel.js deleted file mode 100644 index ebe6740..0000000 --- a/src/galaxy/windows/windowCollectionModel.js +++ /dev/null @@ -1,46 +0,0 @@ -import appEvents from '../service/appEvents.js'; -import eventify from 'ngraph.events'; - -export default windowCollectionModel(); - -function windowCollectionModel() { - - appEvents.showNodeListWindow.on(showWindow); - appEvents.hideNodeListWindow.on(hideWindow); - - var api = { - getWindows: getWindows - }; - - var registeredWindows = Object.create(null); - var allWindows = []; - - eventify(api); - - return api; - - function getWindows() { - return allWindows; - } - - function showWindow(viewModel, windowId) { - var windowIndex = registeredWindows[windowId]; - if (windowIndex === undefined) { - allWindows.push(viewModel); - windowIndex = registeredWindows[windowId] = allWindows.length - 1; - } else { - allWindows[windowIndex] = viewModel; - } - api.fire('changed'); - } - - function hideWindow(windowId) { - var windowIndex = registeredWindows[windowId]; - if (windowIndex !== undefined) { - delete registeredWindows[windowId]; - allWindows.splice(windowIndex, 1); - - api.fire('changed', windowIndex); - } - } -} diff --git a/src/galaxy/windows/windowCollectionView.jsx b/src/galaxy/windows/windowCollectionView.jsx deleted file mode 100644 index 3dc631d..0000000 --- a/src/galaxy/windows/windowCollectionView.jsx +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Renders collection of windows - */ -import React from 'react'; -import NodeListView from './nodeListView.jsx'; -import windowCollectionModel from './windowCollectionModel.js'; - -class windowCollectionView extends React.Component { - constructor() { - super(); - this.toWindowView = this.toWindowView.bind(this); - this.update = this.update.bind(this); - } - render() { - var windows = windowCollectionModel.getWindows(); - if (windows.length === 0) return null; - - return
{windows.map(this.toWindowView)}
; - }; - - componentDidMount() { - windowCollectionModel.on('changed', this.update); - }; - - componentWillUnmount() { - windowCollectionModel.off('changed', this.update); - }; - - toWindowView(windowViewModel, idx) { - return ; - } - - update() { - this.forceUpdate(); - } -} - -export default windowCollectionView; From acd282606e7073b17babbb56d2f40e0d67b588c9 Mon Sep 17 00:00:00 2001 From: Lam Tang Date: Tue, 3 Oct 2023 18:11:30 +0800 Subject: [PATCH 05/25] refactor: NodeList --- .../NodeList/NodeListItem.jsx} | 9 +-- src/components/NodeList/index.jsx | 39 +++++++++ src/galaxy/nodeDetails/ConnectedNodeList.jsx | 55 +++++++------ .../{BasicNodeInfo.jsx => Header.jsx} | 2 +- src/galaxy/nodeDetails/NodeList.jsx | 57 ------------- src/galaxy/nodeDetails/WindowTitle.jsx | 79 ------------------- src/galaxy/nodeDetails/index.jsx | 4 +- 7 files changed, 73 insertions(+), 172 deletions(-) rename src/{galaxy/nodeDetails/NodeInfoRow.jsx => components/NodeList/NodeListItem.jsx} (79%) create mode 100644 src/components/NodeList/index.jsx rename src/galaxy/nodeDetails/{BasicNodeInfo.jsx => Header.jsx} (97%) delete mode 100644 src/galaxy/nodeDetails/NodeList.jsx delete mode 100644 src/galaxy/nodeDetails/WindowTitle.jsx diff --git a/src/galaxy/nodeDetails/NodeInfoRow.jsx b/src/components/NodeList/NodeListItem.jsx similarity index 79% rename from src/galaxy/nodeDetails/NodeInfoRow.jsx rename to src/components/NodeList/NodeListItem.jsx index c66596a..4616111 100644 --- a/src/galaxy/nodeDetails/NodeInfoRow.jsx +++ b/src/components/NodeList/NodeListItem.jsx @@ -1,10 +1,9 @@ -import React from 'react'; -import formatNumber from '../utils/formatNumber.js'; +import formatNumber from '../../galaxy/utils/formatNumber.js'; +import isRepoName from '../../galaxy/utils/isRepoName.js'; -import isRepoName from '../utils/isRepoName.js'; +import React from 'react'; -export const NodeListItem = (props) => { - var item = props.viewModel; +export const NodeListItem = ({ item }) => { var image = ''; if (item.icon) { image = ; diff --git a/src/components/NodeList/index.jsx b/src/components/NodeList/index.jsx new file mode 100644 index 0000000..ef922ab --- /dev/null +++ b/src/components/NodeList/index.jsx @@ -0,0 +1,39 @@ +import { NodeListItem } from "./NodeListItem.jsx"; + +import React from "react"; +import ReactList from "react-list"; + +export const NodeList = ({ className, title, nodes }) => { + function renderItem(idx, key) { + return ; + } + + function getHeight() { + // FIXME: Hardcoding is not good. + return 20; + } + + function content(items) { + if (items.length > 0) { + return ( + <> + {title} + + + ); + } else { + return null; + } + } + + return ( +
+
{content(nodes)}
+
+ ); +}; \ No newline at end of file diff --git a/src/galaxy/nodeDetails/ConnectedNodeList.jsx b/src/galaxy/nodeDetails/ConnectedNodeList.jsx index 3c266ce..a0e1b7b 100644 --- a/src/galaxy/nodeDetails/ConnectedNodeList.jsx +++ b/src/galaxy/nodeDetails/ConnectedNodeList.jsx @@ -1,40 +1,39 @@ import scene from '../store/scene.js'; +import { NodeList } from '../../components/NodeList/index.jsx'; import isRepoName from '../utils/isRepoName.js'; -import formatNumber from '../utils/formatNumber.js'; -import { NodeList } from './NodeList.jsx'; import React from 'react'; - -function ConnectedNodeListModel(name, list, connectionType, id) { - this.id = id; - this.className = 'degree-results-window'; - this.list = list; - this.nodeName = name; - this.degreeNumber = formatNumber(list.length); - this.connectionType = connectionType; - this.degreeKindName = 'None'; -} -ConnectedNodeListModel.prototype.__name = 'DegreeWindowViewModel'; - -function getViewModel(nodeId) { - if (nodeId) { - const rootInfo = scene.getNodeInfo(nodeId); - const connectionType = isRepoName(rootInfo.name) ? 'in' : 'out'; - const conenctions = scene.getConnected(nodeId, connectionType); - const viewModel = new ConnectedNodeListModel(rootInfo.name, conenctions, connectionType, nodeId); - return viewModel; - } - return null; -} +import intl from 'react-intl-universal'; export const ConnectedNodeList = ({ currentNodeId }) => { - const viewModel = getViewModel(currentNodeId); - - if (!viewModel) { + if (!currentNodeId) { return null; } + const rootInfo = scene.getNodeInfo(currentNodeId); + const connectionType = isRepoName(rootInfo.name) ? 'in' : 'out'; + const conenctions = scene.getConnected(currentNodeId, connectionType); + + const Title = ( +

+ + {rootInfo.name} + + {isRepoName(rootInfo.name) + ? intl.getHTML("COUNT_FOR_RELATED_DEVELOPORS", { + count: conenctions.length, + }) + : intl.getHTML("COUNT_FOR_RELATED_PROJECTS", { + count: conenctions.length, + })} +

+ ); + return ( - + ); } \ No newline at end of file diff --git a/src/galaxy/nodeDetails/BasicNodeInfo.jsx b/src/galaxy/nodeDetails/Header.jsx similarity index 97% rename from src/galaxy/nodeDetails/BasicNodeInfo.jsx rename to src/galaxy/nodeDetails/Header.jsx index 18a255a..bccc285 100644 --- a/src/galaxy/nodeDetails/BasicNodeInfo.jsx +++ b/src/galaxy/nodeDetails/Header.jsx @@ -3,7 +3,7 @@ import intl from "react-intl-universal"; import isRepoName from "../utils/isRepoName"; -export const BasicNodeInfo = ({ model }) => { +export const Header = ({ model }) => { return (
diff --git a/src/galaxy/nodeDetails/NodeList.jsx b/src/galaxy/nodeDetails/NodeList.jsx deleted file mode 100644 index adb1011..0000000 --- a/src/galaxy/nodeDetails/NodeList.jsx +++ /dev/null @@ -1,57 +0,0 @@ -/** - * This component renders list of packages in single window. - * There can be multiple lists opened at any time. The list is currently - * managed by windowCollectionView - */ -import React from "react"; -import ReactList from "react-list"; -import WindowTitle from "./WindowTitle.jsx"; -import { NodeListItem } from "./NodeInfoRow.jsx"; - -var windowId = 0; - -export const NodeList = ({ windowViewModel }) => { - windowId += 1; - - var className = "window-container"; - - if (windowViewModel.className) { - className += " " + windowViewModel.className; - } - - var items = windowViewModel.list; - var id = windowId + windowViewModel.className + items.length; - - return ( -
- -
{content(items)}
-
- ); - - function renderItem(idx, key) { - var vm = items[idx]; - return ; - } - - function getHeight() { - // FIXME: Hardcoding is not good. - return 20; - } - - function content(items) { - if (items.length > 0) { - return ( - - ); - } else { - return null; - } - } -}; \ No newline at end of file diff --git a/src/galaxy/nodeDetails/WindowTitle.jsx b/src/galaxy/nodeDetails/WindowTitle.jsx deleted file mode 100644 index de8e3c2..0000000 --- a/src/galaxy/nodeDetails/WindowTitle.jsx +++ /dev/null @@ -1,79 +0,0 @@ -import React from 'react'; -import resource from '../utils/resources.js'; -import intl from 'react-intl-universal'; - -import isRepoName from "../utils/isRepoName.js"; - -registerDataTemplates(); - -class WindowTitle extends React.Component { - render() { - return ; - } -} - -class ContentControl extends React.Component { - render() { - var viewModel = this.props.viewModel; - var Template; - - if (viewModel) { - Template = contentTemplateSelector(viewModel); - } - if (!Template) { - return
{viewModel}
; - } - - return