diff --git a/package.json b/package.json index e8e71b8..b88f13a 100644 --- a/package.json +++ b/package.json @@ -3,12 +3,20 @@ "version": "0.1.0", "private": true, "dependencies": { + "@tensorflow-models/posenet": "^2.2.1", + "@tensorflow/tfjs": "^1.7.2", + "@tensorflow/tfjs-core": "^1.7.2", "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.3.2", "@testing-library/user-event": "^7.1.2", + "canvas-sketch-util": "^1.10.0", + "matter-js": "^0.14.2", + "node-sass": "^4.13.1", "react": "^16.13.1", "react-dom": "^16.13.1", - "react-scripts": "3.4.1" + "react-scripts": "3.4.1", + "three": "^0.117.1", + "touches": "^1.2.2" }, "scripts": { "start": "react-scripts start", diff --git a/src/App.css b/src/App.css deleted file mode 100644 index 74b5e05..0000000 --- a/src/App.css +++ /dev/null @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/src/App.js b/src/App.js index ce9cbd2..30e1576 100644 --- a/src/App.js +++ b/src/App.js @@ -1,26 +1,157 @@ -import React from 'react'; -import logo from './logo.svg'; -import './App.css'; +import React, { useState, useEffect } from "react"; + +import * as posenet from "@tensorflow-models/posenet"; +import Wall from "./wall/Wall"; +import Sphere from "./wall/Sphere"; +import createTouches from "touches"; +import "./App.scss"; +import i1 from "./images/1.jpg"; +import i2 from "./images/2.jpg"; +import i3 from "./images/3.jpg"; + +const videoWidth = 600; +const videoHeight = 500; +const width = 1080; +const height = 1920; +const radius = 412; +const displacement = 412; +const POSENET_URL = + "https://lg-cjdqwkbo-1256266248.cos.ap-shanghai.myqcloud.com/mobile-net/50/model-stride16.json"; + +const Block = ({ style }) =>
; + +const Mist = ({ style }) => ( +
+
+
+ touch
+ item +
+
+); + +const App = () => { + const [posenetModel, setPosenetModel] = useState(undefined); + const [video, setVideo] = useState(undefined); + const [wall, setWall] = useState(undefined); + const [sphere, setSphere] = useState(undefined); + const [list, setList] = useState([]); + + async function poseDetectionFrame() { + if (posenetModel) { + const poses = await posenetModel.estimatePoses(video, { + flipHorizontal: true, + decodingMethod: "single-person", + }); + const minPoseConfidence = 0.3; + poses.forEach(({ score, keypoints }) => { + if (score >= minPoseConfidence) { + keypoints + .filter(({ part }) => part === "nose") + .forEach(({ position: { x } }) => { + if (sphere) sphere.rePosition(x / videoWidth); + }); + } + }); + } + requestAnimationFrame(poseDetectionFrame); + } + + useEffect(() => { + if (!posenetModel) { + console.log("loading posenet model..."); + posenet + .load({ + architecture: "MobileNetV1", + outputStride: 16, + inputResolution: 500, + multiplier: 0.5, + modelUrl: POSENET_URL, + }) + .then((model) => { + setPosenetModel(model); + console.log("model loaded."); + }); + } + }, [posenetModel]); + + useEffect(() => { + if (!video) { + var constraints = { audio: false, video: { width: 1080, height: 1920 } }; + navigator.mediaDevices + .getUserMedia(constraints) + .then(function (mediaStream) { + var video = document.createElement("video"); + video.width = videoWidth; + video.height = videoHeight; + video.srcObject = mediaStream; + video.onloadedmetadata = function (e) { + video.play(); + setVideo(video); + }; + }) + .catch(function (err) { + console.log(err.name + ": " + err.message); + }); + } else { + poseDetectionFrame(); + } + }, [video]); + + useEffect(() => { + if (!wall) { + const wall = new Wall({ + items: [{ url: i1 }, { url: i2 }, { url: i3 }], + imgWidth: 90, + imgHeight: 100, + containerWidth: 1080, + containerHeight: 1920, + speed: 1, + onListChange: setList, + }); + wall.init(); + setWall(wall); + wall.getList(); + } else { + let sphere = new Sphere({ + x: width / 2, + y: height / 2, + radius, + displacement, + width, + }); + if (wall) { + wall.attachSphere(sphere); + } + setSphere(sphere); + } + return () => { + if (wall) wall.dispose(); + }; + }, [wall]); + + useEffect(() => { + if (sphere) { + const container = document.querySelector(".App"); + const touchHandler = createTouches(container, { + target: container, + filtered: true, + }); + touchHandler.on("move", (_, [x, y]) => { + sphere.x = x; + sphere.y = y; + }); + } + }, [sphere]); -function App() { return (
-
- logo -

- Edit src/App.js and save to reload. -

- - Learn React - -
+ {list.map(([key, el]) => ( + + ))} + {sphere && }
); -} +}; export default App; diff --git a/src/App.scss b/src/App.scss new file mode 100644 index 0000000..1ca0979 --- /dev/null +++ b/src/App.scss @@ -0,0 +1,40 @@ +.App { + position: relative; + width: 100vw; + height: 100vh; + text-align: center; + background: rgb(218, 232, 255); + display: flex; + flex-direction: column; + overflow: hidden; + canvas { + position: absolute; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + z-index: 1; + } + .mist { + position: absolute; + z-index: 100; + display: flex; + flex-direction: column; + align-items: center; + .ball { + position: absolute; + width: 100%; + height: 100%; + filter: blur(50px); + border-radius: 50%; + background: rgba(255, 255, 255, 0.8); + } + .text { + text-align: center; + color: #000; + font-size: 60px; + margin: auto; + z-index: 1; + } + } +} diff --git a/src/images/1.jpg b/src/images/1.jpg new file mode 100644 index 0000000..49e92a7 Binary files /dev/null and b/src/images/1.jpg differ diff --git a/src/images/2.jpg b/src/images/2.jpg new file mode 100644 index 0000000..1a98898 Binary files /dev/null and b/src/images/2.jpg differ diff --git a/src/images/3.jpg b/src/images/3.jpg new file mode 100644 index 0000000..60c1035 Binary files /dev/null and b/src/images/3.jpg differ diff --git a/src/util.js b/src/util.js new file mode 100644 index 0000000..cdbe459 --- /dev/null +++ b/src/util.js @@ -0,0 +1,205 @@ +import * as posenet from "@tensorflow-models/posenet"; +import * as tf from "@tensorflow/tfjs"; + +const color = "aqua"; +const boundingBoxColor = "red"; +const lineWidth = 2; + +export const tryResNetButtonName = "tryResNetButton"; +export const tryResNetButtonText = "[New] Try ResNet50"; +const tryResNetButtonTextCss = "width:100%;text-decoration:underline;"; +const tryResNetButtonBackgroundCss = "background:#e61d5f;"; + +function isAndroid() { + return /Android/i.test(navigator.userAgent); +} + +function isiOS() { + return /iPhone|iPad|iPod/i.test(navigator.userAgent); +} + +export function isMobile() { + return isAndroid() || isiOS(); +} + +function setDatGuiPropertyCss(propertyText, liCssString, spanCssString = "") { + var spans = document.getElementsByClassName("property-name"); + for (var i = 0; i < spans.length; i++) { + var text = spans[i].textContent || spans[i].innerText; + if (text == propertyText) { + spans[i].parentNode.parentNode.style = liCssString; + if (spanCssString !== "") { + spans[i].style = spanCssString; + } + } + } +} + +export function updateTryResNetButtonDatGuiCss() { + setDatGuiPropertyCss( + tryResNetButtonText, + tryResNetButtonBackgroundCss, + tryResNetButtonTextCss + ); +} + +/** + * Toggles between the loading UI and the main canvas UI. + */ +export function toggleLoadingUI( + showLoadingUI, + loadingDivId = "loading", + mainDivId = "main" +) { + if (showLoadingUI) { + document.getElementById(loadingDivId).style.display = "block"; + document.getElementById(mainDivId).style.display = "none"; + } else { + document.getElementById(loadingDivId).style.display = "none"; + document.getElementById(mainDivId).style.display = "block"; + } +} + +function toTuple({ y, x }) { + return [y, x]; +} + +export function drawPoint(ctx, y, x, r, color) { + ctx.beginPath(); + ctx.arc(x, y, r, 0, 2 * Math.PI); + ctx.fillStyle = color; + ctx.fill(); +} + +/** + * Draws a line on a canvas, i.e. a joint + */ +export function drawSegment([ay, ax], [by, bx], color, scale, ctx) { + ctx.beginPath(); + ctx.moveTo(ax * scale, ay * scale); + ctx.lineTo(bx * scale, by * scale); + ctx.lineWidth = lineWidth; + ctx.strokeStyle = color; + ctx.stroke(); +} + +/** + * Draws a pose skeleton by looking up all adjacent keypoints/joints + */ +export function drawSkeleton(keypoints, minConfidence, ctx, scale = 1) { + const adjacentKeyPoints = posenet.getAdjacentKeyPoints( + keypoints, + minConfidence + ); + + adjacentKeyPoints.forEach((keypoints) => { + drawSegment( + toTuple(keypoints[0].position), + toTuple(keypoints[1].position), + color, + scale, + ctx + ); + }); +} + +/** + * Draw pose keypoints onto a canvas + */ +export function drawKeypoints(keypoints, minConfidence, ctx, scale = 1) { + for (let i = 0; i < keypoints.length; i++) { + const keypoint = keypoints[i]; + + if (keypoint.score < minConfidence) { + continue; + } + + const { y, x } = keypoint.position; + drawPoint(ctx, y * scale, x * scale, 3, color); + } +} + +/** + * Draw the bounding box of a pose. For example, for a whole person standing + * in an image, the bounding box will begin at the nose and extend to one of + * ankles + */ +export function drawBoundingBox(keypoints, ctx) { + const boundingBox = posenet.getBoundingBox(keypoints); + + ctx.rect( + boundingBox.minX, + boundingBox.minY, + boundingBox.maxX - boundingBox.minX, + boundingBox.maxY - boundingBox.minY + ); + + ctx.strokeStyle = boundingBoxColor; + ctx.stroke(); +} + +/** + * Converts an arary of pixel data into an ImageData object + */ +export async function renderToCanvas(a, ctx) { + const [height, width] = a.shape; + const imageData = new ImageData(width, height); + + const data = await a.data(); + + for (let i = 0; i < height * width; ++i) { + const j = i * 4; + const k = i * 3; + + imageData.data[j + 0] = data[k + 0]; + imageData.data[j + 1] = data[k + 1]; + imageData.data[j + 2] = data[k + 2]; + imageData.data[j + 3] = 255; + } + + ctx.putImageData(imageData, 0, 0); +} + +/** + * Draw an image on a canvas + */ +export function renderImageToCanvas(image, size, canvas) { + canvas.width = size[0]; + canvas.height = size[1]; + const ctx = canvas.getContext("2d"); + + ctx.drawImage(image, 0, 0); +} + +/** + * Draw heatmap values, one of the model outputs, on to the canvas + * Read our blog post for a description of PoseNet's heatmap outputs + * https://medium.com/tensorflow/real-time-human-pose-estimation-in-the-browser-with-tensorflow-js-7dd0bc881cd5 + */ +export function drawHeatMapValues(heatMapValues, outputStride, canvas) { + const ctx = canvas.getContext("2d"); + const radius = 5; + const scaledValues = heatMapValues.mul(tf.scalar(outputStride, "int32")); + + drawPoints(ctx, scaledValues, radius, color); +} + +/** + * Used by the drawHeatMapValues method to draw heatmap points on to + * the canvas + */ +function drawPoints(ctx, points, radius, color) { + const data = points.buffer().values; + + for (let i = 0; i < data.length; i += 2) { + const pointY = data[i]; + const pointX = data[i + 1]; + + if (pointX !== 0 && pointY !== 0) { + ctx.beginPath(); + ctx.arc(pointX, pointY, radius, 0, 2 * Math.PI); + ctx.fillStyle = color; + ctx.fill(); + } + } +} diff --git a/src/wall/Sphere.js b/src/wall/Sphere.js new file mode 100644 index 0000000..bef8197 --- /dev/null +++ b/src/wall/Sphere.js @@ -0,0 +1,22 @@ +import { Vector3 } from "three"; +export default class Sphere { + constructor({ radius, displacement, x, y, update, width }) { + Object.assign(this, { radius, displacement, x, y, update, width }); + } + rePosition(ratio) { + const x = ratio * this.width; + Object.assign(this, { x }); + } + get point() { + return new Vector3(this.x, this.y, 0); + } + get style() { + const { radius, x, y } = this; + return { + width: `${radius * 2}px`, + height: `${radius * 2}px`, + top: `${y - radius}px`, + left: `${x - radius}px`, + }; + } +} diff --git a/src/wall/Wall.js b/src/wall/Wall.js new file mode 100644 index 0000000..6951521 --- /dev/null +++ b/src/wall/Wall.js @@ -0,0 +1,183 @@ +import { Vector3 } from "three"; +export const fps = 60; +export const mspf = 1000 / fps; + +class El { + constructor(seed) { + const { data, row, wall, key, index } = seed; + const { imgWidth, blockWidth, imgHeight, sphere } = wall; + const { ratio, y } = row; + let x = index * blockWidth + blockWidth / 2 - ratio * blockWidth; + const point = new Vector3(x, y, 0); + const targetPoint = new Vector3(x, y, 0); + const spherePoint = sphere ? sphere.point : null; + if (sphere && point.distanceTo(spherePoint) < sphere.displacement) { + const direction = point.clone().sub(spherePoint); + const displacementAmount = sphere.displacement - direction.length(); + direction.setLength(displacementAmount); + direction.add(point); + + point.lerp(direction, 1); // ✨ magic number + } + + // and move them back to their original position + if (point.distanceTo(targetPoint) > 0.01) { + point.lerp(targetPoint, 0.27); // ✨ magic number + } + const top = point.y - imgHeight / 2; + const left = point.x - imgWidth / 2; + const { url } = data; + + const style = { + position: "absolute", + width: `${imgWidth}px`, + height: `${imgHeight}px`, + top: `${top}px`, + left: `${left}px`, + backgroundSize: "cover", + backgroundImage: `url(${url})`, + opacity: 1, + zIndex: row.size - Math.floor(Math.abs(row.size / 2 - row.index)), + }; + Object.assign(this, { seed, data, style, key, point }); + } + update() {} +} + +class Row { + constructor({ wall, index }) { + Object.assign(this, { + wall, + q: [], + minSize: wall.colNum + 1, + index, + ratio: Math.random(), + y: index * wall.blockHeight + wall.blockHeight / 2, + }); + } + get size() { + return this.q.length; + } + init() { + while (this.size < this.minSize) { + this.push(); + } + } + push() { + const { wall } = this; + const data = wall.getNext(); + const key = wall.getKey(); + const seed = { data, row: this, wall, key, index: this.q.length }; + const el = new El(seed); + this.wall.elMap.set(key, el); + this.q.push(el); + } + shift() { + const el = this.q.shift(); + this.wall.elMap.delete(el.key); + } + nextFrame(ratioSpeed) { + this.ratio += ratioSpeed; + if (this.ratio > 1) { + this.shift(); + this.push(); + this.q.forEach((el) => { + el.seed.index--; + }); + this.ratio -= 1; + } + this.q.forEach((el) => { + this.wall.elMap.set(el.key, new El(el.seed)); + }); + } +} + +export default class Wall { + #rafID; + #lastTime; + constructor({ + items, + imgWidth, + imgHeight, + containerWidth, + containerHeight, + speed, + onListChange, + }) { + const colNum = Math.floor(containerWidth / imgWidth); + const rowNum = Math.floor(containerHeight / imgHeight); + const elNum = items.length; + const ratioSpeed = speed / (containerWidth / colNum); + const blockWidth = containerWidth / (colNum - 1); + const blockHeight = containerHeight / (rowNum - 1); + const elMap = new Map(); + Object.assign(this, { + time: 0, + index: 0, + items, + colNum, + rowNum, + elNum, + imgWidth, + imgHeight, + ratioSpeed, + rows: [], + key: 0, + blockWidth, + blockHeight, + elMap, + onListChange, + maxDeltaTime: 1 / 30, + }); + } + getNext() { + const { index, elNum, items } = this; + if (index === elNum) { + this.index = 1; + return items[0]; + } else { + this.index++; + return items[index]; + } + } + init() { + const { rowNum } = this; + + for (let i = 0; i < rowNum; i++) { + const row = new Row({ wall: this, index: i }); + row.init(); + this.rows.push(row); + } + this.#rafID = window.requestAnimationFrame(this.animate); + this.isRunning = true; + return this; + } + animate = () => { + if (!this.isRunning) return; + window.requestAnimationFrame(this.animate); + + const now = performance.now(); + const dt = Math.min(this.maxDeltaTime, (now - this.#lastTime) / 1000); + this.rows.forEach((row) => row.nextFrame(this.ratioSpeed)); + this.getList(); + this.time += dt; + this.#lastTime = now; + }; + dispose() { + if (this.#rafID === null) return; + window.cancelAnimationFrame(this.#rafID); + this.#rafID = null; + this.isRunning = false; + return this; + } + getKey() { + this.key++; + return this.key; + } + getList() { + if (this.onListChange) this.onListChange(Array.from(this.elMap.entries())); + } + attachSphere(sphere) { + this.sphere = sphere; + } +} diff --git a/yarn.lock b/yarn.lock index 2fd6de2..f28c509 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1192,6 +1192,45 @@ "@svgr/plugin-svgo" "^4.3.1" loader-utils "^1.2.3" +"@tensorflow-models/posenet@^2.2.1": + version "2.2.1" + resolved "https://registry.npm.taobao.org/@tensorflow-models/posenet/download/@tensorflow-models/posenet-2.2.1.tgz#2f0a68d909842f59eec195f23c6f3d4cebc53fa8" + +"@tensorflow/tfjs-converter@1.7.2": + version "1.7.2" + resolved "https://registry.npm.taobao.org/@tensorflow/tfjs-converter/download/@tensorflow/tfjs-converter-1.7.2.tgz#a2bb479f271aa9a5bb2909b3b8d90c431996893d" + +"@tensorflow/tfjs-core@1.7.2", "@tensorflow/tfjs-core@^1.7.2": + version "1.7.2" + resolved "https://registry.npm.taobao.org/@tensorflow/tfjs-core/download/@tensorflow/tfjs-core-1.7.2.tgz#c7b4ac37a7b8bd7226766ee9bcd930274bf8e019" + dependencies: + "@types/offscreencanvas" "~2019.3.0" + "@types/seedrandom" "2.4.27" + "@types/webgl-ext" "0.0.30" + "@types/webgl2" "0.0.4" + node-fetch "~2.1.2" + seedrandom "2.4.3" + +"@tensorflow/tfjs-data@1.7.2": + version "1.7.2" + resolved "https://registry.npm.taobao.org/@tensorflow/tfjs-data/download/@tensorflow/tfjs-data-1.7.2.tgz#6a3ab4d2c1fd1cfdf768f9774b108fb6477c75a0" + dependencies: + "@types/node-fetch" "^2.1.2" + node-fetch "~2.1.2" + +"@tensorflow/tfjs-layers@1.7.2": + version "1.7.2" + resolved "https://registry.npm.taobao.org/@tensorflow/tfjs-layers/download/@tensorflow/tfjs-layers-1.7.2.tgz#b76e73042e999e1ea755869c1764503e43cf60f5" + +"@tensorflow/tfjs@^1.7.2": + version "1.7.2" + resolved "https://registry.npm.taobao.org/@tensorflow/tfjs/download/@tensorflow/tfjs-1.7.2.tgz#25a152246017c996948bde18f5a2cac16995e232" + dependencies: + "@tensorflow/tfjs-converter" "1.7.2" + "@tensorflow/tfjs-core" "1.7.2" + "@tensorflow/tfjs-data" "1.7.2" + "@tensorflow/tfjs-layers" "1.7.2" + "@testing-library/dom@^6.15.0": version "6.16.0" resolved "https://registry.npm.taobao.org/@testing-library/dom/download/@testing-library/dom-6.16.0.tgz#04ada27ed74ad4c0f0d984a1245bb29b1fd90ba9" @@ -1304,10 +1343,21 @@ version "3.0.3" resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" +"@types/node-fetch@^2.1.2": + version "2.5.6" + resolved "https://registry.npm.taobao.org/@types/node-fetch/download/@types/node-fetch-2.5.6.tgz#df8377a66e64ddf75b65b072e37b3c5c5425a96f" + dependencies: + "@types/node" "*" + form-data "^3.0.0" + "@types/node@*": version "13.11.1" resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-13.11.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-13.11.1.tgz#49a2a83df9d26daacead30d0ccc8762b128d53c7" +"@types/offscreencanvas@~2019.3.0": + version "2019.3.0" + resolved "https://registry.npm.taobao.org/@types/offscreencanvas/download/@types/offscreencanvas-2019.3.0.tgz#3336428ec7e9180cf4566dfea5da04eb586a6553" + "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.npm.taobao.org/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -1333,6 +1383,10 @@ "@types/prop-types" "*" csstype "^2.2.0" +"@types/seedrandom@2.4.27": + version "2.4.27" + resolved "https://registry.npm.taobao.org/@types/seedrandom/download/@types/seedrandom-2.4.27.tgz#9db563937dd86915f69092bc43259d2f48578e41" + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" @@ -1357,6 +1411,14 @@ "@types/testing-library__dom" "*" pretty-format "^25.1.0" +"@types/webgl-ext@0.0.30": + version "0.0.30" + resolved "https://registry.npm.taobao.org/@types/webgl-ext/download/@types/webgl-ext-0.0.30.tgz#0ce498c16a41a23d15289e0b844d945b25f0fb9d" + +"@types/webgl2@0.0.4": + version "0.0.4" + resolved "https://registry.npm.taobao.org/@types/webgl2/download/@types/webgl2-0.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebgl2%2Fdownload%2F%40types%2Fwebgl2-0.0.4.tgz#c3b0f9d6b465c66138e84e64cb3bdf8373c2c279" + "@types/yargs-parser@*": version "15.0.0" resolved "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" @@ -1552,6 +1614,14 @@ abab@^2.0.0: version "2.0.3" resolved "https://registry.npm.taobao.org/abab/download/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" +abbrev@1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +abs-svg-path@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/abs-svg-path/download/abs-svg-path-0.1.1.tgz#df601c8e8d2ba10d4a76d625e236a9a39c2723bf" + 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" @@ -1586,6 +1656,10 @@ acorn@^7.1.1: version "7.1.1" resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.1.1.tgz?cache=0&sync_timestamp=1583823913618&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" +adaptive-bezier-curve@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/adaptive-bezier-curve/download/adaptive-bezier-curve-1.0.3.tgz#477577abe87d7280d46ca41649f6c22646fe8227" + address@1.1.2, address@^1.0.1: version "1.1.2" resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" @@ -1624,10 +1698,26 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +almost-equal@0.0.0: + version "0.0.0" + resolved "https://registry.npm.taobao.org/almost-equal/download/almost-equal-0.0.0.tgz#e7a5a6b3457b67c83ee0044f9a8d07637355f02d" + +almost-equal@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/almost-equal/download/almost-equal-1.1.0.tgz#f851c631138757994276aa2efbe8dfa3066cccdd" + alphanum-sort@^1.0.0: version "1.0.2" resolved "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +an-array@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/an-array/download/an-array-1.0.0.tgz#c125a5bb8257778e35f4b4f6aa9c7d0fa9e42665" + ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" @@ -1693,10 +1783,17 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" -aproba@^1.1.1: +aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + argparse@^1.0.7: version "1.0.10" resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -1733,10 +1830,21 @@ arr-union@^3.1.0: version "3.1.0" resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" +array-almost-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/array-almost-equal/download/array-almost-equal-1.0.0.tgz#43c54ff435042e9cbfa4212ac49ada5fc7359fc5" + dependencies: + almost-equal "0.0.0" + an-array "^1.0.0" + array-equal@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&sync_timestamp=1574313315299&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -1829,6 +1937,10 @@ async-each@^1.0.1: version "1.0.3" resolved "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" @@ -2052,6 +2164,12 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" +block-stream@*: + version "0.0.9" + resolved "https://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + bluebird@^3.5.5: version "3.7.2" resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -2329,6 +2447,13 @@ camel-case@^4.1.1: pascal-case "^3.1.1" tslib "^1.10.0" +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz?cache=0&sync_timestamp=1585886152866&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + camelcase@5.0.0: version "5.0.0" resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" @@ -2337,6 +2462,14 @@ camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -2350,6 +2483,30 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, can version "1.0.30001042" resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001042.tgz?cache=0&sync_timestamp=1586925308169&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001042.tgz#c91ec21ec2d270bd76dbc2ce261260c292b8c93c" +canvas-sketch-util@^1.10.0: + version "1.10.0" + resolved "https://registry.npm.taobao.org/canvas-sketch-util/download/canvas-sketch-util-1.10.0.tgz#93d11aa378f8991ed0837d1bf8ea738132f41f1e" + dependencies: + abs-svg-path "^0.1.1" + almost-equal "^1.1.0" + array-almost-equal "^1.0.0" + clone "^2.1.2" + color-luminance "^2.1.0" + convert-length "^1.0.1" + d3-path "^1.0.8" + defined "^1.0.0" + float-hsl2rgb "^1.0.2" + float-rgb2hsl "^1.0.1" + lineclip "^1.1.5" + normalize-svg-path "^1.0.1" + parse-color "^1.0.0" + parse-svg-path "^0.1.2" + primitive-quad "^2.0.0" + regl "^1.3.7" + seed-random "^2.2.0" + simplex-noise "^2.4.0" + svg-path-contours "^2.0.0" + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/capture-exit/download/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -2372,7 +2529,7 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4. escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^1.1.3: +chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1585815759944&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -2475,6 +2632,14 @@ cli-width@^2.0.0: version "2.2.1" resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + cliui@^4.0.0: version "4.1.0" resolved "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" @@ -2509,6 +2674,10 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +clone@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + co@^4.6.0: version "4.6.0" resolved "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -2544,6 +2713,14 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" +color-convert@~0.5.0: + version "0.5.3" + resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" + +color-luminance@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/color-luminance/download/color-luminance-2.1.0.tgz#58ff2ebd32b52d07f5378eefe5a0e79d6b318ad7" + color-name@1.1.3: version "1.1.3" resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" @@ -2566,7 +2743,7 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.2" -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" dependencies: @@ -2641,6 +2818,10 @@ console-browserify@^1.1.0: version "1.2.0" resolved "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" @@ -2659,6 +2840,12 @@ content-type@~1.0.4: version "1.0.4" resolved "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" +convert-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/convert-length/download/convert-length-1.0.1.tgz#b66c7dc1f7d181916667c977f57be2f1eb17c1b7" + dependencies: + defined "^1.0.0" + convert-source-map@1.7.0, convert-source-map@^1.4.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz?cache=0&sync_timestamp=1577793955569&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" @@ -2770,6 +2957,13 @@ cross-spawn@7.0.1: shebang-command "^2.0.0" which "^2.0.1" +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz?cache=0&sync_timestamp=1585994253962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&sync_timestamp=1585994253962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -2994,10 +3188,20 @@ csstype@^2.2.0: version "2.6.10" resolved "https://registry.npm.taobao.org/csstype/download/csstype-2.6.10.tgz?cache=0&sync_timestamp=1585556974236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsstype%2Fdownload%2Fcsstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b" +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + cyclist@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" +d3-path@^1.0.8: + version "1.0.9" + resolved "https://registry.npm.taobao.org/d3-path/download/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf" + d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" @@ -3041,7 +3245,7 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -decamelize@^1.2.0: +decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -3096,6 +3300,10 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + del@^4.1.1: version "4.1.1" resolved "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" @@ -3112,6 +3320,10 @@ delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + depd@~1.1.2: version "1.1.2" resolved "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" @@ -3641,6 +3853,10 @@ eventemitter3@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" +events@^1.0.2: + version "1.1.1" + resolved "https://registry.npm.taobao.org/events/download/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + events@^3.0.0: version "3.1.0" resolved "https://registry.npm.taobao.org/events/download/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" @@ -3953,6 +4169,14 @@ flatten@^1.0.2: version "1.0.3" resolved "https://registry.npm.taobao.org/flatten/download/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" +float-hsl2rgb@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/float-hsl2rgb/download/float-hsl2rgb-1.0.2.tgz#ecf3509c40ac6567c96a204622b0c4c4bf43c8a1" + +float-rgb2hsl@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/float-rgb2hsl/download/float-rgb2hsl-1.0.1.tgz#8efeaa0fc726e53363a79bf3f636082055c10c0e" + flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -3997,6 +4221,14 @@ fork-ts-checker-webpack-plugin@3.1.1: tapable "^1.0.0" worker-rpc "^0.1.0" +form-data@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/form-data/download/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -4080,6 +4312,15 @@ fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" +fstream@^1.0.0, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.npm.taobao.org/fstream/download/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -4088,6 +4329,25 @@ functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + dependencies: + globule "^1.0.0" + gensync@^1.0.0-beta.1: version "1.0.0-beta.1" resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" @@ -4104,6 +4364,10 @@ get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -4137,7 +4401,7 @@ glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" -glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: version "7.1.6" resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" dependencies: @@ -4194,6 +4458,14 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" +globule@^1.0.0: + version "1.3.1" + resolved "https://registry.npm.taobao.org/globule/download/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" + dependencies: + glob "~7.1.1" + lodash "~4.17.12" + minimatch "~3.0.2" + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: version "4.2.3" resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" @@ -4246,6 +4518,10 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + has-value@^0.3.1: version "0.3.1" resolved "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -4523,6 +4799,16 @@ imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" +in-publish@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/in-publish/download/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz?cache=0&sync_timestamp=1577792830402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + indent-string@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1577792830402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -4542,7 +4828,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" @@ -4615,6 +4901,10 @@ invariant@^2.2.2, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" @@ -4754,6 +5044,10 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" @@ -4874,6 +5168,10 @@ is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + is-windows@^1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -5304,6 +5602,10 @@ jest@24.9.0: import-local "^2.0.0" jest-cli "^24.9.0" +js-base64@^2.1.8: + version "2.5.2" + resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-2.5.2.tgz?cache=0&sync_timestamp=1581520599782&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-base64%2Fdownload%2Fjs-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209" + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -5510,6 +5812,12 @@ lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + lcid@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" @@ -5537,10 +5845,24 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +lineclip@^1.1.5: + version "1.1.5" + resolved "https://registry.npm.taobao.org/lineclip/download/lineclip-1.1.5.tgz#2bf26067d94354feabf91e42768236db5616fd13" + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + load-json-file@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" @@ -5635,7 +5957,7 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5: +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5, lodash@~4.17.12: version "4.17.15" resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" @@ -5649,12 +5971,26 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + lower-case@^2.0.1: version "2.0.1" resolved "https://registry.npm.taobao.org/lower-case/download/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" dependencies: tslib "^1.10.0" +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -5694,12 +6030,20 @@ map-cache@^0.2.2: version "0.2.2" resolved "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" dependencies: object-visit "^1.0.0" +matter-js@^0.14.2: + version "0.14.2" + resolved "https://registry.npm.taobao.org/matter-js/download/matter-js-0.14.2.tgz#8169af9e06fdc356ba9e72b49624eb329839883b" + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -5742,6 +6086,21 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + merge-deep@^3.0.2: version "3.0.2" resolved "https://registry.npm.taobao.org/merge-deep/download/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" @@ -5838,13 +6197,13 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -minimatch@3.0.4, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" @@ -5901,7 +6260,7 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" dependencies: @@ -5945,7 +6304,7 @@ mute-stream@0.0.8: version "0.0.8" resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" -nan@^2.12.1: +nan@^2.12.1, nan@^2.13.2: version "2.14.0" resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" @@ -5992,10 +6351,31 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" +node-fetch@~2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" + node-forge@0.9.0: version "0.9.0" resolved "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" +node-gyp@^3.8.0: + version "3.8.0" + resolved "https://registry.npm.taobao.org/node-gyp/download/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "^2.87.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.npm.taobao.org/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -6046,7 +6426,35 @@ node-releases@^1.1.52, node-releases@^1.1.53: version "1.1.53" resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" -normalize-package-data@^2.3.2: +node-sass@^4.13.1: + version "4.13.1" + resolved "https://registry.npm.taobao.org/node-sass/download/node-sass-4.13.1.tgz#9db5689696bb2eec2c32b98bfea4c7a2e992d0a3" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash "^4.17.15" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.13.2" + node-gyp "^3.8.0" + npmlog "^4.0.0" + request "^2.88.0" + sass-graph "^2.2.4" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnopt%2Fdownload%2Fnopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.5.0" resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" dependencies: @@ -6069,6 +6477,16 @@ normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" +normalize-svg-path@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/normalize-svg-path/download/normalize-svg-path-0.1.0.tgz#456360e60ece75fbef7b5d7e160480e7ffd16fe5" + +normalize-svg-path@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/normalize-svg-path/download/normalize-svg-path-1.0.1.tgz#6f729ad6b70bb4ca4eff2fe4b107489efe1d56fe" + dependencies: + svg-arc-to-cubic-bezier "^3.0.0" + normalize-url@1.9.1: version "1.9.1" resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz?cache=0&sync_timestamp=1580491266117&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" @@ -6088,6 +6506,15 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: + version "4.1.2" + resolved "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + nth-check@^1.0.2, nth-check@~1.0.1: version "1.0.2" resolved "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -6267,6 +6694,16 @@ os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + os-locale@^3.0.0: version "3.1.0" resolved "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -6275,10 +6712,17 @@ os-locale@^3.0.0: lcid "^2.0.0" mem "^4.0.0" -os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" +osenv@0: + version "0.1.5" + resolved "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + p-defer@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" @@ -6391,6 +6835,12 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-color@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/parse-color/download/parse-color-1.0.0.tgz#7b748b95a83f03f16a94f535e52d7f3d94658619" + dependencies: + color-convert "~0.5.0" + parse-json@^2.2.0: version "2.2.0" resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -6413,6 +6863,10 @@ parse-json@^5.0.0: json-parse-better-errors "^1.0.1" lines-and-columns "^1.1.6" +parse-svg-path@^0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/parse-svg-path/download/parse-svg-path-0.1.2.tgz#7a7ec0d1eb06fa5325c7d3e009b859a09b5d49eb" + parse5@4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/parse5/download/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" @@ -6482,6 +6936,14 @@ path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + path-type@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" @@ -7225,6 +7687,10 @@ pretty-format@^25.1.0: ansi-styles "^4.0.0" react-is "^16.12.0" +primitive-quad@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/primitive-quad/download/primitive-quad-2.0.0.tgz#c20993e4f9600238926bb500e529053043ef8aeb" + private@^0.1.8: version "0.1.8" resolved "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -7277,6 +7743,10 @@ prr@~1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + psl@^1.1.28: version "1.8.0" resolved "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz?cache=0&sync_timestamp=1585142991033&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpsl%2Fdownload%2Fpsl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" @@ -7513,6 +7983,13 @@ react@^16.13.1: object-assign "^4.1.1" prop-types "^15.6.2" +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz?cache=0&sync_timestamp=1575620436254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + read-pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz?cache=0&sync_timestamp=1575620436254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" @@ -7527,6 +8004,14 @@ read-pkg-up@^4.0.0: find-up "^3.0.0" read-pkg "^3.0.0" +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + read-pkg@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" @@ -7543,7 +8028,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" dependencies: @@ -7589,6 +8074,13 @@ recursive-readdir@2.2.2: dependencies: minimatch "3.0.4" +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + redent@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/redent/download/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -7668,6 +8160,10 @@ regjsparser@^0.6.4: dependencies: jsesc "~0.5.0" +regl@^1.3.7: + version "1.6.1" + resolved "https://registry.npm.taobao.org/regl/download/regl-1.6.1.tgz#6930172cda9b8fb65724abc0d4930d79333f5460" + relateurl@^0.2.7: version "0.2.7" resolved "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -7694,6 +8190,12 @@ repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + request-promise-core@1.1.3: version "1.1.3" resolved "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest-promise-core%2Fdownload%2Frequest-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" @@ -7832,15 +8334,15 @@ rgba-regex@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1581257110269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" +rimraf@2, rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581257110269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: - version "2.7.1" - resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581257110269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1581257110269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" dependencies: glob "^7.1.3" @@ -7909,6 +8411,15 @@ sanitize.css@^10.0.0: version "10.0.0" resolved "https://registry.npm.taobao.org/sanitize.css/download/sanitize.css-10.0.0.tgz#b5cb2547e96d8629a60947544665243b1dc3657a" +sass-graph@^2.2.4: + version "2.2.4" + resolved "https://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^7.0.0" + sass-loader@8.0.2: version "8.0.2" resolved "https://registry.npm.taobao.org/sass-loader/download/sass-loader-8.0.2.tgz?cache=0&sync_timestamp=1578921816923&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-loader%2Fdownload%2Fsass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" @@ -7951,6 +8462,21 @@ schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6 ajv "^6.12.0" ajv-keywords "^3.4.1" +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + +seed-random@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/seed-random/download/seed-random-2.2.0.tgz#2a9b19e250a817099231a5b99a4daf80b7fbed54" + +seedrandom@2.4.3: + version "2.4.3" + resolved "https://registry.npm.taobao.org/seedrandom/download/seedrandom-2.4.3.tgz#2438504dad33917314bff18ac4d794f16d6aaecc" + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -7973,6 +8499,10 @@ semver@7.0.0: version "7.0.0" resolved "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1586886267748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz?cache=0&sync_timestamp=1586886267748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + send@0.17.1: version "0.17.1" resolved "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -8016,7 +8546,7 @@ serve-static@1.14.1: parseurl "~1.3.3" send "0.17.1" -set-blocking@^2.0.0: +set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -8108,6 +8638,10 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +simplex-noise@^2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/simplex-noise/download/simplex-noise-2.4.0.tgz#81b3458fb22dccc3bc8dd9a977c73797f86f523a" + sisteransi@^1.0.4: version "1.0.5" resolved "https://registry.npm.taobao.org/sisteransi/download/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -8212,6 +8746,12 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, sourc version "0.6.1" resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" +source-map@^0.4.2: + version "0.4.4" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -8315,6 +8855,12 @@ static-extend@^0.1.1: version "1.5.0" resolved "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" +stdout-stream@^1.4.0: + version "1.4.1" + resolved "https://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + dependencies: + readable-stream "^2.0.1" + stealthy-require@^1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" @@ -8365,7 +8911,7 @@ string-length@^3.1.0: astral-regex "^1.0.0" strip-ansi "^5.2.0" -string-width@^1.0.1: +string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" dependencies: @@ -8373,7 +8919,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string-width@^2.0.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" dependencies: @@ -8481,6 +9027,12 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -8496,6 +9048,12 @@ strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -8543,10 +9101,23 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +svg-arc-to-cubic-bezier@^3.0.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/svg-arc-to-cubic-bezier/download/svg-arc-to-cubic-bezier-3.2.0.tgz#390c450035ae1c4a0104d90650304c3bc814abe6" + svg-parser@^2.0.0: version "2.0.4" resolved "https://registry.npm.taobao.org/svg-parser/download/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" +svg-path-contours@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/svg-path-contours/download/svg-path-contours-2.0.0.tgz#c76a129429db05eb6d7b61e4d1c58d114a8938a2" + dependencies: + abs-svg-path "^0.1.1" + adaptive-bezier-curve "^1.0.3" + normalize-svg-path "^0.1.0" + vec2-copy "^1.0.0" + svgo@^1.0.0, svgo@^1.2.2: version "1.3.2" resolved "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1572433264480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" @@ -8582,6 +9153,14 @@ tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" +tar@^2.0.0: + version "2.2.2" + resolved "https://registry.npm.taobao.org/tar/download/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + dependencies: + block-stream "*" + fstream "^1.0.12" + inherits "2" + terser-webpack-plugin@2.3.5: version "2.3.5" resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.5.tgz#5ad971acce5c517440ba873ea4f09687de2f4a81" @@ -8631,6 +9210,10 @@ text-table@0.2.0, text-table@^0.2.0: version "0.2.0" resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" +three@^0.117.1: + version "0.117.1" + resolved "https://registry.npm.taobao.org/three/download/three-0.117.1.tgz#a49bcb1a6ddea2f250003e42585dc3e78e92b9d3" + throat@^4.0.0: version "4.1.0" resolved "https://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" @@ -8710,6 +9293,12 @@ toidentifier@1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" +touches@^1.2.2: + version "1.2.2" + resolved "https://registry.npm.taobao.org/touches/download/touches-1.2.2.tgz#6b9d2223d7d616ba0a1931fe9abd1f56619b16c8" + dependencies: + events "^1.0.2" + tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -8723,6 +9312,16 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +"true-case-path@^1.0.2": + version "1.0.3" + resolved "https://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + dependencies: + glob "^7.1.2" + ts-pnp@1.1.6: version "1.1.6" resolved "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.1.6.tgz?cache=0&sync_timestamp=1585245753622&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-pnp%2Fdownload%2Fts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a" @@ -8954,6 +9553,10 @@ vary@~1.1.2: version "1.1.2" resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" +vec2-copy@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/vec2-copy/download/vec2-copy-1.0.0.tgz#c6eec1d8dad54625194e5f71f8433b62d2f20a7a" + vendors@^1.0.0: version "1.0.4" resolved "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz?cache=0&sync_timestamp=1579857106626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvendors%2Fdownload%2Fvendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" @@ -9153,11 +9756,15 @@ whatwg-url@^7.0.0: tr46 "^1.0.1" webidl-conversions "^4.0.2" +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" dependencies: @@ -9169,6 +9776,12 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + dependencies: + string-width "^1.0.2 || 2" + word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -9367,10 +9980,18 @@ xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + yallist@^3.0.2: version "3.1.1" resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -9399,6 +10020,12 @@ yargs-parser@^13.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-5.0.0.tgz?cache=0&sync_timestamp=1585243611524&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + dependencies: + camelcase "^3.0.0" + yargs@12.0.5: version "12.0.5" resolved "https://registry.npm.taobao.org/yargs/download/yargs-12.0.5.tgz?cache=0&sync_timestamp=1584344069946&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" @@ -9430,3 +10057,21 @@ yargs@^13.3.0: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^13.1.2" + +yargs@^7.0.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz?cache=0&sync_timestamp=1584344069946&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0"