diff --git a/.gitignore b/.gitignore index 8225baa..192f18b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /node_modules -/dist +/package-lock.json +.history diff --git a/dist/CameraControls.d.ts b/dist/CameraControls.d.ts new file mode 100644 index 0000000..cabc304 --- /dev/null +++ b/dist/CameraControls.d.ts @@ -0,0 +1,46 @@ +import * as THREE from 'three'; +import { KeyBoard, MouseKey } from './KeyEnum'; +import { Viewer } from './Viewer'; +export declare enum CameraControlState { + Null = 0, + Pan = 1, + Rotate = 2, + Scale = 3 +} +export declare class CameraControls { + m_TouthTypeList: CameraControlState[]; + m_domElement: HTMLElement; + m_StartClickPoint: THREE.Vector3; + m_EndClickPoint: THREE.Vector3; + m_DollyStart: THREE.Vector2; + m_DollyEnd: THREE.Vector2; + m_KeyDown: Map; + m_MouseDown: Map; + m_State: CameraControlState; + m_Viewer: Viewer; + m_LeftUseRotate: boolean; + constructor(viewer: Viewer); + RegisterEvent(): void; + /** + * 窗体失去焦点时. + * + * @memberof CameraControls + */ + onBlur: () => void; + onTouchStart: (event: TouchEvent) => void; + onTouchEnd: (event: TouchEvent) => void; + onTouchMove: (event: TouchEvent) => void; + beginRotate(): void; + lastMiddleClickTime: number; + onMouseDown: (event: MouseEvent) => void; + onMouseUp: (event: MouseEvent) => void; + onMouseMove: (event: MouseEvent) => void; + /** + * 鼠标滚轮事件 + * + * @memberof CameraControls + */ + onMouseWheel: (event: WheelEvent) => void; + onKeyDown: (event: KeyboardEvent) => void; + onKeyUp: (event: KeyboardEvent) => void; +} diff --git a/dist/CameraControls.js b/dist/CameraControls.js new file mode 100644 index 0000000..f6ceab2 --- /dev/null +++ b/dist/CameraControls.js @@ -0,0 +1,209 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var THREE = require("three"); +var KeyEnum_1 = require("./KeyEnum"); +var three_1 = require("three"); +//相机控制状态 +var CameraControlState; +(function (CameraControlState) { + CameraControlState[CameraControlState["Null"] = 0] = "Null"; + CameraControlState[CameraControlState["Pan"] = 1] = "Pan"; + CameraControlState[CameraControlState["Rotate"] = 2] = "Rotate"; + CameraControlState[CameraControlState["Scale"] = 3] = "Scale"; +})(CameraControlState = exports.CameraControlState || (exports.CameraControlState = {})); +var CameraControls = /** @class */ (function () { + function CameraControls(viewer) { + var _this = this; + this.m_TouthTypeList = [CameraControlState.Rotate, CameraControlState.Scale, CameraControlState.Pan]; + //起始点击 + this.m_StartClickPoint = new THREE.Vector3(); + this.m_EndClickPoint = new THREE.Vector3(); + this.m_DollyStart = new THREE.Vector2(); + this.m_DollyEnd = new THREE.Vector2(); + this.m_KeyDown = new Map(); + this.m_MouseDown = new Map(); + //状态 + this.m_State = CameraControlState.Null; + //左键使用旋转 + this.m_LeftUseRotate = true; + /** + * 窗体失去焦点时. + * + * @memberof CameraControls + */ + this.onBlur = function () { + _this.m_KeyDown.clear(); + _this.m_MouseDown.clear(); + }; + //触屏开始事件 + this.onTouchStart = function (event) { + _this.m_Viewer.UpdateLockTarget(); + _this.m_StartClickPoint.set(event.touches[0].pageX, event.touches[0].pageY, 0); + if (event.touches.length < 4) { + if (event.touches.length == 2) { + var dx = event.touches[0].pageX - event.touches[1].pageX; + var dy = event.touches[0].pageY - event.touches[1].pageY; + var distance = Math.sqrt(dx * dx + dy * dy); + _this.m_DollyStart.set(0, distance); + } + _this.m_State = _this.m_TouthTypeList[event.touches.length - 1]; + } + }; + this.onTouchEnd = function (event) { + _this.m_State = CameraControlState.Null; + }; + this.onTouchMove = function (event) { + event.preventDefault(); + event.stopPropagation(); + _this.m_EndClickPoint.set(event.touches[0].pageX, event.touches[0].pageY, 0); + var vec = _this.m_EndClickPoint.clone().sub(_this.m_StartClickPoint); + switch (_this.m_State) { + case CameraControlState.Pan: + { + _this.m_Viewer.Pan(vec); + break; + } + case CameraControlState.Scale: + { + var dx = event.touches[0].pageX - event.touches[1].pageX; + var dy = event.touches[0].pageY - event.touches[1].pageY; + var distance = Math.sqrt(dx * dx + dy * dy); + _this.m_DollyEnd.set(0, distance); + if (distance > _this.m_DollyStart.y) { + _this.m_Viewer.Zoom(0.95); + } + else { + _this.m_Viewer.Zoom(1.05); + } + _this.m_DollyStart.copy(_this.m_DollyEnd); + break; + } + case CameraControlState.Rotate: + { + _this.m_Viewer.Rotate(vec.multiplyScalar(2)); + break; + } + } + _this.m_StartClickPoint.copy(_this.m_EndClickPoint); + _this.m_Viewer.m_bNeedUpdate = true; + }; + //最后一次按中键的时间 + this.lastMiddleClickTime = 0; + //鼠标 + this.onMouseDown = function (event) { + event.preventDefault(); + var key = event.button; + _this.m_MouseDown.set(key, true); + _this.m_StartClickPoint.set(event.offsetX, event.offsetY, 0); + switch (key) { + case KeyEnum_1.MouseKey.Left: + { + if (_this.m_LeftUseRotate) { + _this.beginRotate(); + } + break; + } + case KeyEnum_1.MouseKey.Middle: + { + var curTime = Date.now(); + var t = curTime - _this.lastMiddleClickTime; + _this.lastMiddleClickTime = curTime; + if (t < 350) { + _this.m_Viewer.ZoomAll(); + return; + } + if (_this.m_KeyDown.get(KeyEnum_1.KeyBoard.Control)) { + _this.beginRotate(); + } + else { + _this.m_State = CameraControlState.Pan; + } + break; + } + case KeyEnum_1.MouseKey.Right: + { + break; + } + } + }; + this.onMouseUp = function (event) { + event.preventDefault(); + _this.m_State = CameraControlState.Null; + _this.m_MouseDown.set(event.button, false); + }; + this.onMouseMove = function (event) { + event.preventDefault(); + _this.m_EndClickPoint.set(event.offsetX, event.offsetY, 0); + var changeVec = _this.m_EndClickPoint.clone().sub(_this.m_StartClickPoint); + _this.m_StartClickPoint.copy(_this.m_EndClickPoint); + if ((_this.m_LeftUseRotate || + (_this.m_KeyDown.get(KeyEnum_1.KeyBoard.Control))) + && _this.m_State == CameraControlState.Rotate) { + _this.m_Viewer.Rotate(changeVec); + } + switch (_this.m_State) { + case CameraControlState.Pan: + { + _this.m_Viewer.Pan(changeVec); + break; + } + case CameraControlState.Rotate: + { + break; + } + case CameraControlState.Scale: + { + break; + } + } + }; + /** + * 鼠标滚轮事件 + * + * @memberof CameraControls + */ + this.onMouseWheel = function (event) { + event.preventDefault(); + event.stopPropagation(); + var pt = new THREE.Vector3(event.offsetX, event.offsetY, 0); + _this.m_Viewer.ScreenToWorld(pt, new three_1.Vector3().setFromMatrixColumn(_this.m_Viewer.m_Camera.Camera.matrixWorld, 2)); + if (event.deltaY < 0) { + _this.m_Viewer.Zoom(0.6, pt); + } + else if (event.deltaY > 0) { + _this.m_Viewer.Zoom(1.4, pt); + } + }; + //按键 + this.onKeyDown = function (event) { + _this.m_KeyDown.set(event.keyCode, true); + }; + this.onKeyUp = function (event) { + _this.m_KeyDown.set(event.keyCode, false); + }; + this.m_Viewer = viewer; + this.m_domElement = viewer.m_Render.domElement.parentElement; + this.RegisterEvent(); + } + CameraControls.prototype.RegisterEvent = function () { + if (this.m_domElement) { + this.m_domElement.addEventListener("mousedown", this.onMouseDown, false); + this.m_domElement.addEventListener("mousemove", this.onMouseMove, false); + this.m_domElement.addEventListener("mouseup", this.onMouseUp, false); + window.addEventListener("keydown", this.onKeyDown, false); + window.addEventListener("keyup", this.onKeyUp, false); + this.m_domElement.addEventListener('wheel', this.onMouseWheel, false); + this.m_domElement.addEventListener('touchstart', this.onTouchStart, false); + this.m_domElement.addEventListener('touchend', this.onTouchEnd, false); + this.m_domElement.addEventListener('touchmove', this.onTouchMove, false); + window.addEventListener("blur", this.onBlur, false); + } + }; + CameraControls.prototype.beginRotate = function () { + this.m_State = CameraControlState.Rotate; + this.m_Viewer.UpdateLockTarget(); + }; + return CameraControls; +}()); +exports.CameraControls = CameraControls; +//# sourceMappingURL=CameraControls.js.map \ No newline at end of file diff --git a/dist/CameraControls.js.map b/dist/CameraControls.js.map new file mode 100644 index 0000000..8b2522e --- /dev/null +++ b/dist/CameraControls.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CameraControls.js","sourceRoot":"","sources":["../src/CameraControls.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/CameraUpdate.d.ts b/dist/CameraUpdate.d.ts new file mode 100644 index 0000000..3cca4fa --- /dev/null +++ b/dist/CameraUpdate.d.ts @@ -0,0 +1,49 @@ +import { Box3, Camera, Vector3 } from 'three'; +/** + * + * 相机的控制. + * ->切换相机 + * ->设置视口大小 + * ->旋转和移动相机. + * + * @export + * @class ViewCameraManage + */ +export declare class CameraUpdate { + private m_CurCamera; + private m_CameraArray; + private m_Width; + private m_Height; + private m_ViewHeight; + private m_Target; + private m_Direction; + private m_Orbit; + m_MinViewHeight: number; + m_MaxViewHeight: number; + constructor(); + get Aspect(): number; + get Camera(): Camera; + get ViewHeight(): number; + set ViewHeight(height: number); + SetSize(width: number, height: number): void; + /** + * 平移相机. + * + * @param {Vector3} mouseMove + * @memberof CameraControl + */ + Pan(mouseMove: Vector3): void; + Rotate(mouseMove: Vector3, target: Vector3): void; + Zoom(scale: number, scaleCenter?: Vector3): void; + ZoomExtensBox3(box3: Box3): void; + LookAt(dir: Vector3): void; + UpdateUp(): void; + /** + * 根据视口大小,设置相机视口范围. + * + * @returns + * @memberof CameraControl + */ + Update(): void; + SwitchCamera(): void; +} diff --git a/dist/CameraUpdate.js b/dist/CameraUpdate.js new file mode 100644 index 0000000..68dfc46 --- /dev/null +++ b/dist/CameraUpdate.js @@ -0,0 +1,186 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var three_1 = require("three"); +var Orbit_1 = require("./Orbit"); +/** + * + * 相机的控制. + * ->切换相机 + * ->设置视口大小 + * ->旋转和移动相机. + * + * @export + * @class ViewCameraManage + */ +var CameraUpdate = /** @class */ (function () { + function CameraUpdate() { + this.m_CameraArray = new Map(); + //视口显示的高度 + this.m_ViewHeight = 10; + //观察的位置 + this.m_Target = new three_1.Vector3(); + //观察向量 + this.m_Direction = new three_1.Vector3(0, 0, -1); + //观察的轨道. + this.m_Orbit = new Orbit_1.Orbit(); + this.m_MinViewHeight = 10; + this.m_MaxViewHeight = 3e4; + this.m_CameraArray.set(three_1.OrthographicCamera, new three_1.OrthographicCamera(-2, 2, 2, -2, -1e6, 1e6)); + this.m_CameraArray.set(three_1.PerspectiveCamera, new three_1.PerspectiveCamera(50, 1, 0.01, 10000)); + this.m_CurCamera = this.m_CameraArray.get(three_1.OrthographicCamera); + this.m_Orbit.UpdateRoValue(this.m_Direction); + this.UpdateUp(); + this.Update(); + } + Object.defineProperty(CameraUpdate.prototype, "Aspect", { + get: function () { + return this.m_Width / this.m_Height; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(CameraUpdate.prototype, "Camera", { + get: function () { + return this.m_CurCamera; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(CameraUpdate.prototype, "ViewHeight", { + get: function () { + return this.m_ViewHeight; + }, + set: function (height) { + this.m_ViewHeight = three_1.MathUtils.clamp(height, this.m_MinViewHeight, this.m_MaxViewHeight); + }, + enumerable: true, + configurable: true + }); + CameraUpdate.prototype.SetSize = function (width, height) { + this.m_Width = width; + this.m_Height = height; + }; + /** + * 平移相机. + * + * @param {Vector3} mouseMove + * @memberof CameraControl + */ + CameraUpdate.prototype.Pan = function (mouseMove) { + mouseMove.y *= -1; + mouseMove.multiplyScalar(-this.m_ViewHeight / this.m_Height); + mouseMove.applyQuaternion(this.Camera.quaternion); + this.m_Target.add(mouseMove); + this.Update(); + }; + CameraUpdate.prototype.Rotate = function (mouseMove, target) { + this.m_Orbit.RoX -= mouseMove.y * 0.003; + this.m_Orbit.RoZ -= mouseMove.x * 0.003; + //缓存观察点 + var oldTargetFormCameraSpace = target.clone().applyMatrix4(this.Camera.matrixWorldInverse); + this.m_Orbit.UpdateDirection(this.m_Direction); + this.UpdateUp(); + this.Update(); + //-----还原观察点 + //得到新的观察点相对于相机的位置 + var newTargetFormCameraSpace = target.clone().applyMatrix4(this.Camera.matrixWorldInverse); + //减去原先的位置. 得到观测点在相机内移动的向量 + newTargetFormCameraSpace.sub(oldTargetFormCameraSpace); + //乘以相机的矩阵. 得到向量在世界坐标系的位置 + newTargetFormCameraSpace.applyMatrix4(this.Camera.matrix); + //因为使用的是点变换,所以减去基点,得到向量 + newTargetFormCameraSpace.sub(this.Camera.position); + //加上移动的向量. 使得观察点时钟在相机的某个位置 + this.m_Target.add(newTargetFormCameraSpace); + this.Update(); + }; + CameraUpdate.prototype.Zoom = function (scale, scaleCenter) { + if (this.Camera instanceof three_1.OrthographicCamera) { + this.ViewHeight *= scale; + if (scaleCenter && this.m_ViewHeight < this.m_MaxViewHeight) { + this.m_Target.sub(scaleCenter); + this.m_Target.multiplyScalar(scale); + this.m_Target.add(scaleCenter); + } + } + else if (this.Camera instanceof three_1.PerspectiveCamera) { + var add = scale > 1 ? 1 : -1; + add *= this.Camera.position.distanceTo(this.m_Target) / 10; + this.m_Target.add(this.m_Direction.clone().multiplyScalar(-add)); + } + this.Update(); + }; + CameraUpdate.prototype.ZoomExtensBox3 = function (box3) { + if (!box3 || box3.isEmpty()) + return; + this.Camera.updateMatrixWorld(false); + //变换到相机坐标系 + box3.applyMatrix4(this.Camera.matrixWorldInverse); + // + box3.getCenter(this.m_Target); + //世界坐标系 + this.m_Target.applyMatrix4(this.Camera.matrix); + //size + var size = box3.getSize(new three_1.Vector3()); + //宽高比 + var aspectRatio = size.x / size.y; + var viewAspectRatio = this.Aspect; + // + if (aspectRatio > viewAspectRatio) { + this.m_ViewHeight = size.x / viewAspectRatio; + } + else { + this.m_ViewHeight = size.y; + } + this.Update(); + }; + CameraUpdate.prototype.LookAt = function (dir) { + this.m_Orbit.UpdateRoValue(dir); + this.m_Direction.copy(dir); + this.UpdateUp(); + this.Update(); + }; + CameraUpdate.prototype.UpdateUp = function () { + Orbit_1.Orbit.ComputUpDirection(this.m_Direction, this.Camera.up); + }; + /** + * 根据视口大小,设置相机视口范围. + * + * @returns + * @memberof CameraControl + */ + CameraUpdate.prototype.Update = function () { + this.Camera.position.copy(this.m_Target); + if (this.Camera instanceof three_1.OrthographicCamera) { + this.Camera.left = this.Aspect * this.m_ViewHeight / -2; + this.Camera.right = this.Aspect * this.m_ViewHeight / 2; + this.Camera.bottom = this.m_ViewHeight / -2; + this.Camera.top = this.m_ViewHeight / 2; + this.Camera.position.sub(this.m_Direction); + } + else if (this.Camera instanceof three_1.PerspectiveCamera) { + this.Camera.aspect = this.Aspect; + var distens = (this.m_ViewHeight / 2) / (Math.tan(three_1.MathUtils.degToRad(this.Camera.fov) / 2)); + this.Camera.position.sub(this.m_Direction.clone().multiplyScalar(distens)); + } + else { + return; + } + this.Camera.lookAt(this.m_Target); + this.Camera.updateProjectionMatrix(); + this.Camera.updateMatrixWorld(false); + }; + CameraUpdate.prototype.SwitchCamera = function () { + if (this.Camera instanceof three_1.OrthographicCamera) { + this.m_CurCamera = this.m_CameraArray.get(three_1.PerspectiveCamera); + } + else { + this.m_CurCamera = this.m_CameraArray.get(three_1.OrthographicCamera); + } + this.UpdateUp(); + this.Update(); + }; + return CameraUpdate; +}()); +exports.CameraUpdate = CameraUpdate; +//# sourceMappingURL=CameraUpdate.js.map \ No newline at end of file diff --git a/dist/CameraUpdate.js.map b/dist/CameraUpdate.js.map new file mode 100644 index 0000000..f570dc7 --- /dev/null +++ b/dist/CameraUpdate.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CameraUpdate.js","sourceRoot":"","sources":["../src/CameraUpdate.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/ColorPalette.d.ts b/dist/ColorPalette.d.ts new file mode 100644 index 0000000..4401e02 --- /dev/null +++ b/dist/ColorPalette.d.ts @@ -0,0 +1,10 @@ +import * as THREE from 'three'; +import { LineBasicMaterial, MeshBasicMaterial } from 'three'; +export declare class ColorMaterial { + private constructor(); + private static m_LineMaterialMap; + static GetLineMaterial(index: any): LineBasicMaterial; + private static m_BasicMaterialMap; + static GetBasicMaterial(index: number): MeshBasicMaterial; + static GetColor(index: number): THREE.Color; +} diff --git a/dist/ColorPalette.js b/dist/ColorPalette.js new file mode 100644 index 0000000..6569668 --- /dev/null +++ b/dist/ColorPalette.js @@ -0,0 +1,43 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var three_1 = require("three"); +var ColorPalette = [ + [255, 0, 0, 255], + //[255, 255, 255, 255],//----- 0 - ByBlock - White + [255, 0, 0, 255], + // [255, 0, 0, 255], //----- 1 - Red + [255, 255, 0, 255], + [0, 255, 0, 255], + [0, 255, 255, 255], + [0, 0, 255, 255], + [255, 0, 255, 255], +]; +//颜色材质,对于二维图像来说可能有用,应该不对三维对象使用该材质 +var ColorMaterial = /** @class */ (function () { + function ColorMaterial() { + } + ColorMaterial.GetLineMaterial = function (index) { + if (this.m_LineMaterialMap.has(index)) + return this.m_LineMaterialMap.get(index); + var mat = new three_1.LineBasicMaterial({ color: this.GetColor(index) }); + this.m_LineMaterialMap.set(index, mat); + return mat; + }; + ColorMaterial.GetBasicMaterial = function (index) { + if (this.m_BasicMaterialMap.has(index)) + return this.m_BasicMaterialMap.get(index); + var mat = new three_1.MeshBasicMaterial({ color: this.GetColor(index) }); + this.m_BasicMaterialMap.set(index, mat); + return mat; + }; + ColorMaterial.GetColor = function (index) { + var rgb = ColorPalette[index]; + if (rgb) + return new three_1.Color(rgb[0] / 255, rgb[1] / 255, rgb[2] / 255); + }; + ColorMaterial.m_LineMaterialMap = new Map(); + ColorMaterial.m_BasicMaterialMap = new Map(); + return ColorMaterial; +}()); +exports.ColorMaterial = ColorMaterial; +//# sourceMappingURL=ColorPalette.js.map \ No newline at end of file diff --git a/dist/ColorPalette.js.map b/dist/ColorPalette.js.map new file mode 100644 index 0000000..b042208 --- /dev/null +++ b/dist/ColorPalette.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ColorPalette.js","sourceRoot":"","sources":["../src/ColorPalette.ts"],"names":[],"mappings":";;AACA,+BAAoE;AACpE,IAAM,YAAY,GAAG;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,kDAAkD;IAClD,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,uCAAuC;IACvC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IAClB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;CA8PrB,CAAC;AAGF,iCAAiC;AACjC;IAEI;IAAwB,CAAC;IAElB,6BAAe,GAAtB,UAAuB,KAAK;QAExB,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;YACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,GAAG,GAAG,IAAI,yBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,8BAAgB,GAAvB,UAAwB,KAAa;QAEjC,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;YAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,GAAG,GAAG,IAAI,yBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,sBAAQ,GAAf,UAAgB,KAAa;QAEzB,IAAI,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,GAAG;YACH,OAAO,IAAI,aAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACnE,CAAC;IAxBc,+BAAiB,GAAG,IAAI,GAAG,EAAmC,CAAC;IAS/D,gCAAkB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAgB7E,oBAAC;CAAA,AA5BD,IA4BC;AA5BY,sCAAa"} \ No newline at end of file diff --git a/dist/Dimension.d.ts b/dist/Dimension.d.ts new file mode 100644 index 0000000..a2999b8 --- /dev/null +++ b/dist/Dimension.d.ts @@ -0,0 +1,10 @@ +import { Group } from "three"; +/** + * 标注实体 + * @export + * @class Dimension + * @extends {Group} + */ +export declare class Dimension extends Group { + constructor(length: number, textHeight?: number, mirror?: boolean, mirrorFoot?: boolean); +} diff --git a/dist/Dimension.js b/dist/Dimension.js new file mode 100644 index 0000000..2f2eae2 --- /dev/null +++ b/dist/Dimension.js @@ -0,0 +1,64 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var three_1 = require("three"); +var ColorPalette_1 = require("./ColorPalette"); +var Text_1 = require("./Text"); +var GeUtils_1 = require("./GeUtils"); +/** + * 标注实体 + * @export + * @class Dimension + * @extends {Group} + */ +var Dimension = /** @class */ (function (_super) { + __extends(Dimension, _super); + function Dimension(length, textHeight, mirror, mirrorFoot) { + if (textHeight === void 0) { textHeight = 25; } + if (mirror === void 0) { mirror = false; } + if (mirrorFoot === void 0) { mirrorFoot = false; } + var _this = _super.call(this) || this; + var footLength = 60; + if (mirrorFoot) { + footLength = -footLength; + } + //针脚几何体 + var lineGeo = new three_1.Geometry(); + lineGeo.vertices.push(new three_1.Vector3(), new three_1.Vector3(0, footLength, 0)); + //托盘几何体 + var lineGeo2 = new three_1.Geometry(); + lineGeo2.vertices.push(new three_1.Vector3(0, footLength), new three_1.Vector3(length, footLength, 0)); + var material = ColorPalette_1.ColorMaterial.GetLineMaterial(5); + var line1 = new three_1.Line(lineGeo, material); + var line2 = new three_1.Line(lineGeo, material); + line2.position.x = length; + var line3 = new three_1.Line(lineGeo2, material); + var text = new Text_1.DbText(parseFloat(length.toFixed(2)).toString(), textHeight); + if (mirror) { + var roMat = new three_1.Matrix4().makeRotationZ(Math.PI); + text.applyMatrix4(roMat); + text.applyMatrix4(GeUtils_1.MoveMatrix(new three_1.Vector3(length * 0.5, footLength - textHeight * 0.1))); + } + else { + text.applyMatrix4(GeUtils_1.MoveMatrix(new three_1.Vector3(length * 0.5, footLength * 1.1))); + } + _this.add(text); + _this.add(line1, line2, line3); + return _this; + } + return Dimension; +}(three_1.Group)); +exports.Dimension = Dimension; +//# sourceMappingURL=Dimension.js.map \ No newline at end of file diff --git a/dist/Dimension.js.map b/dist/Dimension.js.map new file mode 100644 index 0000000..8a08ee2 --- /dev/null +++ b/dist/Dimension.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Dimension.js","sourceRoot":"","sources":["../src/Dimension.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAAgE;AAChE,+CAA+C;AAC/C,+BAAgC;AAChC,qCAAuC;AAEvC;;;;;GAKG;AACH;IAA+B,6BAAK;IAGhC,mBAAY,MAAc,EAAE,UAAuB,EAAE,MAAuB,EAAE,UAA2B;QAA7E,2BAAA,EAAA,eAAuB;QAAE,uBAAA,EAAA,cAAuB;QAAE,2BAAA,EAAA,kBAA2B;QAAzG,YAEI,iBAAO,SAuCV;QAtCG,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,UAAU,EACd;YACI,UAAU,GAAG,CAAC,UAAU,CAAC;SAC5B;QAED,OAAO;QACP,IAAI,OAAO,GAAG,IAAI,gBAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAO,EAAE,EAAE,IAAI,eAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO;QACP,IAAI,QAAQ,GAAG,IAAI,gBAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAO,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,eAAO,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAEvF,IAAI,QAAQ,GAAG,4BAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAE/C,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC;QAE1B,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEzC,IAAI,IAAI,GAAG,IAAI,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5E,IAAI,MAAM,EACV;YACI,IAAI,KAAK,GAAG,IAAI,eAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,MAAM,GAAG,GAAG,EAAE,UAAU,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC3F;aAED;YACI,IAAI,CAAC,YAAY,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,MAAM,GAAG,GAAG,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC9E;QAGD,KAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEf,KAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;;IAClC,CAAC;IACL,gBAAC;AAAD,CAAC,AA7CD,CAA+B,aAAK,GA6CnC;AA7CY,8BAAS"} \ No newline at end of file diff --git a/dist/DrawDimension.d.ts b/dist/DrawDimension.d.ts new file mode 100644 index 0000000..485a664 --- /dev/null +++ b/dist/DrawDimension.d.ts @@ -0,0 +1,10 @@ +import { Mesh } from "three"; +import { Dimension } from "."; +/** + * 绘制标注实体 + * + * @export + * @param {Box3} box + * @returns 标注实体列表 + */ +export declare function DrawDimension(brList: Mesh[]): Dimension[]; diff --git a/dist/DrawDimension.js b/dist/DrawDimension.js new file mode 100644 index 0000000..15b49a0 --- /dev/null +++ b/dist/DrawDimension.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var three_1 = require("three"); +var _1 = require("."); +/** + * 绘制标注实体 + * + * @export + * @param {Box3} box + * @returns 标注实体列表 + */ +function DrawDimension(brList) { + var box = _1.GetBoxArr(brList); + var size = box.getSize(new three_1.Vector3()); + var mat4 = new three_1.Matrix4(); + mat4.makeBasis(new three_1.Vector3(-1, 0, 0), new three_1.Vector3(0, -1, 0), new three_1.Vector3(0, 0, 1)); + mat4.setPosition(box.min.clone().add(new three_1.Vector3(size.x, -30))); + var textHeight = 45; + var dimx = new _1.Dimension(size.x, textHeight, true); + dimx.applyMatrix4(mat4); + var dimz = new _1.Dimension(size.z, textHeight); + mat4.makeBasis(new three_1.Vector3(0, 0, -1), new three_1.Vector3(1, 0, 0), new three_1.Vector3(0, -1, 0)); + mat4.setPosition(box.max.clone().add(new three_1.Vector3(30, -size.y))); + dimz.applyMatrix4(mat4); + var dimy = new _1.Dimension(size.y, textHeight, true, true); + mat4.makeBasis(new three_1.Vector3(0, 1, 0), new three_1.Vector3(-1, 0, 0), new three_1.Vector3(0, 0, 1)); + mat4.setPosition(box.max.clone().add(new three_1.Vector3(30, -size.y))); + dimy.applyMatrix4(mat4); + return [dimx, dimy, dimz]; +} +exports.DrawDimension = DrawDimension; +//# sourceMappingURL=DrawDimension.js.map \ No newline at end of file diff --git a/dist/DrawDimension.js.map b/dist/DrawDimension.js.map new file mode 100644 index 0000000..35dc25a --- /dev/null +++ b/dist/DrawDimension.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DrawDimension.js","sourceRoot":"","sources":["../src/DrawDimension.ts"],"names":[],"mappings":";;AAAA,+BAAqD;AACrD,sBAAyC;AAGzC;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,MAAc;IAExC,IAAI,GAAG,GAAG,YAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,eAAO,EAAE,CAAC,CAAC;IAEtC,IAAI,IAAI,GAAG,IAAI,eAAO,EAAE,CAAC;IACzB,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACvB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAExB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACxB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAExB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,eAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACvB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAGxB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AArCD,sCAqCC"} \ No newline at end of file diff --git a/dist/GeUtils.d.ts b/dist/GeUtils.d.ts new file mode 100644 index 0000000..97854e4 --- /dev/null +++ b/dist/GeUtils.d.ts @@ -0,0 +1,72 @@ +import { Geometry, Vector, Vector2, Vector3, Box3, Matrix4, Object3D, Line, Mesh } from 'three'; +export declare const cZeroVec: Vector3; +export declare const cXAxis: Vector3; +export declare const cYAxis: Vector3; +export declare const cZAxis: Vector3; +/** + * 旋转一个点,旋转中心在原点 + * + * @export + * @param {Vector3} pt 点 + * @param {number} ang 角度. + * @returns {Vector3} 返回pt不拷贝. + */ +export declare function rotatePoint(pt: Vector3, ang: number): Vector3; +export declare function equaln(v1: number, v2: number, fuzz?: number): boolean; +export declare function equalv3(v1: Vector3, v2: Vector3, fuzz?: number): boolean; +export declare function equal(v1: T, v2: T): boolean; +export declare function fixAngle(an: number, fixAngle: number, fuzz?: number): number; +/** + * 按照极坐标的方式移动一个点 + * + * @export + * @template + * @param {T} v 向量(2d,3d) + * @param {number} an 角度 + * @param {number} dis 距离 + * @returns {T} + */ +export declare function polar(v: T, an: number, dis: number): T; +export declare function angle(v: Vector3 | Vector2): number; +/** + * 求两个向量的夹角,顺时针为负,逆时针为正 + * + * @param {Vector3} v1 + * @param {Vector3} v2 + * @param {Vector3} [ref] 参考向量,如果为世界坐标系则为0,0,1 + * @returns + */ +export declare function angleTo(v1: Vector3, v2: Vector3, ref?: Vector3): number; +export declare function getLoocAtUpVec(dir: Vector3): Vector3; +export declare function createLookAtMat4(dir: Vector3): Matrix4; +export declare function isParallelTo(v1: Vector3, v2: Vector3): boolean; +export declare function ptToString(v: Vector3, fractionDigits?: number): string; +export declare function midPoint(v1: Vector3, v2: Vector3): Vector3; +export declare function midPoint2(v1: Vector2, v2: Vector2): Vector2; +export declare function midPtCir(v1: Vector3, v2: Vector3): Vector3; +/** + * 获得Three对象的包围盒. + * @param obj + * @param [updateMatrix] 是否应该更新对象矩阵 + * @returns box + */ +export declare function GetBox(obj: Object3D, updateMatrix?: boolean): Box3; +export declare function GetBoxArr(arr: Array): Box3; +export declare function MoveMatrix(v: Vector3): Matrix4; +export declare function getProjectDist(v1: Vector3, v2: Vector3): { + h: number; + v: number; +}; +export declare function getPtPostion(sp: Vector3, ep: Vector3, c: Vector3, inPt: Vector3): { + sp: Vector3; + ep: Vector3; +}; +export declare function angleAndX(v: Vector3 | Vector2): number; +/** + * 将角度调整为0-2pi之间 + * + * @export + * @param {number} an + */ +export declare function angleTo2Pi(an: number): number; +export declare function updateGeometry(l: Line | Mesh, geometry: Geometry): void; diff --git a/dist/GeUtils.js b/dist/GeUtils.js new file mode 100644 index 0000000..bc5e844 --- /dev/null +++ b/dist/GeUtils.js @@ -0,0 +1,266 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var three_1 = require("three"); +var Matrix2_1 = require("./Matrix2"); +exports.cZeroVec = new three_1.Vector3(); +exports.cXAxis = new three_1.Vector3(1, 0, 0); +exports.cYAxis = new three_1.Vector3(0, 1, 0); +exports.cZAxis = new three_1.Vector3(0, 0, 1); +/** + * 旋转一个点,旋转中心在原点 + * + * @export + * @param {Vector3} pt 点 + * @param {number} ang 角度. + * @returns {Vector3} 返回pt不拷贝. + */ +function rotatePoint(pt, ang) { + new Matrix2_1.Matrix2().setRotate(ang).applyVector(pt); + return pt; +} +exports.rotatePoint = rotatePoint; +function equaln(v1, v2, fuzz) { + if (fuzz === void 0) { fuzz = 1e-3; } + return Math.abs(v1 - v2) < fuzz; +} +exports.equaln = equaln; +function equalv3(v1, v2, fuzz) { + if (fuzz === void 0) { fuzz = 1e-8; } + return equaln(v1.x, v2.x, fuzz) && equaln(v1.y, v2.y, fuzz) && equaln(v1.z, v2.z, fuzz); +} +exports.equalv3 = equalv3; +function equal(v1, v2) { + return v1.distanceToSquared(v2) < 1e-8; +} +exports.equal = equal; +function fixAngle(an, fixAngle, fuzz) { + if (fuzz === void 0) { fuzz = 0.1; } + if (an < 0) + an += Math.PI * 2; + an += fuzz; + var rem = an % fixAngle; + if (rem < fuzz * 2) { + an -= rem; + } + else { + an -= fuzz; + } + return an; +} +exports.fixAngle = fixAngle; +/** + * 按照极坐标的方式移动一个点 + * + * @export + * @template + * @param {T} v 向量(2d,3d) + * @param {number} an 角度 + * @param {number} dis 距离 + * @returns {T} + */ +function polar(v, an, dis) { + v.x += Math.cos(an) * dis; + v.y += Math.sin(an) * dis; + return v; +} +exports.polar = polar; +function angle(v) { + if (equaln(v.y, 0) && v.x > 0) + return 0; + var angle = Math.atan2(v.y, v.x); + if (angle < 0) + angle += Math.PI * 2; + return angle; +} +exports.angle = angle; +/** + * 求两个向量的夹角,顺时针为负,逆时针为正 + * + * @param {Vector3} v1 + * @param {Vector3} v2 + * @param {Vector3} [ref] 参考向量,如果为世界坐标系则为0,0,1 + * @returns + */ +function angleTo(v1, v2, ref) { + if (ref === void 0) { ref = new three_1.Vector3(0, 0, 1); } + if (!ref.equals(new three_1.Vector3(0, 0, 1))) { + //任意轴坐标系. 使用相机的构造矩阵. + ref.multiplyScalar(-1); + var up = getLoocAtUpVec(ref); + var refOcs = new three_1.Matrix4(); + refOcs.lookAt(exports.cZeroVec, ref, up); + var refOcsInv = new three_1.Matrix4().getInverse(refOcs); + v1.applyMatrix4(refOcsInv); + v2.applyMatrix4(refOcsInv); + v1.z = 0; + v2.z = 0; + } + if (v1.equals(exports.cZeroVec) || v2.equals(exports.cZeroVec)) + return 0; + var cv = new three_1.Vector3().crossVectors(v1, v2).normalize(); + return cv.z === 0 ? v1.angleTo(v2) : v1.angleTo(v2) * cv.z; +} +exports.angleTo = angleTo; +function getLoocAtUpVec(dir) { + if (dir.equals(exports.cZeroVec)) { + throw ("zero vector"); + } + var norm = dir.clone().normalize(); + if (norm.equals(exports.cZAxis)) { + return new three_1.Vector3(0, 1, 0); + } + else if (norm.equals(exports.cZAxis.clone().negate())) { + return new three_1.Vector3(0, -1, 0); + } + else { + var xv = new three_1.Vector3(); + xv.crossVectors(exports.cZAxis, norm); + var up = new three_1.Vector3(); + up.crossVectors(norm, xv); + return up; + } +} +exports.getLoocAtUpVec = getLoocAtUpVec; +function createLookAtMat4(dir) { + var up = getLoocAtUpVec(dir); + var mat = new three_1.Matrix4(); + mat.lookAt(exports.cZeroVec, dir, up); + return mat; +} +exports.createLookAtMat4 = createLookAtMat4; +function isParallelTo(v1, v2) { + return v1.clone().cross(v2).lengthSq() < 1e-9; +} +exports.isParallelTo = isParallelTo; +function ptToString(v, fractionDigits) { + if (fractionDigits === void 0) { fractionDigits = 3; } + return v.toArray().map(function (o) { + return o.toFixed(fractionDigits); + }).join(","); +} +exports.ptToString = ptToString; +function midPoint(v1, v2) { + return v1.clone().add(v2).multiplyScalar(0.5); +} +exports.midPoint = midPoint; +function midPoint2(v1, v2) { + return v1.clone().add(v2).multiplyScalar(0.5); +} +exports.midPoint2 = midPoint2; +function midPtCir(v1, v2) { + var baseline = new three_1.Vector3(1, 0, 0); + var outLine = v2.clone().sub(v1); + var ang = angleTo(baseline, outLine) / 2; + var midLine = rotatePoint(outLine, -ang); + return v1.clone().add(midLine); +} +exports.midPtCir = midPtCir; +/** + * 获得Three对象的包围盒. + * @param obj + * @param [updateMatrix] 是否应该更新对象矩阵 + * @returns box + */ +function GetBox(obj, updateMatrix) { + var box = new three_1.Box3(); + if (updateMatrix) + obj.updateMatrixWorld(false); + if (!obj.visible) + return box; + obj.traverse(function (o) { + //因为实体Erase时,实体仍然保存在Scene中. + if (o.visible === false) + return; + //@ts-ignore + var geo = o.geometry; + if (geo) { + if (!geo.boundingBox) + geo.computeBoundingBox(); + box.union(geo.boundingBox.clone().applyMatrix4(o.matrixWorld)); + } + }); + return box; +} +exports.GetBox = GetBox; +function GetBoxArr(arr) { + var box = new three_1.Box3(); + for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) { + var o = arr_1[_i]; + var b = GetBox(o); + if (!b.isEmpty()) + box.union(b); + } + return box; +} +exports.GetBoxArr = GetBoxArr; +function MoveMatrix(v) { + var mat = new three_1.Matrix4(); + mat.makeTranslation(v.x, v.y, v.z); + return mat; +} +exports.MoveMatrix = MoveMatrix; +function getProjectDist(v1, v2) { + var ang = v1.angleTo(v2); + var dist = v1.length(); + return { + h: dist * Math.cos(ang), + v: dist * Math.sin(ang) + }; +} +exports.getProjectDist = getProjectDist; +//获得输入点在2线组成的4个区间的位置 +function getPtPostion(sp, ep, c, inPt) { + var l1 = sp.clone().sub(c); + var l2 = ep.clone().sub(c); + var l3 = l1.clone().negate(); + var l4 = l2.clone().negate(); + var inputLine = inPt.clone().sub(c); + var ang1 = angleTo(l1, l2); + var ang2 = Math.PI; + var ang3 = ang2 + Math.abs(ang1); + var inputAng = angleTo(l1, inputLine); + if (ang1 * inputAng < 0) { + inputAng = (Math.PI * 2 - Math.abs(inputAng)); + } + ang1 = Math.abs(ang1); + inputAng = Math.abs(inputAng); + if (inputAng <= ang1) { + return { sp: sp, ep: ep }; + } + else if (inputAng > ang1 && inputAng <= ang2) { + return { sp: c.clone().add(l3), ep: ep }; + } + else if (inputAng > ang2 && inputAng <= ang3) { + return { sp: c.clone().add(l3), ep: c.clone().add(l4) }; + } + else { + return { sp: sp, ep: c.clone().add(l4) }; + } +} +exports.getPtPostion = getPtPostion; +function angleAndX(v) { + return v.x ? Math.atan(v.y / v.x) : Math.PI / 2; +} +exports.angleAndX = angleAndX; +/** + * 将角度调整为0-2pi之间 + * + * @export + * @param {number} an + */ +function angleTo2Pi(an) { + an = an % (Math.PI * 2); + if (an < 0) + an += Math.PI * 2; + return an; +} +exports.angleTo2Pi = angleTo2Pi; +function updateGeometry(l, geometry) { + var geo = l.geometry; + geo.dispose(); + l.geometry = geometry; + geometry.verticesNeedUpdate = true; + geometry.computeBoundingSphere(); +} +exports.updateGeometry = updateGeometry; +//# sourceMappingURL=GeUtils.js.map \ No newline at end of file diff --git a/dist/GeUtils.js.map b/dist/GeUtils.js.map new file mode 100644 index 0000000..a841e15 --- /dev/null +++ b/dist/GeUtils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GeUtils.js","sourceRoot":"","sources":["../src/GeUtils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/KeyEnum.d.ts b/dist/KeyEnum.d.ts new file mode 100644 index 0000000..02b176c --- /dev/null +++ b/dist/KeyEnum.d.ts @@ -0,0 +1,149 @@ +export declare enum MouseKey { + Left = 0, + Middle = 1, + Right = 2 +} +export declare enum KeyBoard { + Digit1 = 49, + Digit2 = 50, + Digit3 = 51, + Digit4 = 52, + Digit5 = 53, + Digit6 = 54, + Digit7 = 55, + Digit8 = 56, + Digit9 = 57, + Digit0 = 58, + KeyA = 65, + KeyB = 66, + KeyC = 67, + KeyD = 68, + KeyE = 69, + KeyF = 70, + KeyG = 71, + KeyH = 72, + KeyI = 73, + KeyJ = 74, + KeyK = 75, + KeyL = 76, + KeyM = 77, + KeyN = 78, + KeyO = 79, + KeyP = 80, + KeyQ = 81, + KeyR = 82, + KeyS = 83, + KeyT = 84, + KeyU = 85, + KeyV = 86, + KeyW = 87, + KeyX = 88, + KeyY = 89, + KeyZ = 90, + /** + * 逗号 + */ + Comma = 188, + CommaChrome = 229, + /** + * 句号 + */ + Period = 190, + /** + * 分号 + */ + Semicolon = 186, + /** + * 引号 + */ + Quote = 222, + /** + * 左括号 + */ + BracketLeft = 219, + /** + * 右括号 + */ + BracketRight = 220, + /** + * 反引号 + */ + Backquote = 192, + /** + * 反斜杠 + */ + Backslash = 220, + /** + * 减号 + */ + Minus = 189, + /** + * 等号 + */ + Equal = 187, + IntlRo = 193, + IntlYen = 255, + Alt = 18, + /** + * 大写锁定 + */ + CapsLock = 20, + Control = 17, + /** + * win左键 + */ + OSLeft = 91, + /** + * win右键 + */ + OSRight = 92, + Shift = 16, + ContextMenu = 93, + Enter = 13, + Space = 32, + Backspace = 8, + Tab = 9, + Delete = 46, + End = 35, + Home = 36, + Insert = 45, + PageDown = 34, + PageUp = 33, + ArrowDown = 40, + ArrowLeft = 37, + ArrowRight = 39, + ArrowUp = 38, + Escape = 27, + PrintScreen = 44, + ScrollLock = 145, + Pause = 19, + F1 = 112, + F2 = 113, + F3 = 114, + F5 = 116, + F6 = 117, + F7 = 118, + F8 = 119, + F9 = 120, + F10 = 121, + F11 = 122, + F12 = 123, + NumLock = 114, + Numpad0 = 96, + Numpad1 = 97, + Numpad2 = 98, + Numpad3 = 99, + Numpad4 = 100, + Numpad5 = 101, + Numpad6 = 102, + Numpad7 = 103, + Numpad8 = 104, + Numpad9 = 105, + NumpadAdd = 107, + NumpadDivide = 111, + NumpadEqual = 12, + NumpadMultiply = 106, + NumpadSubtract = 109, + NumpadDot = 110, + NumpadDot1 = 190 +} diff --git a/dist/KeyEnum.js b/dist/KeyEnum.js new file mode 100644 index 0000000..2141ed1 --- /dev/null +++ b/dist/KeyEnum.js @@ -0,0 +1,161 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//鼠标类型 +var MouseKey; +(function (MouseKey) { + MouseKey[MouseKey["Left"] = 0] = "Left"; + MouseKey[MouseKey["Middle"] = 1] = "Middle"; + MouseKey[MouseKey["Right"] = 2] = "Right"; +})(MouseKey = exports.MouseKey || (exports.MouseKey = {})); +var KeyBoard; +(function (KeyBoard) { + // 数字 + KeyBoard[KeyBoard["Digit1"] = 49] = "Digit1"; + KeyBoard[KeyBoard["Digit2"] = 50] = "Digit2"; + KeyBoard[KeyBoard["Digit3"] = 51] = "Digit3"; + KeyBoard[KeyBoard["Digit4"] = 52] = "Digit4"; + KeyBoard[KeyBoard["Digit5"] = 53] = "Digit5"; + KeyBoard[KeyBoard["Digit6"] = 54] = "Digit6"; + KeyBoard[KeyBoard["Digit7"] = 55] = "Digit7"; + KeyBoard[KeyBoard["Digit8"] = 56] = "Digit8"; + KeyBoard[KeyBoard["Digit9"] = 57] = "Digit9"; + KeyBoard[KeyBoard["Digit0"] = 58] = "Digit0"; + // 字母 + KeyBoard[KeyBoard["KeyA"] = 65] = "KeyA"; + KeyBoard[KeyBoard["KeyB"] = 66] = "KeyB"; + KeyBoard[KeyBoard["KeyC"] = 67] = "KeyC"; + KeyBoard[KeyBoard["KeyD"] = 68] = "KeyD"; + KeyBoard[KeyBoard["KeyE"] = 69] = "KeyE"; + KeyBoard[KeyBoard["KeyF"] = 70] = "KeyF"; + KeyBoard[KeyBoard["KeyG"] = 71] = "KeyG"; + KeyBoard[KeyBoard["KeyH"] = 72] = "KeyH"; + KeyBoard[KeyBoard["KeyI"] = 73] = "KeyI"; + KeyBoard[KeyBoard["KeyJ"] = 74] = "KeyJ"; + KeyBoard[KeyBoard["KeyK"] = 75] = "KeyK"; + KeyBoard[KeyBoard["KeyL"] = 76] = "KeyL"; + KeyBoard[KeyBoard["KeyM"] = 77] = "KeyM"; + KeyBoard[KeyBoard["KeyN"] = 78] = "KeyN"; + KeyBoard[KeyBoard["KeyO"] = 79] = "KeyO"; + KeyBoard[KeyBoard["KeyP"] = 80] = "KeyP"; + KeyBoard[KeyBoard["KeyQ"] = 81] = "KeyQ"; + KeyBoard[KeyBoard["KeyR"] = 82] = "KeyR"; + KeyBoard[KeyBoard["KeyS"] = 83] = "KeyS"; + KeyBoard[KeyBoard["KeyT"] = 84] = "KeyT"; + KeyBoard[KeyBoard["KeyU"] = 85] = "KeyU"; + KeyBoard[KeyBoard["KeyV"] = 86] = "KeyV"; + KeyBoard[KeyBoard["KeyW"] = 87] = "KeyW"; + KeyBoard[KeyBoard["KeyX"] = 88] = "KeyX"; + KeyBoard[KeyBoard["KeyY"] = 89] = "KeyY"; + KeyBoard[KeyBoard["KeyZ"] = 90] = "KeyZ"; + // 符号 + /** + * 逗号 + */ + KeyBoard[KeyBoard["Comma"] = 188] = "Comma"; + KeyBoard[KeyBoard["CommaChrome"] = 229] = "CommaChrome"; + /** + * 句号 + */ + KeyBoard[KeyBoard["Period"] = 190] = "Period"; + /** + * 分号 + */ + KeyBoard[KeyBoard["Semicolon"] = 186] = "Semicolon"; + /** + * 引号 + */ + KeyBoard[KeyBoard["Quote"] = 222] = "Quote"; + /** + * 左括号 + */ + KeyBoard[KeyBoard["BracketLeft"] = 219] = "BracketLeft"; + /** + * 右括号 + */ + KeyBoard[KeyBoard["BracketRight"] = 220] = "BracketRight"; + /** + * 反引号 + */ + KeyBoard[KeyBoard["Backquote"] = 192] = "Backquote"; + /** + * 反斜杠 + */ + KeyBoard[KeyBoard["Backslash"] = 220] = "Backslash"; + /** + * 减号 + */ + KeyBoard[KeyBoard["Minus"] = 189] = "Minus"; + /** + * 等号 + */ + KeyBoard[KeyBoard["Equal"] = 187] = "Equal"; + KeyBoard[KeyBoard["IntlRo"] = 193] = "IntlRo"; + KeyBoard[KeyBoard["IntlYen"] = 255] = "IntlYen"; + // 功能键 + KeyBoard[KeyBoard["Alt"] = 18] = "Alt"; + /** + * 大写锁定 + */ + KeyBoard[KeyBoard["CapsLock"] = 20] = "CapsLock"; + KeyBoard[KeyBoard["Control"] = 17] = "Control"; + /** + * win左键 + */ + KeyBoard[KeyBoard["OSLeft"] = 91] = "OSLeft"; + /** + * win右键 + */ + KeyBoard[KeyBoard["OSRight"] = 92] = "OSRight"; + KeyBoard[KeyBoard["Shift"] = 16] = "Shift"; + KeyBoard[KeyBoard["ContextMenu"] = 93] = "ContextMenu"; + KeyBoard[KeyBoard["Enter"] = 13] = "Enter"; + KeyBoard[KeyBoard["Space"] = 32] = "Space"; + KeyBoard[KeyBoard["Backspace"] = 8] = "Backspace"; + KeyBoard[KeyBoard["Tab"] = 9] = "Tab"; + KeyBoard[KeyBoard["Delete"] = 46] = "Delete"; + KeyBoard[KeyBoard["End"] = 35] = "End"; + KeyBoard[KeyBoard["Home"] = 36] = "Home"; + KeyBoard[KeyBoard["Insert"] = 45] = "Insert"; + KeyBoard[KeyBoard["PageDown"] = 34] = "PageDown"; + KeyBoard[KeyBoard["PageUp"] = 33] = "PageUp"; + KeyBoard[KeyBoard["ArrowDown"] = 40] = "ArrowDown"; + KeyBoard[KeyBoard["ArrowLeft"] = 37] = "ArrowLeft"; + KeyBoard[KeyBoard["ArrowRight"] = 39] = "ArrowRight"; + KeyBoard[KeyBoard["ArrowUp"] = 38] = "ArrowUp"; + KeyBoard[KeyBoard["Escape"] = 27] = "Escape"; + KeyBoard[KeyBoard["PrintScreen"] = 44] = "PrintScreen"; + KeyBoard[KeyBoard["ScrollLock"] = 145] = "ScrollLock"; + KeyBoard[KeyBoard["Pause"] = 19] = "Pause"; + // F数字 + KeyBoard[KeyBoard["F1"] = 112] = "F1"; + KeyBoard[KeyBoard["F2"] = 113] = "F2"; + KeyBoard[KeyBoard["F3"] = 114] = "F3"; + KeyBoard[KeyBoard["F5"] = 116] = "F5"; + KeyBoard[KeyBoard["F6"] = 117] = "F6"; + KeyBoard[KeyBoard["F7"] = 118] = "F7"; + KeyBoard[KeyBoard["F8"] = 119] = "F8"; + KeyBoard[KeyBoard["F9"] = 120] = "F9"; + KeyBoard[KeyBoard["F10"] = 121] = "F10"; + KeyBoard[KeyBoard["F11"] = 122] = "F11"; + KeyBoard[KeyBoard["F12"] = 123] = "F12"; + //数字键盘 + KeyBoard[KeyBoard["NumLock"] = 114] = "NumLock"; + KeyBoard[KeyBoard["Numpad0"] = 96] = "Numpad0"; + KeyBoard[KeyBoard["Numpad1"] = 97] = "Numpad1"; + KeyBoard[KeyBoard["Numpad2"] = 98] = "Numpad2"; + KeyBoard[KeyBoard["Numpad3"] = 99] = "Numpad3"; + KeyBoard[KeyBoard["Numpad4"] = 100] = "Numpad4"; + KeyBoard[KeyBoard["Numpad5"] = 101] = "Numpad5"; + KeyBoard[KeyBoard["Numpad6"] = 102] = "Numpad6"; + KeyBoard[KeyBoard["Numpad7"] = 103] = "Numpad7"; + KeyBoard[KeyBoard["Numpad8"] = 104] = "Numpad8"; + KeyBoard[KeyBoard["Numpad9"] = 105] = "Numpad9"; + KeyBoard[KeyBoard["NumpadAdd"] = 107] = "NumpadAdd"; + KeyBoard[KeyBoard["NumpadDivide"] = 111] = "NumpadDivide"; + KeyBoard[KeyBoard["NumpadEqual"] = 12] = "NumpadEqual"; + KeyBoard[KeyBoard["NumpadMultiply"] = 106] = "NumpadMultiply"; + KeyBoard[KeyBoard["NumpadSubtract"] = 109] = "NumpadSubtract"; + KeyBoard[KeyBoard["NumpadDot"] = 110] = "NumpadDot"; + KeyBoard[KeyBoard["NumpadDot1"] = 190] = "NumpadDot1"; +})(KeyBoard = exports.KeyBoard || (exports.KeyBoard = {})); +//# sourceMappingURL=KeyEnum.js.map \ No newline at end of file diff --git a/dist/KeyEnum.js.map b/dist/KeyEnum.js.map new file mode 100644 index 0000000..af7ce92 --- /dev/null +++ b/dist/KeyEnum.js.map @@ -0,0 +1 @@ +{"version":3,"file":"KeyEnum.js","sourceRoot":"","sources":["../src/KeyEnum.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Material.d.ts b/dist/Material.d.ts new file mode 100644 index 0000000..3ed908e --- /dev/null +++ b/dist/Material.d.ts @@ -0,0 +1,4 @@ +import { MeshBasicMaterial, LineBasicMaterial } from "three"; +export declare let boardMaterial: MeshBasicMaterial; +export declare let selectMaterial: MeshBasicMaterial; +export declare let edgeMaterial: LineBasicMaterial; diff --git a/dist/Material.js b/dist/Material.js new file mode 100644 index 0000000..f661ce8 --- /dev/null +++ b/dist/Material.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var three_1 = require("three"); +//板件的材质,使用这个材质避免板件将线覆盖. +exports.boardMaterial = new three_1.MeshBasicMaterial({ + color: new three_1.Color(0.8, 0.8, 0.8), + polygonOffset: true, + polygonOffsetFactor: 1, + polygonOffsetUnits: 1 +}); +exports.selectMaterial = new three_1.MeshBasicMaterial({ + color: new three_1.Color(0.1, 0.5, 0.5), + polygonOffset: true, + polygonOffsetFactor: 1, + polygonOffsetUnits: 1 +}); +//线框的材质 +exports.edgeMaterial = new three_1.LineBasicMaterial({ linewidth: 2, color: new three_1.Color(0, 0, 0) }); +//# sourceMappingURL=Material.js.map \ No newline at end of file diff --git a/dist/Material.js.map b/dist/Material.js.map new file mode 100644 index 0000000..3a861a7 --- /dev/null +++ b/dist/Material.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Material.js","sourceRoot":"","sources":["../src/Material.ts"],"names":[],"mappings":";;AAAA,+BAAoE;AAEpE,uBAAuB;AACZ,QAAA,aAAa,GAAG,IAAI,yBAAiB,CAAC;IAC7C,KAAK,EAAE,IAAI,aAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC/B,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;CACxB,CAAC,CAAC;AAEQ,QAAA,cAAc,GAAG,IAAI,yBAAiB,CAAC;IAC9C,KAAK,EAAE,IAAI,aAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC/B,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;CACxB,CAAC,CAAC;AAEH,OAAO;AACI,QAAA,YAAY,GAAG,IAAI,yBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,aAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/Matrix2.d.ts b/dist/Matrix2.d.ts new file mode 100644 index 0000000..4d417d7 --- /dev/null +++ b/dist/Matrix2.d.ts @@ -0,0 +1,7 @@ +import { Vector2, Vector3 } from "three"; +export declare class Matrix2 { + private el; + set(n11: number, n12: number, n21: number, n22: number): this; + applyVector(vec: Vector2 | Vector3): this; + setRotate(theta: number): Matrix2; +} diff --git a/dist/Matrix2.js b/dist/Matrix2.js new file mode 100644 index 0000000..939e8a2 --- /dev/null +++ b/dist/Matrix2.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var Matrix2 = /** @class */ (function () { + function Matrix2() { + this.el = [1, 0, 0, 1]; + } + Matrix2.prototype.set = function (n11, n12, n21, n22) { + var te = this.el; + te[0] = n11; + te[1] = n21; + te[2] = n12; + te[3] = n22; + return this; + }; + Matrix2.prototype.applyVector = function (vec) { + var x = vec.x, y = vec.y; + var e = this.el; + vec.x = e[0] * x + e[2] * y; + vec.y = e[1] * x + e[3] * y; + return this; + }; + Matrix2.prototype.setRotate = function (theta) { + var el = this.el; + var c = Math.cos(theta), s = Math.sin(theta); + this.set(c, -s, s, c); + return this; + }; + return Matrix2; +}()); +exports.Matrix2 = Matrix2; +//# sourceMappingURL=Matrix2.js.map \ No newline at end of file diff --git a/dist/Matrix2.js.map b/dist/Matrix2.js.map new file mode 100644 index 0000000..3dff33b --- /dev/null +++ b/dist/Matrix2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Matrix2.js","sourceRoot":"","sources":["../src/Matrix2.ts"],"names":[],"mappings":";;AAEA;IAAA;QAEY,OAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IA4B9B,CAAC;IA3BG,qBAAG,GAAH,UAAI,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW;QAElD,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAEjB,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzB,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,6BAAW,GAAX,UAAY,GAAsB;QAE9B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAChB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2BAAS,GAAT,UAAU,KAAa;QAEnB,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACV,CAAC,EAAE,CAAC,CAAC,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,cAAC;AAAD,CAAC,AA9BD,IA8BC;AA9BY,0BAAO"} \ No newline at end of file diff --git a/dist/Orbit.d.ts b/dist/Orbit.d.ts new file mode 100644 index 0000000..473f2e7 --- /dev/null +++ b/dist/Orbit.d.ts @@ -0,0 +1,39 @@ +import { Vector3 } from "three"; +/** + * 轨道控制的数学类,观察向量和角度的互相转换 + * 当x当抬头或者低头到90度时,触发万向锁. + * + * @class Orbit + */ +export declare class Orbit { + private m_RoX; + RoZ: number; + get RoX(): number; + set RoX(v: number); + /** + * 使用旋转角度 计算观察向量 + * + * @param {Vector3} [dir] 引用传入,如果传入,那么就不构造新的向量 + * @returns {Vector3} 返回观察向量 + * @memberof Orbit + */ + UpdateDirection(dir?: Vector3): Vector3; + /** + * 使用观察向量,计算旋转角度 + * + * @param {Vector3} dir + * @memberof Orbit + */ + UpdateRoValue(dir: Vector3): void; + /** + * + * 根据观察向量 求头部的向量. + * + * @static + * @param {Vector3} dir + * @param {Vector3} [up] + * @returns {Vector3} + * @memberof Orbit + */ + static ComputUpDirection(dir: Vector3, up?: Vector3): Vector3; +} diff --git a/dist/Orbit.js b/dist/Orbit.js new file mode 100644 index 0000000..59a751e --- /dev/null +++ b/dist/Orbit.js @@ -0,0 +1,86 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var three_1 = require("three"); +/** + * 轨道控制的数学类,观察向量和角度的互相转换 + * 当x当抬头或者低头到90度时,触发万向锁. + * + * @class Orbit + */ +var Orbit = /** @class */ (function () { + function Orbit() { + //抬头低头 正数抬头 负数低头 + this.m_RoX = 0; + //身体旋转 0为正右边 逆时针旋转 + this.RoZ = 0; + } + Object.defineProperty(Orbit.prototype, "RoX", { + get: function () { + return this.m_RoX; + }, + set: function (v) { + this.m_RoX = three_1.MathUtils.clamp(v, Math.PI * -0.5, Math.PI * 0.5); + }, + enumerable: true, + configurable: true + }); + /** + * 使用旋转角度 计算观察向量 + * + * @param {Vector3} [dir] 引用传入,如果传入,那么就不构造新的向量 + * @returns {Vector3} 返回观察向量 + * @memberof Orbit + */ + Orbit.prototype.UpdateDirection = function (dir) { + var rtDir = dir ? dir : new three_1.Vector3(); + rtDir.z = Math.sin(this.m_RoX); + //归一化专用. + var d = Math.abs(Math.cos(this.m_RoX)); + rtDir.x = Math.cos(this.RoZ) * d; + rtDir.y = Math.sin(this.RoZ) * d; + return rtDir; + }; + /** + * 使用观察向量,计算旋转角度 + * + * @param {Vector3} dir + * @memberof Orbit + */ + Orbit.prototype.UpdateRoValue = function (dir) { + dir.normalize(); + this.m_RoX = Math.asin(dir.z); + if (dir.x < 1e-4 && dir.y < 1e-4) + this.RoZ = Math.PI * 0.5; + else + this.RoZ = Math.atan2(dir.y, dir.x); + }; + /** + * + * 根据观察向量 求头部的向量. + * + * @static + * @param {Vector3} dir + * @param {Vector3} [up] + * @returns {Vector3} + * @memberof Orbit + */ + Orbit.ComputUpDirection = function (dir, up) { + var upRes = up ? up : new three_1.Vector3(); + if (dir.equals(new three_1.Vector3(0, 0, -1))) { + upRes.set(0, 1, 0); + } + else if (dir.equals(new three_1.Vector3(0, 0, 1))) { + upRes.set(0, -1, 0); + } + else { + var xv = new three_1.Vector3(); + xv.crossVectors(new three_1.Vector3(0, 0, 1), dir); + upRes.crossVectors(dir, xv); + upRes.normalize(); + } + return upRes; + }; + return Orbit; +}()); +exports.Orbit = Orbit; +//# sourceMappingURL=Orbit.js.map \ No newline at end of file diff --git a/dist/Orbit.js.map b/dist/Orbit.js.map new file mode 100644 index 0000000..28d824e --- /dev/null +++ b/dist/Orbit.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Orbit.js","sourceRoot":"","sources":["../src/Orbit.ts"],"names":[],"mappings":";;AAAA,+BAA2C;AAE3C;;;;;GAKG;AACH;IAAA;QAEI,gBAAgB;QACR,UAAK,GAAW,CAAC,CAAC;QAE1B,kBAAkB;QAClB,QAAG,GAAW,CAAC,CAAC;IA+EpB,CAAC;IA7EG,sBAAI,sBAAG;aAAP;YAEI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;aACD,UAAQ,CAAC;YAEL,IAAI,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QACnE,CAAC;;;OAJA;IAMD;;;;;;OAMG;IACH,+BAAe,GAAf,UAAgB,GAAa;QAEzB,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,eAAO,EAAE,CAAC;QAEtC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,QAAQ;QACR,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAEvC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,6BAAa,GAAb,UAAc,GAAY;QAEtB,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI;YAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;;YAEzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;OASG;IACI,uBAAiB,GAAxB,UAAyB,GAAY,EAAE,EAAY;QAE/C,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,eAAO,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACrC;YACI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACtB;aACI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACzC;YACI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB;aAED;YACI,IAAI,EAAE,GAAG,IAAI,eAAO,EAAE,CAAC;YACvB,EAAE,CAAC,YAAY,CAAC,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3C,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,CAAC,SAAS,EAAE,CAAC;SACrB;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IACL,YAAC;AAAD,CAAC,AArFD,IAqFC;AArFY,sBAAK"} \ No newline at end of file diff --git a/dist/PlaneExt.d.ts b/dist/PlaneExt.d.ts new file mode 100644 index 0000000..2911a3e --- /dev/null +++ b/dist/PlaneExt.d.ts @@ -0,0 +1,7 @@ +import * as THREE from 'three'; +import { Vector3, Line3, Plane } from "three"; +export declare class PlaneExt extends Plane { + constructor(normal?: Vector3, constant?: number); + intersectLine(line: Line3, optionalTarget?: Vector3, extendLine?: boolean): Vector3; + intersectRay(ray: THREE.Ray, optionalTarget?: Vector3, extendLine?: boolean): Vector3; +} diff --git a/dist/PlaneExt.js b/dist/PlaneExt.js new file mode 100644 index 0000000..9d86b3b --- /dev/null +++ b/dist/PlaneExt.js @@ -0,0 +1,51 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var THREE = require("three"); +var three_1 = require("three"); +var PlaneExt = /** @class */ (function (_super) { + __extends(PlaneExt, _super); + function PlaneExt(normal, constant) { + return _super.call(this, normal, constant) || this; + } + PlaneExt.prototype.intersectLine = function (line, optionalTarget, extendLine) { + var v1 = new three_1.Vector3(); + var result = optionalTarget || new three_1.Vector3(); + var direction = line.delta(v1); + var denominator = this.normal.dot(direction); + if (denominator === 0) { + // line is coplanar, return origin + if (this.distanceToPoint(line.start) === 0) { + return result.copy(line.start); + } + // Unsure if this is the correct method to handle this case. + return undefined; + } + var t = -(line.start.dot(this.normal) + this.constant) / denominator; + //If you not extendLine,check intersect point in Line + if (!extendLine && (t < 0 || t > 1)) { + return undefined; + } + return result.copy(direction).multiplyScalar(t).add(line.start); + }; + PlaneExt.prototype.intersectRay = function (ray, optionalTarget, extendLine) { + // 从射线初始位置 + var line = new THREE.Line3(ray.origin.clone(), ray.origin.clone().add(ray.direction)); + return this.intersectLine(line, optionalTarget, extendLine); + }; + return PlaneExt; +}(three_1.Plane)); +exports.PlaneExt = PlaneExt; +//# sourceMappingURL=PlaneExt.js.map \ No newline at end of file diff --git a/dist/PlaneExt.js.map b/dist/PlaneExt.js.map new file mode 100644 index 0000000..9ad51f4 --- /dev/null +++ b/dist/PlaneExt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PlaneExt.js","sourceRoot":"","sources":["../src/PlaneExt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6BAA+B;AAC/B,+BAA8C;AAE9C;IAA8B,4BAAK;IAE/B,kBAAY,MAAgB,EAAE,QAAiB;eAE3C,kBAAM,MAAM,EAAE,QAAQ,CAAC;IAC3B,CAAC;IACD,gCAAa,GAAb,UAAc,IAAW,EAAE,cAAwB,EAAE,UAAoB;QAErE,IAAI,EAAE,GAAG,IAAI,eAAO,EAAE,CAAC;QAEvB,IAAI,MAAM,GAAG,cAAc,IAAI,IAAI,eAAO,EAAE,CAAC;QAE7C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE/B,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,WAAW,KAAK,CAAC,EACrB;YACI,kCAAkC;YAClC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1C;gBACI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClC;YACD,4DAA4D;YAC5D,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;QACtE,qDAAqD;QACrD,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACnC;YACI,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IACD,+BAAY,GAAZ,UAAa,GAAc,EAAE,cAAwB,EAAE,UAAoB;QAEvE,UAAU;QACV,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IACL,eAAC;AAAD,CAAC,AA1CD,CAA8B,aAAK,GA0ClC;AA1CY,4BAAQ"} \ No newline at end of file diff --git a/dist/PointPick.d.ts b/dist/PointPick.d.ts new file mode 100644 index 0000000..e62c6f7 --- /dev/null +++ b/dist/PointPick.d.ts @@ -0,0 +1,12 @@ +import { Mesh } from "three"; +import { Viewer } from "."; +/** + * 点选 + * + * @export + * @param {Viewer} view + * @param {number} ptx + * @param {number} pty + * @returns {(Mesh | undefined)} + */ +export declare function PointPick(view: Viewer, ptx: number, pty: number): Mesh | undefined; diff --git a/dist/PointPick.js b/dist/PointPick.js new file mode 100644 index 0000000..55afc42 --- /dev/null +++ b/dist/PointPick.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var three_1 = require("three"); +/** + * 点选 + * + * @export + * @param {Viewer} view + * @param {number} ptx + * @param {number} pty + * @returns {(Mesh | undefined)} + */ +function PointPick(view, ptx, pty) { + var raycaster = new three_1.Raycaster(); + raycaster.setFromCamera({ + x: (ptx / view._Width) * 2 - 1, + y: -(pty / view._Height) * 2 + 1 //y轴相反 + }, view.m_Camera.Camera); + //https://github.com/mrdoob/three.js/issues/14128 + raycaster.ray.origin.set((ptx / view._Width) * 2 - 1, -(pty / view._Height) * 2 + 1, -1).unproject(view.m_Camera.Camera); + var minDis = Infinity; + var minObj = undefined; + view.m_Scene.children.forEach(function (obj) { + if (obj instanceof three_1.Mesh) { + var intersects = []; + obj.raycast(raycaster, intersects); + for (var _i = 0, intersects_1 = intersects; _i < intersects_1.length; _i++) { + var i = intersects_1[_i]; + if (i.distance < minDis) { + minObj = obj; + minDis = i.distance; + } + } + } + }); + return minObj; +} +exports.PointPick = PointPick; +//# sourceMappingURL=PointPick.js.map \ No newline at end of file diff --git a/dist/PointPick.js.map b/dist/PointPick.js.map new file mode 100644 index 0000000..ca5b3ef --- /dev/null +++ b/dist/PointPick.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PointPick.js","sourceRoot":"","sources":["../src/PointPick.ts"],"names":[],"mappings":";;AAAA,+BAA2E;AAc3E;;;;;;;;GAQG;AACH,SAAgB,SAAS,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW;IAE5D,IAAI,SAAS,GAAG,IAAI,iBAAS,EAAE,CAAC;IAChC,SAAS,CAAC,aAAa,CAAC;QACpB,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9B,CAAC,EAAE,CAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM;KAC3C,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEzB,iDAAiD;IACjD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAG1H,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,MAAM,GAAG,SAAS,CAAC;IAEvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,GAAG;QAE7B,IAAI,GAAG,YAAY,YAAI,EACvB;YACI,IAAI,UAAU,GAAgB,EAAE,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEnC,KAAc,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,EACxB;gBADK,IAAI,CAAC,mBAAA;gBAEN,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM,EACvB;oBACI,MAAM,GAAG,GAAG,CAAC;oBACb,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;iBACvB;aACJ;SACJ;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC;AAlCD,8BAkCC"} \ No newline at end of file diff --git a/dist/RotateUV.d.ts b/dist/RotateUV.d.ts new file mode 100644 index 0000000..f56ed4e --- /dev/null +++ b/dist/RotateUV.d.ts @@ -0,0 +1,2 @@ +import { Geometry } from 'three'; +export declare function RotateUVs(geo: Geometry): void; diff --git a/dist/RotateUV.js b/dist/RotateUV.js new file mode 100644 index 0000000..fcdef39 --- /dev/null +++ b/dist/RotateUV.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var Matrix2_1 = require("./Matrix2"); +var three_1 = require("three"); +function RotateUVs(geo) { + var roMat = new Matrix2_1.Matrix2(); + roMat.set(0, -1, 1, 0); + var addV = new three_1.Vector2(1, 0); + for (var _i = 0, _a = geo.faceVertexUvs; _i < _a.length; _i++) { + var uvs = _a[_i]; + for (var _b = 0, uvs_1 = uvs; _b < uvs_1.length; _b++) { + var uv = uvs_1[_b]; + for (var _c = 0, uv_1 = uv; _c < uv_1.length; _c++) { + var v = uv_1[_c]; + roMat.applyVector(v); + v.add(addV); + } + } + } + geo.uvsNeedUpdate = true; +} +exports.RotateUVs = RotateUVs; +//# sourceMappingURL=RotateUV.js.map \ No newline at end of file diff --git a/dist/RotateUV.js.map b/dist/RotateUV.js.map new file mode 100644 index 0000000..3f0947c --- /dev/null +++ b/dist/RotateUV.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RotateUV.js","sourceRoot":"","sources":["../src/RotateUV.ts"],"names":[],"mappings":";;AAAA,qCAAoC;AACpC,+BAA0C;AAG1C,SAAgB,SAAS,CAAC,GAAa;IAEnC,IAAI,KAAK,GAAG,IAAI,iBAAO,EAAE,CAAC;IAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACX,CAAC,EAAE,CAAC,CAAC,CAAC;IAEV,IAAI,IAAI,GAAG,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7B,KAAgB,UAAiB,EAAjB,KAAA,GAAG,CAAC,aAAa,EAAjB,cAAiB,EAAjB,IAAiB,EACjC;QADK,IAAI,GAAG,SAAA;QAER,KAAe,UAAG,EAAH,WAAG,EAAH,iBAAG,EAAH,IAAG,EAClB;YADK,IAAI,EAAE,YAAA;YAEP,KAAc,UAAE,EAAF,SAAE,EAAF,gBAAE,EAAF,IAAE,EAChB;gBADK,IAAI,CAAC,WAAA;gBAEN,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACrB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACf;SACJ;KACJ;IACD,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;AAC7B,CAAC;AApBD,8BAoBC"} \ No newline at end of file diff --git a/dist/Text.d.ts b/dist/Text.d.ts new file mode 100644 index 0000000..2004644 --- /dev/null +++ b/dist/Text.d.ts @@ -0,0 +1,11 @@ +import { Mesh } from "three"; +export declare class DbText extends Mesh { + /** + * + * 构造一个文本对象,8位点(中心点下面)在0点 + * @param {string} str 数字字符串 + * @param {number} height 文本高度 + * @memberof DbText + */ + constructor(str: string, height?: number); +} diff --git a/dist/Text.js b/dist/Text.js new file mode 100644 index 0000000..01b3d05 --- /dev/null +++ b/dist/Text.js @@ -0,0 +1,56 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var three_1 = require("three"); +var ColorPalette_1 = require("./ColorPalette"); +var GeUtils_1 = require("./GeUtils"); +var FontLoaderUtil = /** @class */ (function () { + function FontLoaderUtil() { + } + FontLoaderUtil.Load = function () { + if (!this.defFont) { + var f = require("../resources/fonts/helvetiker_regular.typeface.json"); + var loader = new three_1.FontLoader(); + this.defFont = loader.parse(f); + } + return this.defFont; + }; + return FontLoaderUtil; +}()); +var DbText = /** @class */ (function (_super) { + __extends(DbText, _super); + /** + * + * 构造一个文本对象,8位点(中心点下面)在0点 + * @param {string} str 数字字符串 + * @param {number} height 文本高度 + * @memberof DbText + */ + function DbText(str, height) { + if (height === void 0) { height = 5; } + var _this = this; + var font = FontLoaderUtil.Load(); + var shapes = font.generateShapes(str, height); + var geometry = new three_1.ShapeGeometry(shapes); + geometry.computeBoundingBox(); + _this = _super.call(this, geometry, ColorPalette_1.ColorMaterial.GetBasicMaterial(5)) || this; + var center = geometry.boundingBox.getCenter(new three_1.Vector3()); + _this.applyMatrix4(GeUtils_1.MoveMatrix(new three_1.Vector3(-center.x, 0, 0))); + return _this; + } + return DbText; +}(three_1.Mesh)); +exports.DbText = DbText; +//# sourceMappingURL=Text.js.map \ No newline at end of file diff --git a/dist/Text.js.map b/dist/Text.js.map new file mode 100644 index 0000000..f6bc9e1 --- /dev/null +++ b/dist/Text.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Text.js","sourceRoot":"","sources":["../src/Text.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAA8E;AAC9E,+CAA+C;AAC/C,qCAAuC;AAEvC;IAAA;IAaA,CAAC;IAVQ,mBAAI,GAAX;QAEE,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB;YACE,IAAM,CAAC,GAAG,OAAO,CAAC,qDAAqD,CAAC,CAAC;YACzE,IAAI,MAAM,GAAG,IAAI,kBAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACH,qBAAC;AAAD,CAAC,AAbD,IAaC;AAED;IAA4B,0BAAI;IAE9B;;;;;;OAMG;IACH,gBAAY,GAAW,EAAE,MAAkB;QAAlB,uBAAA,EAAA,UAAkB;QAA3C,iBAaC;QAXC,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;QAEjC,IAAI,MAAM,GAAkB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,QAAQ,GAAG,IAAI,qBAAa,CAAC,MAAM,CAAC,CAAC;QAEzC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAE9B,QAAA,kBAAM,QAAQ,EAAE,4BAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAC;QAEnD,IAAI,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,eAAO,EAAE,CAAC,CAAC;QAC3D,KAAI,CAAC,YAAY,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;IAC9D,CAAC;IACH,aAAC;AAAD,CAAC,AAvBD,CAA4B,YAAI,GAuB/B;AAvBY,wBAAM"} \ No newline at end of file diff --git a/dist/ThreeCSG.d.ts b/dist/ThreeCSG.d.ts new file mode 100644 index 0000000..b3478c2 --- /dev/null +++ b/dist/ThreeCSG.d.ts @@ -0,0 +1,58 @@ +import * as THREE from "three"; +export declare class ThreeBSP { + tree: Node; + matrix: THREE.Matrix4; + Node: typeof Node; + Vertex: typeof Vertex; + Polygon: typeof Polygon; + constructor(geometry: any); + subtract(other_tree: any): ThreeBSP; + union(other_tree: any): ThreeBSP; + intersect(other_tree: any): ThreeBSP; + toGeometry(): THREE.Geometry; + toMesh(material: any): THREE.Mesh; +} +export declare class Polygon { + w: any; + normal: any; + vertices: any; + constructor(vertices?: any, normal?: any, w?: any); + calculateProperties(): this; + clone(): Polygon; + flip(): this; + classifyVertex(vertex: any): 1 | 2 | 0; + classifySide(polygon: any): 1 | 3 | 2 | 0; + splitPolygon(polygon: any, coplanar_front: any, coplanar_back: any, front: any, back: any): void; +} +export declare class Vertex { + uv: any; + normal: any; + z: any; + y: any; + x: any; + constructor(x: number, y: number, z: number, normal: THREE.Vector3, uv: THREE.Vector2); + clone(): Vertex; + add(vertex: any): this; + subtract(vertex: any): this; + multiplyScalar(scalar: any): this; + cross(vertex: any): this; + normalize(): this; + dot(vertex: any): number; + lerp(a: any, t: any): this; + interpolate(other: any, t: any): Vertex; + applyMatrix4(m: any): this; +} +export declare class Node { + divider: any; + back: any; + front: any; + polygons: any[]; + constructor(polygons?: any); + isConvex(polygons: any): boolean; + build(polygons: any): void; + allPolygons(): any[]; + clone(): Node; + invert(): this; + clipPolygons(polygons: any): any; + clipTo(node: any): void; +} diff --git a/dist/ThreeCSG.js b/dist/ThreeCSG.js new file mode 100644 index 0000000..6562d4d --- /dev/null +++ b/dist/ThreeCSG.js @@ -0,0 +1,458 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var THREE = require("three"); +/*jshint esversion: 6 */ +var EPSILON = 1e-5, COPLANAR = 0, //共面 +FRONT = 1, //前 +BACK = 2, SPANNING = 3; +var ThreeBSP = /** @class */ (function () { + function ThreeBSP(geometry) { + // Convert THREE.Geometry to ThreeBSP + var i, _length_i, face, vertex, faceVertexUvs, uvs, polygon, polygons = [], tree; + this.Polygon = Polygon; + this.Vertex = Vertex; + this.Node = Node; + if (geometry instanceof THREE.Geometry) { + this.matrix = new THREE.Matrix4(); + } + else if (geometry instanceof THREE.Mesh) { + // #todo: add hierarchy support + geometry.updateMatrix(); + this.matrix = geometry.matrix.clone(); + geometry = geometry.geometry; + } + else if (geometry instanceof Node) { + this.tree = geometry; + this.matrix = new THREE.Matrix4(); + return this; + } + else { + throw 'ThreeBSP: Given geometry is unsupported'; + } + for (i = 0, _length_i = geometry.faces.length; i < _length_i; i++) { + face = geometry.faces[i]; + faceVertexUvs = geometry.faceVertexUvs[0][i]; + polygon = new Polygon(); + if (face instanceof THREE.Face3) { + vertex = geometry.vertices[face.a]; + uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[0].x, faceVertexUvs[0].y) : null; + vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[0], uvs); + vertex.applyMatrix4(this.matrix); + polygon.vertices.push(vertex); + vertex = geometry.vertices[face.b]; + uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[1].x, faceVertexUvs[1].y) : null; + vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[1], uvs); + vertex.applyMatrix4(this.matrix); + polygon.vertices.push(vertex); + vertex = geometry.vertices[face.c]; + uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[2].x, faceVertexUvs[2].y) : null; + vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[2], uvs); + vertex.applyMatrix4(this.matrix); + polygon.vertices.push(vertex); + } + else { + throw 'Invalid face type at index ' + i; + } + polygon.calculateProperties(); + polygons.push(polygon); + } + this.tree = new Node(polygons); + } + //减 + ThreeBSP.prototype.subtract = function (other_tree) { + var a = this.tree.clone(), b = other_tree.tree.clone(); + a.invert(); + a.clipTo(b); + b.clipTo(a); + b.invert(); + b.clipTo(a); + b.invert(); + a.build(b.allPolygons()); + a.invert(); + var bsp = new ThreeBSP(a); + bsp.matrix = this.matrix; + return bsp; + }; + //结合 + ThreeBSP.prototype.union = function (other_tree) { + var a = this.tree.clone(), b = other_tree.tree.clone(); + a.clipTo(b); + b.clipTo(a); + b.invert(); + b.clipTo(a); + b.invert(); + a.build(b.allPolygons()); + var bsp = new ThreeBSP(a); + bsp.matrix = this.matrix; + return bsp; + }; + //相交 + ThreeBSP.prototype.intersect = function (other_tree) { + var a = this.tree.clone(), b = other_tree.tree.clone(); + a.invert(); + b.clipTo(a); + b.invert(); + a.clipTo(b); + b.clipTo(a); + a.build(b.allPolygons()); + a.invert(); + var bsp = new ThreeBSP(a); + bsp.matrix = this.matrix; + return bsp; + }; + ThreeBSP.prototype.toGeometry = function () { + var i, j, matrix = new THREE.Matrix4().getInverse(this.matrix), geometry = new THREE.Geometry(), polygons = this.tree.allPolygons(), polygon_count = polygons.length, polygon, polygon_vertice_count, vertice_dict = {}, vertex_idx_a, vertex_idx_b, vertex_idx_c, vertex, face, verticeUvs; + for (i = 0; i < polygon_count; i++) { + polygon = polygons[i]; + polygon_vertice_count = polygon.vertices.length; + for (j = 2; j < polygon_vertice_count; j++) { + verticeUvs = []; + vertex = polygon.vertices[0]; + verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y)); + vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z); + vertex.applyMatrix4(matrix); + if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined') { + vertex_idx_a = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z]; + } + else { + geometry.vertices.push(vertex); + vertex_idx_a = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1; + } + vertex = polygon.vertices[j - 1]; + verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y)); + vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z); + vertex.applyMatrix4(matrix); + if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined') { + vertex_idx_b = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z]; + } + else { + geometry.vertices.push(vertex); + vertex_idx_b = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1; + } + vertex = polygon.vertices[j]; + verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y)); + vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z); + vertex.applyMatrix4(matrix); + if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined') { + vertex_idx_c = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z]; + } + else { + geometry.vertices.push(vertex); + vertex_idx_c = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1; + } + face = new THREE.Face3(vertex_idx_a, vertex_idx_b, vertex_idx_c, new THREE.Vector3(polygon.normal.x, polygon.normal.y, polygon.normal.z)); + geometry.faces.push(face); + geometry.faceVertexUvs[0].push(verticeUvs); + } + } + return geometry; + }; + ThreeBSP.prototype.toMesh = function (material) { + var geometry = this.toGeometry(), mesh = new THREE.Mesh(geometry, material); + mesh.position.setFromMatrixPosition(this.matrix); + mesh.rotation.setFromRotationMatrix(this.matrix); + return mesh; + }; + return ThreeBSP; +}()); +exports.ThreeBSP = ThreeBSP; +//多边形 +var Polygon = /** @class */ (function () { + function Polygon(vertices, normal, w) { + if (!(vertices instanceof Array)) { + vertices = []; + } + this.vertices = vertices; + if (vertices.length > 0) { + this.calculateProperties(); + } + else { + this.normal = this.w = undefined; + } + } + Polygon.prototype.calculateProperties = function () { + var a = this.vertices[0], b = this.vertices[1], c = this.vertices[2]; + this.normal = b.clone().subtract(a).cross(c.clone().subtract(a)).normalize(); + this.w = this.normal.clone().dot(a); + return this; + }; + Polygon.prototype.clone = function () { + var i, vertice_count, polygon = new Polygon(); + for (i = 0, vertice_count = this.vertices.length; i < vertice_count; i++) { + polygon.vertices.push(this.vertices[i].clone()); + } + polygon.calculateProperties(); + return polygon; + }; + Polygon.prototype.flip = function () { + var i, vertices = []; + this.normal.multiplyScalar(-1); + this.w *= -1; + for (i = this.vertices.length - 1; i >= 0; i--) { + vertices.push(this.vertices[i]); + } + this.vertices = vertices; + return this; + }; + //划分? + Polygon.prototype.classifyVertex = function (vertex) { + var side_value = this.normal.dot(vertex) - this.w; + if (side_value < -EPSILON) { + return BACK; + } + else if (side_value > EPSILON) { + return FRONT; + } + else { + return COPLANAR; + } + }; + //划分边? + Polygon.prototype.classifySide = function (polygon) { + var i, vertex, classification, num_positive = 0, num_negative = 0, vertice_count = polygon.vertices.length; + for (i = 0; i < vertice_count; i++) { + vertex = polygon.vertices[i]; + classification = this.classifyVertex(vertex); + if (classification === FRONT) { + num_positive++; + } + else if (classification === BACK) { + num_negative++; + } + } + if (num_positive > 0 && num_negative === 0) { + return FRONT; + } + else if (num_positive === 0 && num_negative > 0) { + return BACK; + } + else if (num_positive === 0 && num_negative === 0) { + return COPLANAR; + } + else { + return SPANNING; + } + }; + //分解 分离 区域? + Polygon.prototype.splitPolygon = function (polygon, coplanar_front, coplanar_back, front, back) { + var classification = this.classifySide(polygon); + if (classification === COPLANAR) { + (this.normal.dot(polygon.normal) > 0 ? coplanar_front : coplanar_back).push(polygon); + } + else if (classification === FRONT) { + front.push(polygon); + } + else if (classification === BACK) { + back.push(polygon); + } + else { + var vertice_count = void 0, i = void 0, j = void 0, ti = void 0, tj = void 0, vi = void 0, vj = void 0, t = void 0, v = void 0, f = [], b = []; + for (i = 0, vertice_count = polygon.vertices.length; i < vertice_count; i++) { + j = (i + 1) % vertice_count; + vi = polygon.vertices[i]; + vj = polygon.vertices[j]; + ti = this.classifyVertex(vi); + tj = this.classifyVertex(vj); + if (ti != BACK) + f.push(vi); + if (ti != FRONT) + b.push(vi); + if ((ti | tj) === SPANNING) { + t = (this.w - this.normal.dot(vi)) / this.normal.dot(vj.clone().subtract(vi)); + v = vi.interpolate(vj, t); + f.push(v); + b.push(v); + } + } + if (f.length >= 3) + front.push(new Polygon(f).calculateProperties()); + if (b.length >= 3) + back.push(new Polygon(b).calculateProperties()); + } + }; + return Polygon; +}()); +exports.Polygon = Polygon; +var Vertex = /** @class */ (function () { + function Vertex(x, y, z, normal, uv) { + this.x = x; + this.y = y; + this.z = z; + this.normal = normal || new THREE.Vector3(); + this.uv = uv || new THREE.Vector2(); + } + Vertex.prototype.clone = function () { + return new Vertex(this.x, this.y, this.z, this.normal.clone(), this.uv.clone()); + }; + Vertex.prototype.add = function (vertex) { + this.x += vertex.x; + this.y += vertex.y; + this.z += vertex.z; + return this; + }; + Vertex.prototype.subtract = function (vertex) { + this.x -= vertex.x; + this.y -= vertex.y; + this.z -= vertex.z; + return this; + }; + Vertex.prototype.multiplyScalar = function (scalar) { + this.x *= scalar; + this.y *= scalar; + this.z *= scalar; + return this; + }; + //×乘 + Vertex.prototype.cross = function (vertex) { + var x = this.x, y = this.y, z = this.z; + this.x = y * vertex.z - z * vertex.y; + this.y = z * vertex.x - x * vertex.z; + this.z = x * vertex.y - y * vertex.x; + return this; + }; + Vertex.prototype.normalize = function () { + var length = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); + this.x /= length; + this.y /= length; + this.z /= length; + return this; + }; + //点乘 + Vertex.prototype.dot = function (vertex) { + return this.x * vertex.x + this.y * vertex.y + this.z * vertex.z; + }; + //线性插值 + Vertex.prototype.lerp = function (a, t) { + this.add(a.clone().subtract(this).multiplyScalar(t)); + this.normal.add(a.normal.clone().sub(this.normal).multiplyScalar(t)); + this.uv.add(a.uv.clone().sub(this.uv).multiplyScalar(t)); + return this; + }; + //插值 + Vertex.prototype.interpolate = function (other, t) { + return this.clone().lerp(other, t); + }; + Vertex.prototype.applyMatrix4 = function (m) { + // input: THREE.Matrix4 affine matrix + var x = this.x, y = this.y, z = this.z; + var e = m.elements; + this.x = e[0] * x + e[4] * y + e[8] * z + e[12]; + this.y = e[1] * x + e[5] * y + e[9] * z + e[13]; + this.z = e[2] * x + e[6] * y + e[10] * z + e[14]; + return this; + }; + return Vertex; +}()); +exports.Vertex = Vertex; +var Node = /** @class */ (function () { + function Node(polygons) { + var i, polygon_count, front = [], back = []; + this.polygons = []; + this.front = this.back = undefined; + if (!(polygons instanceof Array) || polygons.length === 0) + return; + this.divider = polygons[0].clone(); + for (i = 0, polygon_count = polygons.length; i < polygon_count; i++) { + this.divider.splitPolygon(polygons[i], this.polygons, this.polygons, front, back); + } + if (front.length > 0) { + this.front = new Node(front); + } + if (back.length > 0) { + this.back = new Node(back); + } + } + //是凸的? 凸包? + Node.prototype.isConvex = function (polygons) { + var i, j; + for (i = 0; i < polygons.length; i++) { + for (j = 0; j < polygons.length; j++) { + if (i !== j && polygons[i].classifySide(polygons[j]) !== BACK) { + return false; + } + } + } + return true; + }; + Node.prototype.build = function (polygons) { + var i, polygon_count, front = [], back = []; + if (!this.divider) { + this.divider = polygons[0].clone(); + } + for (i = 0, polygon_count = polygons.length; i < polygon_count; i++) { + this.divider.splitPolygon(polygons[i], this.polygons, this.polygons, front, back); + } + if (front.length > 0) { + if (!this.front) + this.front = new Node(); + this.front.build(front); + } + if (back.length > 0) { + if (!this.back) + this.back = new Node(); + this.back.build(back); + } + }; + Node.prototype.allPolygons = function () { + var polygons = this.polygons.slice(); + if (this.front) + polygons = polygons.concat(this.front.allPolygons()); + if (this.back) + polygons = polygons.concat(this.back.allPolygons()); + return polygons; + }; + Node.prototype.clone = function () { + var node = new Node(); + node.divider = this.divider.clone(); + node.polygons = this.polygons.map(function (polygon) { + return polygon.clone(); + }); + node.front = this.front && this.front.clone(); + node.back = this.back && this.back.clone(); + return node; + }; + //反转 + Node.prototype.invert = function () { + var i, polygon_count, temp; + for (i = 0, polygon_count = this.polygons.length; i < polygon_count; i++) { + this.polygons[i].flip(); + } + this.divider.flip(); + if (this.front) + this.front.invert(); + if (this.back) + this.back.invert(); + temp = this.front; + this.front = this.back; + this.back = temp; + return this; + }; + // + Node.prototype.clipPolygons = function (polygons) { + var i, polygon_count, front, back; + if (!this.divider) + return polygons.slice(); + front = []; + back = []; + for (i = 0, polygon_count = polygons.length; i < polygon_count; i++) { + this.divider.splitPolygon(polygons[i], front, back, front, back); + } + if (this.front) + front = this.front.clipPolygons(front); + if (this.back) + back = this.back.clipPolygons(back); + else + back = []; + return front.concat(back); + }; + Node.prototype.clipTo = function (node) { + this.polygons = node.clipPolygons(this.polygons); + if (this.front) + this.front.clipTo(node); + if (this.back) + this.back.clipTo(node); + }; + return Node; +}()); +exports.Node = Node; +//# sourceMappingURL=ThreeCSG.js.map \ No newline at end of file diff --git a/dist/ThreeCSG.js.map b/dist/ThreeCSG.js.map new file mode 100644 index 0000000..5bc5dea --- /dev/null +++ b/dist/ThreeCSG.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ThreeCSG.js","sourceRoot":"","sources":["../src/ThreeCSG.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Utils.d.ts b/dist/Utils.d.ts new file mode 100644 index 0000000..948957c --- /dev/null +++ b/dist/Utils.d.ts @@ -0,0 +1,5 @@ +import { Viewer } from "."; +export declare function LoadBoard(view: Viewer, data: any[], clear?: boolean): { + blockMeshMap: Map; + meshBlockMap: Map; +}; diff --git a/dist/Utils.js b/dist/Utils.js new file mode 100644 index 0000000..6c22c6a --- /dev/null +++ b/dist/Utils.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var _1 = require("."); +function dispose(m) { + //@ts-ignore + if (m.geometry) + //@ts-ignore + m.geometry.dispose(); + m.children.forEach(function (o) { return dispose(o); }); +} +function LoadBoard(view, data, clear) { + var _a, _b, _c; + if (clear === void 0) { clear = true; } + if (clear) { + dispose(view.m_Scene); + view.m_Scene.children.length = 0; + } + if (data.length === 0) + return; + //加板 + var _d = _1.createTemplateBoard(data), meshs = _d.meshs, edgesa = _d.edgesa, relations = _d.relations; + //加标注 + var dims = _1.DrawDimension(meshs); + (_a = view.m_Scene).add.apply(_a, meshs); + (_b = view.m_Scene).add.apply(_b, edgesa); + (_c = view.m_Scene).add.apply(_c, dims); + view.ViewToSwiso(); + view.ZoomAll(); + view.Zoom(1.1); + return relations; +} +exports.LoadBoard = LoadBoard; +//# sourceMappingURL=Utils.js.map \ No newline at end of file diff --git a/dist/Utils.js.map b/dist/Utils.js.map new file mode 100644 index 0000000..1b338e1 --- /dev/null +++ b/dist/Utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":";;AACA,sBAA+E;AAE/E,SAAS,OAAO,CAAC,CAAW;IAExB,YAAY;IACZ,IAAI,CAAC,CAAC,QAAQ;QACV,YAAY;QACZ,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAEzB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,OAAO,CAAC,CAAC,CAAC,EAAV,CAAU,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,SAAS,CAAC,IAAY,EAAE,IAAW,EAAE,KAAqB;;IAArB,sBAAA,EAAA,YAAqB;IAEtE,IAAI,KAAK,EACT;QACI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;KACpC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC9B,IAAI;IACA,IAAA,iCAAwD,EAAtD,gBAAK,EAAE,kBAAM,EAAE,wBAAuC,CAAC;IAE7D,KAAK;IACL,IAAI,IAAI,GAAG,gBAAa,CAAC,KAAK,CAAC,CAAC;IAEhC,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,GAAG,WAAI,KAAK,EAAE;IAC3B,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,GAAG,WAAI,MAAM,EAAE;IAC5B,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,GAAG,WAAI,IAAI,EAAE;IAE1B,IAAI,CAAC,WAAW,EAAE,CAAC;IACnB,IAAI,CAAC,OAAO,EAAE,CAAC;IACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEf,OAAO,SAAS,CAAC;AACrB,CAAC;AAxBD,8BAwBC"} \ No newline at end of file diff --git a/dist/ViewSrc/index.d.ts b/dist/ViewSrc/index.d.ts new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/dist/ViewSrc/index.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/dist/ViewSrc/index.js b/dist/ViewSrc/index.js new file mode 100644 index 0000000..19030f1 --- /dev/null +++ b/dist/ViewSrc/index.js @@ -0,0 +1,70 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// import { Color, Face3, MeshBasicMaterial, Object3D, Vector2, Vector3 } from "three"; +// import "./style.css"; +var three_1 = require("three"); +var CameraControls_1 = require("../CameraControls"); +var data_1 = require("../data"); +var GeUtils_1 = require("../GeUtils"); +var Utils_1 = require("../Utils"); +var Viewer_1 = require("../Viewer"); +var btn = document.createElement("button"); +btn.innerHTML = "载入"; +document.body.appendChild(btn); +var btn2 = document.createElement("button"); +btn2.innerHTML = "清理"; +document.body.appendChild(btn2); +var btn3 = document.createElement("button"); +btn3.innerHTML = "爆炸图"; +document.body.appendChild(btn3); +var el = document.createElement("canvas"); +el.style.width = "80%"; +el.style.height = "80%"; +document.body.appendChild(el); +var view = new Viewer_1.Viewer(el); +//修改这个顺序 改变1 2 3 个触摸点时的触发状态. +view.m_CameraCtrl.m_TouthTypeList = [CameraControls_1.CameraControlState.Rotate, CameraControls_1.CameraControlState.Scale, CameraControls_1.CameraControlState.Pan]; +//例如,修改单指滑动为平移. +view.m_CameraCtrl.m_TouthTypeList = [CameraControls_1.CameraControlState.Pan, CameraControls_1.CameraControlState.Scale, CameraControls_1.CameraControlState.Rotate]; +//加载 +btn.onclick = function () { + console.time(); + for (var i = 0; i < 1; i++) + Utils_1.LoadBoard(view, data_1.data); + console.timeEnd(); +}; +btn2.onclick = function () { + // LoadBoard(view, []); +}; +btn3.onclick = function () { + var box = GeUtils_1.GetBox(view.m_Scene); + var cen = box.getCenter(new three_1.Vector3()); + var m = []; + for (var _i = 0, _a = view.m_Scene.children; _i < _a.length; _i++) { + var obj = _a[_i]; + if (obj.userData && obj.userData instanceof three_1.Vector3) { + var objCen = GeUtils_1.GetBox(obj).getCenter(new three_1.Vector3()); + var v = objCen.clone().sub(cen); + var zv = obj.userData; + if (zv instanceof three_1.Vector3) { + var d = zv.dot(v); + // m.set(obj, zv.clone().multiplyScalar(d)); + m.push([obj, zv.clone().multiplyScalar(d)]); + } + } + } + var count = 0; + var t = setInterval(function () { + for (var _i = 0, m_1 = m; _i < m_1.length; _i++) { + var _a = m_1[_i], o = _a[0], v = _a[1]; + o.position.add(v.clone().multiplyScalar(1.5 / 120)); + o.updateMatrix(); + } + view.ZoomAll(); + view.m_bNeedUpdate = true; + count++; + if (count === 60) + clearInterval(t); + }, 16); +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/ViewSrc/index.js.map b/dist/ViewSrc/index.js.map new file mode 100644 index 0000000..d11f84c --- /dev/null +++ b/dist/ViewSrc/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ViewSrc/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Viewer.d.ts b/dist/Viewer.d.ts new file mode 100644 index 0000000..ffd841d --- /dev/null +++ b/dist/Viewer.d.ts @@ -0,0 +1,42 @@ +import { Mesh, Scene, Vector3, WebGLRenderer } from "three"; +import { CameraControls } from "."; +import { CameraUpdate } from "./CameraUpdate"; +export declare class Viewer { + m_LookTarget: any; + m_Camera: CameraUpdate; + m_CameraCtrl: CameraControls; + m_bNeedUpdate: boolean; + m_Render: WebGLRenderer; + m_DomEl: HTMLElement; + _Height: number; + _Width: number; + m_Scene: Scene; + /** + * + * @param {HTMLElement} canvasContainer 可以传入一个div或者一个画布 + * @memberof Viewer + */ + constructor(canvasContainer: HTMLElement); + initRender(canvasContainer: HTMLElement): void; + OnSize: (width?: any, height?: any) => void; + StartRender: () => void; + Render(): void; + ScreenToWorld(pt: Vector3, planVec?: Vector3): void; + WorldToScreen(pt: Vector3): void; + /** + * 更新视角观测目标(物体中心) + * + * @memberof Viewer + */ + UpdateLockTarget(): void; + Rotate(mouseMove: Vector3): void; + Pan(mouseMove: Vector3): void; + Zoom(scale: number, center?: Vector3): void; + ZoomAll(): void; + ViewToTop(): void; + ViewToFront(): void; + ViewToSwiso(): void; + oldMesh: Mesh; + SelectByPoint(x: number, y: number): void; + SelectBlock(blockMeshMap: Map, dataID: number): void; +} diff --git a/dist/Viewer.js b/dist/Viewer.js new file mode 100644 index 0000000..96c2138 --- /dev/null +++ b/dist/Viewer.js @@ -0,0 +1,172 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var three_1 = require("three"); +var _1 = require("."); +var CameraUpdate_1 = require("./CameraUpdate"); +var ColorPalette_1 = require("./ColorPalette"); +var GeUtils_1 = require("./GeUtils"); +var PlaneExt_1 = require("./PlaneExt"); +var Viewer = /** @class */ (function () { + /** + * + * @param {HTMLElement} canvasContainer 可以传入一个div或者一个画布 + * @memberof Viewer + */ + function Viewer(canvasContainer) { + var _this = this; + this.m_Camera = new CameraUpdate_1.CameraUpdate(); + this.m_bNeedUpdate = true; + this.m_Scene = new three_1.Scene(); + this.OnSize = function (width, height) { + _this._Width = width ? width : _this.m_DomEl.clientWidth; + _this._Height = height ? height : _this.m_DomEl.clientHeight; + //校验.成为2的倍数 避免外轮廓错误. + if (_this._Width % 2 == 1) + _this._Width -= 1; + if (_this._Height % 2 == 1) + _this._Height -= 1; + _this.m_Render.setSize(_this._Width, _this._Height); + _this.m_Camera.SetSize(_this._Width, _this._Height); + }; + this.StartRender = function () { + requestAnimationFrame(_this.StartRender); + if (_this.m_Scene != null && _this.m_bNeedUpdate) { + _this.Render(); + _this.m_bNeedUpdate = false; + } + }; + this.m_DomEl = canvasContainer; + this.initRender(canvasContainer); + this.OnSize(); + this.StartRender(); + this.m_CameraCtrl = new _1.CameraControls(this); + window.addEventListener("resize", function () { + _this.OnSize(); + }); + this.m_Render.domElement.addEventListener("mousemove", function (e) { + _this.SelectByPoint(e.offsetX, e.offsetY); + }); + } + //初始化render + Viewer.prototype.initRender = function (canvasContainer) { + var params = { + antialias: true, + precision: "highp", + alpha: true //alpha:true/false是否可以设置背景色透明 + }; + if (canvasContainer instanceof HTMLCanvasElement) { + params.canvas = canvasContainer; + this.m_Render = new three_1.WebGLRenderer(params); + } + else { + this.m_Render = new three_1.WebGLRenderer(params); + //加到画布 + canvasContainer.appendChild(this.m_Render.domElement); + } + this.m_Render.autoClear = true; + //如果设置,那么它希望所有的纹理和颜色都是预乘的伽玛。默认值为false。 + // this.m_Render.gammaInput = true; + // this.m_Render.gammaOutput = true; + // this.m_Render.shadowMap.enabled = true; + // this.m_Render.toneMapping = ReinhardToneMapping; + //设置设备像素比。 这通常用于HiDPI设备,以防止模糊输出画布。 + this.m_Render.setPixelRatio(window.devicePixelRatio); + this.m_Render.physicallyCorrectLights = true; + //this.m_Render.toneMappingExposure = Math.pow(1, 5.0); // to allow for very bright scenes. + //设置它的背景色为黑色 + this.m_Render.setClearColor(0xffffff, 1); + this.OnSize(); + }; + Viewer.prototype.Render = function () { + this.m_Render.render(this.m_Scene, this.m_Camera.Camera); + }; + Viewer.prototype.ScreenToWorld = function (pt, planVec) { + //变换和求交点 + var plan = new PlaneExt_1.PlaneExt(planVec || new three_1.Vector3(0, 0, 1)); + var raycaster = new three_1.Raycaster(); + // 射线从相机射线向屏幕点位置 + raycaster.setFromCamera({ + x: (pt.x / this._Width) * 2 - 1, + y: -(pt.y / this._Height) * 2 + 1 + }, this.m_Camera.Camera); + plan.intersectRay(raycaster.ray, pt, true); + }; + Viewer.prototype.WorldToScreen = function (pt) { + var widthHalf = this._Width * 0.5; + var heightHalf = this._Height * 0.5; + pt.project(this.m_Camera.Camera); + pt.x = (pt.x * widthHalf) + widthHalf; + pt.y = -(pt.y * heightHalf) + heightHalf; + }; + /** + * 更新视角观测目标(物体中心) + * + * @memberof Viewer + */ + Viewer.prototype.UpdateLockTarget = function () { + var renderList = this.m_Render.renderLists.get(this.m_Scene, this.m_Camera.Camera); + var box = GeUtils_1.GetBoxArr(renderList.opaque.map(function (o) { return o.object; })); + if (box) + this.m_LookTarget = box.getCenter(new three_1.Vector3()); + else + this.m_LookTarget = GeUtils_1.cZeroVec; + }; + Viewer.prototype.Rotate = function (mouseMove) { + this.m_Camera.Rotate(mouseMove, this.m_LookTarget); + this.m_bNeedUpdate = true; + }; + Viewer.prototype.Pan = function (mouseMove) { + this.m_Camera.Pan(mouseMove); + this.m_bNeedUpdate = true; + }; + Viewer.prototype.Zoom = function (scale, center) { + this.m_Camera.Zoom(scale, center); + this.m_bNeedUpdate = true; + }; + Viewer.prototype.ZoomAll = function () { + this.m_Camera.ZoomExtensBox3(GeUtils_1.GetBox(this.m_Scene, true)); + this.m_bNeedUpdate = true; + }; + Viewer.prototype.ViewToTop = function () { + this.m_Camera.LookAt(new three_1.Vector3(0, 0, -1)); + this.m_bNeedUpdate = true; + }; + Viewer.prototype.ViewToFront = function () { + this.m_Camera.LookAt(new three_1.Vector3(0, 1, 0)); + this.m_bNeedUpdate = true; + }; + Viewer.prototype.ViewToSwiso = function () { + this.m_Camera.LookAt(new three_1.Vector3(1, 1, -1)); + this.m_bNeedUpdate = true; + }; + Viewer.prototype.SelectByPoint = function (x, y) { + var mesh = _1.PointPick(this, x, y); + if (this.oldMesh) + this.oldMesh.material = _1.boardMaterial; + if (mesh && mesh.material !== ColorPalette_1.ColorMaterial.GetBasicMaterial(1)) { + this.oldMesh = mesh; + mesh.material = _1.selectMaterial; + } + this.m_bNeedUpdate = true; + }; + Viewer.prototype.SelectBlock = function (blockMeshMap, dataID) { + var _this = this; + if (blockMeshMap.has(dataID)) { + var meshId_1 = blockMeshMap.get(dataID); + if (this.oldMesh) + this.oldMesh.material = _1.boardMaterial; + this.m_Scene.children.forEach(function (obj) { + if (obj instanceof three_1.Mesh) { + if (obj.id == meshId_1) { + _this.oldMesh = obj; + obj.material = _1.selectMaterial; + _this.m_bNeedUpdate = true; + } + } + }); + } + }; + return Viewer; +}()); +exports.Viewer = Viewer; +//# sourceMappingURL=Viewer.js.map \ No newline at end of file diff --git a/dist/Viewer.js.map b/dist/Viewer.js.map new file mode 100644 index 0000000..fa317d7 --- /dev/null +++ b/dist/Viewer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Viewer.js","sourceRoot":"","sources":["../src/Viewer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/createBoard.d.ts b/dist/createBoard.d.ts new file mode 100644 index 0000000..0eb7f0c --- /dev/null +++ b/dist/createBoard.d.ts @@ -0,0 +1,25 @@ +import { Geometry, LineSegments, Mesh, Shape, Vector2, Vector3 } from 'three'; +export declare class Arc2d { + m_StartAn: number; + m_EndAn: number; + m_StartPoint: Vector2; + m_EndPoint: Vector2; + m_Center: Vector2; + m_Radius: number; + constructor(p1: Vector2, p2: Vector2, bul: number); +} +export declare function createPath(pts: Vector2[], buls: number[], shapeOut?: Shape): Shape; +export declare function getVec(data: object): Vector3; +export declare function createBoard(boardData: object): { + mesh: Mesh; + edges: (Mesh | LineSegments)[]; +}; +export declare function createTemplateBoard(brDataList: any[]): { + meshs: any[]; + edgesa: any[]; + relations: { + blockMeshMap: Map; + meshBlockMap: Map; + }; +}; +export declare function createEdge(geo: Geometry): LineSegments; diff --git a/dist/createBoard.js b/dist/createBoard.js new file mode 100644 index 0000000..0eafae3 --- /dev/null +++ b/dist/createBoard.js @@ -0,0 +1,188 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var three_1 = require("three"); +var ColorPalette_1 = require("./ColorPalette"); +var GeUtils_1 = require("./GeUtils"); +var Material_1 = require("./Material"); +var RotateUV_1 = require("./RotateUV"); +var ThreeCSG_1 = require("./ThreeCSG"); +//解析二维圆弧类. +var Arc2d = /** @class */ (function () { + function Arc2d(p1, p2, bul) { + this.m_StartPoint = p1.clone(); + this.m_EndPoint = p2.clone(); + var vec = p2.clone().sub(p1); + var len = vec.length(); + var an = vec.angle(); + this.m_Radius = len / Math.sin(2 * Math.atan(bul)) / 2; + var allAngle = Math.atan(bul) * 4; + var delDis = bul * len / 2; + var toDis = this.m_Radius - delDis; + an += Math.PI * 0.5; + this.m_Center = p1.clone().add(p2); + this.m_Center.multiplyScalar(0.5); + GeUtils_1.polar(this.m_Center, an, toDis); + this.m_StartAn = p1.clone().sub(this.m_Center).angle(); + this.m_EndAn = p2.clone().sub(this.m_Center).angle(); + if (bul < 0) { + //一个神奇的特性 它需要这么做 + this.m_StartAn -= Math.PI; + this.m_EndAn -= Math.PI; + } + } + return Arc2d; +}()); +exports.Arc2d = Arc2d; +//创建轮廓 通过点表和凸度 +function createPath(pts, buls, shapeOut) { + var shape = shapeOut || new three_1.Shape(); + if (pts.length === 0) + return shape; + var firstPt = pts[0]; + shape.moveTo(firstPt.x, firstPt.y); + for (var i = 0; i < pts.length - 1; i++) { + var nextPt = pts[i + 1]; + if (buls[i] == 0) { + shape.lineTo(nextPt.x, nextPt.y); + } + else { + var pt = pts[i]; + //参考 + //http://www.dorodnic.com/blog/tag/three-js/ 绘制一个齿轮 + //https://www.kirupa.com/html5/drawing_circles_canvas.htm //html5 + var arc2 = new Arc2d(pt, nextPt, buls[i]); + var cen = arc2.m_Center; + shape.absarc(cen.x, cen.y, arc2.m_Radius, arc2.m_StartAn, arc2.m_EndAn, buls[i] < 0); + } + } + return shape; +} +exports.createPath = createPath; +function getVec(data) { + return new three_1.Vector3(data["x"], data["y"], data["z"]); +} +exports.getVec = getVec; +//创建板件 暂时这么写 +function createBoard(boardData) { + var _a; + var pts = []; + var buls = []; + var boardPts = boardData["Pts"]; + var boardBuls = boardData["Buls"]; + var boardHeight = boardData["H"]; + var boardMat = new three_1.Matrix4(); + var matInv = new three_1.Matrix4(); + //InitBoardMat + var xD = getVec(boardData["XVec"]); + var yD = getVec(boardData["YVec"]); + var ZD = getVec(boardData["ZVec"]); + var pBase = getVec(boardData["BasePoint"]); + boardMat.makeBasis(xD, yD, ZD); + boardMat.setPosition(pBase); + matInv.getInverse(boardMat); + if (boardPts && boardPts.length !== 0) + for (var i = 0; i < boardPts.length; i++) { + var pt = getVec(boardPts[i]); + if (boardPts[i].z !== undefined) + pt.applyMatrix4(matInv); + pts.push(new three_1.Vector2(pt.x, pt.y)); + buls.push(boardBuls[i]); + } + else { + var length_1 = boardData["L"]; + var width = boardData["W"]; + var height = boardData["H"]; + pts.push(new three_1.Vector2(0, 0), new three_1.Vector2(width, 0), new three_1.Vector2(width, length_1), new three_1.Vector2(0, length_1), new three_1.Vector2(0, 0)); + buls.push(0, 0, 0, 0, 0); + } + var sp = createPath(pts, buls); + var extrudeSettings = { + steps: 1, + bevelEnabled: false, + depth: boardHeight + }; + var ext = new three_1.ExtrudeGeometry(sp, extrudeSettings); + ext.computeBoundingSphere(); + ext.computeBoundingBox(); + ext.translate(0, 0, -boardHeight); + ext.applyMatrix4(boardMat); + if (!GeUtils_1.equalv3(xD.clone().cross(yD), ZD)) { + for (var _i = 0, _b = ext.faces; _i < _b.length; _i++) { + var f = _b[_i]; + _a = [f.c, f.a], f.a = _a[0], f.c = _a[1]; + } + } + //外边. + var edges = [createEdge(ext)]; + //差集 + if (checkObjectArray(boardData, "SubBoardLocal") + || checkObjectArray(boardData, "Drillings")) { + var thisCsg = new ThreeCSG_1.ThreeBSP(ext); + if (boardData["SubBoardLocal"]) { + var subBoardList = boardData["SubBoardLocal"].map(function (d) { return createBoard(d); }); + for (var _c = 0, subBoardList_1 = subBoardList; _c < subBoardList_1.length; _c++) { + var br = subBoardList_1[_c]; + edges.push.apply(edges, br.edges); + var subCsg = new ThreeCSG_1.ThreeBSP(br.mesh); + thisCsg = thisCsg.subtract(subCsg); + } + } + if (boardData["Drillings"]) { + var dris = boardData["Drillings"]; + for (var _d = 0, dris_1 = dris; _d < dris_1.length; _d++) { + var dri = dris_1[_d]; + var geo = new three_1.CylinderGeometry(dri.r, dri.r, dri.h, 8); + geo.rotateX(Math.PI * 0.5); + if (dri.f === 0) //0正 + geo.translate(dri.x, dri.y, -dri.h * 0.5); + else //1反 + geo.translate(dri.x, dri.y, dri.h * 0.5 - boardData["H"]); + geo.applyMatrix4(boardMat); + var mesh_1 = new three_1.Mesh(geo, ColorPalette_1.ColorMaterial.GetBasicMaterial(1)); + edges.push(mesh_1); + // let edge = createEdge(geo); + // edge.material = new LineBasicMaterial({ color: new Color(1, 0, 0) }); + // edges.push(edge); + // let subCsg = new ThreeBSP(geo); + // thisCsg = thisCsg.subtract(subCsg); + } + } + ext = thisCsg.toGeometry(); + } + if (boardData["BoardName"] === "地脚线") + RotateUV_1.RotateUVs(ext); + var mesh = new three_1.Mesh(ext, Material_1.boardMaterial); + mesh.userData = ZD; + edges.forEach(function (e) { return e.userData = ZD; }); + return { mesh: mesh, edges: edges }; +} +exports.createBoard = createBoard; +function checkObjectArray(obj, key) { + return obj[key] && obj[key].length > 0; +} +function createTemplateBoard(brDataList) { + var meshs = []; + var edgesa = []; + var relations = { + blockMeshMap: new Map(), + meshBlockMap: new Map() + }; + for (var _i = 0, brDataList_1 = brDataList; _i < brDataList_1.length; _i++) { + var d = brDataList_1[_i]; + var _a = createBoard(d), mesh = _a.mesh, edges = _a.edges; + meshs.push(mesh); + edgesa.push.apply(edgesa, edges); + if (d['DataID']) { + relations.blockMeshMap.set(d['DataID'], mesh.id); + relations.meshBlockMap.set(mesh.id, d['DataID']); + } + } + return { meshs: meshs, edgesa: edgesa, relations: relations }; +} +exports.createTemplateBoard = createTemplateBoard; +function createEdge(geo) { + var edge = new three_1.EdgesGeometry(geo, 1); + return new three_1.LineSegments(edge, Material_1.edgeMaterial); +} +exports.createEdge = createEdge; +//# sourceMappingURL=createBoard.js.map \ No newline at end of file diff --git a/dist/createBoard.js.map b/dist/createBoard.js.map new file mode 100644 index 0000000..8af8035 --- /dev/null +++ b/dist/createBoard.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createBoard.js","sourceRoot":"","sources":["../src/createBoard.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/data.d.ts b/dist/data.d.ts new file mode 100644 index 0000000..94d2145 --- /dev/null +++ b/dist/data.d.ts @@ -0,0 +1,75 @@ +export declare var data: ({ + L: number; + W: number; + H: number; + BasePoint: { + x: number; + y: number; + z: number; + }; + XVec: { + x: number; + y: number; + z: number; + }; + YVec: { + x: number; + y: number; + z: number; + }; + ZVec: { + x: number; + y: number; + z: number; + }; + Pts: { + x: number; + y: number; + z: number; + }[]; + Buls: number[]; + SubBoardLocal: any[]; + SubBoardAssoc: any[]; + MaterialId?: undefined; + Handle?: undefined; + CabName?: undefined; + BoardName?: undefined; + Grain?: undefined; +} | { + L: number; + W: number; + H: number; + MaterialId: string; + BasePoint: { + x: number; + y: number; + z: number; + }; + XVec: { + x: number; + y: number; + z: number; + }; + YVec: { + x: number; + y: number; + z: number; + }; + ZVec: { + x: number; + y: number; + z: number; + }; + Handle: string; + CabName: string; + BoardName: string; + Grain: number; + Pts: { + x: number; + y: number; + z: number; + }[]; + Buls: number[]; + SubBoardLocal: any[]; + SubBoardAssoc: any[]; +})[]; diff --git a/dist/data.js b/dist/data.js new file mode 100644 index 0000000..1f4853d --- /dev/null +++ b/dist/data.js @@ -0,0 +1,552 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.data = [ + { + "L": 100.0, + "W": 800.0, + "H": 18.0, + "BasePoint": { + "x": 2076.407626150509, + "y": 1942.2104819571228, + "z": 1882.0 + }, + "XVec": { + "x": 1.0, + "y": 4.930380657631324e-32, + "z": -2.220446049250313e-16 + }, + "YVec": { + "x": 2.220446049250313e-16, + "y": 2.220446049250313e-16, + "z": 1.0 + }, + "ZVec": { + "x": 9.860761315262648e-32, + "y": -1.0, + "z": 2.220446049250313e-16 + }, + "Pts": [ + { + "x": 2076.407626150509, + "y": 1942.2104819571228, + "z": 1882.0 + }, + { + "x": 2876.407626150509, + "y": 1942.2104819571228, + "z": 1881.9999999999998 + }, + { + "x": 2876.407626150509, + "y": 1942.2104819571228, + "z": 1981.9999999999998 + }, + { + "x": 2076.407626150509, + "y": 1942.2104819571228, + "z": 1982.0 + }, + { + "x": 2076.407626150509, + "y": 1942.2104819571228, + "z": 1882.0 + } + ], + "Buls": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "SubBoardLocal": [], + "SubBoardAssoc": [] + }, + { + "L": 800.0, + "W": 100.00000000000068, + "H": 18.0, + "MaterialId": "EE", + "BasePoint": { + "x": 2876.407626150509, + "y": 1960.2104819571226, + "z": 1900.0000000000005 + }, + "XVec": { + "x": 4.440892098500626e-16, + "y": 1.0, + "z": 2.2204460492503124e-16 + }, + "YVec": { + "x": -1.0, + "y": 4.440892098500626e-16, + "z": 2.220446049250314e-16 + }, + "ZVec": { + "x": 2.220446049250313e-16, + "y": -2.220446049250313e-16, + "z": 1.0 + }, + "Handle": "293", + "CabName": "1.标准柜上梁1", + "BoardName": "", + "Grain": 0, + "Pts": [ + { + "x": 2876.407626150509, + "y": 1960.2104819571228, + "z": 1900.0000000000005 + }, + { + "x": 2876.407626150509, + "y": 2060.210481957123, + "z": 1900.0000000000005 + }, + { + "x": 2076.407626150509, + "y": 2060.210481957123, + "z": 1900.0000000000005 + }, + { + "x": 2076.407626150509, + "y": 1960.210481957123, + "z": 1900.0000000000005 + }, + { + "x": 2876.407626150509, + "y": 1960.2104819571228, + "z": 1900.0000000000005 + } + ], + "Buls": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "SubBoardLocal": [], + "SubBoardAssoc": [] + }, + { + "L": 1899.9999999999998, + "W": 800.0, + "H": 18.0, + "MaterialId": "EE", + "BasePoint": { + "x": 2076.407626150509, + "y": 2060.2104819571225, + "z": -1.816324868286756e-13 + }, + "XVec": { + "x": 1.0, + "y": 0.0, + "z": 0.0 + }, + "YVec": { + "x": 0.0, + "y": 4.440892098500626e-16, + "z": 1.0 + }, + "ZVec": { + "x": 0.0, + "y": -1.0, + "z": 4.440892098500626e-16 + }, + "Handle": "291", + "CabName": "1.标准柜上梁1", + "BoardName": "背板", + "Grain": 0, + "Pts": [ + { + "x": 2076.407626150509, + "y": 2060.2104819571225, + "z": -1.021405182655144e-13 + }, + { + "x": 2876.407626150509, + "y": 2060.2104819571225, + "z": -1.816324868286756e-13 + }, + { + "x": 2876.407626150509, + "y": 2060.210481957123, + "z": 1899.9999999999996 + }, + { + "x": 2076.407626150509, + "y": 2060.210481957123, + "z": 1899.9999999999998 + }, + { + "x": 2076.407626150509, + "y": 2060.2104819571225, + "z": -1.021405182655144e-13 + } + ], + "Buls": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "SubBoardLocal": [], + "SubBoardAssoc": [] + }, + { + "L": 800.0, + "W": 482.0000000000002, + "H": 18.0, + "MaterialId": "EE", + "BasePoint": { + "x": 2876.407626150509, + "y": 1578.210481957122, + "z": 97.99999999999999 + }, + "XVec": { + "x": 4.440892098500626e-16, + "y": 1.0, + "z": 0.0 + }, + "YVec": { + "x": -1.0, + "y": 4.440892098500626e-16, + "z": 0.0 + }, + "ZVec": { + "x": 0.0, + "y": 0.0, + "z": 1.0 + }, + "Handle": "290", + "CabName": "1.标准柜上梁1", + "BoardName": "底板", + "Grain": 0, + "Pts": [ + { + "x": 2876.407626150509, + "y": 1578.210481957122, + "z": 97.99999999999999 + }, + { + "x": 2876.407626150509, + "y": 2060.2104819571225, + "z": 97.99999999999999 + }, + { + "x": 2076.407626150509, + "y": 2060.2104819571225, + "z": 97.99999999999999 + }, + { + "x": 2076.407626150509, + "y": 1578.2104819571226, + "z": 97.99999999999999 + }, + { + "x": 2876.407626150509, + "y": 1578.210481957122, + "z": 97.99999999999999 + } + ], + "Buls": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "SubBoardLocal": [], + "SubBoardAssoc": [] + }, + { + "L": 80.0, + "W": 800.0, + "H": 18.0, + "MaterialId": "EE", + "BasePoint": { + "x": 2076.407626150509, + "y": 1578.2104819571223, + "z": 0.0 + }, + "XVec": { + "x": 1.0, + "y": 0.0, + "z": 0.0 + }, + "YVec": { + "x": 0.0, + "y": 4.440892098500626e-16, + "z": 1.0 + }, + "ZVec": { + "x": 0.0, + "y": -1.0, + "z": 4.440892098500626e-16 + }, + "Handle": "28E", + "CabName": "1.标准柜上梁1", + "BoardName": "地脚线", + "Grain": 1, + "Pts": [ + { + "x": 2076.407626150509, + "y": 1578.2104819571223, + "z": 0.0 + }, + { + "x": 2876.407626150509, + "y": 1578.2104819571223, + "z": 0.0 + }, + { + "x": 2876.407626150509, + "y": 1578.2104819571223, + "z": 80.0 + }, + { + "x": 2076.407626150509, + "y": 1578.2104819571223, + "z": 80.0 + }, + { + "x": 2076.407626150509, + "y": 1578.2104819571223, + "z": 0.0 + } + ], + "Buls": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "SubBoardLocal": [], + "SubBoardAssoc": [] + }, + { + "L": 800.0, + "W": 482.0, + "H": 18.0, + "MaterialId": "EE", + "BasePoint": { + "x": 2876.4076261505085, + "y": 1478.210481957122, + "z": 1999.9999999999996 + }, + "XVec": { + "x": 4.440892098500626e-16, + "y": 1.0, + "z": 0.0 + }, + "YVec": { + "x": -1.0, + "y": 4.440892098500626e-16, + "z": 0.0 + }, + "ZVec": { + "x": 0.0, + "y": 0.0, + "z": 1.0 + }, + "Handle": "28C", + "CabName": "1.标准柜上梁1", + "BoardName": "顶板", + "Grain": 0, + "Pts": [ + { + "x": 2076.407626150509, + "y": 1960.2104819571223, + "z": 1999.9999999999996 + }, + { + "x": 2076.407626150509, + "y": 1478.2104819571226, + "z": 1999.9999999999996 + }, + { + "x": 2876.407626150509, + "y": 1478.210481957122, + "z": 1999.9999999999996 + }, + { + "x": 2876.4076261505085, + "y": 1960.210481957122, + "z": 1999.9999999999996 + }, + { + "x": 2076.407626150509, + "y": 1960.2104819571223, + "z": 1999.9999999999996 + } + ], + "Buls": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "SubBoardLocal": [], + "SubBoardAssoc": [] + }, + { + "L": 1999.9999999999996, + "W": 600.0, + "H": 18.0, + "MaterialId": "EE", + "BasePoint": { + "x": 2894.4076261505094, + "y": 1478.2104819571223, + "z": -2.2737367544323197e-13 + }, + "XVec": { + "x": 4.930380657631324e-32, + "y": 1.0, + "z": -2.220446049250313e-16 + }, + "YVec": { + "x": -2.220446049250313e-16, + "y": 2.220446049250313e-16, + "z": 1.0 + }, + "ZVec": { + "x": 1.0, + "y": 0.0, + "z": 2.220446049250313e-16 + }, + "Handle": "28B", + "CabName": "1.标准柜上梁1", + "BoardName": "右侧板", + "Grain": 0, + "Pts": [ + { + "x": 2894.407626150509, + "y": 1960.2104819571228, + "z": 1899.9999999999989 + }, + { + "x": 2894.407626150509, + "y": 1960.2104819571228, + "z": 1999.9999999999994 + }, + { + "x": 2894.407626150509, + "y": 1478.2104819571228, + "z": 1999.9999999999994 + }, + { + "x": 2894.4076261505094, + "y": 1478.2104819571223, + "z": -1.816324868286755e-13 + }, + { + "x": 2894.4076261505094, + "y": 2078.2104819571225, + "z": -6.274980535181384e-13 + }, + { + "x": 2894.407626150509, + "y": 2078.2104819571229, + "z": 1899.9999999999973 + }, + { + "x": 2894.407626150509, + "y": 1960.2104819571228, + "z": 1899.9999999999989 + } + ], + "Buls": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "SubBoardLocal": [], + "SubBoardAssoc": [] + }, + { + "L": 1999.9999999999996, + "W": 600.0, + "H": 18.0, + "MaterialId": "EE", + "BasePoint": { + "x": 2076.4076261505094, + "y": 1478.2104819571223, + "z": 1.0097419586828951e-28 + }, + "XVec": { + "x": 4.930380657631324e-32, + "y": 1.0, + "z": -2.220446049250313e-16 + }, + "YVec": { + "x": -2.220446049250313e-16, + "y": 2.220446049250313e-16, + "z": 1.0 + }, + "ZVec": { + "x": 1.0, + "y": 0.0, + "z": 2.220446049250313e-16 + }, + "Handle": "288", + "CabName": "1.标准柜上梁1", + "BoardName": "左侧板", + "Grain": 0, + "Pts": [ + { + "x": 2076.407626150509, + "y": 1960.2104819571228, + "z": 1899.999999999999 + }, + { + "x": 2076.407626150509, + "y": 1960.2104819571228, + "z": 1999.9999999999996 + }, + { + "x": 2076.407626150509, + "y": 1478.2104819571228, + "z": 1999.9999999999996 + }, + { + "x": 2076.4076261505094, + "y": 1478.2104819571223, + "z": 1.0097419586828951e-28 + }, + { + "x": 2076.4076261505094, + "y": 2078.2104819571225, + "z": -4.4586556668946279e-13 + }, + { + "x": 2076.407626150509, + "y": 2078.2104819571229, + "z": 1899.9999999999978 + }, + { + "x": 2076.407626150509, + "y": 1960.2104819571228, + "z": 1899.999999999999 + } + ], + "Buls": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "SubBoardLocal": [], + "SubBoardAssoc": [] + } +]; +//# sourceMappingURL=data.js.map \ No newline at end of file diff --git a/dist/data.js.map b/dist/data.js.map new file mode 100644 index 0000000..05dc03f --- /dev/null +++ b/dist/data.js.map @@ -0,0 +1 @@ +{"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..b1036cd --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,9 @@ +export * from "./Viewer"; +export * from "./CameraControls"; +export * from "./GeUtils"; +export * from "./createBoard"; +export * from "./Dimension"; +export * from "./DrawDimension"; +export * from "./Material"; +export * from "./PointPick"; +export * from "./Utils"; diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..cd3f1dc --- /dev/null +++ b/dist/index.js @@ -0,0 +1,15 @@ +"use strict"; +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} +Object.defineProperty(exports, "__esModule", { value: true }); +__export(require("./Viewer")); +__export(require("./CameraControls")); +__export(require("./GeUtils")); +__export(require("./createBoard")); +__export(require("./Dimension")); +__export(require("./DrawDimension")); +__export(require("./Material")); +__export(require("./PointPick")); +__export(require("./Utils")); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map new file mode 100644 index 0000000..ef85b1c --- /dev/null +++ b/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,8BAAyB;AACzB,sCAAiC;AACjC,+BAA0B;AAC1B,mCAA8B;AAC9B,iCAA4B;AAC5B,qCAAgC;AAChC,gCAA2B;AAC3B,iCAA2B;AAC3B,6BAAuB"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a423e6b..0fc983b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,19 @@ { "name": "cadview", - "version": "1.1.9", + "version": "1.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { + "@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz", + "integrity": "sha1-M2utwb7sudrMOL6izzKt9ieoQho=", + "dev": true + }, "@types/body-parser": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz", - "integrity": "sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==", + "version": "1.19.0", + "resolved": "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.19.0.tgz", + "integrity": "sha1-BoWzxH6zAG/+0RfN1VFkth+AU48=", "dev": true, "requires": { "@types/connect": "*", @@ -15,117 +21,163 @@ } }, "@types/connect": { - "version": "3.4.32", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz", - "integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==", + "version": "3.4.33", + "resolved": "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.33.tgz", + "integrity": "sha1-MWEMkB7KVzuHE8MzCrxua59YhUY=", "dev": true, "requires": { "@types/node": "*" } }, + "@types/connect-history-api-fallback": { + "version": "1.3.3", + "resolved": "https://registry.npm.taobao.org/@types/connect-history-api-fallback/download/@types/connect-history-api-fallback-1.3.3.tgz", + "integrity": "sha1-R3K3m4tTGF8PTJ3qsJI2uvdu47Q=", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, "@types/events": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", - "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==", + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/@types/events/download/@types/events-3.0.0.tgz?cache=0&sync_timestamp=1588200013267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fevents%2Fdownload%2F%40types%2Fevents-3.0.0.tgz", + "integrity": "sha1-KGLz9Yqaf3w+eNefEw3U1xwlwqc=", "dev": true }, "@types/express": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.16.0.tgz", - "integrity": "sha512-TtPEYumsmSTtTetAPXlJVf3kEqb6wZK0bZojpJQrnD/djV4q1oB6QQ8aKvKqwNPACoe02GNiy5zDzcYivR5Z2w==", + "version": "4.17.6", + "resolved": "https://registry.npm.taobao.org/@types/express/download/@types/express-4.17.6.tgz?cache=0&sync_timestamp=1588200345095&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fexpress%2Fdownload%2F%40types%2Fexpress-4.17.6.tgz", + "integrity": "sha1-a85J5JVwUHuG6hsHuAbwRpf6xF4=", "dev": true, "requires": { "@types/body-parser": "*", "@types/express-serve-static-core": "*", + "@types/qs": "*", "@types/serve-static": "*" } }, "@types/express-serve-static-core": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz", - "integrity": "sha512-lTeoCu5NxJU4OD9moCgm0ESZzweAx0YqsAcab6OB0EB3+As1OaHtKnaGJvcngQxYsi9UNv0abn4/DRavrRxt4w==", + "version": "4.17.5", + "resolved": "https://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.5.tgz", + "integrity": "sha1-oArH2t10augkd0Q+TUgKapPqCDw=", "dev": true, "requires": { - "@types/events": "*", "@types/node": "*", "@types/range-parser": "*" } }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.1.tgz?cache=0&sync_timestamp=1588200288112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.1.tgz", + "integrity": "sha1-qlmhxuP7xCHgfM0xqUTDDrpSFXU=", + "dev": true, + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, "@types/hard-source-webpack-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@types/hard-source-webpack-plugin/-/hard-source-webpack-plugin-0.9.0.tgz", - "integrity": "sha512-Z8Kdn0pQFZqaXCGy6WhI2juMZ4zb8b4FQuQXpjuA/6pOKa8xU8Euh1tzac/aJxJbJu/Od6cTtFoiAT9Or3+KzA==", + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/@types/hard-source-webpack-plugin/download/@types/hard-source-webpack-plugin-1.0.1.tgz", + "integrity": "sha1-SuzKNbr7eTm88xi79aJxDDFjzdQ=", "dev": true, "requires": { "@types/webpack": "*" } }, + "@types/html-minifier-terser": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/@types/html-minifier-terser/download/@types/html-minifier-terser-5.0.0.tgz", + "integrity": "sha1-dTJEDBOGBc7RtVWTXDEV3dIOi+8=", + "dev": true + }, "@types/http-proxy": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.16.2.tgz", - "integrity": "sha512-GgqePmC3rlsn1nv+kx5OviPuUBU2omhnlXOaJSXFgOdsTcScNFap+OaCb2ip9Bm4m5L8EOehgT5d9M4uNB90zg==", + "version": "1.17.4", + "resolved": "https://registry.npm.taobao.org/@types/http-proxy/download/@types/http-proxy-1.17.4.tgz", + "integrity": "sha1-58kuPb4+E6p5lED/QubToXqdBFs=", "dev": true, "requires": { - "@types/events": "*", "@types/node": "*" } }, "@types/http-proxy-middleware": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/@types/http-proxy-middleware/-/http-proxy-middleware-0.17.5.tgz", - "integrity": "sha512-mUqVzfaiOknDT2QJ7g8f2c37G4ZDqDNt08QdUkFCu19Ey5+2SZ0rWHMG00GRJ7g+SgHvl/9weZYuWLXr7RgiCg==", + "version": "0.19.3", + "resolved": "https://registry.npm.taobao.org/@types/http-proxy-middleware/download/@types/http-proxy-middleware-0.19.3.tgz", + "integrity": "sha1-suuW+8D5rHJQtdnExTqt4ElJfQM=", "dev": true, "requires": { "@types/connect": "*", "@types/http-proxy": "*", - "@types/node": "*", - "winston": "^3.0.0" + "@types/node": "*" } }, "@types/mime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz", - "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==", + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/@types/mime/download/@types/mime-2.0.1.tgz?cache=0&sync_timestamp=1588201894076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fmime%2Fdownload%2F%40types%2Fmime-2.0.1.tgz", + "integrity": "sha1-3EiIQjEqfwdRSTEpBbXjwLBUx50=", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz", + "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=", "dev": true }, "@types/node": { - "version": "10.11.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.11.7.tgz", - "integrity": "sha512-yOxFfkN9xUFLyvWaeYj90mlqTJ41CsQzWKS3gXdOMOyPVacUsymejKxJ4/pMW7exouubuEeZLJawGgcNGYlTeg==", + "version": "13.13.4", + "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-13.13.4.tgz?cache=0&sync_timestamp=1588201510948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-13.13.4.tgz", + "integrity": "sha1-FYHWwW49SAPrB5yH1KyJPudQHCw=", + "dev": true + }, + "@types/qs": { + "version": "6.9.1", + "resolved": "https://registry.npm.taobao.org/@types/qs/download/@types/qs-6.9.1.tgz?cache=0&sync_timestamp=1588202411252&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fqs%2Fdownload%2F%40types%2Fqs-6.9.1.tgz", + "integrity": "sha1-k3+rMZR2YlbuCfzUC3gXQHWGF+c=", "dev": true }, "@types/range-parser": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.2.tgz", - "integrity": "sha512-HtKGu+qG1NPvYe1z7ezLsyIaXYyi8SoAVqWDZgDQ8dLrsZvSzUNCwZyfX33uhWxL/SU0ZDQZ3nwZ0nimt507Kw==", + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/@types/range-parser/download/@types/range-parser-1.2.3.tgz?cache=0&sync_timestamp=1588201899266&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Frange-parser%2Fdownload%2F%40types%2Frange-parser-1.2.3.tgz", + "integrity": "sha1-fuMwunyq+5gJC+zoal7kQRWQTCw=", "dev": true }, "@types/serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q==", + "version": "1.13.3", + "resolved": "https://registry.npm.taobao.org/@types/serve-static/download/@types/serve-static-1.13.3.tgz", + "integrity": "sha1-634cQcRGgnJVfol+kXHe1eLe2dE=", "dev": true, "requires": { "@types/express-serve-static-core": "*", "@types/mime": "*" } }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz?cache=0&sync_timestamp=1588202412220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fsource-list-map%2Fdownload%2F%40types%2Fsource-list-map-0.1.2.tgz", + "integrity": "sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk=", + "dev": true + }, "@types/tapable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.4.tgz", - "integrity": "sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ==", + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.5.tgz?cache=0&sync_timestamp=1588202412329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Ftapable%2Fdownload%2F%40types%2Ftapable-1.0.5.tgz", + "integrity": "sha1-mtvBKVBYKqZerXa//fOf4MJ6PAI=", "dev": true }, "@types/three": { - "version": "0.92.25", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.92.25.tgz", - "integrity": "sha512-xutT9mv07h4hmVR5UyL6qTZf+NJGeVpKd/2ZNMBIFN+y51RfavWHePayX5e3qGrZlP5+FeIpRhsCv9zeNqKHjQ==", - "dev": true + "version": "0.103.2", + "resolved": "https://registry.npm.taobao.org/@types/three/download/@types/three-0.103.2.tgz", + "integrity": "sha1-99SRMAAcVRlBoN7XV974EFear8Q=", + "dev": true, + "requires": { + "three": "*" + } }, "@types/uglify-js": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.0.3.tgz", - "integrity": "sha512-MAT0BW2ruO0LhQKjvlipLGCF/Yx0y/cj+tT67tK3QIQDrM2+9R78HgJ54VlrE8AbfjYJJBCQCEPM5ZblPVTuww==", + "version": "3.9.0", + "resolved": "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.9.0.tgz?cache=0&sync_timestamp=1588202412738&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.9.0.tgz", + "integrity": "sha1-RJChQMqCqoVa1oCTgp5/1q6U6oc=", "dev": true, "requires": { "source-map": "^0.6.1" @@ -141,24 +193,26 @@ } }, "@types/webpack": { - "version": "4.4.16", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.4.16.tgz", - "integrity": "sha512-kE6elo5EaC11mB94xezvAH2vwec8+vsx9bzacIZgIWn7ITShEXE/j8KX4LJ5ssCAYPaXMZchbVmpycDwJ84gtA==", + "version": "4.41.12", + "resolved": "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.41.12.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack%2Fdownload%2F%40types%2Fwebpack-4.41.12.tgz", + "integrity": "sha1-A4buKigUNo4vI5ersDbAvxc/9sM=", "dev": true, "requires": { + "@types/anymatch": "*", "@types/node": "*", "@types/tapable": "*", "@types/uglify-js": "*", - "@types/webpack-dev-server": "*", + "@types/webpack-sources": "*", "source-map": "^0.6.0" } }, "@types/webpack-dev-server": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.1.1.tgz", - "integrity": "sha512-TnEQPT+OZjWV2kRyNs0RPMDQmBCiLrr/ZhKSgFNF6aM4O/moUAfo2Yu3MIMUjoi3aE/02RH1iVR+Y6mWmXOlVA==", + "version": "3.10.1", + "resolved": "https://registry.npm.taobao.org/@types/webpack-dev-server/download/@types/webpack-dev-server-3.10.1.tgz", + "integrity": "sha1-k7cTPMnascobdmWfXvi3Y61Uwoo=", "dev": true, "requires": { + "@types/connect-history-api-fallback": "*", "@types/express": "*", "@types/http-proxy-middleware": "*", "@types/serve-static": "*", @@ -166,263 +220,262 @@ } }, "@types/webpack-env": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.13.6.tgz", - "integrity": "sha512-5Th3OsZ4gTRdr9Mho83BQ23cex4sRhOR4XTG+m+cJc0FhtUBK9Vn62hBJ+pnQYnSxoPOsKoAPOx6FcphxBC8ng==", + "version": "1.15.2", + "resolved": "https://registry.npm.taobao.org/@types/webpack-env/download/@types/webpack-env-1.15.2.tgz?cache=0&sync_timestamp=1588202205779&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack-env%2Fdownload%2F%40types%2Fwebpack-env-1.15.2.tgz", + "integrity": "sha1-knmXNCu59KUYWobmV5oKGK/DOwo=", "dev": true }, "@types/webpack-merge": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@types/webpack-merge/-/webpack-merge-4.1.3.tgz", - "integrity": "sha512-VdmNuYIvIouYlCI73NLKOE1pOVAxv5m5eupvTemojZz9dqghoQXmeEveI6CqeuWpCH6x6FLp6+tXM2sls20/MA==", + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/@types/webpack-merge/download/@types/webpack-merge-4.1.5.tgz", + "integrity": "sha1-Jl++5IEEdIYND0wX4BBwMoge7Uc=", "dev": true, "requires": { "@types/webpack": "*" } }, - "@webassemblyjs/ast": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.8.tgz", - "integrity": "sha512-dOrtdtEyB8sInpl75yLPNksY4sRl0j/+t6aHyB/YA+ab9hV3Fo7FmG12FHzP+2MvWVAJtDb+6eXR5EZbZJ+uVg==", + "@types/webpack-sources": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/@types/webpack-sources/download/@types/webpack-sources-0.1.7.tgz?cache=0&sync_timestamp=1588202412807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack-sources%2Fdownload%2F%40types%2Fwebpack-sources-0.1.7.tgz", + "integrity": "sha1-CjMKlFYRNBDHSl1kGArwy8oAcUE=", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8" + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.6.1" + } + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&sync_timestamp=1580600103531&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz", + "integrity": "sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz", - "integrity": "sha512-kn2zNKGsbql5i56VAgRYkpG+VazqHhQQZQycT2uXAazrAEDs23gy+Odkh5VblybjnwX2/BITkDtNmSO76hdIvQ==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz?cache=0&sync_timestamp=1580600093212&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.9.0.tgz", + "integrity": "sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz", - "integrity": "sha512-xUwxDXsd1dUKArJEP5wWM5zxgCSwZApSOJyP1XO7M8rNUChUDblcLQ4FpzTpWG2YeylMwMl1MlP5Ztryiz1x4g==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz", + "integrity": "sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz", - "integrity": "sha512-WXiIMnuvuwlhWvVOm8xEXU9DnHaa3AgAU0ZPfvY8vO1cSsmYb2WbGbHnMLgs43vXnA7XAob9b56zuZaMkxpCBg==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz", + "integrity": "sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=", "dev": true }, "@webassemblyjs/helper-code-frame": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz", - "integrity": "sha512-TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz", + "integrity": "sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.7.8" + "@webassemblyjs/wast-printer": "1.9.0" } }, "@webassemblyjs/helper-fsm": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz", - "integrity": "sha512-TjK0CnD8hAPkV5mbSp5aWl6SO1+H3WFcjWtixWoy8EMA99YnNzYhpc/WSYWhf7yrhpzkq5tZB0tvLK3Svr3IXA==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz?cache=0&sync_timestamp=1580600091792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.9.0.tgz", + "integrity": "sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=", "dev": true }, "@webassemblyjs/helper-module-context": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz", - "integrity": "sha512-uCutAKR7Nm0VsFixcvnB4HhAyHouNbj0Dx1p7eRjFjXGGZ+N7ftTaG1ZbWCasAEbtwGj54LP8+lkBZdTCPmLGg==", - "dev": true + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz?cache=0&sync_timestamp=1580600151060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-module-context%2Fdownload%2F%40webassemblyjs%2Fhelper-module-context-1.9.0.tgz", + "integrity": "sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz", - "integrity": "sha512-AdCCE3BMW6V34WYaKUmPgVHa88t2Z14P4/0LjLwuGkI0X6pf7nzp0CehzVVk51cKm2ymVXjl9dCG+gR1yhITIQ==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz", - "integrity": "sha512-BkBhYQuzyl4hgTGOKo87Vdw6f9nj8HhI7WYpI0MCC5qFa5ahrAPOGgyETVdnRbv+Rjukl9MxxfDmVcVC435lDg==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz", + "integrity": "sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, "@webassemblyjs/ieee754": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz", - "integrity": "sha512-tOarWChdG1a3y1yqCX0JMDKzrat5tQe4pV6K/TX19BcXsBLYxFQOL1DEDa5KG9syeyvCrvZ+i1+Mv1ExngvktQ==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz", + "integrity": "sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.8.tgz", - "integrity": "sha512-GCYeGPgUFWJiZuP4NICbcyUQNxNLJIf476Ei+K+jVuuebtLpfvwkvYT6iTUE7oZYehhkor4Zz2g7SJ/iZaPudQ==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz", + "integrity": "sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=", "dev": true, "requires": { - "@xtuc/long": "4.2.1" + "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.8.tgz", - "integrity": "sha512-9X+f0VV+xNXW2ujfIRSXBJENGE6Qh7bNVKqu3yDjTFB3ar3nsThsGBBKdTG58aXOm2iUH6v28VIf88ymPXODHA==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz?cache=0&sync_timestamp=1580600100063&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.9.0.tgz", + "integrity": "sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz", - "integrity": "sha512-6D3Hm2gFixrfyx9XjSON4ml1FZTugqpkIz5Awvrou8fnpyprVzcm4X8pyGRtA2Piixjl3DqmX/HB1xdWyE097A==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz", + "integrity": "sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/helper-wasm-section": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-opt": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", - "@webassemblyjs/wast-printer": "1.7.8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" } }, "@webassemblyjs/wasm-gen": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz", - "integrity": "sha512-a7O/wE6eBeVKKUYgpMK7NOHmMADD85rSXLe3CqrWRDwWff5y3cSVbzpN6Qv3z6C4hdkpq9qyij1Ga1kemOZGvQ==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&sync_timestamp=1580600104620&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz", + "integrity": "sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, "@webassemblyjs/wasm-opt": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz", - "integrity": "sha512-3lbQ0PT81NHCdi1sR/7+SNpZadM4qYcTSr62nFFAA7e5lFwJr14M1Gi+A/Y3PgcDWOHYjsaNGPpPU0H03N6Blg==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz", + "integrity": "sha1-IhEYHlsxMmRDzIES658LkChyGmE=", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-buffer": "1.7.8", - "@webassemblyjs/wasm-gen": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, "@webassemblyjs/wasm-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz", - "integrity": "sha512-rZ/zlhp9DHR/05zh1MbAjT2t624sjrPP/OkJCjXqzm7ynH+nIdNcn9Ixc+qzPMFXhIrk0rBoQ3to6sEIvHh9jQ==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz", + "integrity": "sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-wasm-bytecode": "1.7.8", - "@webassemblyjs/ieee754": "1.7.8", - "@webassemblyjs/leb128": "1.7.8", - "@webassemblyjs/utf8": "1.7.8" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, "@webassemblyjs/wast-parser": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz", - "integrity": "sha512-Q/zrvtUvzWuSiJMcSp90fi6gp2nraiHXjTV2VgAluVdVapM4gy1MQn7akja2p6eSBDQpKJPJ6P4TxRkghRS5dg==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz?cache=0&sync_timestamp=1580600149981&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.9.0.tgz", + "integrity": "sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/floating-point-hex-parser": "1.7.8", - "@webassemblyjs/helper-api-error": "1.7.8", - "@webassemblyjs/helper-code-frame": "1.7.8", - "@webassemblyjs/helper-fsm": "1.7.8", - "@xtuc/long": "4.2.1" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" } }, "@webassemblyjs/wast-printer": { - "version": "1.7.8", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz", - "integrity": "sha512-GllIthRtwTxRDAURRNXscu7Napzmdf1jt1gpiZiK/QN4fH0lSGs3OTmvdfsMNP7tqI4B3ZtfaaWRlNIQug6Xyg==", + "version": "1.9.0", + "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz?cache=0&sync_timestamp=1580600105652&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.9.0.tgz", + "integrity": "sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/wast-parser": "1.7.8", - "@xtuc/long": "4.2.1" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, "@xtuc/ieee754": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "resolved": "http://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", "dev": true }, "@xtuc/long": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", - "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==", - "dev": true - }, - "JSV": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", - "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", + "version": "4.2.2", + "resolved": "http://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", "dev": true }, "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.7", + "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", + "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", "dev": true, "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" } }, "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "6.4.1", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.4.1.tgz", + "integrity": "sha1-Ux5Yuj9RudrLmmZGyk3r9bFMpHQ=", "dev": true }, - "acorn-dynamic-import": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", - "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", - "dev": true, - "requires": { - "acorn": "^5.0.0" - } - }, "ajv": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", - "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", + "version": "6.12.2", + "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.2.tgz", + "integrity": "sha1-xinF7O0XuvMUQ3kY0tqIyZ1ZWM0=", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "ajv-errors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", - "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz", + "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", "dev": true }, "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "version": "3.4.1", + "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.4.1.tgz", + "integrity": "sha1-75FuJxxkrBIXH9g4TqrmsjRYVNo=", "dev": true }, "ansi-colors": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.1.0.tgz", - "integrity": "sha512-hTv1qPdi+sVEk3jYsdjox5nQI0C9HTbjKShbCdYLKb1LOfNbb7wsF4d7OEKIZoxIHx02tSp3m94jcPW2EfMjmA==", + "version": "3.2.4", + "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz", + "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=", "dev": true }, "ansi-html": { @@ -448,18 +501,35 @@ }, "anymatch": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", "dev": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } } }, "aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "resolved": "http://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", + "dev": true + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npm.taobao.org/arg/download/arg-4.1.3.tgz", + "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk=", "dev": true }, "arr-diff": { @@ -481,9 +551,9 @@ "dev": true }, "array-flatten": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz?cache=0&sync_timestamp=1574313315299&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-2.1.2.tgz", + "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", "dev": true }, "array-union": { @@ -507,16 +577,10 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, "asn1.js": { "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz", + "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -525,11 +589,12 @@ } }, "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz", + "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", "dev": true, "requires": { + "object-assign": "^4.1.1", "util": "0.10.3" }, "dependencies": { @@ -557,18 +622,32 @@ "dev": true }, "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", "dev": true, "requires": { - "lodash": "^4.17.10" + "lodash": "^4.17.14" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=", + "dev": true + } } }, "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", + "dev": true + }, + "async-limiter": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-limiter%2Fdownload%2Fasync-limiter-1.0.1.tgz", + "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", "dev": true }, "atob": { @@ -693,9 +772,9 @@ } }, "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz", + "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=", "dev": true }, "batch": { @@ -711,39 +790,57 @@ "dev": true }, "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "version": "1.13.1", + "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "http://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", + "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bluebird": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", - "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==", + "version": "3.7.2", + "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", + "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", "dev": true }, "bn.js": { "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz", + "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=", "dev": true }, "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "version": "1.19.0", + "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", + "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", "dev": true, "requires": { - "bytes": "3.0.0", + "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", + "dev": true + } } }, "bonjour": { @@ -768,8 +865,8 @@ }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -813,8 +910,8 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "resolved": "http://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", + "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", "dev": true, "requires": { "buffer-xor": "^1.0.3", @@ -827,8 +924,8 @@ }, "browserify-cipher": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "resolved": "http://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", + "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", "dev": true, "requires": { "browserify-aes": "^1.0.4", @@ -838,8 +935,8 @@ }, "browserify-des": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "resolved": "http://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz", + "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", "dev": true, "requires": { "cipher-base": "^1.0.1", @@ -875,17 +972,17 @@ }, "browserify-zlib": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "resolved": "http://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", + "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", "dev": true, "requires": { "pako": "~1.0.5" } }, "buffer": { - "version": "4.9.1", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "version": "4.9.2", + "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1586909009855&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz", + "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=", "dev": true, "requires": { "base64-js": "^1.0.2", @@ -901,8 +998,8 @@ }, "buffer-indexof": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "resolved": "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz", + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", "dev": true }, "buffer-xor": { @@ -924,25 +1021,34 @@ "dev": true }, "cacache": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.2.0.tgz", - "integrity": "sha512-IFWl6lfK6wSeYCHUXh+N1lY72UDrpyrYQJNIVQf48paDuWbv5RbAtJYf/4gUQFObTCHZwdZ5sI8Iw7nqwP6nlQ==", + "version": "12.0.4", + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz", + "integrity": "sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=", "dev": true, "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "figgy-pudding": "^3.1.0", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.3", + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^6.0.0", - "unique-filename": "^1.1.0", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", "y18n": "^4.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz", + "integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs=", + "dev": true + } } }, "cache-base": { @@ -963,19 +1069,19 @@ } }, "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-4.1.1.tgz", + "integrity": "sha1-H8QchU8A4vfQE53+uhVC1olv5Uc=", "dev": true, "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "pascal-case": "^3.1.1", + "tslib": "^1.10.0" } }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", "dev": true }, "chalk": { @@ -990,36 +1096,35 @@ } }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", "dev": true, "requires": { "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", - "inherits": "^2.0.1", + "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", + "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "readdirp": "^2.2.1", + "upath": "^1.1.1" } }, "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchownr%2Fdownload%2Fchownr-1.1.4.tgz", + "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=", "dev": true }, "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz", + "integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=", "dev": true, "requires": { "tslib": "^1.9.0" @@ -1027,8 +1132,8 @@ }, "cipher-base": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "resolved": "http://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", + "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", "dev": true, "requires": { "inherits": "^2.0.1", @@ -1059,46 +1164,38 @@ } }, "clean-css": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", - "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", + "version": "4.2.3", + "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz", + "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=", "dev": true, "requires": { - "source-map": "0.5.x" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "source-map": "~0.6.0" } }, "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", "dev": true }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1573280518303&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } } } @@ -1119,16 +1216,6 @@ "object-visit": "^1.0.0" } }, - "color": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", - "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", - "dev": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, "color-convert": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", @@ -1144,42 +1231,10 @@ "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", "dev": true }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colornames": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz", - "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y=", - "dev": true - }, - "colors": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", - "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==", - "dev": true - }, - "colorspace": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.1.tgz", - "integrity": "sha512-pI3btWyiuz7Ken0BWh9Elzsmv2bM9AhA7psXib4anUXy/orfZ/E0MbQwhSOG/9L8hLlalqrU0UhOuqxW1YjmVw==", - "dev": true, - "requires": { - "color": "3.0.x", - "text-hex": "1.0.x" - } - }, "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-4.1.1.tgz?cache=0&sync_timestamp=1587781810870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-4.1.1.tgz", + "integrity": "sha1-n9YCvZNilOnp70aj9NaWQESxgGg=", "dev": true }, "commondir": { @@ -1195,25 +1250,25 @@ "dev": true }, "compressible": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", - "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", + "version": "2.0.18", + "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz", + "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", "dev": true, "requires": { - "mime-db": ">= 1.36.0 < 2" + "mime-db": ">= 1.43.0 < 2" } }, "compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "version": "1.7.4", + "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompression%2Fdownload%2Fcompression-1.7.4.tgz", + "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=", "dev": true, "requires": { "accepts": "~1.3.5", "bytes": "3.0.0", - "compressible": "~2.0.14", + "compressible": "~2.0.16", "debug": "2.6.9", - "on-headers": "~1.0.1", + "on-headers": "~1.0.2", "safe-buffer": "5.1.2", "vary": "~1.1.2" } @@ -1226,8 +1281,8 @@ }, "concat-stream": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "resolved": "http://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -1237,19 +1292,16 @@ } }, "connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=", "dev": true }, "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "^0.1.4" - } + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz", + "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=", + "dev": true }, "constants-browserify": { "version": "1.0.0", @@ -1258,21 +1310,24 @@ "dev": true }, "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true + "version": "0.5.3", + "resolved": "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", + "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } }, "content-type": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", "dev": true }, "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz?cache=0&sync_timestamp=1587525865178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookie%2Fdownload%2Fcookie-0.4.0.tgz", + "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", "dev": true }, "cookie-signature": { @@ -1283,8 +1338,8 @@ }, "copy-concurrently": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "resolved": "http://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", + "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", "dev": true, "requires": { "aproba": "^1.1.1", @@ -1309,8 +1364,8 @@ }, "create-ecdh": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "resolved": "http://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz", + "integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -1319,8 +1374,8 @@ }, "create-hash": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "resolved": "http://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", + "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", "dev": true, "requires": { "cipher-base": "^1.0.1", @@ -1332,8 +1387,8 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "resolved": "http://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", + "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", "dev": true, "requires": { "cipher-base": "^1.0.3", @@ -1346,8 +1401,8 @@ }, "cross-spawn": { "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", "dev": true, "requires": { "nice-try": "^1.0.4", @@ -1359,8 +1414,8 @@ }, "crypto-browserify": { "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "resolved": "http://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", + "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", "dev": true, "requires": { "browserify-cipher": "^1.0.0", @@ -1389,15 +1444,15 @@ } }, "css-what": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", + "version": "2.1.3", + "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz", + "integrity": "sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI=", "dev": true }, "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "dev": true }, "d": { @@ -1409,12 +1464,6 @@ "es5-ext": "^0.10.9" } }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -1425,13 +1474,10 @@ } }, "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", - "dev": true, - "requires": { - "xregexp": "4.0.0" - } + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true }, "decode-uri-component": { "version": "0.2.0", @@ -1440,18 +1486,34 @@ "dev": true }, "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true - }, - "default-gateway": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz", - "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==", + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1587708810466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz", + "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", "dev": true, "requires": { - "execa": "^0.10.0", + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + } + } + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz", + "integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=", + "dev": true, + "requires": { + "execa": "^1.0.0", "ip-regex": "^2.1.0" } }, @@ -1506,17 +1568,18 @@ } }, "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz", + "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", "dev": true, "requires": { + "@types/glob": "^7.1.1", "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" } }, "depd": { @@ -1526,9 +1589,9 @@ "dev": true }, "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz", + "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=", "dev": true, "requires": { "inherits": "^2.0.1", @@ -1541,6 +1604,12 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/detect-file/download/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, "detect-indent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", @@ -1549,31 +1618,20 @@ }, "detect-node": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz", + "integrity": "sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=", "dev": true }, - "diagnostics": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz", - "integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==", - "dev": true, - "requires": { - "colorspace": "1.1.x", - "enabled": "1.0.x", - "kuler": "1.0.x" - } - }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz", + "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=", "dev": true }, "diffie-hellman": { "version": "5.0.3", - "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "resolved": "http://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", + "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -1589,8 +1647,8 @@ }, "dns-packet": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "resolved": "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz", + "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=", "dev": true, "requires": { "ip": "^1.1.0", @@ -1607,56 +1665,48 @@ } }, "dom-converter": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", - "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", + "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", "dev": true, "requires": { - "utila": "~0.3" - }, - "dependencies": { - "utila": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", - "dev": true - } + "utila": "~0.4" } }, "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1573447907918&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", + "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", "dev": true, "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "^2.0.1", + "entities": "^2.0.0" }, "dependencies": { "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.0.1.tgz", + "integrity": "sha1-H4vf6R9aeAYydOgDtL3O326U+U0=", "dev": true } } }, "domain-browser": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1585176777245&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz", + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", "dev": true }, "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", "dev": true }, "domhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", - "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz", + "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", "dev": true, "requires": { "domelementtype": "1" @@ -1672,10 +1722,20 @@ "domelementtype": "1" } }, + "dot-case": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/dot-case/download/dot-case-3.0.3.tgz?cache=0&sync_timestamp=1576721538631&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-case%2Fdownload%2Fdot-case-3.0.3.tgz", + "integrity": "sha1-IdO1Lvqroupf2odbsaqBJFIc9Ko=", + "dev": true, + "requires": { + "no-case": "^3.0.3", + "tslib": "^1.10.0" + } + }, "duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "version": "3.7.1", + "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz", + "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", "dev": true, "requires": { "end-of-stream": "^1.0.0", @@ -1691,9 +1751,9 @@ "dev": true }, "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "version": "6.5.2", + "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.2.tgz", + "integrity": "sha1-BcVnjXFzwEnYykM1UiJKSV0ON2I=", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -1705,21 +1765,18 @@ "minimalistic-crypto-utils": "^1.0.0" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", "dev": true }, - "enabled": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", - "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", - "dev": true, - "requires": { - "env-variable": "0.0.x" - } - }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -1727,9 +1784,9 @@ "dev": true }, "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz?cache=0&sync_timestamp=1569416367473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fend-of-stream%2Fdownload%2Fend-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", "dev": true, "requires": { "once": "^1.4.0" @@ -1747,15 +1804,9 @@ } }, "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - }, - "env-variable": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz", - "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==", + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.0.0.tgz", + "integrity": "sha1-aNYITKsbB5dnVA2A5Wo5tCPkq/Q=", "dev": true }, "errno": { @@ -1767,28 +1818,57 @@ "prr": "~1.0.1" } }, - "es-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", - "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "error-ex": { + "version": "1.3.2", + "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.5.tgz", + "integrity": "sha1-2MnR1myJgfuSAOIlHXme7pJ3Suk=", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz", + "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "dev": true + } } }, "es-to-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", - "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", "dev": true, "requires": { - "is-callable": "^1.1.1", + "is-callable": "^1.1.4", "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-symbol": "^1.0.2" } }, "es5-ext": { @@ -1836,9 +1916,9 @@ "dev": true }, "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz", + "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -1847,23 +1927,23 @@ }, "esrecurse": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "resolved": "http://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz", + "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", "dev": true, "requires": { "estraverse": "^4.1.0" } }, "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1586968505635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", "dev": true }, "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", "dev": true }, "etag": { @@ -1873,30 +1953,30 @@ "dev": true }, "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.0.tgz?cache=0&sync_timestamp=1560950873670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.0.tgz", + "integrity": "sha1-1lF2FjiH7lnzhtZMgmELaWpKdOs=", "dev": true }, "events": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/events/download/events-3.1.0.tgz", + "integrity": "sha1-hCea8bNMt1qoi/X/KR9tC9mzGlk=", "dev": true }, "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/eventsource/download/eventsource-1.0.7.tgz", + "integrity": "sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA=", "dev": true, "requires": { - "original": ">=0.0.5" + "original": "^1.0.0" } }, "evp_bytestokey": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "resolved": "http://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", + "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", "dev": true, "requires": { "md5.js": "^1.3.4", @@ -1904,13 +1984,13 @@ } }, "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1576749091315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", "dev": true, "requires": { "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", + "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", @@ -1953,40 +2033,49 @@ } } }, - "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "expand-tilde": { + "version": "2.0.2", + "resolved": "http://registry.npm.taobao.org/expand-tilde/download/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "dev": true, "requires": { - "accepts": "~1.3.5", + "homedir-polyfill": "^1.0.1" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz", + "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", + "dev": true, + "requires": { + "accepts": "~1.3.7", "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", "content-type": "~1.0.4", - "cookie": "0.3.1", + "cookie": "0.4.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.1.1", + "finalhandler": "~1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "~1.1.2", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, @@ -2086,21 +2175,15 @@ } }, "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.1.tgz", + "integrity": "sha1-VFFFB3xQFJHjOxXsQIwpQ3bpSuQ=", "dev": true }, "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-safe-stringify": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz", - "integrity": "sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg==", + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1576340291001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", "dev": true }, "faye-websocket": { @@ -2112,17 +2195,18 @@ "websocket-driver": ">=0.5.1" } }, - "fecha": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", - "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==", + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz", + "integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=", "dev": true }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-uri-to-path%2Fdownload%2Ffile-uri-to-path-1.0.0.tgz", + "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", + "dev": true, + "optional": true }, "fill-range": { "version": "4.0.0", @@ -2148,92 +2232,107 @@ } }, "finalhandler": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", + "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", "unpipe": "~1.0.0" } }, "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz", + "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", "dev": true, "requires": { "commondir": "^1.0.1", - "make-dir": "^1.0.0", + "make-dir": "^2.0.0", "pkg-dir": "^3.0.0" } }, "find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", "dev": true, "requires": { "locate-path": "^3.0.0" } }, - "flush-write-stream": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", - "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/findup-sync/download/findup-sync-3.0.0.tgz", + "integrity": "sha1-F7EI+e5RLft6XH88iyfqnhqcCNE=", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "http://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", + "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, "follow-redirects": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", - "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.11.0.tgz?cache=0&sync_timestamp=1585479417937&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.11.0.tgz", + "integrity": "sha1-r6FPCLoSpSljFA/kMhJliJe8Dss=", "dev": true, "requires": { - "debug": "=3.1.0" + "debug": "^3.0.0" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true } } }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "resolved": "http://r.cnpmjs.org/for-in/download/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "fork-ts-checker-webpack-plugin": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.4.8.tgz", - "integrity": "sha512-BmaNrRTOrlHlRzngUmlA/H8tHDB5PjP9iHSzz3HXNb7Etwz7siVhE97POFAQqsojxHfOHhw0R2FRLbOV5jl78Q==", + "version": "4.1.3", + "resolved": "https://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-4.1.3.tgz", + "integrity": "sha1-MG8VZvwckWgWgws95OU9qNbWqeI=", "dev": true, "requires": { "babel-code-frame": "^6.22.0", "chalk": "^2.4.1", - "chokidar": "^2.0.4", - "lodash.endswith": "^4.2.1", - "lodash.isfunction": "^3.0.8", - "lodash.isstring": "^4.0.1", - "lodash.startswith": "^4.2.1", + "micromatch": "^3.1.10", "minimatch": "^3.0.4", - "resolve": "^1.5.0", - "tapable": "^1.0.0" + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" } }, "forwarded": { @@ -2286,14 +2385,15 @@ "dev": true }, "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "version": "1.2.12", + "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.12.tgz?cache=0&sync_timestamp=1587572647225&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.12.tgz", + "integrity": "sha1-234NjsOwtFck/U2D1DVUqPHw3lw=", "dev": true, "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" }, "dependencies": { "abbrev": { @@ -2315,7 +2415,7 @@ "optional": true }, "are-we-there-yet": { - "version": "1.1.4", + "version": "1.1.5", "bundled": true, "dev": true, "optional": true, @@ -2341,7 +2441,7 @@ } }, "chownr": { - "version": "1.0.1", + "version": "1.1.4", "bundled": true, "dev": true, "optional": true @@ -2371,16 +2471,16 @@ "optional": true }, "debug": { - "version": "2.6.9", + "version": "3.2.6", "bundled": true, "dev": true, "optional": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "deep-extend": { - "version": "0.5.1", + "version": "0.6.0", "bundled": true, "dev": true, "optional": true @@ -2398,12 +2498,12 @@ "optional": true }, "fs-minipass": { - "version": "1.2.5", + "version": "1.2.7", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs.realpath": { @@ -2429,7 +2529,7 @@ } }, "glob": { - "version": "7.1.2", + "version": "7.1.6", "bundled": true, "dev": true, "optional": true, @@ -2449,16 +2549,16 @@ "optional": true }, "iconv-lite": { - "version": "0.4.21", + "version": "0.4.24", "bundled": true, "dev": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { - "version": "3.0.1", + "version": "3.0.3", "bundled": true, "dev": true, "optional": true, @@ -2477,7 +2577,7 @@ } }, "inherits": { - "version": "2.0.3", + "version": "2.0.4", "bundled": true, "dev": true, "optional": true @@ -2513,76 +2613,76 @@ } }, "minimist": { - "version": "0.0.8", + "version": "1.2.5", "bundled": true, "dev": true, "optional": true }, "minipass": { - "version": "2.2.4", + "version": "2.9.0", "bundled": true, "dev": true, "optional": true, "requires": { - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } }, "minizlib": { - "version": "1.1.0", + "version": "1.3.3", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mkdirp": { - "version": "0.5.1", + "version": "0.5.3", "bundled": true, "dev": true, "optional": true, "requires": { - "minimist": "0.0.8" + "minimist": "^1.2.5" } }, "ms": { - "version": "2.0.0", + "version": "2.1.2", "bundled": true, "dev": true, "optional": true }, "needle": { - "version": "2.2.0", + "version": "2.3.3", "bundled": true, "dev": true, "optional": true, "requires": { - "debug": "^2.1.2", + "debug": "^3.2.6", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.10.0", + "version": "0.14.0", "bundled": true, "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", - "needle": "^2.2.0", + "needle": "^2.2.1", "nopt": "^4.0.1", "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", - "rc": "^1.1.7", + "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^4" + "tar": "^4.4.2" } }, "nopt": { - "version": "4.0.1", + "version": "4.0.3", "bundled": true, "dev": true, "optional": true, @@ -2592,19 +2692,29 @@ } }, "npm-bundled": { - "version": "1.0.3", + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { - "version": "1.1.10", + "version": "1.4.8", "bundled": true, "dev": true, "optional": true, "requires": { "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" } }, "npmlog": { @@ -2669,33 +2779,25 @@ "optional": true }, "process-nextick-args": { - "version": "2.0.0", + "version": "2.0.1", "bundled": true, "dev": true, "optional": true }, "rc": { - "version": "1.2.7", + "version": "1.2.8", "bundled": true, "dev": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } } }, "readable-stream": { - "version": "2.3.6", + "version": "2.3.7", "bundled": true, "dev": true, "optional": true, @@ -2710,16 +2812,16 @@ } }, "rimraf": { - "version": "2.6.2", + "version": "2.7.1", "bundled": true, "dev": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "safe-buffer": { - "version": "5.1.1", + "version": "5.1.2", "bundled": true, "dev": true, "optional": true @@ -2737,7 +2839,7 @@ "optional": true }, "semver": { - "version": "5.5.0", + "version": "5.7.1", "bundled": true, "dev": true, "optional": true @@ -2790,18 +2892,18 @@ "optional": true }, "tar": { - "version": "4.4.1", + "version": "4.4.13", "bundled": true, "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", + "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" } }, "util-deprecate": { @@ -2811,12 +2913,12 @@ "optional": true }, "wide-align": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { @@ -2826,7 +2928,7 @@ "optional": true }, "yallist": { - "version": "3.0.2", + "version": "3.1.1", "bundled": true, "dev": true, "optional": true @@ -2840,16 +2942,19 @@ "dev": true }, "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", "dev": true }, "get-stream": { - "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true + "version": "4.1.0", + "resolved": "http://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "dev": true, + "requires": { + "pump": "^3.0.0" + } }, "get-value": { "version": "2.0.6", @@ -2858,9 +2963,9 @@ "dev": true }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.6", + "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -2892,11 +2997,40 @@ } } }, - "global-modules-path": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.0.tgz", - "integrity": "sha512-HchvMJNYh9dGSCy8pOQ2O8u/hoXaL+0XhnrwH0RyLiSXMMTl9W3N6KUU73+JFOg5PGjtzl6VZzUQsnrpm7Szag==", - "dev": true + "global-modules": { + "version": "2.0.0", + "resolved": "http://registry.npm.taobao.org/global-modules/download/global-modules-2.0.0.tgz", + "integrity": "sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz", + "integrity": "sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + } + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/global-prefix/download/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } }, "globby": { "version": "6.1.0", @@ -2926,99 +3060,36 @@ "dev": true }, "handle-thing": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", - "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz", + "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=", "dev": true }, "hard-source-webpack-plugin": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/hard-source-webpack-plugin/-/hard-source-webpack-plugin-0.12.0.tgz", - "integrity": "sha512-xELLABhB3WtdVxDZ4iku8W5Xi0Tq5w+1fOXrSWjeML90uWikykkiQmTV6Lk0MKC5uFEKUZcSuTY5BZS+8ZXr8A==", + "version": "0.13.1", + "resolved": "https://registry.npm.taobao.org/hard-source-webpack-plugin/download/hard-source-webpack-plugin-0.13.1.tgz", + "integrity": "sha1-qZBx4lsjLxQ4pbw8mfEKOGnkQo4=", "dev": true, "requires": { "chalk": "^2.4.1", "find-cache-dir": "^2.0.0", - "jsonlint": "^1.6.3", + "graceful-fs": "^4.1.11", "lodash": "^4.15.0", "mkdirp": "^0.5.1", "node-object-hash": "^1.2.0", + "parse-json": "^4.0.0", "pkg-dir": "^3.0.0", "rimraf": "^2.6.2", + "semver": "^5.6.0", "tapable": "^1.0.0-beta.5", "webpack-sources": "^1.0.1", "write-json-file": "^2.3.0" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } } }, "has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "resolved": "http://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", "dev": true, "requires": { "function-bind": "^1.1.1" @@ -3033,12 +3104,6 @@ "ansi-regex": "^2.0.0" } }, - "has-color": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", - "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", - "dev": true - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -3094,9 +3159,9 @@ } }, "hash.js": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", - "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "version": "1.1.7", + "resolved": "http://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", + "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", "dev": true, "requires": { "inherits": "^2.0.3", @@ -3104,9 +3169,9 @@ } }, "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz", + "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", "dev": true }, "hmac-drbg": { @@ -3120,6 +3185,15 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "http://registry.npm.taobao.org/homedir-polyfill/download/homedir-polyfill-1.0.3.tgz", + "integrity": "sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg=", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", @@ -3133,117 +3207,125 @@ } }, "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.3.1.tgz?cache=0&sync_timestamp=1586616304085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-entities%2Fdownload%2Fhtml-entities-1.3.1.tgz", + "integrity": "sha1-+5oaS1sUxdq6gtPjTGrk/nAaDkQ=", "dev": true }, - "html-minifier": { - "version": "3.5.19", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.19.tgz", - "integrity": "sha512-Qr2JC9nsjK8oCrEmuB430ZIA8YWbF3D5LSjywD75FTuXmeqacwHgIM8wp3vHYzzPbklSjp53RdmDuzR4ub2HzA==", + "html-minifier-terser": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/html-minifier-terser/download/html-minifier-terser-5.1.0.tgz", + "integrity": "sha1-ldPfA38Eg16dGgnRdnwONhp96RY=", "dev": true, "requires": { - "camel-case": "3.0.x", - "clean-css": "4.1.x", - "commander": "2.16.x", - "he": "1.1.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "commander": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz", - "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", - "dev": true - }, - "uglify-js": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.7.tgz", - "integrity": "sha512-J0M2i1mQA+ze3EdN9SBi751DNdAXmeFLfJrd/MDIkRc3G3Gbb9OPVSx7GIQvVwfWxQARcYV2DTxIkMyDAk3o9Q==", - "dev": true, - "requires": { - "commander": "~2.16.0", - "source-map": "~0.6.1" - } - } + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" } }, "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "version": "4.2.1", + "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-4.2.1.tgz", + "integrity": "sha1-KotCGtGetiI5c5TzStaXWhS/D6w=", "dev": true, "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.15", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", "util.promisify": "1.0.0" }, "dependencies": { - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "big.js": { + "version": "5.2.2", + "resolved": "http://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1586045700847&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", "dev": true, "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" + "minimist": "^1.2.0" } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=", + "dev": true + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", + "dev": true + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", + "dev": true } } }, "htmlparser2": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", - "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", + "version": "3.10.1", + "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz", + "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", "dev": true, "requires": { - "domelementtype": "1", - "domhandler": "2.1", - "domutils": "1.1", - "readable-stream": "1.0" + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" }, "dependencies": { - "domutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", - "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz", + "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", "dev": true }, "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1581624324274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true } } }, @@ -3254,44 +3336,53 @@ "dev": true }, "http-errors": { - "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1561418493658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz", + "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", "dev": true, "requires": { "depd": "~1.1.2", "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", - "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", + "version": "0.4.10", + "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.4.10.tgz?cache=0&sync_timestamp=1572714277347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-parser-js%2Fdownload%2Fhttp-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "version": "1.18.0", + "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.0.tgz?cache=0&sync_timestamp=1568770896103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy%2Fdownload%2Fhttp-proxy-1.18.0.tgz", + "integrity": "sha1-2+VfY+daNH2389mZdPJpKjFKajo=", "dev": true, "requires": { - "eventemitter3": "^3.0.0", + "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" } }, "http-proxy-middleware": { - "version": "0.18.0", - "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", - "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", + "version": "0.19.1", + "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", "dev": true, "requires": { - "http-proxy": "^1.16.2", + "http-proxy": "^1.17.0", "is-glob": "^4.0.0", - "lodash": "^4.17.5", - "micromatch": "^3.1.9" + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=", + "dev": true + } } }, "https-browserify": { @@ -3301,18 +3392,18 @@ "dev": true }, "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "version": "0.4.24", + "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1579333981154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "version": "1.1.13", + "resolved": "http://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz", + "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=", "dev": true }, "iferr": { @@ -3323,8 +3414,8 @@ }, "import-local": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", + "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", "dev": true, "requires": { "pkg-dir": "^3.0.0", @@ -3337,10 +3428,10 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz", + "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=", "dev": true }, "inflight": { @@ -3359,26 +3450,32 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "ini": { + "version": "1.3.5", + "resolved": "http://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "dev": true + }, "internal-ip": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", - "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==", + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1583983247512&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz", + "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=", "dev": true, "requires": { - "default-gateway": "^2.6.0", - "ipaddr.js": "^1.5.2" + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" } }, "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.2.0.tgz?cache=0&sync_timestamp=1571708742673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finterpret%2Fdownload%2Finterpret-1.2.0.tgz", + "integrity": "sha1-1QYaYiS+WOgIOYX1AU2EQ1lXYpY=", "dev": true }, "invert-kv": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz", + "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=", "dev": true }, "ip": { @@ -3394,9 +3491,15 @@ "dev": true }, "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz", + "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz?cache=0&sync_timestamp=1569736493122&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-3.0.3.tgz", + "integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=", "dev": true }, "is-accessor-descriptor": { @@ -3419,10 +3522,16 @@ } } }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz", + "integrity": "sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM=", + "dev": true + }, "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "version": "0.2.1", + "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-binary-path": { @@ -3441,9 +3550,9 @@ "dev": true }, "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.5.tgz", + "integrity": "sha1-9+RrWWiQRW23Tn9ul2yzJz0G+qs=", "dev": true }, "is-data-descriptor": { @@ -3467,9 +3576,9 @@ } }, "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz?cache=0&sync_timestamp=1576729182289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.2.tgz", + "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=", "dev": true }, "is-descriptor": { @@ -3510,9 +3619,9 @@ "dev": true }, "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "version": "4.0.1", + "resolved": "http://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -3539,27 +3648,27 @@ } }, "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1562347283002&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz", + "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", "dev": true }, "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "^2.1.0" } }, "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz", + "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "^1.0.2" } }, "is-plain-obj": { @@ -3578,12 +3687,12 @@ } }, "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.5.tgz", + "integrity": "sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "^1.0.3" } }, "is-stream": { @@ -3593,10 +3702,21 @@ "dev": true }, "is-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz", + "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz", + "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=", + "dev": true + } + } }, "is-windows": { "version": "1.0.2", @@ -3636,20 +3756,20 @@ }, "json-parse-better-errors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "resolved": "http://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", "dev": true }, "json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", "dev": true }, "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "version": "3.3.3", + "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz", + "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=", "dev": true }, "json5": { @@ -3658,50 +3778,31 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, - "jsonlint": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.3.tgz", - "integrity": "sha512-jMVTMzP+7gU/IyC6hvKyWpUU8tmTkK5b3BPNuMI9U8Sit+YAWLlZwB6Y6YrdCxfg2kNz05p3XY3Bmm4m26Nv3A==", - "dev": true, - "requires": { - "JSV": "^4.0.x", - "nomnom": "^1.5.x" - } - }, "killable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "resolved": "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz", + "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", "dev": true }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "version": "6.0.3", + "resolved": "http://r.cnpmjs.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", "dev": true }, - "kuler": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz", - "integrity": "sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==", - "dev": true, - "requires": { - "colornames": "^1.1.1" - } - }, "lcid": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz", + "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", "dev": true, "requires": { "invert-kv": "^2.0.0" } }, "loader-runner": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz", - "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==", + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz", + "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=", "dev": true }, "loader-utils": { @@ -3717,8 +3818,8 @@ }, "locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", "dev": true, "requires": { "p-locate": "^3.0.0", @@ -3726,39 +3827,9 @@ } }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.endswith": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz", - "integrity": "sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=", - "dev": true - }, - "lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "dev": true - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "dev": true - }, - "lodash.startswith": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.startswith/-/lodash.startswith-4.2.1.tgz", - "integrity": "sha1-xZjErc4YiiflMUVzHNxsDnF3YAw=", + "version": "4.17.15", + "resolved": "http://r.cnpmjs.org/lodash/download/lodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=", "dev": true }, "log-symbols": { @@ -3770,31 +3841,10 @@ "chalk": "^2.0.1" } }, - "logform": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-1.10.0.tgz", - "integrity": "sha512-em5ojIhU18fIMOw/333mD+ZLE2fis0EzXl1ZwHx4iQzmpQi6odNiY/t+ITNr33JZhT9/KEaH+UPIipr6a9EjWg==", - "dev": true, - "requires": { - "colors": "^1.2.1", - "fast-safe-stringify": "^2.0.4", - "fecha": "^2.3.3", - "ms": "^2.1.1", - "triple-beam": "^1.2.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, "loglevel": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", - "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "version": "1.6.8", + "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.6.8.tgz", + "integrity": "sha1-iiX7ddCSIw7NRFcnDYC1TigBEXE=", "dev": true }, "loglevelnext": { @@ -3808,40 +3858,43 @@ } }, "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-2.0.1.tgz", + "integrity": "sha1-Oe6zbjlhFcwF4pQi6uqeaSyUCMc=", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "tslib": "^1.10.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "dev": true, + "requires": { + "yallist": "^3.0.2" } }, "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1587567576732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "^4.0.1", + "semver": "^5.6.0" } }, "make-error": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz", - "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==", + "version": "1.3.6", + "resolved": "https://registry.npm.taobao.org/make-error/download/make-error-1.3.6.tgz?cache=0&sync_timestamp=1582105630664&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-error%2Fdownload%2Fmake-error-1.3.6.tgz", + "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=", "dev": true }, "map-age-cleaner": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz", - "integrity": "sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ==", + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz", + "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=", "dev": true, "requires": { "p-defer": "^1.0.0" @@ -3864,8 +3917,8 @@ }, "md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "resolved": "http://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", + "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -3880,14 +3933,14 @@ "dev": true }, "mem": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz", - "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmem%2Fdownload%2Fmem-4.3.0.tgz", + "integrity": "sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg=", "dev": true, "requires": { "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^1.1.0" + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" } }, "memory-fs": { @@ -3912,6 +3965,12 @@ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true }, + "microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/microevent.ts/download/microevent.ts-0.1.1.tgz", + "integrity": "sha1-cLCbg/Q99RctAgWmMCW84Pc1f6A=", + "dev": true + }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -3935,8 +3994,8 @@ }, "miller-rabin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "resolved": "http://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -3944,36 +4003,36 @@ } }, "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1560034758817&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", "dev": true }, "mime-db": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz", - "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==", + "version": "1.44.0", + "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz?cache=0&sync_timestamp=1587603342053&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.44.0.tgz", + "integrity": "sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I=", "dev": true }, "mime-types": { - "version": "2.1.20", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", - "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", + "version": "2.1.27", + "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz", + "integrity": "sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8=", "dev": true, "requires": { - "mime-db": "~1.36.0" + "mime-db": "1.44.0" } }, "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", "dev": true }, "minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "resolved": "http://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", "dev": true }, "minimalistic-crypto-utils": { @@ -3984,23 +4043,23 @@ }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "version": "1.2.5", + "resolved": "http://r.cnpmjs.org/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", "dev": true }, "mississippi": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "resolved": "http://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz", + "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=", "dev": true, "requires": { "concat-stream": "^1.5.0", @@ -4016,9 +4075,9 @@ } }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "http://r.cnpmjs.org/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4027,8 +4086,8 @@ "dependencies": { "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "resolved": "http://r.cnpmjs.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -4037,12 +4096,12 @@ } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "http://r.cnpmjs.org/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", "dev": true, "requires": { - "minimist": "0.0.8" + "minimist": "^1.2.5" } }, "move-concurrently": { @@ -4067,8 +4126,8 @@ }, "multicast-dns": { "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "resolved": "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz", + "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", "dev": true, "requires": { "dns-packet": "^1.3.1", @@ -4082,9 +4141,9 @@ "dev": true }, "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "version": "2.14.1", + "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.1.tgz?cache=0&sync_timestamp=1587495810273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.1.tgz", + "integrity": "sha1-174036MQW5FJTDFHCJMV7/iHSwE=", "dev": true, "optional": true }, @@ -4108,15 +4167,15 @@ } }, "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "version": "0.6.2", + "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", + "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", "dev": true }, "neo-async": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz", - "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==", + "version": "2.6.1", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.1.tgz", + "integrity": "sha1-rCetpmFn+ohJpq3dg39rGJrSCBw=", "dev": true }, "next-tick": { @@ -4127,29 +4186,30 @@ }, "nice-try": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", "dev": true }, "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-3.0.3.tgz?cache=0&sync_timestamp=1576721537540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-3.0.3.tgz", + "integrity": "sha1-whtDTB/+SLOQh+hs+00lgunfGPg=", "dev": true, "requires": { - "lower-case": "^1.1.1" + "lower-case": "^2.0.1", + "tslib": "^1.10.0" } }, "node-forge": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", - "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", + "version": "0.9.0", + "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz?cache=0&sync_timestamp=1569524669712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.9.0.tgz", + "integrity": "sha1-1iQFDtu0SHStyhK7mlLsY8t4JXk=", "dev": true }, "node-libs-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", - "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-libs-browser%2Fdownload%2Fnode-libs-browser-2.2.1.tgz", + "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", "dev": true, "requires": { "assert": "^1.1.1", @@ -4159,10 +4219,10 @@ "constants-browserify": "^1.0.0", "crypto-browserify": "^3.11.0", "domain-browser": "^1.1.1", - "events": "^1.0.0", + "events": "^3.0.0", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", - "path-browserify": "0.0.0", + "path-browserify": "0.0.1", "process": "^0.11.10", "punycode": "^1.2.4", "querystring-es3": "^0.2.0", @@ -4173,8 +4233,8 @@ "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", "url": "^0.11.0", - "util": "^0.10.3", - "vm-browserify": "0.0.4" + "util": "^0.11.0", + "vm-browserify": "^1.0.1" }, "dependencies": { "punycode": { @@ -4186,54 +4246,16 @@ } }, "node-object-hash": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/node-object-hash/-/node-object-hash-1.4.1.tgz", - "integrity": "sha512-JQVqSM5/mOaUoUhCYR0t1vgm8RFo7qpJtPvnoFCLeqQh1xrfmr3BCD3nGBnACzpIEF7F7EVgqGD3O4lao/BY/A==", + "version": "1.4.2", + "resolved": "https://registry.npm.taobao.org/node-object-hash/download/node-object-hash-1.4.2.tgz", + "integrity": "sha1-OFgz2FsimQK3WCYiT2B3vpaanpQ=", "dev": true }, - "nomnom": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", - "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", - "dev": true, - "requires": { - "chalk": "~0.4.0", - "underscore": "~1.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", - "dev": true - }, - "chalk": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", - "dev": true, - "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" - } - }, - "strip-ansi": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", - "dev": true - } - } - }, "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } + "version": "3.0.0", + "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true }, "npm-run-path": { "version": "2.0.2", @@ -4245,9 +4267,9 @@ } }, "nth-check": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", + "version": "1.0.2", + "resolved": "http://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", + "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", "dev": true, "requires": { "boolbase": "~1.0.0" @@ -4296,6 +4318,22 @@ } } }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.7.0.tgz", + "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=", + "dev": true + }, + "object-is": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.2.tgz", + "integrity": "sha1-xdLof/nhGfeLegiEQVGeLuwVc7Y=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "object-keys": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", @@ -4324,13 +4362,13 @@ } }, "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha1-Npvx+VktiridcS3O1cuBx8U1Jkk=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" } }, "object.pick": { @@ -4344,8 +4382,8 @@ }, "obuf": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "resolved": "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz", + "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", "dev": true }, "on-finished": { @@ -4358,9 +4396,9 @@ } }, "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz", + "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=", "dev": true }, "once": { @@ -4372,16 +4410,10 @@ "wrappy": "1" } }, - "one-time": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", - "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=", - "dev": true - }, "opn": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", - "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "version": "5.5.0", + "resolved": "http://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz", + "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=", "dev": true, "requires": { "is-wsl": "^1.1.0" @@ -4389,8 +4421,8 @@ }, "original": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz", + "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", "dev": true, "requires": { "url-parse": "^1.4.3" @@ -4403,12 +4435,12 @@ "dev": true }, "os-locale": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", - "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz?cache=0&sync_timestamp=1584865515583&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fos-locale%2Fdownload%2Fos-locale-3.1.0.tgz", + "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=", "dev": true, "requires": { - "execa": "^0.10.0", + "execa": "^1.0.0", "lcid": "^2.0.0", "mem": "^4.0.0" } @@ -4426,15 +4458,15 @@ "dev": true }, "p-is-promise": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz", + "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=", "dev": true }, "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1586101408834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", "dev": true, "requires": { "p-try": "^2.0.0" @@ -4442,70 +4474,107 @@ }, "p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "resolved": "http://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", "dev": true, "requires": { "p-limit": "^2.0.0" } }, "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz", + "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=", "dev": true }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz", + "integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "version": "2.2.0", + "resolved": "http://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", "dev": true }, "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "version": "1.0.11", + "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz?cache=0&sync_timestamp=1580283988434&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpako%2Fdownload%2Fpako-1.0.11.tgz", + "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", "dev": true }, "parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz", + "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=", "dev": true, "requires": { - "cyclist": "~0.2.2", + "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" } }, "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-3.0.3.tgz?cache=0&sync_timestamp=1576721509342&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-3.0.3.tgz", + "integrity": "sha1-S+Qfg5nv9iHFbuu4KaXkUdmAEjg=", "dev": true, "requires": { - "no-case": "^2.2.0" + "dot-case": "^3.0.3", + "tslib": "^1.10.0" } }, "parse-asn1": { - "version": "5.1.1", - "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", - "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "version": "5.1.5", + "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-asn1%2Fdownload%2Fparse-asn1-5.1.5.tgz", + "integrity": "sha1-ADJxND2ljclMrOSU+u89IUfs6g4=", "dev": true, "requires": { "asn1.js": "^4.0.0", "browserify-aes": "^1.0.0", "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" } }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/parse-passwd/download/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", + "dev": true + }, + "pascal-case": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/pascal-case/download/pascal-case-3.1.1.tgz?cache=0&sync_timestamp=1576721637306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpascal-case%2Fdownload%2Fpascal-case-3.1.1.tgz", + "integrity": "sha1-WsGXUTPtYZKB6Ikglz0s0fJ53l8=", + "dev": true, + "requires": { + "no-case": "^3.0.3", + "tslib": "^1.10.0" + } + }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", @@ -4513,9 +4582,9 @@ "dev": true }, "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz", + "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=", "dev": true }, "path-dirname": { @@ -4548,12 +4617,6 @@ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -4562,8 +4625,8 @@ }, "pbkdf2": { "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "resolved": "http://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.0.17.tgz", + "integrity": "sha1-l2wgZTBhexTrsyEUI597CTNuk6Y=", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -4573,10 +4636,16 @@ "sha.js": "^2.4.8" } }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz?cache=0&sync_timestamp=1584790434095&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpicomatch%2Fdownload%2Fpicomatch-2.2.2.tgz", + "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=", + "dev": true + }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", "dev": true }, "pinkie": { @@ -4596,28 +4665,37 @@ }, "pkg-dir": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", "dev": true, "requires": { "find-up": "^3.0.0" } }, "portfinder": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.17.tgz", - "integrity": "sha512-syFcRIRzVI1BoEFOCaAiizwDolh1S1YXSodsVhncbhjzjZQulhczNRbqnUl9N31Q4dKGOXsNDqxC2BWBgSMqeQ==", + "version": "1.0.26", + "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.26.tgz", + "integrity": "sha1-R1ZY1WyjC+1yrH8TeO01C9G2TnA=", "dev": true, "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" }, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "debug": { + "version": "3.2.6", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", "dev": true } } @@ -4657,13 +4735,13 @@ "dev": true }, "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz?cache=0&sync_timestamp=1582556112011&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fproxy-addr%2Fdownload%2Fproxy-addr-2.0.6.tgz", + "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=", "dev": true, "requires": { "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" + "ipaddr.js": "1.9.1" } }, "prr": { @@ -4672,16 +4750,10 @@ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, "public-encrypt": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "resolved": "http://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", + "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -4694,8 +4766,8 @@ }, "pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "resolved": "http://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -4704,8 +4776,8 @@ }, "pumpify": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz?cache=0&sync_timestamp=1569938200736&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpumpify%2Fdownload%2Fpumpify-1.5.1.tgz", + "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", "dev": true, "requires": { "duplexify": "^3.6.0", @@ -4715,8 +4787,8 @@ "dependencies": { "pump": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "resolved": "http://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -4727,14 +4799,14 @@ }, "punycode": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", "dev": true }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "version": "6.7.0", + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", "dev": true }, "querystring": { @@ -4750,15 +4822,15 @@ "dev": true }, "querystringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", - "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==", + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.1.1.tgz", + "integrity": "sha1-YOWl/WSn+L+k0qsu1v30yFutFU4=", "dev": true }, "randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "version": "2.1.0", + "resolved": "http://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", "dev": true, "requires": { "safe-buffer": "^5.1.0" @@ -4766,8 +4838,8 @@ }, "randomfill": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "resolved": "http://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz", + "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", "dev": true, "requires": { "randombytes": "^2.0.5", @@ -4775,21 +4847,29 @@ } }, "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", "dev": true }, "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "version": "2.4.0", + "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz", + "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", "dev": true, "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", + "dev": true + } } }, "readable-stream": { @@ -4808,15 +4888,14 @@ } }, "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" } }, "regex-not": { @@ -4829,6 +4908,16 @@ "safe-regex": "^1.1.0" } }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz?cache=0&sync_timestamp=1576388141321&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.0.tgz", + "integrity": "sha1-erqJs8E6ZFCdq888qNn7ub31y3U=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, "relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", @@ -4842,24 +4931,16 @@ "dev": true }, "renderkid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", - "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz", + "integrity": "sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk=", "dev": true, "requires": { "css-select": "^1.1.0", - "dom-converter": "~0.1", - "htmlparser2": "~3.3.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", "strip-ansi": "^3.0.0", - "utila": "~0.3" - }, - "dependencies": { - "utila": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", - "dev": true - } + "utila": "^0.4.0" } }, "repeat-element": { @@ -4881,9 +4962,9 @@ "dev": true }, "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", "dev": true }, "requires-port": { @@ -4892,15 +4973,6 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dev": true, - "requires": { - "path-parse": "^1.0.5" - } - }, "resolve-cwd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", @@ -4910,6 +4982,29 @@ "resolve-from": "^3.0.0" } }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "http://registry.npm.taobao.org/resolve-dir/download/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/global-modules/download/global-modules-1.0.0.tgz", + "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } + } + }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", @@ -4928,19 +5023,25 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fretry%2Fdownload%2Fretry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "ripemd160": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "resolved": "http://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", + "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", "dev": true, "requires": { "hash-base": "^3.0.0", @@ -4973,14 +5074,14 @@ }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "resolved": "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", "dev": true }, "schema-utils": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", "dev": true, "requires": { "ajv": "^6.1.0", @@ -4995,24 +5096,24 @@ "dev": true }, "selfsigned": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", - "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", + "version": "1.10.7", + "resolved": "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.7.tgz?cache=0&sync_timestamp=1569952074772&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.7.tgz", + "integrity": "sha1-2lgZ/QSdVXTyjoipvMbbxubzkGs=", "dev": true, "requires": { - "node-forge": "0.7.5" + "node-forge": "0.9.0" } }, "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", "dev": true }, "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.17.1", + "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", + "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", "dev": true, "requires": { "debug": "2.6.9", @@ -5022,18 +5123,26 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } } }, "serialize-javascript": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", - "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz", + "integrity": "sha1-z8IArvd7YAxH2pu4FJyUPnmML9s=", "dev": true }, "serve-index": { @@ -5049,18 +5158,38 @@ "http-errors": "~1.6.2", "mime-types": "~2.1.17", "parseurl": "~1.3.2" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1561418493658&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true + } } }, "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", + "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.17.1" } }, "set-blocking": { @@ -5069,16 +5198,10 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/set-value/download/set-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5089,7 +5212,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "resolved": "http://r.cnpmjs.org/extend-shallow/download/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { @@ -5105,15 +5228,15 @@ "dev": true }, "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz", + "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", "dev": true }, "sha.js": { "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "resolved": "http://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz", + "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", "dev": true, "requires": { "inherits": "^2.0.1", @@ -5136,20 +5259,11 @@ "dev": true }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1585280715057&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz", + "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=", "dev": true }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - } - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -5265,8 +5379,8 @@ }, "sockjs": { "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "resolved": "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.19.tgz", + "integrity": "sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0=", "dev": true, "requires": { "faye-websocket": "^0.10.0", @@ -5274,27 +5388,42 @@ } }, "sockjs-client": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", - "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.4.0.tgz?cache=0&sync_timestamp=1566505930428&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.4.0.tgz", + "integrity": "sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U=", "dev": true, "requires": { - "debug": "^2.6.6", - "eventsource": "0.1.6", - "faye-websocket": "~0.11.0", - "inherits": "^2.0.1", + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", "json3": "^3.3.2", - "url-parse": "^1.1.8" + "url-parse": "^1.4.3" }, "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffaye-websocket%2Fdownload%2Ffaye-websocket-0.11.3.tgz", + "integrity": "sha1-XA6aiWjokSwoZjn96XeosgnyUI4=", "dev": true, "requires": { "websocket-driver": ">=0.5.1" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true } } }, @@ -5308,9 +5437,9 @@ } }, "source-list-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "version": "2.0.1", + "resolved": "http://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", + "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", "dev": true }, "source-map": { @@ -5349,32 +5478,75 @@ "dev": true }, "spdy": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", - "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz?cache=0&sync_timestamp=1585970558936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdy%2Fdownload%2Fspdy-4.0.2.tgz", + "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=", "dev": true, "requires": { - "debug": "^2.6.8", - "handle-thing": "^1.2.5", + "debug": "^4.1.0", + "handle-thing": "^2.0.0", "http-deceiver": "^1.2.7", - "safe-buffer": "^5.0.1", "select-hose": "^2.0.0", - "spdy-transport": "^2.0.18" + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + } } }, "spdy-transport": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", - "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz", + "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=", "dev": true, "requires": { - "debug": "^2.6.8", - "detect-node": "^2.0.3", + "debug": "^4.1.0", + "detect-node": "^2.0.4", "hpack.js": "^2.1.6", - "obuf": "^1.1.1", - "readable-stream": "^2.2.9", - "safe-buffer": "^5.0.1", - "wbuf": "^1.7.2" + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1581624324274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "split-string": { @@ -5388,19 +5560,13 @@ }, "ssri": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz", + "integrity": "sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg=", "dev": true, "requires": { "figgy-pudding": "^3.5.1" } }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -5423,15 +5589,15 @@ } }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1587327902535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, "stream-browserify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz?cache=0&sync_timestamp=1587041194718&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-browserify%2Fdownload%2Fstream-browserify-2.0.2.tgz", + "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", "dev": true, "requires": { "inherits": "~2.0.1", @@ -5440,8 +5606,8 @@ }, "stream-each": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "resolved": "http://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", + "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", "dev": true, "requires": { "end-of-stream": "^1.1.0", @@ -5450,8 +5616,8 @@ }, "stream-http": { "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz", + "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", "dev": true, "requires": { "builtin-status-codes": "^3.0.0", @@ -5462,38 +5628,81 @@ } }, "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz", + "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=", "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", "dev": true, "requires": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", "dev": true }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1573280518303&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } } } }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz?cache=0&sync_timestamp=1586465374694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.1.tgz", + "integrity": "sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimleft/download/string.prototype.trimleft-2.1.2.tgz?cache=0&sync_timestamp=1585584322600&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimleft%2Fdownload%2Fstring.prototype.trimleft-2.1.2.tgz", + "integrity": "sha1-RAiqLl1t3QyagHObCH+8BnwDs8w=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" + } + }, + "string.prototype.trimright": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimright/download/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha1-x28c7zDyG7rYr+uNsVEUls+w8qM=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz?cache=0&sync_timestamp=1586465375114&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.1.tgz", + "integrity": "sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ=", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -5533,37 +5742,85 @@ "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", "dev": true }, - "text-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", - "dev": true - }, - "three": { - "version": "0.95.0", - "resolved": "https://registry.npmjs.org/three/-/three-0.95.0.tgz", - "integrity": "sha512-vy6jMYs7CDwn47CejYHNi+++OdQue7xGIBhbLfekQ/G6MDxKRm0QB0/xWScz46/JvQAvF6pJAS5Q907l0i5iQA==" - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "terser": { + "version": "4.6.12", + "resolved": "https://registry.npm.taobao.org/terser/download/terser-4.6.12.tgz?cache=0&sync_timestamp=1587739963089&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.6.12.tgz", + "integrity": "sha1-RLmK74cD/bCaNJG/ebQ/r/xbT+4=", "dev": true, "requires": { - "readable-stream": "^2.1.5", + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1587781810870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719289626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.3", + "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.3.tgz", + "integrity": "sha1-Xsry29xfuZdF/QZ5H0b8ndscmnw=", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^2.1.2", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-2.1.2.tgz", + "integrity": "sha1-7OxTsOAxe9yV73arcHS3OEeF+mE=", + "dev": true + } + } + }, + "three": { + "version": "0.115.0", + "resolved": "https://registry.npm.taobao.org/three/download/three-0.115.0.tgz", + "integrity": "sha1-VA2ADDgbnaIzTAJPD75NI/hOsF4=" + }, + "through2": { + "version": "2.0.5", + "resolved": "http://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz", + "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, "thunky": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", - "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz", + "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=", "dev": true }, "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "version": "2.0.11", + "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-browserify-2.0.11.tgz", + "integrity": "sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8=", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -5617,59 +5874,105 @@ "repeat-string": "^1.6.1" } }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "triple-beam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==", + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", + "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", "dev": true }, "ts-loader": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.2.1.tgz", - "integrity": "sha512-KC0cOvsFVyxBlg5h9jvaMlIL2tNsyQLvT2/OvIlO0AMUBJ4iXTtOfaDEqvmqv2lM/icekQfDsP2PsYBCDHpuOQ==", + "version": "7.0.2", + "resolved": "https://registry.npm.taobao.org/ts-loader/download/ts-loader-7.0.2.tgz?cache=0&sync_timestamp=1588225293251&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-loader%2Fdownload%2Fts-loader-7.0.2.tgz", + "integrity": "sha1-RlvJBK6kwzHpVQ58fXXdF6C3wkw=", "dev": true, "requires": { "chalk": "^2.3.0", "enhanced-resolve": "^4.0.0", "loader-utils": "^1.0.2", - "micromatch": "^3.1.4", - "semver": "^5.0.1" + "micromatch": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz", + "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "http://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } } }, "ts-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", - "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", + "version": "8.9.1", + "resolved": "https://registry.npm.taobao.org/ts-node/download/ts-node-8.9.1.tgz?cache=0&sync_timestamp=1587880893236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-node%2Fdownload%2Fts-node-8.9.1.tgz", + "integrity": "sha1-L4V/RsR+kdzSihTgUkgusUz9ZaU=", "dev": true, "requires": { - "arrify": "^1.0.0", - "buffer-from": "^1.1.0", - "diff": "^3.1.0", + "arg": "^4.1.0", + "diff": "^4.0.1", "make-error": "^1.1.1", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.6", - "yn": "^2.0.0" + "source-map-support": "^0.5.17", + "yn": "3.1.1" }, "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719289626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } } } }, "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "version": "1.11.1", + "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.11.1.tgz", + "integrity": "sha1-6xXRKIJ/vuKEFUnhcfRe0zisfjU=", "dev": true }, "tty-browserify": { @@ -5679,13 +5982,13 @@ "dev": true }, "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "version": "1.6.18", + "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", + "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" } }, "typedarray": { @@ -5695,91 +5998,70 @@ "dev": true }, "typescript": { - "version": "3.7.5", - "resolved": "http://r.cnpmjs.org/typescript/download/typescript-3.7.5.tgz", - "integrity": "sha1-BpLiH2X9QQi5MwI4qsEd0uF3oa4=", + "version": "3.8.3", + "resolved": "https://registry.npm.taobao.org/typescript/download/typescript-3.8.3.tgz?cache=0&sync_timestamp=1588230937370&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypescript%2Fdownload%2Ftypescript-3.8.3.tgz", + "integrity": "sha1-QJ64VE6gM1cRIFhp7EWKsQnuEGE=", "dev": true }, "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "version": "3.9.1", + "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.9.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.9.1.tgz", + "integrity": "sha1-pWpxyMqi02tVVswf1X3wGuNJFTk=", "dev": true, "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" + "commander": "~2.20.3" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1587781810870&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", + "dev": true + } } }, "uglifyjs-webpack-plugin": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.0.1.tgz", - "integrity": "sha512-1HhCHkOB6wRCcv7htcz1QRPVbWPEY074RP9vzt/X0LF4xXm9l4YGd0qja7z88abDixQlnVwBjXsTBs+Xsn/eeQ==", + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/uglifyjs-webpack-plugin/download/uglifyjs-webpack-plugin-2.2.0.tgz", + "integrity": "sha1-51vIDn8ZN/cllUybTFoeln6p0Nc=", "dev": true, "requires": { - "cacache": "^11.2.0", - "find-cache-dir": "^2.0.0", + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^1.4.0", + "serialize-javascript": "^1.7.0", "source-map": "^0.6.1", - "uglify-js": "^3.0.0", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" + "uglify-js": "^3.6.0", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" } }, - "underscore": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true - }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/union-value/download/union-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "unique-filename": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "resolved": "http://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz", + "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", "dev": true, "requires": { "unique-slug": "^2.0.0" } }, "unique-slug": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", - "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz", + "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -5832,21 +6114,15 @@ } }, "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz", + "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", "dev": true }, "uri-js": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "resolved": "http://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz", + "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", "dev": true, "requires": { "punycode": "^2.1.0" @@ -5877,12 +6153,12 @@ } }, "url-parse": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz", - "integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==", + "version": "1.4.7", + "resolved": "https://registry.npm.taobao.org/url-parse/download/url-parse-1.4.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-parse%2Fdownload%2Furl-parse-1.4.7.tgz", + "integrity": "sha1-qKg1NejACjFuQDpdtKwbm4U64ng=", "dev": true, "requires": { - "querystringify": "^2.0.0", + "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, @@ -5893,9 +6169,9 @@ "dev": true }, "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "version": "0.11.1", + "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz", + "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", "dev": true, "requires": { "inherits": "2.0.3" @@ -5909,8 +6185,8 @@ }, "util.promisify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz", + "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", "dev": true, "requires": { "define-properties": "^1.1.2", @@ -5936,9 +6212,9 @@ "dev": true }, "v8-compile-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", - "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.0.3.tgz", + "integrity": "sha1-APdJTSritojP4omd9u0sVL75Hb4=", "dev": true }, "vary": { @@ -5948,269 +6224,194 @@ "dev": true }, "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1572870776965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz", + "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=", + "dev": true }, "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.1.tgz", + "integrity": "sha1-KA2gqHGFkhdAEMB4x1hadM2M0OI=", "dev": true, "requires": { - "chokidar": "^2.0.2", + "chokidar": "^2.1.8", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" } }, "wbuf": { "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", + "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", "dev": true, "requires": { "minimalistic-assert": "^1.0.0" } }, "webpack": { - "version": "4.20.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.20.2.tgz", - "integrity": "sha512-75WFUMblcWYcocjSLlXCb71QuGyH7egdBZu50FtBGl2Nso8CK3Ej+J7bTZz2FPFq5l6fzCisD9modB7t30ikuA==", + "version": "4.43.0", + "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.43.0.tgz?cache=0&sync_timestamp=1588187519205&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.43.0.tgz", + "integrity": "sha1-xIVHsR1WMiTFYdrRFyyKoLimeOY=", "dev": true, "requires": { - "@webassemblyjs/ast": "1.7.8", - "@webassemblyjs/helper-module-context": "1.7.8", - "@webassemblyjs/wasm-edit": "1.7.8", - "@webassemblyjs/wasm-parser": "1.7.8", - "acorn": "^5.6.2", - "acorn-dynamic-import": "^3.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", + "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^0.4.4", - "tapable": "^1.1.0", - "uglifyjs-webpack-plugin": "^1.2.4", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.1", + "webpack-sources": "^1.4.1" }, "dependencies": { - "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "dev": true, - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" - } - }, - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "big.js": { + "version": "5.2.2", + "resolved": "http://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", "dev": true }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", "dev": true }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1586045700847&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", "dev": true, "requires": { - "find-up": "^2.1.0" + "minimist": "^1.2.0" } }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" } }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", + "dev": true }, - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", "dev": true, "requires": { - "safe-buffer": "^5.1.1" + "minimist": "^1.2.5" } }, "tapable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz", - "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==", + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", "dev": true - }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "dev": true, - "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - } - }, - "uglifyjs-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", - "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", - "dev": true, - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "schema-utils": "^0.4.5", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "uglify-es": "^3.3.4", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - } - }, - "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } } } }, "webpack-cli": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.2.tgz", - "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==", + "version": "3.3.11", + "resolved": "https://registry.npm.taobao.org/webpack-cli/download/webpack-cli-3.3.11.tgz?cache=0&sync_timestamp=1583164205977&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-cli%2Fdownload%2Fwebpack-cli-3.3.11.tgz", + "integrity": "sha1-O/IYib9Ze12Cw48hUTWkEe39xjE=", "dev": true, "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.0", - "global-modules-path": "^2.3.0", - "import-local": "^2.0.0", - "interpret": "^1.1.0", - "loader-utils": "^1.1.0", - "supports-color": "^5.5.0", - "v8-compile-cache": "^2.0.2", - "yargs": "^12.0.2" + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" }, "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "http://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1586045700847&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.2.3.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-1.2.3.tgz", + "integrity": "sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", + "dev": true + }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -6219,27 +6420,28 @@ } }, "webpack-dev-middleware": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz", - "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==", + "version": "3.7.2", + "resolved": "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha1-ABnD23FuP6XOy/ZPKriKdLqzMfM=", "dev": true, "requires": { - "memory-fs": "~0.4.1", - "mime": "^2.3.1", - "range-parser": "^1.0.3", + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", "webpack-log": "^2.0.0" }, "dependencies": { "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "version": "2.4.4", + "resolved": "https://registry.npm.taobao.org/mime/download/mime-2.4.4.tgz?cache=0&sync_timestamp=1560034758817&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.4.4.tgz", + "integrity": "sha1-vXuRE1/GsBzePpuuM9ZZtj2IV+U=", "dev": true }, "webpack-log": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz?cache=0&sync_timestamp=1564684394562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-log%2Fdownload%2Fwebpack-log-2.0.0.tgz", + "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", "dev": true, "requires": { "ansi-colors": "^3.0.0", @@ -6249,65 +6451,208 @@ } }, "webpack-dev-server": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.9.tgz", - "integrity": "sha512-fqPkuNalLuc/hRC2QMkVYJkgNmRvxZQo7ykA2e1XRg/tMJm3qY7ZaD6d89/Fqjxtj9bOrn5wZzLD2n84lJdvWg==", + "version": "3.10.3", + "resolved": "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.10.3.tgz", + "integrity": "sha1-81lFA2gT5X71gsJCDve0cOFNOvA=", "dev": true, "requires": { "ansi-html": "0.0.7", "bonjour": "^3.5.0", - "chokidar": "^2.0.0", - "compression": "^1.5.2", - "connect-history-api-fallback": "^1.3.0", - "debug": "^3.1.0", - "del": "^3.0.0", - "express": "^4.16.2", - "html-entities": "^1.2.0", - "http-proxy-middleware": "~0.18.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "0.19.1", "import-local": "^2.0.0", - "internal-ip": "^3.0.1", + "internal-ip": "^4.3.0", "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.6", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.25", "schema-utils": "^1.0.0", - "selfsigned": "^1.9.1", - "serve-index": "^1.7.2", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", "sockjs": "0.3.19", - "sockjs-client": "1.1.5", - "spdy": "^3.4.1", - "strip-ansi": "^3.0.0", - "supports-color": "^5.1.0", - "webpack-dev-middleware": "3.4.0", + "sockjs-client": "1.4.0", + "spdy": "^4.0.1", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", "webpack-log": "^2.0.0", - "yargs": "12.0.2" + "ws": "^6.2.1", + "yargs": "12.0.5" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz", + "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1573280518303&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", "dev": true, "requires": { "ms": "^2.1.1" } }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz", + "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=", "dev": true }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1573280518303&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, "webpack-log": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz?cache=0&sync_timestamp=1564684394562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-log%2Fdownload%2Fwebpack-log-2.0.0.tgz", + "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", "dev": true, "requires": { "ansi-colors": "^3.0.0", "uuid": "^3.3.2" } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-12.0.5.tgz", + "integrity": "sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM=", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-11.1.1.tgz", + "integrity": "sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -6324,18 +6669,26 @@ } }, "webpack-merge": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.4.tgz", - "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==", + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-merge%2Fdownload%2Fwebpack-merge-4.2.2.tgz", + "integrity": "sha1-onxS6ng9E5iv0gh/VH17nS9DY00=", "dev": true, "requires": { - "lodash": "^4.17.5" + "lodash": "^4.17.15" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=", + "dev": true + } } }, "webpack-sources": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", - "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "version": "1.4.3", + "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz", + "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -6343,25 +6696,26 @@ } }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.3.tgz", + "integrity": "sha1-otTg1PTxFvHmKX66WLBdQwEA6fk=", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.3.tgz", + "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=", "dev": true }, "which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "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", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", "dev": true, "requires": { "isexe": "^2.0.0" @@ -6373,75 +6727,53 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "winston": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.1.0.tgz", - "integrity": "sha512-FsQfEE+8YIEeuZEYhHDk5cILo1HOcWkGwvoidLrDgPog0r4bser1lEIOco2dN9zpDJ1M88hfDgZvxe5z4xNcwg==", - "dev": true, - "requires": { - "async": "^2.6.0", - "diagnostics": "^1.1.1", - "is-stream": "^1.1.0", - "logform": "^1.9.1", - "one-time": "0.0.4", - "readable-stream": "^2.3.6", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.2.0" - } - }, - "winston-transport": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.2.0.tgz", - "integrity": "sha512-0R1bvFqxSlK/ZKTH86nymOuKv/cT1PQBMuDdA7k7f0S9fM44dNH6bXnuxwXPrN8lefJgtZq08BKdyZ0DZIy/rg==", - "dev": true, - "requires": { - "readable-stream": "^2.3.6", - "triple-beam": "^1.2.0" - } - }, "wolfy87-eventemitter": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.5.tgz", - "integrity": "sha512-1Og5JkuMNZfZcDn76HM1ktUqG8MOMWKpaGdExM1pcTloUNSBkx4Mti3/jRKSTt1vI3P7S8BTkFogqMbc7m3A7Q==" + "version": "5.2.9", + "resolved": "https://registry.npm.taobao.org/wolfy87-eventemitter/download/wolfy87-eventemitter-5.2.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwolfy87-eventemitter%2Fdownload%2Fwolfy87-eventemitter-5.2.9.tgz", + "integrity": "sha1-6Hn3cLMPu2USqK+7Mww4hZEJnCo=" }, "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz", + "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=", "dev": true, "requires": { "errno": "~0.1.7" } }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/worker-rpc/download/worker-rpc-0.1.1.tgz", + "integrity": "sha1-y1Zb1tcHGo8WZgaGBR6WmtMvVNU=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "microevent.ts": "~0.1.1" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1573280518303&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "ansi-regex": "^4.1.0" } } } @@ -6453,9 +6785,9 @@ "dev": true }, "write-file-atomic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "version": "2.4.3", + "resolved": "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.3.tgz?cache=0&sync_timestamp=1582584103455&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrite-file-atomic%2Fdownload%2Fwrite-file-atomic-2.4.3.tgz", + "integrity": "sha1-H9Lprh3z51uNjDZ0Q8aS1MqB9IE=", "dev": true, "requires": { "graceful-fs": "^4.1.11", @@ -6475,65 +6807,85 @@ "pify": "^3.0.0", "sort-keys": "^2.0.0", "write-file-atomic": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz?cache=0&sync_timestamp=1587567576732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", - "dev": true + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz", + "integrity": "sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", "dev": true }, "y18n": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "resolved": "http://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz", + "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms=", "dev": true }, "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz", + "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", "dev": true }, "yargs": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", - "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "version": "13.2.4", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.2.4.tgz", + "integrity": "sha1-C1YreUAW65ZRuYvTes82SqXW3IM=", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^2.0.0", + "cliui": "^5.0.0", "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^10.1.0" + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" } }, "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "version": "13.1.2", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, "yn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/yn/download/yn-3.1.1.tgz", + "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=", "dev": true } } diff --git a/package.json b/package.json index d3b4c82..774a115 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,10 @@ "main": "src/index.ts", "private": true, "scripts": { + "t": "tsc --noEmit -w", "build": "tsc", "umd": "webpack --config ./config/webpack.umd.ts", - "dev": "webpack-dev-server --config ./config/webpack.view.ts", - "type": "ts-node ./utils/copy_type.ts" + "dev": "webpack-dev-server --config ./config/webpack.view.ts" }, "repository": { "type": "git", @@ -17,29 +17,29 @@ "author": "cx", "license": "ISC", "devDependencies": { - "@types/hard-source-webpack-plugin": "^0.9.0", - "@types/node": "^10.11.7", + "@types/hard-source-webpack-plugin": "^1.0.1", + "@types/node": "^13.13.4", + "@types/three": "^0.103.2", "@types/uglifyjs-webpack-plugin": "^1.1.0", - "@types/webpack": "^4.4.16", - "@types/webpack-dev-server": "^3.1.1", - "@types/webpack-env": "^1.13.6", - "@types/webpack-merge": "^4.1.3", + "@types/webpack": "^4.41.12", + "@types/webpack-dev-server": "^3.10.1", + "@types/webpack-env": "^1.15.2", + "@types/webpack-merge": "^4.1.5", "awesome-typescript-loader": "^5.2.1", - "fork-ts-checker-webpack-plugin": "^0.4.8", - "hard-source-webpack-plugin": "^0.12.0", - "html-webpack-plugin": "^3.2.0", - "ts-loader": "^5.2.1", - "ts-node": "^7.0.1", - "typescript": "^3.7.5", - "uglifyjs-webpack-plugin": "^2.0.1", - "webpack": "^4.20.2", - "webpack-cli": "^3.1.2", - "webpack-dev-server": "^3.1.9", - "webpack-merge": "^4.1.4" + "fork-ts-checker-webpack-plugin": "^4.1.3", + "hard-source-webpack-plugin": "^0.13.1", + "html-webpack-plugin": "^4.2.1", + "ts-loader": "^7.0.2", + "ts-node": "^8.9.1", + "typescript": "^3.8.3", + "uglifyjs-webpack-plugin": "^2.2.0", + "webpack": "^4.43.0", + "webpack-cli": "^3.3.11", + "webpack-dev-server": "^3.10.3", + "webpack-merge": "^4.2.2" }, "dependencies": { - "@types/three": "^0.92.25", - "three": "^0.95.0", - "wolfy87-eventemitter": "^5.2.5" + "three": "^0.115.0", + "wolfy87-eventemitter": "^5.2.9" } } diff --git a/src/CameraUpdate.ts b/src/CameraUpdate.ts index cf1ff04..67970d1 100644 --- a/src/CameraUpdate.ts +++ b/src/CameraUpdate.ts @@ -1,21 +1,20 @@ -import * as THREE from 'three'; -import { Vector3 } from 'three'; +import { Box3, Camera, MathUtils, OrthographicCamera, PerspectiveCamera, Vector3 } from 'three'; import { Orbit } from './Orbit'; /** - * + * * 相机的控制. * ->切换相机 * ->设置视口大小 * ->旋转和移动相机. - * + * * @export * @class ViewCameraManage */ export class CameraUpdate { - private m_CurCamera: THREE.Camera; - private m_CameraArray: Map = new Map(); + private m_CurCamera: Camera; + private m_CameraArray: Map = new Map(); //视口的画布大小 private m_Width: number; @@ -24,9 +23,9 @@ export class CameraUpdate private m_ViewHeight: number = 10; //观察的位置 - private m_Target: THREE.Vector3 = new THREE.Vector3(); + private m_Target: Vector3 = new Vector3(); //观察向量 - private m_Direction: THREE.Vector3 = new THREE.Vector3(0, 0, -1); + private m_Direction: Vector3 = new Vector3(0, 0, -1); //观察的轨道. private m_Orbit: Orbit = new Orbit(); @@ -35,12 +34,12 @@ export class CameraUpdate constructor() { - this.m_CameraArray.set(THREE.OrthographicCamera, new THREE.OrthographicCamera(-2, 2, 2, -2, + this.m_CameraArray.set(OrthographicCamera, new OrthographicCamera(-2, 2, 2, -2, -1e6, 1e6)); - this.m_CameraArray.set(THREE.PerspectiveCamera, new THREE.PerspectiveCamera(50, 1, 0.01, 10000)); + this.m_CameraArray.set(PerspectiveCamera, new PerspectiveCamera(50, 1, 0.01, 10000)); - this.m_CurCamera = this.m_CameraArray.get(THREE.OrthographicCamera); + this.m_CurCamera = this.m_CameraArray.get(OrthographicCamera); this.m_Orbit.UpdateRoValue(this.m_Direction); @@ -53,7 +52,7 @@ export class CameraUpdate return this.m_Width / this.m_Height; } - get Camera(): THREE.Camera + get Camera(): Camera { return this.m_CurCamera; } @@ -63,7 +62,7 @@ export class CameraUpdate } set ViewHeight(height) { - this.m_ViewHeight = THREE.Math.clamp(height, this.m_MinViewHeight, this.m_MaxViewHeight); + this.m_ViewHeight = MathUtils.clamp(height, this.m_MinViewHeight, this.m_MaxViewHeight); } SetSize(width: number, height: number) @@ -74,11 +73,11 @@ export class CameraUpdate /** * 平移相机. - * - * @param {THREE.Vector3} mouseMove + * + * @param {Vector3} mouseMove * @memberof CameraControl */ - Pan(mouseMove: THREE.Vector3) + Pan(mouseMove: Vector3) { mouseMove.y *= -1; mouseMove.multiplyScalar(-this.m_ViewHeight / this.m_Height); @@ -86,7 +85,7 @@ export class CameraUpdate this.m_Target.add(mouseMove); this.Update(); } - Rotate(mouseMove: THREE.Vector3, target: THREE.Vector3) + Rotate(mouseMove: Vector3, target: Vector3) { this.m_Orbit.RoX -= mouseMove.y * 0.003; this.m_Orbit.RoZ -= mouseMove.x * 0.003; @@ -112,9 +111,9 @@ export class CameraUpdate this.Update(); } - Zoom(scale: number, scaleCenter?: THREE.Vector3) + Zoom(scale: number, scaleCenter?: Vector3) { - if (this.Camera instanceof THREE.OrthographicCamera) + if (this.Camera instanceof OrthographicCamera) { this.ViewHeight *= scale; if (scaleCenter && this.m_ViewHeight < this.m_MaxViewHeight) @@ -124,7 +123,7 @@ export class CameraUpdate this.m_Target.add(scaleCenter); } } - else if (this.Camera instanceof THREE.PerspectiveCamera) + else if (this.Camera instanceof PerspectiveCamera) { let add = scale > 1 ? 1 : -1; add *= this.Camera.position.distanceTo(this.m_Target) / 10; @@ -132,7 +131,7 @@ export class CameraUpdate } this.Update(); } - ZoomExtensBox3(box3: THREE.Box3) + ZoomExtensBox3(box3: Box3) { if (!box3 || box3.isEmpty()) return; this.Camera.updateMatrixWorld(false); @@ -159,7 +158,7 @@ export class CameraUpdate } this.Update(); } - LookAt(dir: THREE.Vector3) + LookAt(dir: Vector3) { this.m_Orbit.UpdateRoValue(dir); this.m_Direction.copy(dir); @@ -173,15 +172,15 @@ export class CameraUpdate } /** * 根据视口大小,设置相机视口范围. - * - * @returns + * + * @returns * @memberof CameraControl */ Update() { this.Camera.position.copy(this.m_Target); - if (this.Camera instanceof THREE.OrthographicCamera) + if (this.Camera instanceof OrthographicCamera) { this.Camera.left = this.Aspect * this.m_ViewHeight / -2; this.Camera.right = this.Aspect * this.m_ViewHeight / 2; @@ -190,10 +189,10 @@ export class CameraUpdate this.Camera.position.sub(this.m_Direction); } - else if (this.Camera instanceof THREE.PerspectiveCamera) + else if (this.Camera instanceof PerspectiveCamera) { this.Camera.aspect = this.Aspect; - let distens = (this.m_ViewHeight / 2) / (Math.tan(THREE.Math.degToRad(this.Camera.fov) / 2)); + let distens = (this.m_ViewHeight / 2) / (Math.tan(MathUtils.degToRad(this.Camera.fov) / 2)); this.Camera.position.sub(this.m_Direction.clone().multiplyScalar(distens)); } @@ -209,13 +208,13 @@ export class CameraUpdate SwitchCamera() { - if (this.Camera instanceof THREE.OrthographicCamera) + if (this.Camera instanceof OrthographicCamera) { - this.m_CurCamera = this.m_CameraArray.get(THREE.PerspectiveCamera); + this.m_CurCamera = this.m_CameraArray.get(PerspectiveCamera); } else { - this.m_CurCamera = this.m_CameraArray.get(THREE.OrthographicCamera); + this.m_CurCamera = this.m_CameraArray.get(OrthographicCamera); } this.UpdateUp(); this.Update(); diff --git a/src/Dimension.ts b/src/Dimension.ts index 049ec62..cc9cfc7 100644 --- a/src/Dimension.ts +++ b/src/Dimension.ts @@ -5,7 +5,6 @@ import { MoveMatrix } from "./GeUtils"; /** * 标注实体 - * * @export * @class Dimension * @extends {Group} @@ -42,12 +41,12 @@ export class Dimension extends Group if (mirror) { let roMat = new Matrix4().makeRotationZ(Math.PI); - text.applyMatrix(roMat); - text.applyMatrix(MoveMatrix(new Vector3(length * 0.5, footLength - textHeight * 0.1))); + text.applyMatrix4(roMat); + text.applyMatrix4(MoveMatrix(new Vector3(length * 0.5, footLength - textHeight * 0.1))); } else { - text.applyMatrix(MoveMatrix(new Vector3(length * 0.5, footLength * 1.1))); + text.applyMatrix4(MoveMatrix(new Vector3(length * 0.5, footLength * 1.1))); } diff --git a/src/DrawDimension.ts b/src/DrawDimension.ts index b15a999..77656f1 100644 --- a/src/DrawDimension.ts +++ b/src/DrawDimension.ts @@ -1,12 +1,12 @@ -import { Box3, Vector3, Matrix4, Mesh } from "three"; +import { Box3, Matrix4, Mesh, Vector3 } from "three"; import { Dimension, GetBoxArr } from "."; /** * 绘制标注实体 - * + * * @export - * @param {Box3} box + * @param {Box3} box * @returns 标注实体列表 */ export function DrawDimension(brList: Mesh[]): Dimension[] @@ -24,7 +24,7 @@ export function DrawDimension(brList: Mesh[]): Dimension[] let textHeight = 45; let dimx = new Dimension(size.x, textHeight, true); - dimx.applyMatrix(mat4); + dimx.applyMatrix4(mat4); let dimz = new Dimension(size.z, textHeight); mat4.makeBasis( @@ -33,7 +33,7 @@ export function DrawDimension(brList: Mesh[]): Dimension[] new Vector3(0, -1, 0) ) mat4.setPosition(box.max.clone().add(new Vector3(30, -size.y))); - dimz.applyMatrix(mat4); + dimz.applyMatrix4(mat4); let dimy = new Dimension(size.y, textHeight, true, true); mat4.makeBasis( @@ -42,7 +42,7 @@ export function DrawDimension(brList: Mesh[]): Dimension[] new Vector3(0, 0, 1) ) mat4.setPosition(box.max.clone().add(new Vector3(30, -size.y))); - dimy.applyMatrix(mat4); + dimy.applyMatrix4(mat4); return [dimx, dimy, dimz]; diff --git a/src/GeUtils.ts b/src/GeUtils.ts index 64073d5..c5fa735 100644 --- a/src/GeUtils.ts +++ b/src/GeUtils.ts @@ -1,16 +1,15 @@ -import * as THREE from 'three'; -import { Geometry, Vector, Vector2, Vector3, Box3 } from 'three'; +import { Geometry, Vector, Vector2, Vector3, Box3, Matrix4, Object3D, Line, Mesh } from 'three'; import { Matrix2 } from './Matrix2'; -export const cZeroVec = new THREE.Vector3(); -export const cXAxis = new THREE.Vector3(1, 0, 0); -export const cYAxis = new THREE.Vector3(0, 1, 0); -export const cZAxis = new THREE.Vector3(0, 0, 1); +export const cZeroVec = new Vector3(); +export const cXAxis = new Vector3(1, 0, 0); +export const cYAxis = new Vector3(0, 1, 0); +export const cZAxis = new Vector3(0, 0, 1); /** * 旋转一个点,旋转中心在原点 - * + * * @export * @param {Vector3} pt 点 * @param {number} ang 角度. @@ -26,6 +25,12 @@ export function equaln(v1: number, v2: number, fuzz = 1e-3) { return Math.abs(v1 - v2) < fuzz; } + +export function equalv3(v1: Vector3, v2: Vector3, fuzz = 1e-8) +{ + return equaln(v1.x, v2.x, fuzz) && equaln(v1.y, v2.y, fuzz) && equaln(v1.z, v2.z, fuzz); +} + export function equal(v1: T, v2: T) { return v1.distanceToSquared(v2) < 1e-8; @@ -50,13 +55,13 @@ export function fixAngle(an: number, fixAngle: number, fuzz: number = 0.1) /** * 按照极坐标的方式移动一个点 - * + * * @export - * @template + * @template * @param {T} v 向量(2d,3d) * @param {number} an 角度 * @param {number} dis 距离 - * @returns {T} + * @returns {T} */ export function polar(v: T, an: number, dis: number): T { @@ -76,22 +81,22 @@ export function angle(v: Vector3 | Vector2) /** * 求两个向量的夹角,顺时针为负,逆时针为正 - * - * @param {THREE.Vector3} v1 - * @param {THREE.Vector3} v2 - * @param {THREE.Vector3} [ref] 参考向量,如果为世界坐标系则为0,0,1 - * @returns + * + * @param {Vector3} v1 + * @param {Vector3} v2 + * @param {Vector3} [ref] 参考向量,如果为世界坐标系则为0,0,1 + * @returns */ -export function angleTo(v1: THREE.Vector3, v2: THREE.Vector3, ref: THREE.Vector3 = new THREE.Vector3(0, 0, 1)) +export function angleTo(v1: Vector3, v2: Vector3, ref: Vector3 = new Vector3(0, 0, 1)) { if (!ref.equals(new Vector3(0, 0, 1))) { //任意轴坐标系. 使用相机的构造矩阵. ref.multiplyScalar(-1); let up = getLoocAtUpVec(ref); - let refOcs = new THREE.Matrix4(); + let refOcs = new Matrix4(); refOcs.lookAt(cZeroVec, ref, up); - let refOcsInv = new THREE.Matrix4().getInverse(refOcs); + let refOcsInv = new Matrix4().getInverse(refOcs); v1.applyMatrix4(refOcsInv); v2.applyMatrix4(refOcsInv); v1.z = 0; @@ -103,7 +108,7 @@ export function angleTo(v1: THREE.Vector3, v2: THREE.Vector3, ref: THREE.Vector3 return cv.z === 0 ? v1.angleTo(v2) : v1.angleTo(v2) * cv.z; } -export function getLoocAtUpVec(dir: THREE.Vector3): THREE.Vector3 +export function getLoocAtUpVec(dir: Vector3): Vector3 { if (dir.equals(cZeroVec)) { @@ -112,37 +117,37 @@ export function getLoocAtUpVec(dir: THREE.Vector3): THREE.Vector3 let norm = dir.clone().normalize(); if (norm.equals(cZAxis)) { - return new THREE.Vector3(0, 1, 0); + return new Vector3(0, 1, 0); } else if (norm.equals(cZAxis.clone().negate())) { - return new THREE.Vector3(0, -1, 0); + return new Vector3(0, -1, 0); } else { - let xv: THREE.Vector3 = new THREE.Vector3(); + let xv: Vector3 = new Vector3(); xv.crossVectors(cZAxis, norm); - let up = new THREE.Vector3(); + let up = new Vector3(); up.crossVectors(norm, xv); return up; } } -export function createLookAtMat4(dir: THREE.Vector3): THREE.Matrix4 +export function createLookAtMat4(dir: Vector3): Matrix4 { let up = getLoocAtUpVec(dir); - let mat = new THREE.Matrix4(); + let mat = new Matrix4(); mat.lookAt(cZeroVec, dir, up); return mat; } -export function isParallelTo(v1: THREE.Vector3, v2: THREE.Vector3) +export function isParallelTo(v1: Vector3, v2: Vector3) { return v1.clone().cross(v2).lengthSq() < 1e-9; } -export function ptToString(v: THREE.Vector3, fractionDigits: number = 3): string +export function ptToString(v: Vector3, fractionDigits: number = 3): string { return v.toArray().map(o => { @@ -150,16 +155,16 @@ export function ptToString(v: THREE.Vector3, fractionDigits: number = 3): string }).join(",") } -export function midPoint(v1: THREE.Vector3, v2: THREE.Vector3): THREE.Vector3 +export function midPoint(v1: Vector3, v2: Vector3): Vector3 { return v1.clone().add(v2).multiplyScalar(0.5); } -export function midPoint2(v1: THREE.Vector2, v2: THREE.Vector2): THREE.Vector2 +export function midPoint2(v1: Vector2, v2: Vector2): Vector2 { return v1.clone().add(v2).multiplyScalar(0.5); } -export function midPtCir(v1: THREE.Vector3, v2: THREE.Vector3) +export function midPtCir(v1: Vector3, v2: Vector3) { let baseline = new Vector3(1, 0, 0); let outLine = v2.clone().sub(v1); @@ -170,11 +175,11 @@ export function midPtCir(v1: THREE.Vector3, v2: THREE.Vector3) /** * 获得Three对象的包围盒. - * @param obj + * @param obj * @param [updateMatrix] 是否应该更新对象矩阵 - * @returns box + * @returns box */ -export function GetBox(obj: THREE.Object3D, updateMatrix?: boolean): THREE.Box3 +export function GetBox(obj: Object3D, updateMatrix?: boolean): Box3 { let box = new Box3(); if (updateMatrix) obj.updateMatrixWorld(false); @@ -199,7 +204,7 @@ export function GetBox(obj: THREE.Object3D, updateMatrix?: boolean): THREE.Box3 return box; } -export function GetBoxArr(arr: Array): THREE.Box3 +export function GetBoxArr(arr: Array): Box3 { let box = new Box3(); for (let o of arr) @@ -211,9 +216,9 @@ export function GetBoxArr(arr: Array): THREE.Box3 return box; } -export function MoveMatrix(v: THREE.Vector3): THREE.Matrix4 +export function MoveMatrix(v: Vector3): Matrix4 { - let mat = new THREE.Matrix4(); + let mat = new Matrix4(); mat.makeTranslation(v.x, v.y, v.z); return mat; } @@ -265,9 +270,9 @@ export function angleAndX(v: Vector3 | Vector2) } /** * 将角度调整为0-2pi之间 - * + * * @export - * @param {number} an + * @param {number} an */ export function angleTo2Pi(an: number) { @@ -275,9 +280,9 @@ export function angleTo2Pi(an: number) if (an < 0) an += Math.PI * 2 return an; } -export function updateGeometry(l: THREE.Line | THREE.Mesh, geometry: Geometry) +export function updateGeometry(l: Line | Mesh, geometry: Geometry) { - let geo = l.geometry as THREE.Geometry; + let geo = l.geometry as Geometry; geo.dispose(); l.geometry = geometry; geometry.verticesNeedUpdate = true; diff --git a/src/Orbit.ts b/src/Orbit.ts index a2f4796..9850da0 100644 --- a/src/Orbit.ts +++ b/src/Orbit.ts @@ -1,9 +1,9 @@ -import * as THREE from "three"; +import { MathUtils, Vector3 } from "three"; /** * 轨道控制的数学类,观察向量和角度的互相转换 * 当x当抬头或者低头到90度时,触发万向锁. - * + * * @class Orbit */ export class Orbit @@ -20,19 +20,19 @@ export class Orbit } set RoX(v) { - this.m_RoX = THREE.Math.clamp(v, Math.PI * -0.5, Math.PI * 0.5); + this.m_RoX = MathUtils.clamp(v, Math.PI * -0.5, Math.PI * 0.5); } /** * 使用旋转角度 计算观察向量 - * - * @param {THREE.Vector3} [dir] 引用传入,如果传入,那么就不构造新的向量 - * @returns {THREE.Vector3} 返回观察向量 + * + * @param {Vector3} [dir] 引用传入,如果传入,那么就不构造新的向量 + * @returns {Vector3} 返回观察向量 * @memberof Orbit */ - UpdateDirection(dir?: THREE.Vector3): THREE.Vector3 + UpdateDirection(dir?: Vector3): Vector3 { - let rtDir = dir ? dir : new THREE.Vector3(); + let rtDir = dir ? dir : new Vector3(); rtDir.z = Math.sin(this.m_RoX); @@ -47,11 +47,11 @@ export class Orbit /** * 使用观察向量,计算旋转角度 - * - * @param {THREE.Vector3} dir + * + * @param {Vector3} dir * @memberof Orbit */ - UpdateRoValue(dir: THREE.Vector3) + UpdateRoValue(dir: Vector3) { dir.normalize(); this.m_RoX = Math.asin(dir.z); @@ -62,30 +62,30 @@ export class Orbit } /** - * + * * 根据观察向量 求头部的向量. - * + * * @static - * @param {THREE.Vector3} dir - * @param {THREE.Vector3} [up] - * @returns {THREE.Vector3} + * @param {Vector3} dir + * @param {Vector3} [up] + * @returns {Vector3} * @memberof Orbit */ - static ComputUpDirection(dir: THREE.Vector3, up?: THREE.Vector3): THREE.Vector3 + static ComputUpDirection(dir: Vector3, up?: Vector3): Vector3 { - let upRes = up ? up : new THREE.Vector3(); - if (dir.equals(new THREE.Vector3(0, 0, -1))) + let upRes = up ? up : new Vector3(); + if (dir.equals(new Vector3(0, 0, -1))) { upRes.set(0, 1, 0); } - else if (dir.equals(new THREE.Vector3(0, 0, 1))) + else if (dir.equals(new Vector3(0, 0, 1))) { upRes.set(0, -1, 0); } else { - let xv = new THREE.Vector3(); - xv.crossVectors(new THREE.Vector3(0, 0, 1), dir); + let xv = new Vector3(); + xv.crossVectors(new Vector3(0, 0, 1), dir); upRes.crossVectors(dir, xv); upRes.normalize(); } diff --git a/src/Text.ts b/src/Text.ts index a37f69c..8b1d340 100644 --- a/src/Text.ts +++ b/src/Text.ts @@ -30,7 +30,7 @@ export class DbText extends Mesh { let font = FontLoaderUtil.Load(); - let shapes: Shape[] = font.generateShapes(str, height, 0.1); + let shapes: THREE.Shape[] = font.generateShapes(str, height); let geometry = new ShapeGeometry(shapes); geometry.computeBoundingBox(); @@ -38,6 +38,6 @@ export class DbText extends Mesh super(geometry, ColorMaterial.GetBasicMaterial(5)); let center = geometry.boundingBox.getCenter(new Vector3()); - this.applyMatrix(MoveMatrix(new Vector3(-center.x, 0, 0))); + this.applyMatrix4(MoveMatrix(new Vector3(-center.x, 0, 0))); } } diff --git a/src/ThreeCSG.ts b/src/ThreeCSG.ts index 61b975f..f167f6b 100644 --- a/src/ThreeCSG.ts +++ b/src/ThreeCSG.ts @@ -71,31 +71,6 @@ export class ThreeBSP vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[2], uvs); vertex.applyMatrix4(this.matrix); polygon.vertices.push(vertex); - } else if (typeof THREE.Face4) - { - vertex = geometry.vertices[face.a]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[0].x, faceVertexUvs[0].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[0], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - - vertex = geometry.vertices[face.b]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[1].x, faceVertexUvs[1].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[1], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - - vertex = geometry.vertices[face.c]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[2].x, faceVertexUvs[2].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[2], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - - vertex = geometry.vertices[face.d]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[3].x, faceVertexUvs[3].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[3], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); } else { throw 'Invalid face type at index ' + i; diff --git a/src/createBoard.ts b/src/createBoard.ts index d559a62..0ee009b 100644 --- a/src/createBoard.ts +++ b/src/createBoard.ts @@ -1,7 +1,6 @@ -import * as THREE from 'three'; -import { CylinderGeometry, Geometry, LineSegments, Mesh, Shape, Vector2 } from 'three'; +import { CylinderGeometry, Geometry, LineSegments, Mesh, Shape, Vector2, Vector3, Matrix4, ExtrudeGeometry, EdgesGeometry } from 'three'; import { ColorMaterial } from './ColorPalette'; -import { polar } from './GeUtils'; +import { equalv3, polar } from './GeUtils'; import { boardMaterial, edgeMaterial } from './Material'; import { RotateUVs } from './RotateUV'; import { ThreeBSP } from './ThreeCSG'; @@ -10,16 +9,16 @@ export class Arc2d { m_StartAn: number; m_EndAn: number; - m_StartPoint: THREE.Vector2; - m_EndPoint: THREE.Vector2; - m_Center: THREE.Vector2; + m_StartPoint: Vector2; + m_EndPoint: Vector2; + m_Center: Vector2; m_Radius: number; - constructor(p1: THREE.Vector2, p2: THREE.Vector2, bul: number) + constructor(p1: Vector2, p2: Vector2, bul: number) { this.m_StartPoint = p1.clone(); this.m_EndPoint = p2.clone(); - let vec: THREE.Vector2 = p2.clone().sub(p1); + let vec: Vector2 = p2.clone().sub(p1); let len = vec.length(); let an = vec.angle(); this.m_Radius = len / Math.sin(2 * Math.atan(bul)) / 2; @@ -44,7 +43,7 @@ export class Arc2d } } -//创建轮廓 通过点表和凸度 +//创建轮廓 通过点表和凸度 export function createPath(pts: Vector2[], buls: number[], shapeOut?: Shape): Shape { let shape = shapeOut || new Shape(); @@ -72,23 +71,23 @@ export function createPath(pts: Vector2[], buls: number[], shapeOut?: Shape): Sh } return shape; } -export function getVec(data: object): THREE.Vector3 +export function getVec(data: object): Vector3 { - return new THREE.Vector3(data["x"], data["y"], data["z"]); + return new Vector3(data["x"], data["y"], data["z"]); } //创建板件 暂时这么写 export function createBoard(boardData: object) { - let pts: THREE.Vector2[] = []; + let pts: Vector2[] = []; let buls: number[] = []; let boardPts = boardData["Pts"]; let boardBuls = boardData["Buls"]; let boardHeight = boardData["H"]; - let boardMat = new THREE.Matrix4(); - let matInv: THREE.Matrix4 = new THREE.Matrix4(); + let boardMat = new Matrix4(); + let matInv: Matrix4 = new Matrix4(); //InitBoardMat let xD = getVec(boardData["XVec"]); let yD = getVec(boardData["YVec"]); @@ -97,7 +96,7 @@ export function createBoard(boardData: object) boardMat.makeBasis(xD, yD, ZD); boardMat.setPosition(pBase); - matInv.getInverse(boardMat, true); + matInv.getInverse(boardMat); if (boardPts && boardPts.length !== 0) for (let i = 0; i < boardPts.length; i++) @@ -105,7 +104,7 @@ export function createBoard(boardData: object) let pt = getVec(boardPts[i]); if (boardPts[i].z !== undefined) pt.applyMatrix4(matInv); - pts.push(new THREE.Vector2(pt.x, pt.y)); + pts.push(new Vector2(pt.x, pt.y)); buls.push(boardBuls[i]); } else @@ -126,14 +125,20 @@ export function createBoard(boardData: object) let extrudeSettings = { steps: 1, bevelEnabled: false, - amount: boardHeight + depth: boardHeight }; - let ext = new THREE.ExtrudeGeometry(sp, extrudeSettings) as Geometry; + let ext = new ExtrudeGeometry(sp, extrudeSettings) as Geometry; ext.computeBoundingSphere(); ext.computeBoundingBox(); ext.translate(0, 0, -boardHeight) - ext.applyMatrix(boardMat); + ext.applyMatrix4(boardMat); + + if (!equalv3(xD.clone().cross(yD), ZD)) + { + for (let f of ext.faces) + [f.a, f.c] = [f.c, f.a]; + } //外边. let edges: (LineSegments | Mesh)[] = [createEdge(ext)]; @@ -167,7 +172,7 @@ export function createBoard(boardData: object) else //1反 geo.translate(dri.x, dri.y, dri.h * 0.5 - boardData["H"]); - geo.applyMatrix(boardMat); + geo.applyMatrix4(boardMat); let mesh = new Mesh(geo, ColorMaterial.GetBasicMaterial(1)); edges.push(mesh); @@ -185,7 +190,7 @@ export function createBoard(boardData: object) if (boardData["BoardName"] === "地脚线") RotateUVs(ext); - let mesh = new THREE.Mesh(ext, boardMaterial); + let mesh = new Mesh(ext, boardMaterial); mesh.userData = ZD; edges.forEach(e => e.userData = ZD); return { mesh, edges }; @@ -222,6 +227,6 @@ export function createTemplateBoard(brDataList: any[]) export function createEdge(geo: Geometry): LineSegments { - let edge = new THREE.EdgesGeometry(geo, 1); + let edge = new EdgesGeometry(geo, 1); return new LineSegments(edge, edgeMaterial); } diff --git a/utils/copy_type.ts b/utils/copy_type.ts index 9181439..dc4a75b 100644 --- a/utils/copy_type.ts +++ b/utils/copy_type.ts @@ -96,7 +96,7 @@ downloadTypes({ urlPath: "https://gitee.com/BearCAD/DefinitelyType2/raw/master/three/", files: [ // "index.d.ts", - "three-core.d.ts", + // "three-core.d.ts", // "three-outlinepass.d.ts", // "three-smaapass.d.ts" ]