23 changed files with 566 additions and 577 deletions
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 995 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 1.0 KiB |
@ -1,22 +0,0 @@ |
|||
import ImgPreview from './index'; |
|||
import { isClient } from '/@/utils/is'; |
|||
|
|||
import type { Options, Props } from './types'; |
|||
|
|||
import { createVNode, render } from 'vue'; |
|||
|
|||
let instance: any = null; |
|||
export function createImgPreview(options: Options) { |
|||
if (!isClient) return; |
|||
const { imageList, show = true, index = 0 } = options; |
|||
|
|||
const propsData: Partial<Props> = {}; |
|||
const container = document.createElement('div'); |
|||
propsData.imageList = imageList; |
|||
propsData.show = show; |
|||
propsData.index = index; |
|||
|
|||
instance = createVNode(ImgPreview, propsData); |
|||
render(instance, container); |
|||
document.body.appendChild(container); |
|||
} |
|||
@ -1,118 +0,0 @@ |
|||
.img-preview { |
|||
position: fixed; |
|||
top: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
z-index: @preview-comp-z-index; |
|||
background: rgba(0, 0, 0, 0.5); |
|||
user-select: none; |
|||
|
|||
&-content { |
|||
display: flex; |
|||
width: 100%; |
|||
height: 100%; |
|||
color: @white; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
|
|||
&-image { |
|||
cursor: pointer; |
|||
transition: transform 0.3s; |
|||
} |
|||
|
|||
&__close { |
|||
position: absolute; |
|||
top: -40px; |
|||
right: -40px; |
|||
width: 80px; |
|||
height: 80px; |
|||
overflow: hidden; |
|||
color: @white; |
|||
cursor: pointer; |
|||
background-color: rgba(0, 0, 0, 0.5); |
|||
border-radius: 50%; |
|||
transition: all 0.2s; |
|||
|
|||
&-icon { |
|||
position: absolute; |
|||
top: 46px; |
|||
left: 16px; |
|||
font-size: 16px; |
|||
} |
|||
|
|||
&:hover { |
|||
background-color: rgba(0, 0, 0, 0.8); |
|||
} |
|||
} |
|||
|
|||
&__index { |
|||
position: absolute; |
|||
bottom: 5%; |
|||
left: 50%; |
|||
padding: 0 22px; |
|||
font-size: 16px; |
|||
background: rgba(109, 109, 109, 0.6); |
|||
border-radius: 15px; |
|||
transform: translateX(-50%); |
|||
} |
|||
|
|||
&__controller { |
|||
position: absolute; |
|||
bottom: 10%; |
|||
left: 50%; |
|||
display: flex; |
|||
width: 260px; |
|||
height: 44px; |
|||
padding: 0 22px; |
|||
margin-left: -139px; |
|||
background: rgba(109, 109, 109, 0.6); |
|||
border-radius: 22px; |
|||
justify-content: center; |
|||
|
|||
&-item { |
|||
display: flex; |
|||
height: 100%; |
|||
padding: 0 9px; |
|||
font-size: 24px; |
|||
cursor: pointer; |
|||
transition: all 0.2s; |
|||
|
|||
&:hover { |
|||
transform: scale(1.2); |
|||
} |
|||
|
|||
img { |
|||
width: 1em; |
|||
} |
|||
} |
|||
} |
|||
|
|||
&__arrow { |
|||
position: absolute; |
|||
top: 50%; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
width: 50px; |
|||
height: 50px; |
|||
font-size: 28px; |
|||
cursor: pointer; |
|||
background-color: rgba(0, 0, 0, 0.5); |
|||
border-radius: 50%; |
|||
transition: all 0.2s; |
|||
|
|||
&:hover { |
|||
background-color: rgba(0, 0, 0, 0.8); |
|||
} |
|||
|
|||
&.left { |
|||
left: 50px; |
|||
} |
|||
|
|||
&.right { |
|||
right: 50px; |
|||
} |
|||
} |
|||
} |
|||
@ -1,303 +0,0 @@ |
|||
import './index.less'; |
|||
|
|||
import { defineComponent, ref, unref, computed, reactive, watchEffect } from 'vue'; |
|||
|
|||
import { basicProps } from './props'; |
|||
import { Props } from './types'; |
|||
|
|||
import { CloseOutlined, LeftOutlined, RightOutlined, LoadingOutlined } from '@ant-design/icons-vue'; |
|||
import { Spin } from 'ant-design-vue'; |
|||
|
|||
import resumeSvg from '/@/assets/svg/preview/resume.svg'; |
|||
import rotateSvg from '/@/assets/svg/preview/p-rotate.svg'; |
|||
import scaleSvg from '/@/assets/svg/preview/scale.svg'; |
|||
import unScaleSvg from '/@/assets/svg/preview/unscale.svg'; |
|||
import unRotateSvg from '/@/assets/svg/preview/unrotate.svg'; |
|||
enum StatueEnum { |
|||
LOADING, |
|||
DONE, |
|||
FAIL, |
|||
} |
|||
interface ImgState { |
|||
currentUrl: string; |
|||
imgScale: number; |
|||
imgRotate: number; |
|||
imgTop: number; |
|||
imgLeft: number; |
|||
currentIndex: number; |
|||
status: StatueEnum; |
|||
moveX: number; |
|||
moveY: number; |
|||
show: boolean; |
|||
} |
|||
|
|||
const prefixCls = 'img-preview'; |
|||
export default defineComponent({ |
|||
name: 'ImagePreview', |
|||
props: basicProps, |
|||
setup(props: Props) { |
|||
const imgState = reactive<ImgState>({ |
|||
currentUrl: '', |
|||
imgScale: 1, |
|||
imgRotate: 0, |
|||
imgTop: 0, |
|||
imgLeft: 0, |
|||
status: StatueEnum.LOADING, |
|||
currentIndex: 0, |
|||
moveX: 0, |
|||
moveY: 0, |
|||
show: props.show, |
|||
}); |
|||
|
|||
const wrapElRef = ref<HTMLDivElement | null>(null); |
|||
const imgElRef = ref<HTMLImageElement | null>(null); |
|||
|
|||
// 初始化
|
|||
function init() { |
|||
initMouseWheel(); |
|||
const { index, imageList } = props; |
|||
|
|||
if (!imageList || !imageList.length) { |
|||
throw new Error('imageList is undefined'); |
|||
} |
|||
imgState.currentIndex = index; |
|||
handleIChangeImage(imageList[index]); |
|||
} |
|||
|
|||
// 重置
|
|||
function initState() { |
|||
imgState.imgScale = 1; |
|||
imgState.imgRotate = 0; |
|||
imgState.imgTop = 0; |
|||
imgState.imgLeft = 0; |
|||
} |
|||
|
|||
// 初始化鼠标滚轮事件
|
|||
function initMouseWheel() { |
|||
const wrapEl = unref(wrapElRef); |
|||
if (!wrapEl) { |
|||
return; |
|||
} |
|||
(wrapEl as any).onmousewheel = scrollFunc; |
|||
// 火狐浏览器没有onmousewheel事件,用DOMMouseScroll代替
|
|||
document.body.addEventListener('DOMMouseScroll', scrollFunc); |
|||
// 禁止火狐浏览器下拖拽图片的默认事件
|
|||
document.ondragstart = function () { |
|||
return false; |
|||
}; |
|||
} |
|||
|
|||
// 监听鼠标滚轮
|
|||
function scrollFunc(e: any) { |
|||
e = e || window.event; |
|||
e.delta = e.wheelDelta || -e.detail; |
|||
|
|||
e.preventDefault(); |
|||
if (e.delta > 0) { |
|||
// 滑轮向上滚动
|
|||
scaleFunc(0.015); |
|||
} |
|||
if (e.delta < 0) { |
|||
// 滑轮向下滚动
|
|||
scaleFunc(-0.015); |
|||
} |
|||
} |
|||
// 缩放函数
|
|||
function scaleFunc(num: number) { |
|||
if (imgState.imgScale <= 0.2 && num < 0) return; |
|||
imgState.imgScale += num; |
|||
} |
|||
|
|||
// 旋转图片
|
|||
function rotateFunc(deg: number) { |
|||
imgState.imgRotate += deg; |
|||
} |
|||
|
|||
// 鼠标事件
|
|||
function handleMouseUp() { |
|||
const imgEl = unref(imgElRef); |
|||
if (!imgEl) return; |
|||
imgEl.onmousemove = null; |
|||
} |
|||
|
|||
// 更换图片
|
|||
function handleIChangeImage(url: string) { |
|||
imgState.status = StatueEnum.LOADING; |
|||
const img = new Image(); |
|||
img.src = url; |
|||
img.onload = () => { |
|||
imgState.currentUrl = url; |
|||
imgState.status = StatueEnum.DONE; |
|||
}; |
|||
img.onerror = () => { |
|||
imgState.status = StatueEnum.FAIL; |
|||
}; |
|||
} |
|||
|
|||
// 关闭
|
|||
function handleClose(e: MouseEvent) { |
|||
e && e.stopPropagation(); |
|||
imgState.show = false; |
|||
// 移除火狐浏览器下的鼠标滚动事件
|
|||
document.body.removeEventListener('DOMMouseScroll', scrollFunc); |
|||
// 恢复火狐及Safari浏览器下的图片拖拽
|
|||
document.ondragstart = null; |
|||
} |
|||
|
|||
// 图片复原
|
|||
function resume() { |
|||
initState(); |
|||
} |
|||
|
|||
// 上一页下一页
|
|||
function handleChange(direction: 'left' | 'right') { |
|||
const { currentIndex } = imgState; |
|||
const { imageList } = props; |
|||
if (direction === 'left') { |
|||
imgState.currentIndex--; |
|||
if (currentIndex <= 0) { |
|||
imgState.currentIndex = imageList.length - 1; |
|||
} |
|||
} |
|||
if (direction === 'right') { |
|||
imgState.currentIndex++; |
|||
if (currentIndex >= imageList.length - 1) { |
|||
imgState.currentIndex = 0; |
|||
} |
|||
} |
|||
handleIChangeImage(imageList[imgState.currentIndex]); |
|||
} |
|||
|
|||
function handleAddMoveListener(e: MouseEvent) { |
|||
e = e || window.event; |
|||
imgState.moveX = e.clientX; |
|||
imgState.moveY = e.clientY; |
|||
const imgEl = unref(imgElRef); |
|||
if (imgEl) { |
|||
imgEl.onmousemove = moveFunc; |
|||
} |
|||
} |
|||
|
|||
function moveFunc(e: MouseEvent) { |
|||
e = e || window.event; |
|||
e.preventDefault(); |
|||
const movementX = e.clientX - imgState.moveX; |
|||
const movementY = e.clientY - imgState.moveY; |
|||
imgState.imgLeft += movementX; |
|||
imgState.imgTop += movementY; |
|||
imgState.moveX = e.clientX; |
|||
imgState.moveY = e.clientY; |
|||
} |
|||
|
|||
// 获取图片样式
|
|||
const getImageStyle = computed(() => { |
|||
const { imgScale, imgRotate, imgTop, imgLeft } = imgState; |
|||
return { |
|||
transform: `scale(${imgScale}) rotate(${imgRotate}deg)`, |
|||
marginTop: `${imgTop}px`, |
|||
marginLeft: `${imgLeft}px`, |
|||
}; |
|||
}); |
|||
|
|||
const getIsMultipleImage = computed(() => { |
|||
const { imageList } = props; |
|||
return imageList.length > 1; |
|||
}); |
|||
|
|||
watchEffect(() => { |
|||
if (props.show) { |
|||
init(); |
|||
} |
|||
if (props.imageList) { |
|||
initState(); |
|||
} |
|||
}); |
|||
|
|||
const renderClose = () => { |
|||
return ( |
|||
<div class={`${prefixCls}__close`} onClick={handleClose}> |
|||
<CloseOutlined class={`${prefixCls}__close-icon`} /> |
|||
</div> |
|||
); |
|||
}; |
|||
|
|||
const renderIndex = () => { |
|||
if (!unref(getIsMultipleImage)) { |
|||
return null; |
|||
} |
|||
const { currentIndex } = imgState; |
|||
const { imageList } = props; |
|||
return ( |
|||
<div class={`${prefixCls}__index`}> |
|||
{currentIndex + 1} / {imageList.length} |
|||
</div> |
|||
); |
|||
}; |
|||
|
|||
const renderController = () => { |
|||
return ( |
|||
<div class={`${prefixCls}__controller`}> |
|||
<div class={`${prefixCls}__controller-item`} onClick={() => scaleFunc(-0.15)}> |
|||
<img src={unScaleSvg} /> |
|||
</div> |
|||
<div class={`${prefixCls}__controller-item`} onClick={() => scaleFunc(0.15)}> |
|||
<img src={scaleSvg} /> |
|||
</div> |
|||
<div class={`${prefixCls}__controller-item`} onClick={resume}> |
|||
<img src={resumeSvg} /> |
|||
</div> |
|||
<div class={`${prefixCls}__controller-item`} onClick={() => rotateFunc(-90)}> |
|||
<img src={unRotateSvg} /> |
|||
</div> |
|||
<div class={`${prefixCls}__controller-item`} onClick={() => rotateFunc(90)}> |
|||
<img src={rotateSvg} /> |
|||
</div> |
|||
</div> |
|||
); |
|||
}; |
|||
|
|||
const renderArrow = (direction: 'left' | 'right') => { |
|||
if (!unref(getIsMultipleImage)) { |
|||
return null; |
|||
} |
|||
return ( |
|||
<div class={[`${prefixCls}__arrow`, direction]} onClick={() => handleChange(direction)}> |
|||
{direction === 'left' ? <LeftOutlined /> : <RightOutlined />} |
|||
</div> |
|||
); |
|||
}; |
|||
|
|||
return () => { |
|||
return ( |
|||
imgState.show && ( |
|||
<div class={prefixCls} ref={wrapElRef} onMouseup={handleMouseUp}> |
|||
<div class={`${prefixCls}-content`}> |
|||
<Spin |
|||
indicator={<LoadingOutlined style="font-size: 24px" spin />} |
|||
spinning={true} |
|||
class={[ |
|||
`${prefixCls}-image`, |
|||
{ |
|||
hidden: imgState.status !== StatueEnum.LOADING, |
|||
}, |
|||
]} |
|||
/> |
|||
<img |
|||
style={unref(getImageStyle)} |
|||
class={[`${prefixCls}-image`, imgState.status === StatueEnum.DONE ? '' : 'hidden']} |
|||
ref={imgElRef} |
|||
src={imgState.currentUrl} |
|||
onMousedown={handleAddMoveListener} |
|||
/> |
|||
{renderClose()} |
|||
{renderIndex()} |
|||
{renderController()} |
|||
{renderArrow('left')} |
|||
{renderArrow('right')} |
|||
</div> |
|||
</div> |
|||
) |
|||
); |
|||
}; |
|||
}, |
|||
}); |
|||
@ -1,15 +0,0 @@ |
|||
import { PropType } from 'vue'; |
|||
export const basicProps = { |
|||
show: { |
|||
type: Boolean as PropType<boolean>, |
|||
default: false, |
|||
}, |
|||
imageList: { |
|||
type: [Array] as PropType<string[]>, |
|||
default: null, |
|||
}, |
|||
index: { |
|||
type: Number as PropType<number>, |
|||
default: 0, |
|||
}, |
|||
}; |
|||
@ -1,30 +0,0 @@ |
|||
export interface Options { |
|||
show?: boolean; |
|||
imageList: string[]; |
|||
index?: number; |
|||
} |
|||
|
|||
export interface Props { |
|||
show: boolean; |
|||
instance: Props; |
|||
imageList: string[]; |
|||
index: number; |
|||
} |
|||
|
|||
export interface ImageProps { |
|||
alt?: string; |
|||
fallback?: string; |
|||
src: string; |
|||
width: string | number; |
|||
height?: string | number; |
|||
placeholder?: string | boolean; |
|||
preview?: |
|||
| boolean |
|||
| { |
|||
visible?: boolean; |
|||
onVisibleChange?: (visible: boolean, prevVisible: boolean) => void; |
|||
getContainer: string | HTMLElement | (() => HTMLElement); |
|||
}; |
|||
} |
|||
|
|||
export type ImageItem = string | ImageProps; |
|||
@ -0,0 +1,467 @@ |
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. |
|||
# yarn lockfile v1 |
|||
|
|||
|
|||
"@types/formidable@^1.0.31": |
|||
version "1.0.32" |
|||
resolved "https://registry.npmjs.org/@types/formidable/-/formidable-1.0.32.tgz#d9a7eefbaa995a4486ec4e3960e9552e68b3f33c" |
|||
integrity sha512-jOAB5+GFW+C+2xdvUcpd/CnYg2rD5xCyagJLBJU+9PB4a/DKmsAqS9yZI3j/Q9zwvM7ztPHaAIH1ijzp4cezdQ== |
|||
dependencies: |
|||
"@types/node" "*" |
|||
|
|||
"@types/node@*": |
|||
version "14.14.20" |
|||
resolved "https://registry.npmjs.org/@types/node/-/node-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340" |
|||
integrity sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A== |
|||
|
|||
accepts@^1.3.5: |
|||
version "1.3.7" |
|||
resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" |
|||
integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== |
|||
dependencies: |
|||
mime-types "~2.1.24" |
|||
negotiator "0.6.2" |
|||
|
|||
any-promise@^1.1.0: |
|||
version "1.3.0" |
|||
resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" |
|||
integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= |
|||
|
|||
bytes@3.1.0: |
|||
version "3.1.0" |
|||
resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" |
|||
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== |
|||
|
|||
cache-content-type@^1.0.0: |
|||
version "1.0.1" |
|||
resolved "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c" |
|||
integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA== |
|||
dependencies: |
|||
mime-types "^2.1.18" |
|||
ylru "^1.2.0" |
|||
|
|||
co-body@^5.1.1: |
|||
version "5.2.0" |
|||
resolved "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz#5a0a658c46029131e0e3a306f67647302f71c124" |
|||
integrity sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ== |
|||
dependencies: |
|||
inflation "^2.0.0" |
|||
qs "^6.4.0" |
|||
raw-body "^2.2.0" |
|||
type-is "^1.6.14" |
|||
|
|||
co@^4.6.0: |
|||
version "4.6.0" |
|||
resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" |
|||
integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= |
|||
|
|||
content-disposition@~0.5.2: |
|||
version "0.5.3" |
|||
resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" |
|||
integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== |
|||
dependencies: |
|||
safe-buffer "5.1.2" |
|||
|
|||
content-type@^1.0.4: |
|||
version "1.0.4" |
|||
resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" |
|||
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== |
|||
|
|||
cookies@~0.8.0: |
|||
version "0.8.0" |
|||
resolved "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" |
|||
integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow== |
|||
dependencies: |
|||
depd "~2.0.0" |
|||
keygrip "~1.1.0" |
|||
|
|||
debug@^3.1.0: |
|||
version "3.2.7" |
|||
resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" |
|||
integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== |
|||
dependencies: |
|||
ms "^2.1.1" |
|||
|
|||
debug@^4.1.1: |
|||
version "4.3.1" |
|||
resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" |
|||
integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== |
|||
dependencies: |
|||
ms "2.1.2" |
|||
|
|||
debug@~3.1.0: |
|||
version "3.1.0" |
|||
resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" |
|||
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== |
|||
dependencies: |
|||
ms "2.0.0" |
|||
|
|||
deep-equal@~1.0.1: |
|||
version "1.0.1" |
|||
resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" |
|||
integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= |
|||
|
|||
delegates@^1.0.0: |
|||
version "1.0.0" |
|||
resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" |
|||
integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= |
|||
|
|||
depd@^2.0.0, depd@~2.0.0: |
|||
version "2.0.0" |
|||
resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" |
|||
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== |
|||
|
|||
depd@~1.1.2: |
|||
version "1.1.2" |
|||
resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" |
|||
integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= |
|||
|
|||
destroy@^1.0.4: |
|||
version "1.0.4" |
|||
resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" |
|||
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= |
|||
|
|||
ee-first@1.1.1: |
|||
version "1.1.1" |
|||
resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" |
|||
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= |
|||
|
|||
encodeurl@^1.0.2: |
|||
version "1.0.2" |
|||
resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" |
|||
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= |
|||
|
|||
escape-html@^1.0.3: |
|||
version "1.0.3" |
|||
resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" |
|||
integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= |
|||
|
|||
formidable@^1.1.1: |
|||
version "1.2.2" |
|||
resolved "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9" |
|||
integrity sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q== |
|||
|
|||
fresh@~0.5.2: |
|||
version "0.5.2" |
|||
resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" |
|||
integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= |
|||
|
|||
http-assert@^1.3.0: |
|||
version "1.4.1" |
|||
resolved "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878" |
|||
integrity sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw== |
|||
dependencies: |
|||
deep-equal "~1.0.1" |
|||
http-errors "~1.7.2" |
|||
|
|||
http-errors@1.7.3, http-errors@~1.7.2: |
|||
version "1.7.3" |
|||
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" |
|||
integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== |
|||
dependencies: |
|||
depd "~1.1.2" |
|||
inherits "2.0.4" |
|||
setprototypeof "1.1.1" |
|||
statuses ">= 1.5.0 < 2" |
|||
toidentifier "1.0.0" |
|||
|
|||
http-errors@^1.6.3, http-errors@^1.7.3: |
|||
version "1.8.0" |
|||
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507" |
|||
integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A== |
|||
dependencies: |
|||
depd "~1.1.2" |
|||
inherits "2.0.4" |
|||
setprototypeof "1.2.0" |
|||
statuses ">= 1.5.0 < 2" |
|||
toidentifier "1.0.0" |
|||
|
|||
http-errors@~1.6.2: |
|||
version "1.6.3" |
|||
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" |
|||
integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= |
|||
dependencies: |
|||
depd "~1.1.2" |
|||
inherits "2.0.3" |
|||
setprototypeof "1.1.0" |
|||
statuses ">= 1.4.0 < 2" |
|||
|
|||
iconv-lite@0.4.24: |
|||
version "0.4.24" |
|||
resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" |
|||
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== |
|||
dependencies: |
|||
safer-buffer ">= 2.1.2 < 3" |
|||
|
|||
inflation@^2.0.0: |
|||
version "2.0.0" |
|||
resolved "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f" |
|||
integrity sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8= |
|||
|
|||
inherits@2.0.3: |
|||
version "2.0.3" |
|||
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" |
|||
integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= |
|||
|
|||
inherits@2.0.4: |
|||
version "2.0.4" |
|||
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" |
|||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== |
|||
|
|||
is-generator-function@^1.0.7: |
|||
version "1.0.8" |
|||
resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b" |
|||
integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ== |
|||
|
|||
keygrip@~1.1.0: |
|||
version "1.1.0" |
|||
resolved "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" |
|||
integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ== |
|||
dependencies: |
|||
tsscmp "1.0.6" |
|||
|
|||
koa-body@^4.2.0: |
|||
version "4.2.0" |
|||
resolved "https://registry.npmjs.org/koa-body/-/koa-body-4.2.0.tgz#37229208b820761aca5822d14c5fc55cee31b26f" |
|||
integrity sha512-wdGu7b9amk4Fnk/ytH8GuWwfs4fsB5iNkY8kZPpgQVb04QZSv85T0M8reb+cJmvLE8cjPYvBzRikD3s6qz8OoA== |
|||
dependencies: |
|||
"@types/formidable" "^1.0.31" |
|||
co-body "^5.1.1" |
|||
formidable "^1.1.1" |
|||
|
|||
koa-compose@^3.0.0: |
|||
version "3.2.1" |
|||
resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" |
|||
integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= |
|||
dependencies: |
|||
any-promise "^1.1.0" |
|||
|
|||
koa-compose@^4.1.0: |
|||
version "4.1.0" |
|||
resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" |
|||
integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== |
|||
|
|||
koa-convert@^1.2.0: |
|||
version "1.2.0" |
|||
resolved "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" |
|||
integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= |
|||
dependencies: |
|||
co "^4.6.0" |
|||
koa-compose "^3.0.0" |
|||
|
|||
koa-router@^10.0.0: |
|||
version "10.0.0" |
|||
resolved "https://registry.npmjs.org/koa-router/-/koa-router-10.0.0.tgz#7bc76a031085731e61fc92c1683687b2f44de6a4" |
|||
integrity sha512-gAE5J1gBQTvfR8rMMtMUkE26+1MbO3DGpGmvfmM2pR9Z7w2VIb2Ecqeal98yVO7+4ltffby7gWOzpCmdNOQe0w== |
|||
dependencies: |
|||
debug "^4.1.1" |
|||
http-errors "^1.7.3" |
|||
koa-compose "^4.1.0" |
|||
methods "^1.1.2" |
|||
path-to-regexp "^6.1.0" |
|||
|
|||
koa-send@^5.0.0: |
|||
version "5.0.1" |
|||
resolved "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79" |
|||
integrity sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ== |
|||
dependencies: |
|||
debug "^4.1.1" |
|||
http-errors "^1.7.3" |
|||
resolve-path "^1.4.0" |
|||
|
|||
koa-static@^5.0.0: |
|||
version "5.0.0" |
|||
resolved "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz#5e92fc96b537ad5219f425319c95b64772776943" |
|||
integrity sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ== |
|||
dependencies: |
|||
debug "^3.1.0" |
|||
koa-send "^5.0.0" |
|||
|
|||
koa2-cors@^2.0.6: |
|||
version "2.0.6" |
|||
resolved "https://registry.npmjs.org/koa2-cors/-/koa2-cors-2.0.6.tgz#9ad23df3a0b9bb84530b46f5944f3fb576086554" |
|||
integrity sha512-JRCcSM4lamM+8kvKGDKlesYk2ASrmSTczDtGUnIadqMgnHU4Ct5Gw7Bxt3w3m6d6dy3WN0PU4oMP43HbddDEWg== |
|||
|
|||
koa@^2.13.0: |
|||
version "2.13.1" |
|||
resolved "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051" |
|||
integrity sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w== |
|||
dependencies: |
|||
accepts "^1.3.5" |
|||
cache-content-type "^1.0.0" |
|||
content-disposition "~0.5.2" |
|||
content-type "^1.0.4" |
|||
cookies "~0.8.0" |
|||
debug "~3.1.0" |
|||
delegates "^1.0.0" |
|||
depd "^2.0.0" |
|||
destroy "^1.0.4" |
|||
encodeurl "^1.0.2" |
|||
escape-html "^1.0.3" |
|||
fresh "~0.5.2" |
|||
http-assert "^1.3.0" |
|||
http-errors "^1.6.3" |
|||
is-generator-function "^1.0.7" |
|||
koa-compose "^4.1.0" |
|||
koa-convert "^1.2.0" |
|||
on-finished "^2.3.0" |
|||
only "~0.0.2" |
|||
parseurl "^1.3.2" |
|||
statuses "^1.5.0" |
|||
type-is "^1.6.16" |
|||
vary "^1.1.2" |
|||
|
|||
media-typer@0.3.0: |
|||
version "0.3.0" |
|||
resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" |
|||
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= |
|||
|
|||
methods@^1.1.2: |
|||
version "1.1.2" |
|||
resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" |
|||
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= |
|||
|
|||
mime-db@1.45.0: |
|||
version "1.45.0" |
|||
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" |
|||
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== |
|||
|
|||
mime-types@^2.1.18, mime-types@~2.1.24: |
|||
version "2.1.28" |
|||
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" |
|||
integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== |
|||
dependencies: |
|||
mime-db "1.45.0" |
|||
|
|||
ms@2.0.0: |
|||
version "2.0.0" |
|||
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" |
|||
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= |
|||
|
|||
ms@2.1.2: |
|||
version "2.1.2" |
|||
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" |
|||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== |
|||
|
|||
ms@^2.1.1: |
|||
version "2.1.3" |
|||
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" |
|||
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== |
|||
|
|||
negotiator@0.6.2: |
|||
version "0.6.2" |
|||
resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" |
|||
integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== |
|||
|
|||
on-finished@^2.3.0: |
|||
version "2.3.0" |
|||
resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" |
|||
integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= |
|||
dependencies: |
|||
ee-first "1.1.1" |
|||
|
|||
only@~0.0.2: |
|||
version "0.0.2" |
|||
resolved "https://registry.npmjs.org/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" |
|||
integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= |
|||
|
|||
parseurl@^1.3.2: |
|||
version "1.3.3" |
|||
resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" |
|||
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== |
|||
|
|||
path-is-absolute@1.0.1: |
|||
version "1.0.1" |
|||
resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" |
|||
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= |
|||
|
|||
path-to-regexp@^6.1.0: |
|||
version "6.2.0" |
|||
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz#f7b3803336104c346889adece614669230645f38" |
|||
integrity sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg== |
|||
|
|||
qs@^6.4.0: |
|||
version "6.9.4" |
|||
resolved "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" |
|||
integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ== |
|||
|
|||
raw-body@^2.2.0: |
|||
version "2.4.1" |
|||
resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" |
|||
integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== |
|||
dependencies: |
|||
bytes "3.1.0" |
|||
http-errors "1.7.3" |
|||
iconv-lite "0.4.24" |
|||
unpipe "1.0.0" |
|||
|
|||
resolve-path@^1.4.0: |
|||
version "1.4.0" |
|||
resolved "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7" |
|||
integrity sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc= |
|||
dependencies: |
|||
http-errors "~1.6.2" |
|||
path-is-absolute "1.0.1" |
|||
|
|||
safe-buffer@5.1.2: |
|||
version "5.1.2" |
|||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" |
|||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== |
|||
|
|||
"safer-buffer@>= 2.1.2 < 3": |
|||
version "2.1.2" |
|||
resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" |
|||
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== |
|||
|
|||
setprototypeof@1.1.0: |
|||
version "1.1.0" |
|||
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" |
|||
integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== |
|||
|
|||
setprototypeof@1.1.1: |
|||
version "1.1.1" |
|||
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" |
|||
integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== |
|||
|
|||
setprototypeof@1.2.0: |
|||
version "1.2.0" |
|||
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" |
|||
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== |
|||
|
|||
"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0: |
|||
version "1.5.0" |
|||
resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" |
|||
integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= |
|||
|
|||
toidentifier@1.0.0: |
|||
version "1.0.0" |
|||
resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" |
|||
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== |
|||
|
|||
tsscmp@1.0.6: |
|||
version "1.0.6" |
|||
resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" |
|||
integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== |
|||
|
|||
type-is@^1.6.14, type-is@^1.6.16: |
|||
version "1.6.18" |
|||
resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" |
|||
integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== |
|||
dependencies: |
|||
media-typer "0.3.0" |
|||
mime-types "~2.1.24" |
|||
|
|||
unpipe@1.0.0: |
|||
version "1.0.0" |
|||
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" |
|||
integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= |
|||
|
|||
vary@^1.1.2: |
|||
version "1.1.2" |
|||
resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" |
|||
integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= |
|||
|
|||
ylru@^1.2.0: |
|||
version "1.2.1" |
|||
resolved "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" |
|||
integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== |
|||
Loading…
Reference in new issue