你好 ...
你好 ${
_ssrInterpolate(_ctx.message)
}
`)
}
```
## 二、源码体积
相比`Vue2`,`Vue3`整体体积变小了,除了移出一些不常用的API,再重要的是`Tree shanking`
任何一个函数,如`ref`、`reavtived`、`computed`等,仅仅在用到的时候才打包,没用到的模块都被摇掉,打包的整体体积变小
```js
import { computed, defineComponent, ref } from 'vue';
export default defineComponent({
setup(props, context) {
const age = ref(18)
let state = reactive({
name: 'test'
})
const readOnlyAge = computed(() => age.value++) // 19
return {
age,
state,
readOnlyAge
}
}
});
```
## 三、响应式系统
`vue2`中采用 `defineProperty`来劫持整个对象,然后进行深度遍历所有属性,给每个属性添加`getter`和`setter`,实现响应式
`vue3`采用`proxy`重写了响应式系统,因为`proxy`可以对整个对象进行监听,所以不需要深度遍历
- 可以监听动态属性的添加
- 可以监听到数组的索引和数组`length`属性
- 可以监听删除属性
关于这两个 API 具体的不同,我们下篇文章会进行一个更加详细的介绍
## 参考文献
- https://juejin.cn/post/6903171037211557895
================================================
FILE: docs/vue3/proxy.md
================================================
# 面试官:Vue3.0里为什么要用 Proxy API 替代 defineProperty API ?

## 一、Object.defineProperty
定义:`Object.defineProperty()` 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象
##### 为什么能实现响应式
通过`defineProperty` 两个属性,`get`及`set`
- get
属性的 getter 函数,当访问该属性时,会调用此函数。执行时不传入任何参数,但是会传入 this 对象(由于继承关系,这里的this并不一定是定义该属性的对象)。该函数的返回值会被用作属性的值
- set
属性的 setter 函数,当属性值被修改时,会调用此函数。该方法接受一个参数(也就是被赋予的新值),会传入赋值时的 this 对象。默认为 undefined
下面通过代码展示:
定义一个响应式函数`defineReactive`
```js
function update() {
app.innerText = obj.foo
}
function defineReactive(obj, key, val) {
Object.defineProperty(obj, key, {
get() {
console.log(`get ${key}:${val}`);
return val
},
set(newVal) {
if (newVal !== val) {
val = newVal
update()
}
}
})
}
```
调用`defineReactive`,数据发生变化触发`update`方法,实现数据响应式
```js
const obj = {}
defineReactive(obj, 'foo', '')
setTimeout(()=>{
obj.foo = new Date().toLocaleTimeString()
},1000)
```
在对象存在多个`key`情况下,需要进行遍历
```js
function observe(obj) {
if (typeof obj !== 'object' || obj == null) {
return
}
Object.keys(obj).forEach(key => {
defineReactive(obj, key, obj[key])
})
}
```
如果存在嵌套对象的情况,还需要在`defineReactive`中进行递归
```js
function defineReactive(obj, key, val) {
observe(val)
Object.defineProperty(obj, key, {
get() {
console.log(`get ${key}:${val}`);
return val
},
set(newVal) {
if (newVal !== val) {
val = newVal
update()
}
}
})
}
```
当给`key`赋值为对象的时候,还需要在`set`属性中进行递归
```js
set(newVal) {
if (newVal !== val) {
observe(newVal) // 新值是对象的情况
notifyUpdate()
}
}
```
上述例子能够实现对一个对象的基本响应式,但仍然存在诸多问题
现在对一个对象进行删除与添加属性操作,无法劫持到
```js
const obj = {
foo: "foo",
bar: "bar"
}
observe(obj)
delete obj.foo // no ok
obj.jar = 'xxx' // no ok
```
当我们对一个数组进行监听的时候,并不那么好使了
```js
const arrData = [1,2,3,4,5];
arrData.forEach((val,index)=>{
defineProperty(arrData,index,val)
})
arrData.push() // no ok
arrData.pop() // no ok
arrDate[0] = 99 // ok
```
可以看到数据的`api`无法劫持到,从而无法实现数据响应式,
所以在`Vue2`中,增加了`set`、`delete` API,并且对数组`api`方法进行一个重写
还有一个问题则是,如果存在深层的嵌套对象关系,需要深层的进行监听,造成了性能的极大问题
### 小结
- 检测不到对象属性的添加和删除
- 数组`API`方法无法监听到
- 需要对每个属性进行遍历监听,如果嵌套对象,需要深层监听,造成性能问题
## 二、proxy
`Proxy`的监听是针对一个对象的,那么对这个对象的所有操作会进入监听操作,这就完全可以代理所有属性了
在`ES6`系列中,我们详细讲解过`Proxy`的使用,就不再述说了
下面通过代码进行展示:
定义一个响应式方法`reactive`
```js
function reactive(obj) {
if (typeof obj !== 'object' && obj != null) {
return obj
}
// Proxy相当于在对象外层加拦截
const observed = new Proxy(obj, {
get(target, key, receiver) {
const res = Reflect.get(target, key, receiver)
console.log(`获取${key}:${res}`)
return res
},
set(target, key, value, receiver) {
const res = Reflect.set(target, key, value, receiver)
console.log(`设置${key}:${value}`)
return res
},
deleteProperty(target, key) {
const res = Reflect.deleteProperty(target, key)
console.log(`删除${key}:${res}`)
return res
}
})
return observed
}
```
测试一下简单数据的操作,发现都能劫持
```js
const state = reactive({
foo: 'foo'
})
// 1.获取
state.foo // ok
// 2.设置已存在属性
state.foo = 'fooooooo' // ok
// 3.设置不存在属性
state.dong = 'dong' // ok
// 4.删除属性
delete state.dong // ok
```
再测试嵌套对象情况,这时候发现就不那么 OK 了
```js
const state = reactive({
bar: { a: 1 }
})
// 设置嵌套对象属性
state.bar.a = 10 // no ok
```
如果要解决,需要在`get`之上再进行一层代理
```js
function reactive(obj) {
if (typeof obj !== 'object' && obj != null) {
return obj
}
// Proxy相当于在对象外层加拦截
const observed = new Proxy(obj, {
get(target, key, receiver) {
const res = Reflect.get(target, key, receiver)
console.log(`获取${key}:${res}`)
return isObject(res) ? reactive(res) : res
},
return observed
}
```
## 三、总结
`Object.defineProperty`只能遍历对象属性进行劫持
```js
function observe(obj) {
if (typeof obj !== 'object' || obj == null) {
return
}
Object.keys(obj).forEach(key => {
defineReactive(obj, key, obj[key])
})
}
```
`Proxy`直接可以劫持整个对象,并返回一个新对象,我们可以只操作新的对象达到响应式目的
```js
function reactive(obj) {
if (typeof obj !== 'object' && obj != null) {
return obj
}
// Proxy相当于在对象外层加拦截
const observed = new Proxy(obj, {
get(target, key, receiver) {
const res = Reflect.get(target, key, receiver)
console.log(`获取${key}:${res}`)
return res
},
set(target, key, value, receiver) {
const res = Reflect.set(target, key, value, receiver)
console.log(`设置${key}:${value}`)
return res
},
deleteProperty(target, key) {
const res = Reflect.deleteProperty(target, key)
console.log(`删除${key}:${res}`)
return res
}
})
return observed
}
```
`Proxy`可以直接监听数组的变化(`push`、`shift`、`splice`)
```js
const obj = [1,2,3]
const proxtObj = reactive(obj)
obj.psuh(4) // ok
```
`Proxy`有多达13种拦截方法,不限于`apply`、`ownKeys`、`deleteProperty`、`has`等等,这是`Object.defineProperty`不具备的
正因为`defineProperty`自身的缺陷,导致`Vue2`在实现响应式过程需要实现其他的方法辅助(如重写数组方法、增加额外`set`、`delete`方法)
```js
// 数组重写
const originalProto = Array.prototype
const arrayProto = Object.create(originalProto)
['push', 'pop', 'shift', 'unshift', 'splice', 'reverse', 'sort'].forEach(method => {
arrayProto[method] = function () {
originalProto[method].apply(this.arguments)
dep.notice()
}
});
// set、delete
Vue.set(obj,'bar','newbar')
Vue.delete(obj),'bar')
```
`Proxy` 不兼容IE,也没有 `polyfill`, `defineProperty` 能支持到IE9
### 参考文献
- https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
================================================
FILE: docs/vue3/treeshaking.md
================================================
# 面试官:说说Vue 3.0中Treeshaking特性?举例说明一下?

## 一、是什么
`Tree shaking` 是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫 `Dead code elimination`
简单来讲,就是在保持代码运行结果不变的前提下,去除无用的代码
如果把代码打包比作制作蛋糕,传统的方式是把鸡蛋(带壳)全部丢进去搅拌,然后放入烤箱,最后把(没有用的)蛋壳全部挑选并剔除出去
而` treeshaking `则是一开始就把有用的蛋白蛋黄(import)放入搅拌,最后直接作出蛋糕
也就是说 ,`tree shaking` 其实是找出使用的代码
在`Vue2`中,无论我们使用什么功能,它们最终都会出现在生产代码中。主要原因是`Vue`实例在项目中是单例的,捆绑程序无法检测到该对象的哪些属性在代码中被使用到
```js
import Vue from 'vue'
Vue.nextTick(() => {})
```
而`Vue3`源码引入`tree shaking`特性,将全局 API 进行分块。如果您不使用其某些功能,它们将不会包含在您的基础包中
```js
import { nextTick, observable } from 'vue'
nextTick(() => {})
```
## 二、如何做
`Tree shaking`是基于`ES6`模板语法(`import`与`exports`),主要是借助`ES6`模块的静态编译思想,在编译时就能确定模块的依赖关系,以及输入和输出的变量
`Tree shaking`无非就是做了两件事:
- 编译阶段利用`ES6 Module`判断哪些模块已经加载
- 判断那些模块和变量未被使用或者引用,进而删除对应代码
下面就来举个例子:
通过脚手架`vue-cli`安装`Vue2`与`Vue3`项目
```c
vue create vue-demo
```
### Vue2 项目
组件中使用`data`属性
```vue
```
对项目进行打包,体积如下图

为组件设置其他属性(`compted`、`watch`)
```js
export default {
data: () => ({
question:"",
count: 1,
}),
computed: {
double: function () {
return this.count * 2;
},
},
watch: {
question: function (newQuestion, oldQuestion) {
this.answer = 'xxxx'
}
};
```
再一次打包,发现打包出来的体积并没有变化

### Vue3 项目
组件中简单使用
```js
import { reactive, defineComponent } from "vue";
export default defineComponent({
setup() {
const state = reactive({
count: 1,
});
return {
state,
};
},
});
```
将项目进行打包

在组件中引入`computed`和`watch`
```js
import { reactive, defineComponent, computed, watch } from "vue";
export default defineComponent({
setup() {
const state = reactive({
count: 1,
});
const double = computed(() => {
return state.count * 2;
});
watch(
() => state.count,
(count, preCount) => {
console.log(count);
console.log(preCount);
}
);
return {
state,
double,
};
},
});
```
再次对项目进行打包,可以看到在引入`computer`和`watch`之后,项目整体体积变大了

## 三、作用
通过`Tree shaking`,`Vue3`给我们带来的好处是:
- 减少程序体积(更小)
- 减少程序执行时间(更快)
- 便于将来对程序架构进行优化(更友好)
## 参考文献
- https://segmentfault.com/a/1190000038962700
================================================
FILE: docs/webpack/HMR.md
================================================
# 面试官:说说webpack的热更新是如何做到的?原理是什么?

### 一、是什么
`HMR `全称 `Hot Module Replacement`,可以理解为模块热替换,指在应用程序运行过程中,替换、添加、删除模块,而无需重新刷新整个应用
例如,我们在应用运行过程中修改了某个模块,通过自动刷新会导致整个应用的整体刷新,那页面中的状态信息都会丢失
如果使用的是 `HMR`,就可以实现只将修改的模块实时替换至应用中,不必完全刷新整个应用
在`webpack`中配置开启热模块也非常的简单,如下代码:
```js
const webpack = require('webpack')
module.exports = {
// ...
devServer: {
// 开启 HMR 特性
hot: true
// hotOnly: true
}
}
```
通过上述这种配置,如果我们修改并保存`css`文件,确实能够以不刷新的形式更新到页面中
但是,当我们修改并保存`js`文件之后,页面依旧自动刷新了,这里并没有触发热模块
所以,`HMR `并不像 `Webpack` 的其他特性一样可以开箱即用,需要有一些额外的操作
我们需要去指定哪些模块发生更新时进行`HRM`,如下代码:
```js
if(module.hot){
module.hot.accept('./util.js',()=>{
console.log("util.js更新了")
})
}
```
## 二、实现原理
首先来看看一张图,如下:

- Webpack Compile:将 JS 源代码编译成 bundle.js
- HMR Server:用来将热更新的文件输出给 HMR Runtime
- Bundle Server:静态资源文件服务器,提供文件访问路径
- HMR Runtime:socket服务器,会被注入到浏览器,更新文件的变化
- bundle.js:构建输出的文件
- 在HMR Runtime 和 HMR Server之间建立 websocket,即图上4号线,用于实时更新文件变化
上面图中,可以分成两个阶段:
- 启动阶段为上图 1 - 2 - A - B
在编写未经过`webpack`打包的源代码后,`Webpack Compile` 将源代码和 `HMR Runtime` 一起编译成 `bundle `文件,传输给` Bundle Server` 静态资源服务器
- 更新阶段为上图 1 - 2 - 3 - 4
当某一个文件或者模块发生变化时,`webpack `监听到文件变化对文件重新编译打包,编译生成唯一的` hash `值,这个`hash `值用来作为下一次热更新的标识
根据变化的内容生成两个补丁文件:`manifest`(包含了 `hash` 和 `chundId `,用来说明变化的内容)和` chunk.js` 模块
由于`socket`服务器在`HMR Runtime` 和 `HMR Server`之间建立 `websocket`链接,当文件发生改动的时候,服务端会向浏览器推送一条消息,消息包含文件改动后生成的`hash`值,如下图的`h`属性,作为下一次热更细的标识

在浏览器接受到这条消息之前,浏览器已经在上一次` socket` 消息中已经记住了此时的` hash` 标识,这时候我们会创建一个 `ajax` 去服务端请求获取到变化内容的 `manifest` 文件
`mainfest`文件包含重新`build`生成的`hash`值,以及变化的模块,对应上图的`c`属性
浏览器根据 `manifest` 文件获取模块变化的内容,从而触发`render`流程,实现局部模块更新

## 三、总结
关于`webpack`热模块更新的总结如下:
- 通过`webpack-dev-server`创建两个服务器:提供静态资源的服务(express)和Socket服务
- express server 负责直接提供静态资源的服务(打包后的资源直接被浏览器请求和解析)
- socket server 是一个 websocket 的长连接,双方可以通信
- 当 socket server 监听到对应的模块发生变化时,会生成两个文件.json(manifest文件)和.js文件(update chunk)
- 通过长连接,socket server 可以直接将这两个文件主动发送给客户端(浏览器)
- 浏览器拿到两个新的文件后,通过HMR runtime机制,加载这两个文件,并且针对修改的模块进行更新
## 参考文献
- https://zhuanlan.zhihu.com/p/138446061
- https://github.com/Jocs/jocs.github.io/issues/15
- https://juejin.cn/post/6844904134697549832
- https://vue3js.cn/interview/
================================================
FILE: docs/webpack/Loader.md
================================================
# 面试官:说说webpack中常见的Loader?解决了什么问题?

## 一、是什么
`loader` 用于对模块的"源代码"进行转换,在 `import` 或"加载"模块时预处理文件
`webpack`做的事情,仅仅是分析出各种模块的依赖关系,然后形成资源列表,最终打包生成到指定的文件中。如下图所示:

在`webpack`内部中,任何文件都是模块,不仅仅只是`js`文件
默认情况下,在遇到`import`或者`require`加载模块的时候,`webpack`只支持对`js` 和 `json` 文件打包
像`css`、`sass`、`png`等这些类型的文件的时候,`webpack`则无能为力,这时候就需要配置对应的`loader`进行文件内容的解析
在加载模块的时候,执行顺序如下:

当 `webpack` 碰到不识别的模块的时候,`webpack` 会在配置的中查找该文件解析规则
关于配置`loader`的方式有三种:
- 配置方式(推荐):在 webpack.config.js文件中指定 loader
- 内联方式:在每个 import 语句中显式指定 loader
- CLI 方式:在 shell 命令中指定它们
### 配置方式
关于`loader`的配置,我们是写在`module.rules`属性中,属性介绍如下:
- `rules`是一个数组的形式,因此我们可以配置很多个`loader`
- 每一个`loader`对应一个对象的形式,对象属性`test` 为匹配的规则,一般情况为正则表达式
- 属性`use`针对匹配到文件类型,调用对应的 `loader` 进行处理
代码编写,如下形式:
```js
module.exports = {
module: {
rules: [
{
test: /\.css$/,
use: [
{ loader: 'style-loader' },
{
loader: 'css-loader',
options: {
modules: true
}
},
{ loader: 'sass-loader' }
]
}
]
}
};
```
## 二、特性
这里继续拿上述代码,来讲讲`loader`的特性
从上述代码可以看到,在处理`css`模块的时候,`use`属性中配置了三个`loader`分别处理`css`文件
因为`loader `支持链式调用,链中的每个` loader `会处理之前已处理过的资源,最终变为`js`代码。顺序为相反的顺序执行,即上述执行方式为`sass-loader`、`css-loader`、`style-loader`
除此之外,`loader`的特性还有如下:
- loader 可以是同步的,也可以是异步的
- loader 运行在 Node.js 中,并且能够执行任何操作
- 除了常见的通过 `package.json` 的 `main` 来将一个 npm 模块导出为 loader,还可以在 module.rules 中使用 `loader` 字段直接引用一个模块
- 插件(plugin)可以为 loader 带来更多特性
- loader 能够产生额外的任意文件
可以通过 loader 的预处理函数,为 JavaScript 生态系统提供更多能力。用户现在可以更加灵活地引入细粒度逻辑,例如:压缩、打包、语言翻译和更多其他特性
## 三、常见的loader
在页面开发过程中,我们经常性加载除了`js`文件以外的内容,这时候我们就需要配置响应的`loader`进行加载
常见的`loader`如下:
- style-loader: 将css添加到DOM的内联样式标签style里
- css-loader :允许将css文件通过require的方式引入,并返回css代码
- less-loader: 处理less
- sass-loader: 处理sass
- postcss-loader: 用postcss来处理CSS
- autoprefixer-loader: 处理CSS3属性前缀,已被弃用,建议直接使用postcss
- file-loader: 分发文件到output目录并返回相对路径
- url-loader: 和file-loader类似,但是当文件小于设定的limit时可以返回一个Data Url
- html-minify-loader: 压缩HTML
- babel-loader :用babel来转换ES6文件到ES
下面给出一些常见的`loader`的使用:
### css-loader
分析 `css` 模块之间的关系,并合成⼀个 `css`
```bash
npm install --save-dev css-loader
```
```js
rules: [
...,
{
test: /\.css$/,
use: {
loader: "css-loader",
options: {
// 启用/禁用 url() 处理
url: true,
// 启用/禁用 @import 处理
import: true,
// 启用/禁用 Sourcemap
sourceMap: false
}
}
}
]
```
如果只通过`css-loader`加载文件,这时候页面代码设置的样式并没有生效
原因在于,`css-loader`只是负责将`.css`文件进行一个解析,而并不会将解析后的`css`插入到页面中
如果我们希望再完成插入`style`的操作,那么我们还需要另外一个`loader`,就是`style-loader`
### style-loader
把 `css-loader` 生成的内容,用 `style` 标签挂载到页面的 `head` 中
```bash
npm install --save-dev style-loader
```
```js
rules: [
...,
{
test: /\.css$/,
use: ["style-loader", "css-loader"]
}
]
```
同一个任务的 `loader` 可以同时挂载多个,处理顺序为:从右到左,从下往上
### less-loader
开发中,我们也常常会使用`less`、`sass`、`stylus`预处理器编写`css`样式,使开发效率提高,这里需要使用`less-loader`
```cmd
npm install less-loader -D
```
```js
rules: [
...,
{
test: /\.css$/,
use: ["style-loader", "css-loader","less-loader"]
}
]
```
### raw-loader
在 `webpack `中通过 `import `方式导入文件内容,该`loader `并不是内置的,所以首先要安装
```bash
npm install --save-dev raw-loader
```
然后在 webpack.config.js 中进行配置
```javascript
module.exports = {
...,
module: {
rules: [
{
test: /\.(txt|md)$/,
use: 'raw-loader'
}
]
}
}
```
### file-loader
把识别出的资源模块,移动到指定的输出⽬目录,并且返回这个资源在输出目录的地址(字符串)
```bash
npm install --save-dev file-loader
```
```javascript
rules: [
...,
{
test: /\.(png|jpe?g|gif)$/,
use: {
loader: "file-loader",
options: {
// placeholder 占位符 [name] 源资源模块的名称
// [ext] 源资源模块的后缀
name: "[name]_[hash].[ext]",
//打包后的存放位置
outputPath: "./images",
// 打包后文件的 url
publicPath: './images',
}
}
}
]
```
### url-loader
可以处理理 `file-loader` 所有的事情,但是遇到图片格式的模块,可以选择性的把图片转成 `base64` 格式的字符串,并打包到 `js` 中,对小体积的图片比较合适,大图片不合适。
```bash
npm install --save-dev url-loader
```
```javascript
rules: [
...,
{
test: /\.(png|jpe?g|gif)$/,
use: {
loader: "url-loader",
options: {
// placeholder 占位符 [name] 源资源模块的名称
// [ext] 源资源模块的后缀
name: "[name]_[hash].[ext]",
//打包后的存放位置
outputPath: "./images"
// 打包后文件的 url
publicPath: './images',
// 小于 100 字节转成 base64 格式
limit: 100
}
}
}
]
```
## 参考文献
- https://webpack.docschina.org/concepts/loaders/
- https://segmentfault.com/a/1190000018680530
- https://vue3js.cn/interview/
================================================
FILE: docs/webpack/Loader_Plugin.md
================================================
# 面试官:说说Loader和Plugin的区别?编写Loader,Plugin的思路?

## 一、区别
前面两节我们有提到`Loader`与`Plugin`对应的概念,先来回顾下
- loader 是文件加载器,能够加载资源文件,并对这些文件进行一些处理,诸如编译、压缩等,最终一起打包到指定的文件中
- plugin 赋予了 webpack 各种灵活的功能,例如打包优化、资源管理、环境变量注入等,目的是解决 loader 无法实现的其他事
从整个运行时机上来看,如下图所示:

可以看到,两者在运行时机上的区别:
- loader 运行在打包文件之前
- plugins 在整个编译周期都起作用
在` Webpack` 运行的生命周期中会广播出许多事件,`Plugin` 可以监听这些事件,在合适的时机通过` Webpack `提供的 `API `改变输出结果
对于`loader`,实质是一个转换器,将A文件进行编译形成B文件,操作的是文件,比如将`A.scss`或`A.less`转变为`B.css`,单纯的文件转换过程
## 二、编写loader
在编写 `loader` 前,我们首先需要了解 `loader` 的本质
其本质为函数,函数中的 `this` 作为上下文会被 `webpack` 填充,因此我们不能将 `loader`设为一个箭头函数
函数接受一个参数,为 `webpack` 传递给 `loader` 的文件源内容
函数中 `this` 是由 `webpack` 提供的对象,能够获取当前 `loader` 所需要的各种信息
函数中有异步操作或同步操作,异步操作通过 `this.callback` 返回,返回值要求为 `string` 或者 `Buffer`
代码如下所示:
```js
// 导出一个函数,source为webpack传递给loader的文件源内容
module.exports = function(source) {
const content = doSomeThing2JsString(source);
// 如果 loader 配置了 options 对象,那么this.query将指向 options
const options = this.query;
// 可以用作解析其他模块路径的上下文
console.log('this.context');
/*
* this.callback 参数:
* error:Error | null,当 loader 出错时向外抛出一个 error
* content:String | Buffer,经过 loader 编译后需要导出的内容
* sourceMap:为方便调试生成的编译后内容的 source map
* ast:本次编译生成的 AST 静态语法树,之后执行的 loader 可以直接使用这个 AST,进而省去重复生成 AST 的过程
*/
this.callback(null, content); // 异步
return content; // 同步
}
```
一般在编写`loader`的过程中,保持功能单一,避免做多种功能
如` less `文件转换成 `css `文件也不是一步到位,而是 `less-loader`、`css-loader`、` style-loader `几个 `loader `的链式调用才能完成转换
## 三、编写plugin
由于`webpack`基于发布订阅模式,在运行的生命周期中会广播出许多事件,插件通过监听这些事件,就可以在特定的阶段执行自己的插件任务
在之前也了解过,`webpack`编译会创建两个核心对象:
- compiler:包含了 webpack 环境的所有的配置信息,包括 options,loader 和 plugin,和 webpack 整个生命周期相关的钩子
- compilation:作为 plugin 内置事件回调函数的参数,包含了当前的模块资源、编译生成资源、变化的文件以及被跟踪依赖的状态信息。当检测到一个文件变化,一次新的 Compilation 将被创建
如果自己要实现`plugin`,也需要遵循一定的规范:
- 插件必须是一个函数或者是一个包含 `apply` 方法的对象,这样才能访问`compiler`实例
- 传给每个插件的 `compiler` 和 `compilation` 对象都是同一个引用,因此不建议修改
- 异步的事件需要在插件处理完任务时调用回调函数通知 `Webpack` 进入下一个流程,不然会卡住
实现`plugin`的模板如下:
```js
class MyPlugin {
// Webpack 会调用 MyPlugin 实例的 apply 方法给插件实例传入 compiler 对象
apply (compiler) {
// 找到合适的事件钩子,实现自己的插件功能
compiler.hooks.emit.tap('MyPlugin', compilation => {
// compilation: 当前打包构建流程的上下文
console.log(compilation);
// do something...
})
}
}
```
在 `emit` 事件发生时,代表源文件的转换和组装已经完成,可以读取到最终将输出的资源、代码块、模块及其依赖,并且可以修改输出资源的内容
## 参考文献
- https://webpack.docschina.org/api/loaders/
- https://webpack.docschina.org/api/compiler-hooks/
- https://segmentfault.com/a/1190000039877943
- https://vue3js.cn/interview
================================================
FILE: docs/webpack/Plugin.md
================================================
# 面试官:说说webpack中常见的Plugin?解决了什么问题?

## 一、是什么
`Plugin`(Plug-in)是一种计算机应用程序,它和主应用程序互相交互,以提供特定的功能
是一种遵循一定规范的应用程序接口编写出来的程序,只能运行在程序规定的系统下,因为其需要调用原纯净系统提供的函数库或者数据
`webpack`中的`plugin`也是如此,`plugin`赋予其各种灵活的功能,例如打包优化、资源管理、环境变量注入等,它们会运行在 `webpack` 的不同阶段(钩子 / 生命周期),贯穿了`webpack`整个编译周期

目的在于解决`loader` 无法实现的其他事
### 配置方式
这里讲述文件的配置方式,一般情况,通过配置文件导出对象中`plugins`属性传入`new`实例对象。如下所示:
```js
const HtmlWebpackPlugin = require('html-webpack-plugin'); // 通过 npm 安装
const webpack = require('webpack'); // 访问内置的插件
module.exports = {
...
plugins: [
new webpack.ProgressPlugin(),
new HtmlWebpackPlugin({ template: './src/index.html' }),
],
};
```
## 二、特性
其本质是一个具有`apply`方法`javascript`对象
`apply` 方法会被 `webpack compiler `调用,并且在整个编译生命周期都可以访问 `compiler `对象
```javascript
const pluginName = 'ConsoleLogOnBuildWebpackPlugin';
class ConsoleLogOnBuildWebpackPlugin {
apply(compiler) {
compiler.hooks.run.tap(pluginName, (compilation) => {
console.log('webpack 构建过程开始!');
});
}
}
module.exports = ConsoleLogOnBuildWebpackPlugin;
```
`compiler hook` 的 `tap `方法的第一个参数,应是驼峰式命名的插件名称
关于整个编译生命周期钩子,有如下:
- entry-option :初始化 option
- run
- compile: 真正开始的编译,在创建 compilation 对象之前
- compilation :生成好了 compilation 对象
- make 从 entry 开始递归分析依赖,准备对每个模块进行 build
- after-compile: 编译 build 过程结束
- emit :在将内存中 assets 内容写到磁盘文件夹之前
- after-emit :在将内存中 assets 内容写到磁盘文件夹之后
- done: 完成所有的编译过程
- failed: 编译失败的时候
## 三、常见的Plugin
常见的`plugin`有如图所示:

下面介绍几个常用的插件用法:
### HtmlWebpackPlugin
在打包结束后,⾃动生成⼀个 `html` ⽂文件,并把打包生成的` js` 模块引⼊到该 `html` 中
```bash
npm install --save-dev html-webpack-plugin
```
```js
// webpack.config.js
const HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
...
plugins: [
new HtmlWebpackPlugin({
title: "My App",
filename: "app.html",
template: "./src/html/index.html"
})
]
};
```
```html
<%=htmlWebpackPlugin.options.title%>
html-webpack-plugin
```
在 `html` 模板中,可以通过 `<%=htmlWebpackPlugin.options.XXX%>` 的方式获取配置的值
更多的配置可以自寻查找
### clean-webpack-plugin
删除(清理)构建目录
```bash
npm install --save-dev clean-webpack-plugin
```
```js
const {CleanWebpackPlugin} = require('clean-webpack-plugin');
module.exports = {
...
plugins: [
...,
new CleanWebpackPlugin(),
...
]
}
```
### mini-css-extract-plugin
提取 `CSS` 到一个单独的文件中
```bash
npm install --save-dev mini-css-extract-plugin
```
```js
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
...,
module: {
rules: [
{
test: /\.s[ac]ss$/,
use: [
{
loader: MiniCssExtractPlugin.loader
},
'css-loader',
'sass-loader'
]
}
]
},
plugins: [
...,
new MiniCssExtractPlugin({
filename: '[name].css'
}),
...
]
}
```
### DefinePlugin
允许在编译时创建配置的全局对象,是一个`webpack`内置的插件,不需要安装
```js
const { DefinePlugun } = require('webpack')
module.exports = {
...
plugins:[
new DefinePlugin({
BASE_URL:'"./"'
})
]
}
```
这时候编译`template`模块的时候,就能通过下述形式获取全局对象
```html
{
console.log('---------- INFO ----------')
console.log(msg)
console.log('--------------------------')
}
export const error = msg => {
console.error('---------- ERROR ----------')
console.error(msg)
console.error('---------------------------')
}
// ./src/index.js
import { log } from './logger'
import messages from './messages'
log(messages.hi)
```
然后通过`rollup`进行打包
```js
$ npx rollup ./src/index.js --file ./dist/bundle.js
```
打包结果如下图
可以看到,代码非常简洁,完成不像`webpack`那样存在大量引导代码和模块函数
并且`error`方法由于没有被使用,输出的结果中并无`error`方法,可以看到,`rollup`默认开始`Tree-shaking` 优化输出结果
因此,可以看到`Rollup`的优点:
- 代码效率更简洁、效率更高
- 默认支持 Tree-shaking
但缺点也十分明显,加载其他类型的资源文件或者支持导入 `CommonJS` 模块,又或是编译 `ES` 新特性,这些额外的需求 `Rollup `需要使用插件去完成
综合来看,`rollup`并不适合开发应用使用,因为需要使用第三方模块,而目前第三方模块大多数使用`CommonJs`方式导出成员,并且`rollup`不支持`HMR`,使开发效率降低
但是在用于打包` JavaScript` 库时,`rollup`比 `webpack` 更有优势,因为其打包出来的代码更小、更快,其存在的缺点可以忽略
### Parcel
Parcel ,是一款完全零配置的前端打包器,它提供了 “傻瓜式” 的使用体验,只需了解简单的命令,就能构建前端应用程序
`Parcel` 跟 `Webpack` 一样都支持以任意类型文件作为打包入口,但建议使用`HTML`文件作为入口,该`HTML`文件像平时一样正常编写代码、引用资源。如下所示:
```js
Parcel Tutorials
```
main.js文件通过`ES Moudle`方法导入其他模块成员
```js
// ./src/main.js
import { log } from './logger'
log('hello parcel')
// ./src/logger.js
export const log = msg => {
console.log('---------- INFO ----------')
console.log(msg)
}
```
运行之后,使用命令打包
```cmd
npx parcel src/index.html
```
执行命令后,`Parcel`不仅打包了应用,同时也启动了一个开发服务器,跟`webpack Dev Server`一样
跟`webpack`类似,也支持模块热替换,但用法更简单
同时,`Parcel`有个十分好用的功能:支持自动安装依赖,像`webpack`开发阶段突然使用安装某个第三方依赖,必然会终止`dev server`然后安装再启动。而`Parcel`则免了这繁琐的工作流程
同时,`Parcel`能够零配置加载其他类型的资源文件,无须像`webpack`那样配置对应的`loader`
打包命令如下:
```cmd
npx parcel src/index.html
```
由于打包过程是多进程同时工作,构建速度会比`Webpack` 快,输出文件也会被压缩,并且样式代码也会被单独提取到单个文件中

可以感受到,`Parcel `给开发者一种很大的自由度,只管去实现业务代码,其他事情用`Parcel`解决
### Snowpack
Snowpack,是一种闪电般快速的前端构建工具,专为现代`Web`设计,较复杂的打包工具(如`Webpack`或`Parcel`)的替代方案,利用`JavaScript`的本机模块系统,避免不必要的工作并保持流畅的开发体验
开发阶段,每次保存单个文件时,`Webpack`和`Parcel`都需要重新构建和重新打包应用程序的整个`bundle`。而`Snowpack`为你的应用程序每个文件构建一次,就可以永久缓存,文件更改时,`Snowpack`会重新构建该单个文件
下图给出`webpack`与`snowpack`打包区别:

在重新构建每次变更时没有任何的时间浪费,只需要在浏览器中进行HMR更新
### Vite
vite ,是一种新型前端构建工具,能够显著提升前端开发体验
它主要由两部分组成:
- 一个开发服务器,它基于 原生 ES 模块 提供了丰富的内建功能,如速度快到惊人的 [模块热更新HMR
- 一套构建指令,它使用 Rollup打包你的代码,并且它是预配置的,可以输出用于生产环境的优化过的静态资源
其作用类似`webpack `+ `webpack-dev-server`,其特点如下:
- 快速的冷启动
- 即时的模块热更新
- 真正的按需编译
`vite`会直接启动开发服务器,不需要进行打包操作,也就意味着不需要分析模块的依赖、不需要编译,因此启动速度非常快
利用现代浏览器支持`ES Module`的特性,当浏览器请求某个模块的时候,再根据需要对模块的内容进行编译,这种方式大大缩短了编译时间
原理图如下所示:

在热模块`HMR`方面,当修改一个模块的时候,仅需让浏览器重新请求该模块即可,无须像`webpack`那样需要把该模块的相关依赖模块全部编译一次,效率更高
### webpack
相比上述的模块化工具,`webpack`大而全,很多常用的功能做到开箱即用。有两大最核心的特点:**一切皆模块**和**按需加载**
与其他构建工具相比,有如下优势:
- 智能解析:对 CommonJS 、 AMD 、ES6 的语法做了兼容
- 万物模块:对 js、css、图片等资源文件都支持打包
- 开箱即用:HRM、Tree-shaking等功能
- 代码分割:可以将代码切割成不同的 chunk,实现按需加载,降低了初始化时间
- 插件系统,具有强大的 Plugin 接口,具有更好的灵活性和扩展性
- 易于调试:支持 SourceUrls 和 SourceMaps
- 快速运行:webpack 使用异步 IO 并具有多级缓存,这使得 webpack 很快且在增量编译上更加快
- 生态环境好:社区更丰富,出现的问题更容易解决
## 参考文献
- https://zhuanlan.zhihu.com/p/95684686
- https://cn.vitejs.dev/guide/
- https://segmentfault.com/a/1190000039370642
================================================
FILE: docs/webpack/build_process.md
================================================
# 面试官:说说webpack的构建流程?

## 一、运行流程
`webpack` 的运行流程是一个串行的过程,它的工作流程就是将各个插件串联起来
在运行过程中会广播事件,插件只需要监听它所关心的事件,就能加入到这条`webpack`机制中,去改变`webpack`的运作,使得整个系统扩展性良好
从启动到结束会依次执行以下三大步骤:
- 初始化流程:从配置文件和 `Shell` 语句中读取与合并参数,并初始化需要使用的插件和配置插件等执行环境所需要的参数
- 编译构建流程:从 Entry 发出,针对每个 Module 串行调用对应的 Loader 去翻译文件内容,再找到该 Module 依赖的 Module,递归地进行编译处理
- 输出流程:对编译后的 Module 组合成 Chunk,把 Chunk 转换成文件,输出到文件系统

### 初始化流程
从配置文件和 `Shell` 语句中读取与合并参数,得出最终的参数
配置文件默认下为`webpack.config.js`,也或者通过命令的形式指定配置文件,主要作用是用于激活`webpack`的加载项和插件
关于文件配置内容分析,如下注释:
```js
var path = require('path');
var node_modules = path.resolve(__dirname, 'node_modules');
var pathToReact = path.resolve(node_modules, 'react/dist/react.min.js');
module.exports = {
// 入口文件,是模块构建的起点,同时每一个入口文件对应最后生成的一个 chunk。
entry: './path/to/my/entry/file.js',
// 文件路径指向(可加快打包过程)。
resolve: {
alias: {
'react': pathToReact
}
},
// 生成文件,是模块构建的终点,包括输出文件与输出路径。
output: {
path: path.resolve(__dirname, 'build'),
filename: '[name].js'
},
// 这里配置了处理各模块的 loader ,包括 css 预处理 loader ,es6 编译 loader,图片处理 loader。
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel',
query: {
presets: ['es2015', 'react']
}
}
],
noParse: [pathToReact]
},
// webpack 各插件对象,在 webpack 的事件流中执行对应的方法。
plugins: [
new webpack.HotModuleReplacementPlugin()
]
};
```
`webpack` 将 `webpack.config.js` 中的各个配置项拷贝到 `options` 对象中,并加载用户配置的 ` plugins`
完成上述步骤之后,则开始初始化`Compiler`编译对象,该对象掌控者`webpack`声明周期,不执行具体的任务,只是进行一些调度工作
```js
class Compiler extends Tapable {
constructor(context) {
super();
this.hooks = {
beforeCompile: new AsyncSeriesHook(["params"]),
compile: new SyncHook(["params"]),
afterCompile: new AsyncSeriesHook(["compilation"]),
make: new AsyncParallelHook(["compilation"]),
entryOption: new SyncBailHook(["context", "entry"])
// 定义了很多不同类型的钩子
};
// ...
}
}
function webpack(options) {
var compiler = new Compiler();
...// 检查options,若watch字段为true,则开启watch线程
return compiler;
}
...
```
`Compiler` 对象继承自 `Tapable`,初始化时定义了很多钩子函数
### 编译构建流程
根据配置中的 `entry` 找出所有的入口文件
```js
module.exports = {
entry: './src/file.js'
}
```
初始化完成后会调用`Compiler`的`run`来真正启动`webpack`编译构建流程,主要流程如下:
- `compile` 开始编译
- `make` 从入口点分析模块及其依赖的模块,创建这些模块对象
- `build-module` 构建模块
- `seal` 封装构建结果
- `emit` 把各个chunk输出到结果文件
#### compile 编译
执行了`run`方法后,首先会触发`compile`,主要是构建一个`Compilation`对象
该对象是编译阶段的主要执行者,主要会依次下述流程:执行模块创建、依赖收集、分块、打包等主要任务的对象
#### make 编译模块
当完成了上述的`compilation`对象后,就开始从`Entry`入口文件开始读取,主要执行`_addModuleChain()`函数,如下:
```js
_addModuleChain(context, dependency, onModule, callback) {
...
// 根据依赖查找对应的工厂函数
const Dep = /** @type {DepConstructor} */ (dependency.constructor);
const moduleFactory = this.dependencyFactories.get(Dep);
// 调用工厂函数NormalModuleFactory的create来生成一个空的NormalModule对象
moduleFactory.create({
dependencies: [dependency]
...
}, (err, module) => {
...
const afterBuild = () => {
this.processModuleDependencies(module, err => {
if (err) return callback(err);
callback(null, module);
});
};
this.buildModule(module, false, null, null, err => {
...
afterBuild();
})
})
}
```
过程如下:
`_addModuleChain`中接收参数`dependency`传入的入口依赖,使用对应的工厂函数`NormalModuleFactory.create`方法生成一个空的`module`对象
回调中会把此`module`存入`compilation.modules`对象和`dependencies.module`对象中,由于是入口文件,也会存入`compilation.entries`中
随后执行`buildModule`进入真正的构建模块`module`内容的过程
#### build module 完成模块编译
这里主要调用配置的`loaders`,将我们的模块转成标准的`JS`模块
在用` Loader` 对一个模块转换完后,使用 `acorn` 解析转换后的内容,输出对应的抽象语法树(`AST`),以方便 `Webpack `后面对代码的分析
从配置的入口模块开始,分析其 `AST`,当遇到` require `等导入其它模块语句时,便将其加入到依赖的模块列表,同时对新找出的依赖模块递归分析,最终搞清所有模块的依赖关系
### 输出流程
#### seal 输出资源
`seal`方法主要是要生成`chunks`,对`chunks`进行一系列的优化操作,并生成要输出的代码
`webpack` 中的 `chunk` ,可以理解为配置在 `entry` 中的模块,或者是动态引入的模块
根据入口和模块之间的依赖关系,组装成一个个包含多个模块的 `Chunk`,再把每个 `Chunk` 转换成一个单独的文件加入到输出列表
#### emit 输出完成
在确定好输出内容后,根据配置确定输出的路径和文件名
```js
output: {
path: path.resolve(__dirname, 'build'),
filename: '[name].js'
}
```
在 `Compiler` 开始生成文件前,钩子 `emit` 会被执行,这是我们修改最终文件的最后一个机会
从而`webpack`整个打包过程则结束了
### 小结

## 参考文献
- https://github.com/Cosen95/blog/issues/48
- https://developer.aliyun.com/article/61047
================================================
FILE: docs/webpack/improve_build.md
================================================
# 面试官:如何提高webpack的构建速度?

## 一、背景
随着我们的项目涉及到页面越来越多,功能和业务代码也会随着越多,相应的 `webpack` 的构建时间也会越来越久
构建时间与我们日常开发效率密切相关,当我们本地开发启动 `devServer` 或者 `build` 的时候,如果时间过长,会大大降低我们的工作效率
所以,优化`webpack` 构建速度是十分重要的环节
## 二、如何优化
常见的提升构建速度的手段有如下:
- 优化 loader 配置
- 合理使用 resolve.extensions
- 优化 resolve.modules
- 优化 resolve.alias
- 使用 DLLPlugin 插件
- 使用 cache-loader
- terser 启动多线程
- 合理使用 sourceMap
### 优化loader配置
在使用`loader`时,可以通过配置`include`、`exclude`、`test`属性来匹配文件,接触`include`、`exclude`规定哪些匹配应用`loader`
如采用 ES6 的项目为例,在配置 `babel-loader `时,可以这样:
```js
module.exports = {
module: {
rules: [
{
// 如果项目源码中只有 js 文件就不要写成 /\.jsx?$/,提升正则表达式性能
test: /\.js$/,
// babel-loader 支持缓存转换出的结果,通过 cacheDirectory 选项开启
use: ['babel-loader?cacheDirectory'],
// 只对项目根目录下的 src 目录中的文件采用 babel-loader
include: path.resolve(__dirname, 'src'),
},
]
},
};
```
### 合理使用 resolve.extensions
在开发中我们会有各种各样的模块依赖,这些模块可能来自于自己编写的代码,也可能来自第三方库, `resolve`可以帮助`webpack`从每个 `require/import` 语句中,找到需要引入到合适的模块代码
通过`resolve.extensions`是解析到文件时自动添加拓展名,默认情况如下:
```js
module.exports = {
...
extensions:[".warm",".mjs",".js",".json"]
}
```
当我们引入文件的时候,若没有文件后缀名,则会根据数组内的值依次查找
当我们配置的时候,则不要随便把所有后缀都写在里面,这会调用多次文件的查找,这样就会减慢打包速度
### 优化 resolve.modules
`resolve.modules` 用于配置 `webpack` 去哪些目录下寻找第三方模块。默认值为`['node_modules']`,所以默认会从`node_modules`中查找文件
当安装的第三方模块都放在项目根目录下的 `./node_modules `目录下时,所以可以指明存放第三方模块的绝对路径,以减少寻找,配置如下:
```
module.exports = {
resolve: {
// 使用绝对路径指明第三方模块存放的位置,以减少搜索步骤
// 其中 __dirname 表示当前工作目录,也就是项目根目录
modules: [path.resolve(__dirname, 'node_modules')]
},
};
```
### 优化 resolve.alias
`alias`给一些常用的路径起一个别名,特别当我们的项目目录结构比较深的时候,一个文件的路径可能是`./../../`的形式
通过配置`alias`以减少查找过程
```js
module.exports = {
...
resolve:{
alias:{
"@":path.resolve(__dirname,'./src')
}
}
}
```
### 使用 DLLPlugin 插件
`DLL`全称是 动态链接库,是为软件在winodw种实现共享函数库的一种实现方式,而Webpack也内置了DLL的功能,为的就是可以共享,不经常改变的代码,抽成一个共享的库。这个库在之后的编译过程中,会被引入到其他项目的代码中
使用步骤分成两部分:
- 打包一个 DLL 库
- 引入 DLL 库
#### 打包一个 DLL 库
`webpack`内置了一个`DllPlugin`可以帮助我们打包一个DLL的库文件
```js
module.exports = {
...
plugins:[
new webpack.DllPlugin({
name:'dll_[name]',
path:path.resolve(__dirname,"./dll/[name].mainfest.json")
})
]
}
```
#### 引入 DLL 库
使用 `webpack` 自带的 `DllReferencePlugin` 插件对 `mainfest.json` 映射文件进行分析,获取要使用的`DLL`库
然后再通过`AddAssetHtmlPlugin`插件,将我们打包的`DLL`库引入到`Html`模块中
```js
module.exports = {
...
new webpack.DllReferencePlugin({
context:path.resolve(__dirname,"./dll/dll_react.js"),
mainfest:path.resolve(__dirname,"./dll/react.mainfest.json")
}),
new AddAssetHtmlPlugin({
outputPath:"./auto",
filepath:path.resolve(__dirname,"./dll/dll_react.js")
})
}
```
### 使用 cache-loader
在一些性能开销较大的 `loader `之前添加 `cache-loader`,以将结果缓存到磁盘里,显著提升二次构建速度
保存和读取这些缓存文件会有一些时间开销,所以请只对性能开销较大的 `loader` 使用此` loader`
```js
module.exports = {
module: {
rules: [
{
test: /\.ext$/,
use: ['cache-loader', ...loaders],
include: path.resolve('src'),
},
],
},
};
```
### terser 启动多线程
使用多进程并行运行来提高构建速度
```js
module.exports = {
optimization: {
minimizer: [
new TerserPlugin({
parallel: true,
}),
],
},
};
```
### 合理使用 sourceMap
打包生成 `sourceMap` 的时候,如果信息越详细,打包速度就会越慢。对应属性取值如下所示:

### 三、总结
可以看到,优化`webpack`构建的方式有很多,主要可以从优化搜索时间、缩小文件搜索范围、减少不必要的编译等方面入手
## 参考文献
- https://github.com/ly2011/blog/issues/44
- https://xie.infoq.cn/article/541418eb82a674741a0ad8865
- https://zhuanlan.zhihu.com/p/139498741
- https://vue3js.cn/interview
================================================
FILE: docs/webpack/performance.md
================================================
# 面试官:说说如何借助webpack来优化前端性能?

## 一、背景
随着前端的项目逐渐扩大,必然会带来的一个问题就是性能
尤其在大型复杂的项目中,前端业务可能因为一个小小的数据依赖,导致整个页面卡顿甚至奔溃
一般项目在完成后,会通过`webpack`进行打包,利用`webpack`对前端项目性能优化是一个十分重要的环节
## 二、如何优化
通过`webpack`优化前端的手段有:
- JS代码压缩
- CSS代码压缩
- Html文件代码压缩
- 文件大小压缩
- 图片压缩
- Tree Shaking
- 代码分离
- 内联 chunk
### JS代码压缩
`terser`是一个`JavaScript`的解释、绞肉机、压缩机的工具集,可以帮助我们压缩、丑化我们的代码,让`bundle`更小
在`production`模式下,`webpack` 默认就是使用 `TerserPlugin` 来处理我们的代码的。如果想要自定义配置它,配置方法如下:
```js
const TerserPlugin = require('terser-webpack-plugin')
module.exports = {
...
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
parallel: true // 电脑cpu核数-1
})
]
}
}
```
属性介绍如下:
- extractComments:默认值为true,表示会将注释抽取到一个单独的文件中,开发阶段,我们可设置为 false ,不保留注释
- parallel:使用多进程并发运行提高构建的速度,默认值是true,并发运行的默认数量: os.cpus().length - 1
- terserOptions:设置我们的terser相关的配置:
- compress:设置压缩相关的选项,mangle:设置丑化相关的选项,可以直接设置为true
- mangle:设置丑化相关的选项,可以直接设置为true
- toplevel:底层变量是否进行转换
- keep_classnames:保留类的名称
- keep_fnames:保留函数的名称
### CSS代码压缩
`CSS`压缩通常是去除无用的空格等,因为很难去修改选择器、属性的名称、值等
CSS的压缩我们可以使用另外一个插件:`css-minimizer-webpack-plugin`
```cmd
npm install css-minimizer-webpack-plugin -D
```
配置方法如下:
```js
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin')
module.exports = {
// ...
optimization: {
minimize: true,
minimizer: [
new CssMinimizerPlugin({
parallel: true
})
]
}
}
```
### Html文件代码压缩
使用`HtmlWebpackPlugin`插件来生成`HTML`的模板时候,通过配置属性`minify`进行`html`优化
```js
module.exports = {
...
plugin:[
new HtmlwebpackPlugin({
...
minify:{
minifyCSS:false, // 是否压缩css
collapseWhitespace:false, // 是否折叠空格
removeComments:true // 是否移除注释
}
})
]
}
```
设置了`minify`,实际会使用另一个插件`html-minifier-terser`
### 文件大小压缩
对文件的大小进行压缩,减少`http`传输过程中宽带的损耗
```js
npm install compression-webpack-plugin -D
```
```js
new ComepressionPlugin({
test:/\.(css|js)$/, // 哪些文件需要压缩
threshold:500, // 设置文件多大开始压缩
minRatio:0.7, // 至少压缩的比例
algorithm:"gzip", // 采用的压缩算法
})
```
### 图片压缩
一般来说在打包之后,一些图片文件的大小是远远要比 `js` 或者 `css` 文件要来的大,所以图片压缩较为重要
配置方法如下:
```js
module: {
rules: [
{
test: /\.(png|jpg|gif)$/,
use: [
{
loader: 'file-loader',
options: {
name: '[name]_[hash].[ext]',
outputPath: 'images/',
}
},
{
loader: 'image-webpack-loader',
options: {
// 压缩 jpeg 的配置
mozjpeg: {
progressive: true,
quality: 65
},
// 使用 imagemin**-optipng 压缩 png,enable: false 为关闭
optipng: {
enabled: false,
},
// 使用 imagemin-pngquant 压缩 png
pngquant: {
quality: '65-90',
speed: 4
},
// 压缩 gif 的配置
gifsicle: {
interlaced: false,
},
// 开启 webp,会把 jpg 和 png 图片压缩为 webp 格式
webp: {
quality: 75
}
}
}
]
},
]
}
```
### Tree Shaking
`Tree Shaking` 是一个术语,在计算机中表示消除死代码,依赖于`ES Module`的静态语法分析(不执行任何的代码,可以明确知道模块的依赖关系)
在`webpack`实现`Trss shaking`有两种不同的方案:
- usedExports:通过标记某些函数是否被使用,之后通过Terser来进行优化的
- sideEffects:跳过整个模块/文件,直接查看该文件是否有副作用
两种不同的配置方案, 有不同的效果
#### usedExports
配置方法也很简单,只需要将`usedExports`设为`true`
```js
module.exports = {
...
optimization:{
usedExports
}
}
```
使用之后,没被用上的代码在`webpack`打包中会加入`unused harmony export mul`注释,用来告知 `Terser` 在优化时,可以删除掉这段代码
如下面`sum`函数没被用到,`webpack`打包会添加注释,`terser`在优化时,则将该函数去掉

#### sideEffects
`sideEffects`用于告知`webpack compiler`哪些模块时有副作用,配置方法是在`package.json`中设置`sideEffects`属性
如果`sideEffects`设置为false,就是告知`webpack`可以安全的删除未用到的`exports`
如果有些文件需要保留,可以设置为数组的形式
```js
"sideEffecis":[
"./src/util/format.js",
"*.css" // 所有的css文件
]
```
上述都是关于`javascript`的`tree shaking`,`css`同样也能够实现`tree shaking`
#### css tree shaking
`css`进行`tree shaking`优化可以安装`PurgeCss`插件
```cmd
npm install purgecss-plugin-webpack -D
```
```js
const PurgeCssPlugin = require('purgecss-webpack-plugin')
module.exports = {
...
plugins:[
new PurgeCssPlugin({
path:glob.sync(`${path.resolve('./src')}/**/*`), {nodir:true}// src里面的所有文件
satelist:function(){
return {
standard:["html"]
}
}
})
]
}
```
- paths:表示要检测哪些目录下的内容需要被分析,配合使用glob
- 默认情况下,Purgecss会将我们的html标签的样式移除掉,如果我们希望保留,可以添加一个safelist的属性
### 代码分离
将代码分离到不同的`bundle`中,之后我们可以按需加载,或者并行加载这些文件
默认情况下,所有的`JavaScript`代码(业务代码、第三方依赖、暂时没有用到的模块)在首页全部都加载,就会影响首页的加载速度
代码分离可以分出出更小的`bundle`,以及控制资源加载优先级,提供代码的加载性能
这里通过`splitChunksPlugin`来实现,该插件`webpack`已经默认安装和集成,只需要配置即可
默认配置中,chunks仅仅针对于异步(async)请求,我们可以设置为initial或者all
```js
module.exports = {
...
optimization:{
splitChunks:{
chunks:"all"
}
}
}
```
`splitChunks`主要属性有如下:
- Chunks,对同步代码还是异步代码进行处理
- minSize: 拆分包的大小, 至少为minSize,如何包的大小不超过minSize,这个包不会拆分
- maxSize: 将大于maxSize的包,拆分为不小于minSize的包
- minChunks:被引入的次数,默认是1
### 内联chunk
可以通过`InlineChunkHtmlPlugin`插件将一些`chunk`的模块内联到`html`,如`runtime`的代码(对模块进行解析、加载、模块信息相关的代码),代码量并不大,但是必须加载的
```js
const InlineChunkHtmlPlugin = require('react-dev-utils/InlineChunkHtmlPlugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
...
plugin:[
new InlineChunkHtmlPlugin(HtmlWebpackPlugin,[/runtime.+\.js/]
}
```
### 三、总结
关于`webpack`对前端性能的优化,可以通过文件体积大小入手,其次还可通过分包的形式、减少http请求次数等方式,实现对前端性能的优化
## 参考文献
- https://zhuanlan.zhihu.com/p/139498741
- https://vue3js.cn/interview/
================================================
FILE: docs/webpack/proxy.md
================================================
# 面试官:说说webpack proxy工作原理?为什么能解决跨域?

## 一、是什么
`webpack proxy`,即`webpack`提供的代理服务
基本行为就是接收客户端发送的请求后转发给其他服务器
其目的是为了便于开发者在开发模式下解决跨域问题(浏览器安全策略限制)
想要实现代理首先需要一个中间服务器,`webpack`中提供服务器的工具为`webpack-dev-server`
#### webpack-dev-server
`webpack-dev-server`是 `webpack` 官方推出的一款开发工具,将自动编译和自动刷新浏览器等一系列对开发友好的功能全部集成在了一起
目的是为了提高开发者日常的开发效率,**只适用在开发阶段**
关于配置方面,在`webpack`配置对象属性中通过`devServer`属性提供,如下:
```js
// ./webpack.config.js
const path = require('path')
module.exports = {
// ...
devServer: {
contentBase: path.join(__dirname, 'dist'),
compress: true,
port: 9000,
proxy: {
'/api': {
target: 'https://api.github.com'
}
}
// ...
}
}
```
`devServetr`里面`proxy`则是关于代理的配置,该属性为对象的形式,对象中每一个属性就是一个代理的规则匹配
属性的名称是需要被代理的请求路径前缀,一般为了辨别都会设置前缀为` /api`,值为对应的代理匹配规则,对应如下:
- target:表示的是代理到的目标地址
- pathRewrite:默认情况下,我们的 /api-hy 也会被写入到URL中,如果希望删除,可以使用pathRewrite
- secure:默认情况下不接收转发到https的服务器上,如果希望支持,可以设置为false
- changeOrigin:它表示是否更新代理后请求的 headers 中host地址
## 二、工作原理
`proxy`工作原理实质上是利用`http-proxy-middleware` 这个`http`代理中间件,实现请求转发给其他服务器
举个例子:
在开发阶段,本地地址为`http://localhost:3000`,该浏览器发送一个前缀带有`/api`标识的请求到服务端获取数据,但响应这个请求的服务器只是将请求转发到另一台服务器中
```js
const express = require('express');
const proxy = require('http-proxy-middleware');
const app = express();
app.use('/api', proxy({target: 'http://www.example.org', changeOrigin: true}));
app.listen(3000);
// http://localhost:3000/api/foo/bar -> http://www.example.org/api/foo/bar
```
## 三、跨域
在开发阶段, `webpack-dev-server` 会启动一个本地开发服务器,所以我们的应用在开发阶段是独立运行在 `localhost `的一个端口上,而后端服务又是运行在另外一个地址上
所以在开发阶段中,由于浏览器同源策略的原因,当本地访问后端就会出现跨域请求的问题
通过设置`webpack proxy`实现代理请求后,相当于浏览器与服务端中添加一个代理者
当本地发送请求的时候,代理服务器响应该请求,并将请求转发到目标服务器,目标服务器响应数据后再将数据返回给代理服务器,最终再由代理服务器将数据响应给本地

在代理服务器传递数据给本地浏览器的过程中,两者同源,并不存在跨域行为,这时候浏览器就能正常接收数据
注意:**服务器与服务器之间请求数据并不会存在跨域行为,跨域行为是浏览器安全策略限制**
## 参考文献
- https://webpack.docschina.org/configuration/dev-server/#devserverproxy
================================================
FILE: docs/webpack/webpack.md
================================================
# 面试官:说说你对webpack的理解?解决了什么问题?

## 一、背景
`Webpack` 最初的目标是实现前端项目的模块化,旨在更高效地管理和维护项目中的每一个资源
#### 模块化
最早的时候,我们会通过文件划分的形式实现模块化,也就是将每个功能及其相关状态数据各自单独放到不同的` JS` 文件中
约定每个文件是一个独立的模块,然后再将这些`js`文件引入到页面,一个`script`标签对应一个模块,然后调用模块化的成员
```html
```
但这种模块弊端十分的明显,模块都是在全局中工作,大量模块成员污染了环境,模块与模块之间并没有依赖关系、维护困难、没有私有空间等问题
项目一旦变大,上述问题会尤其明显
随后,就出现了命名空间方式,规定每个模块只暴露一个全局对象,然后模块的内容都挂载到这个对象中
```js
window.moduleA = {
method1: function () {
console.log('moduleA#method1')
}
}
```
这种方式也并没有解决第一种方式的依赖等问题
再后来,我们使用立即执行函数为模块提供私有空间,通过参数的形式作为依赖声明,如下
```js
// module-a.js
(function ($) {
var name = 'module-a'
function method1 () {
console.log(name + '#method1')
$('body').animate({ margin: '200px' })
}
window.moduleA = {
method1: method1
}
})(jQuery)
```
上述的方式都是早期解决模块的方式,但是仍然存在一些没有解决的问题。例如,我们是用过`script`标签在页面引入这些模块的,这些模块的加载并不受代码的控制,时间一久维护起来也十分的麻烦
理想的解决方式是,在页面中引入一个` JS `入口文件,其余用到的模块可以通过代码控制,按需加载进来
除了模块加载的问题以外,还需要规定模块化的规范,如今流行的则是`CommonJS `、`ES Modules`
## 二、问题
从后端渲染的`JSP`、`PHP`,到前端原生`JavaScript`,再到`jQuery`开发,再到目前的三大框架`Vue`、`React`、`Angular`
开发方式,也从`javascript`到后面的`es5`、`es6、7、8、9、10`,再到`typescript`,包括编写`CSS`的预处理器`less`、`scss`等
现代前端开发已经变得十分的复杂,所以我们开发过程中会遇到如下的问题:
- 需要通过模块化的方式来开发
- 使用一些高级的特性来加快我们的开发效率或者安全性,比如通过ES6+、TypeScript开发脚本逻辑,通过sass、less等方式来编写css样式代码
- 监听文件的变化来并且反映到浏览器上,提高开发的效率
- JavaScript 代码需要模块化,HTML 和 CSS 这些资源文件也会面临需要被模块化的问题
- 开发完成后我们还需要将代码进行压缩、合并以及其他相关的优化
而`webpack`恰巧可以解决以上问题
## 三、是什么
`webpack` 是一个用于现代` JavaScript `应用程序的静态模块打包工具
- 静态模块
这里的静态模块指的是开发阶段,可以被 `webpack` 直接引用的资源(可以直接被获取打包进`bundle.js`的资源)
当 `webpack `处理应用程序时,它会在内部构建一个依赖图,此依赖图对应映射到项目所需的每个模块(不再局限`js`文件),并生成一个或多个 `bundle`

#### `webpack`的能力:
**编译代码能力**,提高效率,解决浏览器兼容问题

**模块整合能力**,提高性能,可维护性,解决浏览器频繁请求文件的问题

**万物皆可模块能力**,项目维护性增强,支持不同种类的前端模块类型,统一的模块化方案,所有资源文件的加载都可以通过代码控制

## 参考文献
- https://webpack.docschina.org/concepts/
- https://zhuanlan.zhihu.com/p/267875652
================================================
FILE: package-lock.json.bakn
================================================
{
"name": "web-interview",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
"version": "7.10.4",
"resolved": "https://npm.quanziapp.com/@babel%2fcode-frame/-/code-frame-7.10.4.tgz",
"integrity": "sha1-Fo2ho26Q2miujUnA8bSMfGJJITo=",
"dev": true,
"requires": {
"@babel/highlight": "^7.10.4"
}
},
"@babel/compat-data": {
"version": "7.12.7",
"resolved": "https://npm.quanziapp.com/@babel%2fcompat-data/-/compat-data-7.12.7.tgz",
"integrity": "sha1-kym0eCp9a71+71fhGt35HuPvHkE=",
"dev": true
},
"@babel/core": {
"version": "7.12.10",
"resolved": "https://npm.quanziapp.com/@babel%2fcore/-/core-7.12.10.tgz",
"integrity": "sha1-t5ouG59w7T2Eu/ttjE74JfYGvM0=",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
"@babel/generator": "^7.12.10",
"@babel/helper-module-transforms": "^7.12.1",
"@babel/helpers": "^7.12.5",
"@babel/parser": "^7.12.10",
"@babel/template": "^7.12.7",
"@babel/traverse": "^7.12.10",
"@babel/types": "^7.12.10",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.1",
"json5": "^2.1.2",
"lodash": "^4.17.19",
"semver": "^5.4.1",
"source-map": "^0.5.0"
}
},
"@babel/generator": {
"version": "7.12.10",
"resolved": "https://npm.quanziapp.com/@babel%2fgenerator/-/generator-7.12.10.tgz",
"integrity": "sha1-KxiPwyn7jk92IYFwO+/8D+bfNGA=",
"dev": true,
"requires": {
"@babel/types": "^7.12.10",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
},
"@babel/helper-annotate-as-pure": {
"version": "7.12.10",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz",
"integrity": "sha1-VKubAA5gqTZEzhez830xOq8dEV0=",
"dev": true,
"requires": {
"@babel/types": "^7.12.10"
}
},
"@babel/helper-builder-binary-assignment-operator-visitor": {
"version": "7.10.4",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz",
"integrity": "sha1-uwt18xv5jL+f8UPBrleLhydK4aM=",
"dev": true,
"requires": {
"@babel/helper-explode-assignable-expression": "^7.10.4",
"@babel/types": "^7.10.4"
}
},
"@babel/helper-compilation-targets": {
"version": "7.12.5",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz",
"integrity": "sha1-y0cMdhmNtqJOnbyJhydWMeXSmDE=",
"dev": true,
"requires": {
"@babel/compat-data": "^7.12.5",
"@babel/helper-validator-option": "^7.12.1",
"browserslist": "^4.14.5",
"semver": "^5.5.0"
}
},
"@babel/helper-create-class-features-plugin": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz",
"integrity": "sha1-PEWZj0Me3UqSFMXx060USKYTf24=",
"dev": true,
"requires": {
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-member-expression-to-functions": "^7.12.1",
"@babel/helper-optimise-call-expression": "^7.10.4",
"@babel/helper-replace-supers": "^7.12.1",
"@babel/helper-split-export-declaration": "^7.10.4"
}
},
"@babel/helper-create-regexp-features-plugin": {
"version": "7.12.7",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz",
"integrity": "sha1-IIQXLpVEP6CgkhS6G7Mo+a6hJ48=",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.10.4",
"regexpu-core": "^4.7.1"
}
},
"@babel/helper-define-map": {
"version": "7.10.5",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-define-map/-/helper-define-map-7.10.5.tgz",
"integrity": "sha1-tTwQ23imQIABUmkrEzkxR6y5uzA=",
"dev": true,
"requires": {
"@babel/helper-function-name": "^7.10.4",
"@babel/types": "^7.10.5",
"lodash": "^4.17.19"
}
},
"@babel/helper-explode-assignable-expression": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz",
"integrity": "sha1-gAakZmlcSthqKl8vsVtfLDGtVjM=",
"dev": true,
"requires": {
"@babel/types": "^7.12.1"
}
},
"@babel/helper-function-name": {
"version": "7.10.4",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-function-name/-/helper-function-name-7.10.4.tgz",
"integrity": "sha1-0tOyDFmtjEcRL6fSqUvAnV74Lxo=",
"dev": true,
"requires": {
"@babel/helper-get-function-arity": "^7.10.4",
"@babel/template": "^7.10.4",
"@babel/types": "^7.10.4"
}
},
"@babel/helper-get-function-arity": {
"version": "7.12.10",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz",
"integrity": "sha1-sViBejFltfqiBHgl36YZcN3MFs8=",
"dev": true,
"requires": {
"@babel/types": "^7.12.10"
}
},
"@babel/helper-hoist-variables": {
"version": "7.10.4",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz",
"integrity": "sha1-1JsAHR1aaMpeZgTdoBpil/fJOB4=",
"dev": true,
"requires": {
"@babel/types": "^7.10.4"
}
},
"@babel/helper-member-expression-to-functions": {
"version": "7.12.7",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz",
"integrity": "sha1-qne9A5bsgRTl4weH76eFmdh0qFU=",
"dev": true,
"requires": {
"@babel/types": "^7.12.7"
}
},
"@babel/helper-module-imports": {
"version": "7.12.5",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-module-imports/-/helper-module-imports-7.12.5.tgz",
"integrity": "sha1-G/wCKfeUmI927QpNTpCGCFC1Tfs=",
"dev": true,
"requires": {
"@babel/types": "^7.12.5"
}
},
"@babel/helper-module-transforms": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-module-transforms/-/helper-module-transforms-7.12.1.tgz",
"integrity": "sha1-eVT+xx9bMsSOSzA7Q3w0RT/XJHw=",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.12.1",
"@babel/helper-replace-supers": "^7.12.1",
"@babel/helper-simple-access": "^7.12.1",
"@babel/helper-split-export-declaration": "^7.11.0",
"@babel/helper-validator-identifier": "^7.10.4",
"@babel/template": "^7.10.4",
"@babel/traverse": "^7.12.1",
"@babel/types": "^7.12.1",
"lodash": "^4.17.19"
}
},
"@babel/helper-optimise-call-expression": {
"version": "7.12.10",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz",
"integrity": "sha1-lMpOMG7hGn3W6fQoI+Ksa0mIHi0=",
"dev": true,
"requires": {
"@babel/types": "^7.12.10"
}
},
"@babel/helper-plugin-utils": {
"version": "7.10.4",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
"integrity": "sha1-L3WoMSadT2d95JmG3/WZJ1M883U=",
"dev": true
},
"@babel/helper-remap-async-to-generator": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz",
"integrity": "sha1-jE27+RYxT2BH3AXmoiFwdCODR/0=",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.10.4",
"@babel/helper-wrap-function": "^7.10.4",
"@babel/types": "^7.12.1"
}
},
"@babel/helper-replace-supers": {
"version": "7.12.5",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-replace-supers/-/helper-replace-supers-7.12.5.tgz",
"integrity": "sha1-8AmhdUO7u84WsGIGrnO2PT/KaNk=",
"dev": true,
"requires": {
"@babel/helper-member-expression-to-functions": "^7.12.1",
"@babel/helper-optimise-call-expression": "^7.10.4",
"@babel/traverse": "^7.12.5",
"@babel/types": "^7.12.5"
}
},
"@babel/helper-simple-access": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-simple-access/-/helper-simple-access-7.12.1.tgz",
"integrity": "sha1-MkJ+WqYVR9OOsebq9f0UJv2tkTY=",
"dev": true,
"requires": {
"@babel/types": "^7.12.1"
}
},
"@babel/helper-skip-transparent-expression-wrappers": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz",
"integrity": "sha1-Ri3GOn5DWt6EaDhcY9K4TM5LPL8=",
"dev": true,
"requires": {
"@babel/types": "^7.12.1"
}
},
"@babel/helper-split-export-declaration": {
"version": "7.11.0",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
"integrity": "sha1-+KSRJErPamdhWKxCBykRuoOtCZ8=",
"dev": true,
"requires": {
"@babel/types": "^7.11.0"
}
},
"@babel/helper-validator-identifier": {
"version": "7.10.4",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
"integrity": "sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI=",
"dev": true
},
"@babel/helper-validator-option": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-validator-option/-/helper-validator-option-7.12.1.tgz",
"integrity": "sha1-F1VnOAw+d9YP+YpUuwFf548heNk=",
"dev": true
},
"@babel/helper-wrap-function": {
"version": "7.12.3",
"resolved": "https://npm.quanziapp.com/@babel%2fhelper-wrap-function/-/helper-wrap-function-7.12.3.tgz",
"integrity": "sha1-MzIzn8TR+78cJ9eVjCfTRwjpkNk=",
"dev": true,
"requires": {
"@babel/helper-function-name": "^7.10.4",
"@babel/template": "^7.10.4",
"@babel/traverse": "^7.10.4",
"@babel/types": "^7.10.4"
}
},
"@babel/helpers": {
"version": "7.12.5",
"resolved": "https://npm.quanziapp.com/@babel%2fhelpers/-/helpers-7.12.5.tgz",
"integrity": "sha1-Ghukp2jZtYMQ7aUWxEmRP+ZHEW4=",
"dev": true,
"requires": {
"@babel/template": "^7.10.4",
"@babel/traverse": "^7.12.5",
"@babel/types": "^7.12.5"
}
},
"@babel/highlight": {
"version": "7.10.4",
"resolved": "https://npm.quanziapp.com/@babel%2fhighlight/-/highlight-7.10.4.tgz",
"integrity": "sha1-fRvf1ldTU4+r5sOFls23bZrGAUM=",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
}
},
"@babel/parser": {
"version": "7.12.10",
"resolved": "https://npm.quanziapp.com/@babel%2fparser/-/parser-7.12.10.tgz",
"integrity": "sha1-gkYA1Z6WrqJqWir1qdgSrwXDroE=",
"dev": true
},
"@babel/plugin-proposal-async-generator-functions": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz",
"integrity": "sha1-3GwRcOJ9isqZ/2X0klvQaxyQVQ4=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/helper-remap-async-to-generator": "^7.12.1",
"@babel/plugin-syntax-async-generators": "^7.8.0"
}
},
"@babel/plugin-proposal-class-properties": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz",
"integrity": "sha1-oIL/VB8qKaSCEGW4rdk0bAwW5d4=",
"dev": true,
"requires": {
"@babel/helper-create-class-features-plugin": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-proposal-decorators": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz",
"integrity": "sha1-WScUOf7UFFRWxBBnRQVDruMy0V8=",
"dev": true,
"requires": {
"@babel/helper-create-class-features-plugin": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/plugin-syntax-decorators": "^7.12.1"
}
},
"@babel/plugin-proposal-dynamic-import": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz",
"integrity": "sha1-Q+tcKjSH7NmMXI6otf22midJstw=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/plugin-syntax-dynamic-import": "^7.8.0"
}
},
"@babel/plugin-proposal-export-namespace-from": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz",
"integrity": "sha1-i5uPN2stiPXdd05NJKXMLjZ5ttQ=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3"
}
},
"@babel/plugin-proposal-json-strings": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz",
"integrity": "sha1-1FQjtRdxTu3VYhqd/cA/qfTrJBw=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/plugin-syntax-json-strings": "^7.8.0"
}
},
"@babel/plugin-proposal-logical-assignment-operators": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz",
"integrity": "sha1-8sSQ024bPJZZJBA0pdLNUCY6J1E=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
}
},
"@babel/plugin-proposal-nullish-coalescing-operator": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz",
"integrity": "sha1-PtT/8xwBXn8/FGfxkNvlRc17BGw=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
}
},
"@babel/plugin-proposal-numeric-separator": {
"version": "7.12.7",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz",
"integrity": "sha1-i/JT3oE5CZ/qGTspfSOp1AbvBWs=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
}
},
"@babel/plugin-proposal-object-rest-spread": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz",
"integrity": "sha1-3vm9A86g+bcig9rA7CLSicdpEGk=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/plugin-syntax-object-rest-spread": "^7.8.0",
"@babel/plugin-transform-parameters": "^7.12.1"
}
},
"@babel/plugin-proposal-optional-catch-binding": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz",
"integrity": "sha1-zMJCGvZNOq5QtVinHO3pKaWrKUI=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
}
},
"@babel/plugin-proposal-optional-chaining": {
"version": "7.12.7",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz",
"integrity": "sha1-4C8OobXcWdQB7Bb7gkZ59oPTMDw=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
"@babel/plugin-syntax-optional-chaining": "^7.8.0"
}
},
"@babel/plugin-proposal-private-methods": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz",
"integrity": "sha1-hoFPbnohN0yYDBDTi0ST5wP0o4k=",
"dev": true,
"requires": {
"@babel/helper-create-class-features-plugin": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-proposal-unicode-property-regex": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz",
"integrity": "sha1-Khg5WNQXdluerjNPR3WOXWqC4HI=",
"dev": true,
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
"integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-class-properties": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz",
"integrity": "sha1-vLKXxTZueb663vUJVJzZOwTxmXg=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-syntax-decorators": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz",
"integrity": "sha1-gai1NbKER2xBvm3gaFOogCuYxd0=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-syntax-dynamic-import": {
"version": "7.8.3",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
"integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-export-namespace-from": {
"version": "7.8.3",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
"integrity": "sha1-AolkqbqA28CUyRXEh618TnpmRlo=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.3"
}
},
"@babel/plugin-syntax-json-strings": {
"version": "7.8.3",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
"integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-jsx": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz",
"integrity": "sha1-nZ01fMgYqnrnk1kXwSV/Z2d6CSY=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-syntax-logical-assignment-operators": {
"version": "7.10.4",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
"integrity": "sha1-ypHvRjA1MESLkGZSusLp/plB9pk=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-syntax-nullish-coalescing-operator": {
"version": "7.8.3",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
"integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-numeric-separator": {
"version": "7.10.4",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
"integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-syntax-object-rest-spread": {
"version": "7.8.3",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
"integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-optional-catch-binding": {
"version": "7.8.3",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
"integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-optional-chaining": {
"version": "7.8.3",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
"integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.8.0"
}
},
"@babel/plugin-syntax-top-level-await": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz",
"integrity": "sha1-3WwLNXrBuxQtmFN0UKMZYl0T0qA=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-arrow-functions": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz",
"integrity": "sha1-gIP/yGrI53f74ktZZ8SyUh88srM=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-async-to-generator": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz",
"integrity": "sha1-OEmknMKiLpdDy9a1KSbTAzcimvE=",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/helper-remap-async-to-generator": "^7.12.1"
}
},
"@babel/plugin-transform-block-scoped-functions": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz",
"integrity": "sha1-8qGjZb3itxEuCm3tkGf918B5Bdk=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-block-scoping": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz",
"integrity": "sha1-8O5yeHS0KiCKSKWGuEw9IiwrvvE=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-classes": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz",
"integrity": "sha1-ZeZQ/K3dPYjdzmfA+DSj1DajLbY=",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "^7.10.4",
"@babel/helper-define-map": "^7.10.4",
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-optimise-call-expression": "^7.10.4",
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/helper-replace-supers": "^7.12.1",
"@babel/helper-split-export-declaration": "^7.10.4",
"globals": "^11.1.0"
}
},
"@babel/plugin-transform-computed-properties": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz",
"integrity": "sha1-1oz2ybf4OKikFEutvpdUHqCQSFI=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-destructuring": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz",
"integrity": "sha1-uaVw/g0KjUYBFkE8tPl+jgiy+Ec=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-dotall-regex": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz",
"integrity": "sha1-odFsFIYoF7ZAnApnjW+Tc8qc2XU=",
"dev": true,
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-duplicate-keys": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz",
"integrity": "sha1-dFZhuropWsBuaGgieXpp+6osoig=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-exponentiation-operator": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz",
"integrity": "sha1-sPLtNWuhvhQo7K8Sj/iiTwKDCuA=",
"dev": true,
"requires": {
"@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-for-of": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz",
"integrity": "sha1-B2QPKIZ+0W+VEcmciIKR9WCSHPo=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-function-name": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz",
"integrity": "sha1-LsdiWMcP4IxtfaFUADpIBiDrpmc=",
"dev": true,
"requires": {
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-literals": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz",
"integrity": "sha1-1zuAOiazcBfd+dO7j03Fi/uAb1c=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-member-expression-literals": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz",
"integrity": "sha1-SWA4YC2vFRSmTUPY4Xy7J1Xgw60=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-modules-amd": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz",
"integrity": "sha1-MVQwCwJhhWZu67DA7X+EFf789vk=",
"dev": true,
"requires": {
"@babel/helper-module-transforms": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4",
"babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-commonjs": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz",
"integrity": "sha1-+kAxJFQmNseGz5tGCg/7tIqG5kg=",
"dev": true,
"requires": {
"@babel/helper-module-transforms": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/helper-simple-access": "^7.12.1",
"babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-systemjs": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz",
"integrity": "sha1-Zj/qYg1ZPJPyFKRkzTmb9txoMIY=",
"dev": true,
"requires": {
"@babel/helper-hoist-variables": "^7.10.4",
"@babel/helper-module-transforms": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/helper-validator-identifier": "^7.10.4",
"babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-umd": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz",
"integrity": "sha1-61ohjWscaPPWIXuPosyC/sZUeQI=",
"dev": true,
"requires": {
"@babel/helper-module-transforms": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz",
"integrity": "sha1-tAf1yWvg2fX4hGdJf6grMKw+h1M=",
"dev": true,
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.12.1"
}
},
"@babel/plugin-transform-new-target": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz",
"integrity": "sha1-gAc/Au4bstNlw0FkkOCFyVdZ3sA=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-object-super": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz",
"integrity": "sha1-TqCGlrjS5lhB0MdwZIKwSL7RBm4=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/helper-replace-supers": "^7.12.1"
}
},
"@babel/plugin-transform-parameters": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz",
"integrity": "sha1-0uljsDh3FlDJIu/1k3mclthTJV0=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-property-literals": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz",
"integrity": "sha1-QbyBIA1zCrtEVquLP71VN7Wa3s0=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-regenerator": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz",
"integrity": "sha1-Xwoo2EL2RiKB8GqWToi6jXq0l1M=",
"dev": true,
"requires": {
"regenerator-transform": "^0.14.2"
}
},
"@babel/plugin-transform-reserved-words": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz",
"integrity": "sha1-b9/IzH7cxCs2p8EhiMZ4fIc63Ng=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-runtime": {
"version": "7.12.10",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz",
"integrity": "sha1-rw/e1OhGxLNweOjl0G3qxs2EhWI=",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.12.5",
"@babel/helper-plugin-utils": "^7.10.4",
"semver": "^5.5.1"
}
},
"@babel/plugin-transform-shorthand-properties": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz",
"integrity": "sha1-C/nKxVUPzgz98ENCD2YdZF/cdeM=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-spread": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz",
"integrity": "sha1-Un+fMRvk7H/cK3m7ife/iEs+Hh4=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/helper-skip-transparent-expression-wrappers": "^7.12.1"
}
},
"@babel/plugin-transform-sticky-regex": {
"version": "7.12.7",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz",
"integrity": "sha1-VgIkYTqyOYdFOUjtIdCwsZP6f60=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-template-literals": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz",
"integrity": "sha1-tD7ObtmnnAxxEZ9XbSme8J2UKEM=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-typeof-symbol": {
"version": "7.12.10",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz",
"integrity": "sha1-3gHEyPllgL0A8YMHKw0Ozc8N7Es=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-unicode-escapes": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz",
"integrity": "sha1-UjK5+BzLBwcLfDw2xnobePGEVwk=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/plugin-transform-unicode-regex": {
"version": "7.12.1",
"resolved": "https://npm.quanziapp.com/@babel%2fplugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz",
"integrity": "sha1-zJZh9hOQ21xl4/66zO/Vxqw/rss=",
"dev": true,
"requires": {
"@babel/helper-create-regexp-features-plugin": "^7.12.1",
"@babel/helper-plugin-utils": "^7.10.4"
}
},
"@babel/preset-env": {
"version": "7.12.10",
"resolved": "https://npm.quanziapp.com/@babel%2fpreset-env/-/preset-env-7.12.10.tgz",
"integrity": "sha1-ypgblfZB8mEFMb1xlIZWMGkF5qs=",
"dev": true,
"requires": {
"@babel/compat-data": "^7.12.7",
"@babel/helper-compilation-targets": "^7.12.5",
"@babel/helper-module-imports": "^7.12.5",
"@babel/helper-plugin-utils": "^7.10.4",
"@babel/helper-validator-option": "^7.12.1",
"@babel/plugin-proposal-async-generator-functions": "^7.12.1",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-dynamic-import": "^7.12.1",
"@babel/plugin-proposal-export-namespace-from": "^7.12.1",
"@babel/plugin-proposal-json-strings": "^7.12.1",
"@babel/plugin-proposal-logical-assignment-operators": "^7.12.1",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
"@babel/plugin-proposal-numeric-separator": "^7.12.7",
"@babel/plugin-proposal-object-rest-spread": "^7.12.1",
"@babel/plugin-proposal-optional-catch-binding": "^7.12.1",
"@babel/plugin-proposal-optional-chaining": "^7.12.7",
"@babel/plugin-proposal-private-methods": "^7.12.1",
"@babel/plugin-proposal-unicode-property-regex": "^7.12.1",
"@babel/plugin-syntax-async-generators": "^7.8.0",
"@babel/plugin-syntax-class-properties": "^7.12.1",
"@babel/plugin-syntax-dynamic-import": "^7.8.0",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3",
"@babel/plugin-syntax-json-strings": "^7.8.0",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
"@babel/plugin-syntax-numeric-separator": "^7.10.4",
"@babel/plugin-syntax-object-rest-spread": "^7.8.0",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
"@babel/plugin-syntax-optional-chaining": "^7.8.0",
"@babel/plugin-syntax-top-level-await": "^7.12.1",
"@babel/plugin-transform-arrow-functions": "^7.12.1",
"@babel/plugin-transform-async-to-generator": "^7.12.1",
"@babel/plugin-transform-block-scoped-functions": "^7.12.1",
"@babel/plugin-transform-block-scoping": "^7.12.1",
"@babel/plugin-transform-classes": "^7.12.1",
"@babel/plugin-transform-computed-properties": "^7.12.1",
"@babel/plugin-transform-destructuring": "^7.12.1",
"@babel/plugin-transform-dotall-regex": "^7.12.1",
"@babel/plugin-transform-duplicate-keys": "^7.12.1",
"@babel/plugin-transform-exponentiation-operator": "^7.12.1",
"@babel/plugin-transform-for-of": "^7.12.1",
"@babel/plugin-transform-function-name": "^7.12.1",
"@babel/plugin-transform-literals": "^7.12.1",
"@babel/plugin-transform-member-expression-literals": "^7.12.1",
"@babel/plugin-transform-modules-amd": "^7.12.1",
"@babel/plugin-transform-modules-commonjs": "^7.12.1",
"@babel/plugin-transform-modules-systemjs": "^7.12.1",
"@babel/plugin-transform-modules-umd": "^7.12.1",
"@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1",
"@babel/plugin-transform-new-target": "^7.12.1",
"@babel/plugin-transform-object-super": "^7.12.1",
"@babel/plugin-transform-parameters": "^7.12.1",
"@babel/plugin-transform-property-literals": "^7.12.1",
"@babel/plugin-transform-regenerator": "^7.12.1",
"@babel/plugin-transform-reserved-words": "^7.12.1",
"@babel/plugin-transform-shorthand-properties": "^7.12.1",
"@babel/plugin-transform-spread": "^7.12.1",
"@babel/plugin-transform-sticky-regex": "^7.12.7",
"@babel/plugin-transform-template-literals": "^7.12.1",
"@babel/plugin-transform-typeof-symbol": "^7.12.10",
"@babel/plugin-transform-unicode-escapes": "^7.12.1",
"@babel/plugin-transform-unicode-regex": "^7.12.1",
"@babel/preset-modules": "^0.1.3",
"@babel/types": "^7.12.10",
"core-js-compat": "^3.8.0",
"semver": "^5.5.0"
}
},
"@babel/preset-modules": {
"version": "0.1.4",
"resolved": "https://npm.quanziapp.com/@babel%2fpreset-modules/-/preset-modules-0.1.4.tgz",
"integrity": "sha1-Ni8raMZihClw/bXiVP/I/BwuQV4=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.0.0",
"@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
"@babel/plugin-transform-dotall-regex": "^7.4.4",
"@babel/types": "^7.4.4",
"esutils": "^2.0.2"
}
},
"@babel/runtime": {
"version": "7.12.5",
"resolved": "https://npm.quanziapp.com/@babel%2fruntime/-/runtime-7.12.5.tgz",
"integrity": "sha1-QQ5+SHRB4bNgwpvnFdhw2bmFiC4=",
"dev": true,
"requires": {
"regenerator-runtime": "^0.13.4"
}
},
"@babel/template": {
"version": "7.12.7",
"resolved": "https://npm.quanziapp.com/@babel%2ftemplate/-/template-7.12.7.tgz",
"integrity": "sha1-yBcjNpYBjjn7tsSR0vtoTgXtQ7w=",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
"@babel/parser": "^7.12.7",
"@babel/types": "^7.12.7"
}
},
"@babel/traverse": {
"version": "7.12.10",
"resolved": "https://npm.quanziapp.com/@babel%2ftraverse/-/traverse-7.12.10.tgz",
"integrity": "sha1-LR9AQei/QuoJnlstxI1qWUwAAXo=",
"dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
"@babel/generator": "^7.12.10",
"@babel/helper-function-name": "^7.10.4",
"@babel/helper-split-export-declaration": "^7.11.0",
"@babel/parser": "^7.12.10",
"@babel/types": "^7.12.10",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
}
},
"@babel/types": {
"version": "7.12.10",
"resolved": "https://npm.quanziapp.com/@babel%2ftypes/-/types-7.12.10.tgz",
"integrity": "sha1-eWXkpyYLJvCcVrz8sEmK8fbZsmA=",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
},
"@mrmlnc/readdir-enhanced": {
"version": "2.2.1",
"resolved": "https://npm.quanziapp.com/@mrmlnc%2freaddir-enhanced/-/readdir-enhanced-2.2.1.tgz",
"integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=",
"dev": true,
"requires": {
"call-me-maybe": "^1.0.1",
"glob-to-regexp": "^0.3.0"
}
},
"@nodelib/fs.stat": {
"version": "1.1.3",
"resolved": "https://npm.quanziapp.com/@nodelib%2ffs.stat/-/fs.stat-1.1.3.tgz",
"integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=",
"dev": true
},
"@sindresorhus/is": {
"version": "0.14.0",
"resolved": "https://npm.quanziapp.com/@sindresorhus%2fis/-/is-0.14.0.tgz",
"integrity": "sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o=",
"dev": true
},
"@szmarczak/http-timer": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/@szmarczak%2fhttp-timer/-/http-timer-1.1.2.tgz",
"integrity": "sha1-sWZeLEYaLNkvTBu/UNVFTeDUtCE=",
"dev": true,
"requires": {
"defer-to-connect": "^1.0.1"
}
},
"@types/glob": {
"version": "7.1.3",
"resolved": "https://npm.quanziapp.com/@types%2fglob/-/glob-7.1.3.tgz",
"integrity": "sha1-5rqA82t9qtLGhazZJmOC5omFwYM=",
"dev": true,
"requires": {
"@types/minimatch": "*",
"@types/node": "*"
}
},
"@types/json-schema": {
"version": "7.0.6",
"resolved": "https://npm.quanziapp.com/@types%2fjson-schema/-/json-schema-7.0.6.tgz",
"integrity": "sha1-9MfsQ+gbMZqYFRFQMXCfJph4kfA=",
"dev": true
},
"@types/minimatch": {
"version": "3.0.3",
"resolved": "https://npm.quanziapp.com/@types%2fminimatch/-/minimatch-3.0.3.tgz",
"integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=",
"dev": true
},
"@types/node": {
"version": "14.14.11",
"resolved": "https://npm.quanziapp.com/@types%2fnode/-/node-14.14.11.tgz",
"integrity": "sha1-/CWkJIpejQg3AZsdFwFG0HM0q+A=",
"dev": true
},
"@types/q": {
"version": "1.5.4",
"resolved": "https://npm.quanziapp.com/@types%2fq/-/q-1.5.4.tgz",
"integrity": "sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=",
"dev": true
},
"@vue/babel-helper-vue-jsx-merge-props": {
"version": "1.2.1",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz",
"integrity": "sha1-MWJKelBfsU2h1YAjclpMXycOaoE=",
"dev": true
},
"@vue/babel-helper-vue-transform-on": {
"version": "1.0.0-rc.2",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.0-rc.2.tgz",
"integrity": "sha1-ckY0H2ZufG5lsT2kIOLOhXFPu8o=",
"dev": true
},
"@vue/babel-plugin-jsx": {
"version": "1.0.0-rc.4",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-plugin-jsx/-/babel-plugin-jsx-1.0.0-rc.4.tgz",
"integrity": "sha1-Asm6LgHcUlH9aaia/UnpoZYzMbo=",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.0.0",
"@babel/plugin-syntax-jsx": "^7.0.0",
"@babel/template": "^7.0.0",
"@babel/traverse": "^7.0.0",
"@babel/types": "^7.0.0",
"@vue/babel-helper-vue-transform-on": "^1.0.0-rc.2",
"camelcase": "^6.0.0",
"html-tags": "^3.1.0",
"svg-tags": "^1.0.0"
}
},
"@vue/babel-plugin-transform-vue-jsx": {
"version": "1.2.1",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz",
"integrity": "sha1-ZGBGxlLC8CQnJ/NFGdkXsGQEHtc=",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.0.0",
"@babel/plugin-syntax-jsx": "^7.2.0",
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
"html-tags": "^2.0.0",
"lodash.kebabcase": "^4.1.1",
"svg-tags": "^1.0.0"
},
"dependencies": {
"html-tags": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/html-tags/-/html-tags-2.0.0.tgz",
"integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
"dev": true
}
}
},
"@vue/babel-preset-app": {
"version": "4.5.9",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-preset-app/-/babel-preset-app-4.5.9.tgz",
"integrity": "sha1-pO8YMKITAeT3fXzUoEVV2KAerzM=",
"dev": true,
"requires": {
"@babel/core": "^7.11.0",
"@babel/helper-compilation-targets": "^7.9.6",
"@babel/helper-module-imports": "^7.8.3",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-decorators": "^7.8.3",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-jsx": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.11.0",
"@babel/preset-env": "^7.11.0",
"@babel/runtime": "^7.11.0",
"@vue/babel-plugin-jsx": "^1.0.0-0",
"@vue/babel-preset-jsx": "^1.1.2",
"babel-plugin-dynamic-import-node": "^2.3.3",
"core-js": "^3.6.5",
"core-js-compat": "^3.6.5",
"semver": "^6.1.0"
},
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://npm.quanziapp.com/semver/-/semver-6.3.0.tgz",
"integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
"dev": true
}
}
},
"@vue/babel-preset-jsx": {
"version": "1.2.4",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz",
"integrity": "sha1-kv6nnbbxOwHoDToAmeKSS9y+Toc=",
"dev": true,
"requires": {
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
"@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
"@vue/babel-sugar-composition-api-inject-h": "^1.2.1",
"@vue/babel-sugar-composition-api-render-instance": "^1.2.4",
"@vue/babel-sugar-functional-vue": "^1.2.2",
"@vue/babel-sugar-inject-h": "^1.2.2",
"@vue/babel-sugar-v-model": "^1.2.3",
"@vue/babel-sugar-v-on": "^1.2.3"
}
},
"@vue/babel-sugar-composition-api-inject-h": {
"version": "1.2.1",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz",
"integrity": "sha1-BdbgxDJxDjdYKyvppgSbaJtvA+s=",
"dev": true,
"requires": {
"@babel/plugin-syntax-jsx": "^7.2.0"
}
},
"@vue/babel-sugar-composition-api-render-instance": {
"version": "1.2.4",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz",
"integrity": "sha1-5MvGmXw0T6wnF4WteikyXFHWjRk=",
"dev": true,
"requires": {
"@babel/plugin-syntax-jsx": "^7.2.0"
}
},
"@vue/babel-sugar-functional-vue": {
"version": "1.2.2",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz",
"integrity": "sha1-JnqayNeHyW7b8Dzj85LEnam9Jlg=",
"dev": true,
"requires": {
"@babel/plugin-syntax-jsx": "^7.2.0"
}
},
"@vue/babel-sugar-inject-h": {
"version": "1.2.2",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz",
"integrity": "sha1-1zjTyJM2fshJHcu2abAAkZKT46o=",
"dev": true,
"requires": {
"@babel/plugin-syntax-jsx": "^7.2.0"
}
},
"@vue/babel-sugar-v-model": {
"version": "1.2.3",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz",
"integrity": "sha1-+h8pulHr8KoabDX6ZtU5vEWaGPI=",
"dev": true,
"requires": {
"@babel/plugin-syntax-jsx": "^7.2.0",
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
"@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
"camelcase": "^5.0.0",
"html-tags": "^2.0.0",
"svg-tags": "^1.0.0"
},
"dependencies": {
"camelcase": {
"version": "5.3.1",
"resolved": "https://npm.quanziapp.com/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
"dev": true
},
"html-tags": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/html-tags/-/html-tags-2.0.0.tgz",
"integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
"dev": true
}
}
},
"@vue/babel-sugar-v-on": {
"version": "1.2.3",
"resolved": "https://npm.quanziapp.com/@vue%2fbabel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz",
"integrity": "sha1-NCNnF4WGpp85LwS/ujICHQKROto=",
"dev": true,
"requires": {
"@babel/plugin-syntax-jsx": "^7.2.0",
"@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
"camelcase": "^5.0.0"
},
"dependencies": {
"camelcase": {
"version": "5.3.1",
"resolved": "https://npm.quanziapp.com/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
"dev": true
}
}
},
"@vue/component-compiler-utils": {
"version": "3.2.0",
"resolved": "https://npm.quanziapp.com/@vue%2fcomponent-compiler-utils/-/component-compiler-utils-3.2.0.tgz",
"integrity": "sha1-j4UYLO7Sjps8dTE95mn4MWbRHl0=",
"dev": true,
"requires": {
"consolidate": "^0.15.1",
"hash-sum": "^1.0.2",
"lru-cache": "^4.1.2",
"merge-source-map": "^1.1.0",
"postcss": "^7.0.14",
"postcss-selector-parser": "^6.0.2",
"prettier": "^1.18.2",
"source-map": "~0.6.1",
"vue-template-es2015-compiler": "^1.9.0"
},
"dependencies": {
"lru-cache": {
"version": "4.1.5",
"resolved": "https://npm.quanziapp.com/lru-cache/-/lru-cache-4.1.5.tgz",
"integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
"dev": true,
"requires": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
},
"yallist": {
"version": "2.1.2",
"resolved": "https://npm.quanziapp.com/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
}
}
},
"@vuepress/core": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/@vuepress%2fcore/-/core-1.7.1.tgz",
"integrity": "sha1-6S+q0OlEX913X44NZeknvDXoBXE=",
"dev": true,
"requires": {
"@babel/core": "^7.8.4",
"@vue/babel-preset-app": "^4.1.2",
"@vuepress/markdown": "1.7.1",
"@vuepress/markdown-loader": "1.7.1",
"@vuepress/plugin-last-updated": "1.7.1",
"@vuepress/plugin-register-components": "1.7.1",
"@vuepress/shared-utils": "1.7.1",
"autoprefixer": "^9.5.1",
"babel-loader": "^8.0.4",
"cache-loader": "^3.0.0",
"chokidar": "^2.0.3",
"connect-history-api-fallback": "^1.5.0",
"copy-webpack-plugin": "^5.0.2",
"core-js": "^3.6.4",
"cross-spawn": "^6.0.5",
"css-loader": "^2.1.1",
"file-loader": "^3.0.1",
"js-yaml": "^3.13.1",
"lru-cache": "^5.1.1",
"mini-css-extract-plugin": "0.6.0",
"optimize-css-assets-webpack-plugin": "^5.0.1",
"portfinder": "^1.0.13",
"postcss-loader": "^3.0.0",
"postcss-safe-parser": "^4.0.1",
"toml": "^3.0.0",
"url-loader": "^1.0.1",
"vue": "^2.6.10",
"vue-loader": "^15.7.1",
"vue-router": "^3.4.5",
"vue-server-renderer": "^2.6.10",
"vue-template-compiler": "^2.6.10",
"vuepress-html-webpack-plugin": "^3.2.0",
"vuepress-plugin-container": "^2.0.2",
"webpack": "^4.8.1",
"webpack-chain": "^6.0.0",
"webpack-dev-server": "^3.5.1",
"webpack-merge": "^4.1.2",
"webpackbar": "3.2.0"
}
},
"@vuepress/markdown": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/@vuepress%2fmarkdown/-/markdown-1.7.1.tgz",
"integrity": "sha1-VvYMI2L9grjycC7vo2bA1bAv3L0=",
"dev": true,
"requires": {
"@vuepress/shared-utils": "1.7.1",
"markdown-it": "^8.4.1",
"markdown-it-anchor": "^5.0.2",
"markdown-it-chain": "^1.3.0",
"markdown-it-emoji": "^1.4.0",
"markdown-it-table-of-contents": "^0.4.0",
"prismjs": "^1.13.0"
}
},
"@vuepress/markdown-loader": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/@vuepress%2fmarkdown-loader/-/markdown-loader-1.7.1.tgz",
"integrity": "sha1-86sgll1d7G4vwtEceO8anwjWL3I=",
"dev": true,
"requires": {
"@vuepress/markdown": "1.7.1",
"loader-utils": "^1.1.0",
"lru-cache": "^5.1.1"
}
},
"@vuepress/plugin-active-header-links": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/@vuepress%2fplugin-active-header-links/-/plugin-active-header-links-1.7.1.tgz",
"integrity": "sha1-WhYoG+u5d/wcK5PZkrGjt/+EBkE=",
"dev": true,
"requires": {
"lodash.debounce": "^4.0.8"
}
},
"@vuepress/plugin-last-updated": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/@vuepress%2fplugin-last-updated/-/plugin-last-updated-1.7.1.tgz",
"integrity": "sha1-ZoxV2qa4vB2O5CzbQWnPZ8Abbpc=",
"dev": true,
"requires": {
"cross-spawn": "^6.0.5"
}
},
"@vuepress/plugin-nprogress": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/@vuepress%2fplugin-nprogress/-/plugin-nprogress-1.7.1.tgz",
"integrity": "sha1-EB6/cg6qY1pHPhbKFue0p4UDMfo=",
"dev": true,
"requires": {
"nprogress": "^0.2.0"
}
},
"@vuepress/plugin-register-components": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/@vuepress%2fplugin-register-components/-/plugin-register-components-1.7.1.tgz",
"integrity": "sha1-H/WOkx6MJ9ZPm4by34ed2s7M3r4=",
"dev": true,
"requires": {
"@vuepress/shared-utils": "1.7.1"
}
},
"@vuepress/plugin-search": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/@vuepress%2fplugin-search/-/plugin-search-1.7.1.tgz",
"integrity": "sha1-9Stud68w9FIhO8Z3dBzv6Kgwm+I=",
"dev": true
},
"@vuepress/shared-utils": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/@vuepress%2fshared-utils/-/shared-utils-1.7.1.tgz",
"integrity": "sha1-AovGADJHu0xgzclvIx7s+1XnuF0=",
"dev": true,
"requires": {
"chalk": "^2.3.2",
"escape-html": "^1.0.3",
"fs-extra": "^7.0.1",
"globby": "^9.2.0",
"gray-matter": "^4.0.1",
"hash-sum": "^1.0.2",
"semver": "^6.0.0",
"toml": "^3.0.0",
"upath": "^1.1.0"
},
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://npm.quanziapp.com/semver/-/semver-6.3.0.tgz",
"integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
"dev": true
}
}
},
"@vuepress/theme-default": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/@vuepress%2ftheme-default/-/theme-default-1.7.1.tgz",
"integrity": "sha1-Nv7lu1FleYwAgsUSy/TZQ1ImDZc=",
"dev": true,
"requires": {
"@vuepress/plugin-active-header-links": "1.7.1",
"@vuepress/plugin-nprogress": "1.7.1",
"@vuepress/plugin-search": "1.7.1",
"docsearch.js": "^2.5.2",
"lodash": "^4.17.15",
"stylus": "^0.54.8",
"stylus-loader": "^3.0.2",
"vuepress-plugin-container": "^2.0.2",
"vuepress-plugin-smooth-scroll": "^0.0.3"
}
},
"@webassemblyjs/ast": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fast/-/ast-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.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2ffloating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
"integrity": "sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=",
"dev": true
},
"@webassemblyjs/helper-api-error": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fhelper-api-error/-/helper-api-error-1.9.0.tgz",
"integrity": "sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=",
"dev": true
},
"@webassemblyjs/helper-buffer": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fhelper-buffer/-/helper-buffer-1.9.0.tgz",
"integrity": "sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=",
"dev": true
},
"@webassemblyjs/helper-code-frame": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fhelper-code-frame/-/helper-code-frame-1.9.0.tgz",
"integrity": "sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=",
"dev": true,
"requires": {
"@webassemblyjs/wast-printer": "1.9.0"
}
},
"@webassemblyjs/helper-fsm": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fhelper-fsm/-/helper-fsm-1.9.0.tgz",
"integrity": "sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=",
"dev": true
},
"@webassemblyjs/helper-module-context": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fhelper-module-context/-/helper-module-context-1.9.0.tgz",
"integrity": "sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.9.0"
}
},
"@webassemblyjs/helper-wasm-bytecode": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fhelper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
"integrity": "sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=",
"dev": true
},
"@webassemblyjs/helper-wasm-section": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fhelper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
"integrity": "sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=",
"dev": true,
"requires": {
"@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.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fieee754/-/ieee754-1.9.0.tgz",
"integrity": "sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=",
"dev": true,
"requires": {
"@xtuc/ieee754": "^1.2.0"
}
},
"@webassemblyjs/leb128": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fleb128/-/leb128-1.9.0.tgz",
"integrity": "sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=",
"dev": true,
"requires": {
"@xtuc/long": "4.2.2"
}
},
"@webassemblyjs/utf8": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2futf8/-/utf8-1.9.0.tgz",
"integrity": "sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=",
"dev": true
},
"@webassemblyjs/wasm-edit": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fwasm-edit/-/wasm-edit-1.9.0.tgz",
"integrity": "sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=",
"dev": true,
"requires": {
"@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.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fwasm-gen/-/wasm-gen-1.9.0.tgz",
"integrity": "sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=",
"dev": true,
"requires": {
"@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.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fwasm-opt/-/wasm-opt-1.9.0.tgz",
"integrity": "sha1-IhEYHlsxMmRDzIES658LkChyGmE=",
"dev": true,
"requires": {
"@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.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fwasm-parser/-/wasm-parser-1.9.0.tgz",
"integrity": "sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=",
"dev": true,
"requires": {
"@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.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fwast-parser/-/wast-parser-1.9.0.tgz",
"integrity": "sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=",
"dev": true,
"requires": {
"@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.9.0",
"resolved": "https://npm.quanziapp.com/@webassemblyjs%2fwast-printer/-/wast-printer-1.9.0.tgz",
"integrity": "sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.9.0",
"@webassemblyjs/wast-parser": "1.9.0",
"@xtuc/long": "4.2.2"
}
},
"@xtuc/ieee754": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/@xtuc%2fieee754/-/ieee754-1.2.0.tgz",
"integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=",
"dev": true
},
"@xtuc/long": {
"version": "4.2.2",
"resolved": "https://npm.quanziapp.com/@xtuc%2flong/-/long-4.2.2.tgz",
"integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=",
"dev": true
},
"abbrev": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/abbrev/-/abbrev-1.1.1.tgz",
"integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=",
"dev": true
},
"accepts": {
"version": "1.3.7",
"resolved": "https://npm.quanziapp.com/accepts/-/accepts-1.3.7.tgz",
"integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=",
"dev": true,
"requires": {
"mime-types": "~2.1.24",
"negotiator": "0.6.2"
}
},
"acorn": {
"version": "6.4.2",
"resolved": "https://npm.quanziapp.com/acorn/-/acorn-6.4.2.tgz",
"integrity": "sha1-NYZv1xBSjpLeEM8GAWSY5H454eY=",
"dev": true
},
"agentkeepalive": {
"version": "2.2.0",
"resolved": "https://npm.quanziapp.com/agentkeepalive/-/agentkeepalive-2.2.0.tgz",
"integrity": "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=",
"dev": true
},
"ajv": {
"version": "6.12.6",
"resolved": "https://npm.quanziapp.com/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
"dev": true,
"requires": {
"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.1",
"resolved": "https://npm.quanziapp.com/ajv-errors/-/ajv-errors-1.0.1.tgz",
"integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=",
"dev": true
},
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://npm.quanziapp.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=",
"dev": true
},
"algoliasearch": {
"version": "3.35.1",
"resolved": "https://npm.quanziapp.com/algoliasearch/-/algoliasearch-3.35.1.tgz",
"integrity": "sha1-KX0V9TSjUHyrL137mWAZysdWjww=",
"dev": true,
"requires": {
"agentkeepalive": "^2.2.0",
"debug": "^2.6.9",
"envify": "^4.0.0",
"es6-promise": "^4.1.0",
"events": "^1.1.0",
"foreach": "^2.0.5",
"global": "^4.3.2",
"inherits": "^2.0.1",
"isarray": "^2.0.1",
"load-script": "^1.0.0",
"object-keys": "^1.0.11",
"querystring-es3": "^0.2.1",
"reduce": "^1.0.1",
"semver": "^5.1.0",
"tunnel-agent": "^0.6.0"
},
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://npm.quanziapp.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"events": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/events/-/events-1.1.1.tgz",
"integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
"dev": true
},
"isarray": {
"version": "2.0.5",
"resolved": "https://npm.quanziapp.com/isarray/-/isarray-2.0.5.tgz",
"integrity": "sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM=",
"dev": true
},
"ms": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
}
}
},
"alphanum-sort": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
"integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
"dev": true
},
"ansi-align": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/ansi-align/-/ansi-align-3.0.0.tgz",
"integrity": "sha1-tTazcc9ofKrvI2wY0+If43l0Z8s=",
"dev": true,
"requires": {
"string-width": "^3.0.0"
}
},
"ansi-colors": {
"version": "3.2.4",
"resolved": "https://npm.quanziapp.com/ansi-colors/-/ansi-colors-3.2.4.tgz",
"integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=",
"dev": true
},
"ansi-escapes": {
"version": "4.3.1",
"resolved": "https://npm.quanziapp.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
"integrity": "sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE=",
"dev": true,
"requires": {
"type-fest": "^0.11.0"
}
},
"ansi-html": {
"version": "0.0.7",
"resolved": "https://npm.quanziapp.com/ansi-html/-/ansi-html-0.0.7.tgz",
"integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
"dev": true
},
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://npm.quanziapp.com/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
}
},
"anymatch": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/anymatch/-/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": "https://npm.quanziapp.com/normalize-path/-/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://npm.quanziapp.com/aproba/-/aproba-1.2.0.tgz",
"integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=",
"dev": true
},
"argparse": {
"version": "1.0.10",
"resolved": "https://npm.quanziapp.com/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=",
"dev": true,
"requires": {
"sprintf-js": "~1.0.2"
}
},
"arr-diff": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/arr-diff/-/arr-diff-4.0.0.tgz",
"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
"dev": true
},
"arr-flatten": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/arr-flatten/-/arr-flatten-1.1.0.tgz",
"integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
"dev": true
},
"arr-union": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
"array-flatten": {
"version": "2.1.2",
"resolved": "https://npm.quanziapp.com/array-flatten/-/array-flatten-2.1.2.tgz",
"integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=",
"dev": true
},
"array-union": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/array-union/-/array-union-1.0.2.tgz",
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
"dev": true,
"requires": {
"array-uniq": "^1.0.1"
}
},
"array-uniq": {
"version": "1.0.3",
"resolved": "https://npm.quanziapp.com/array-uniq/-/array-uniq-1.0.3.tgz",
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true
},
"array-unique": {
"version": "0.3.2",
"resolved": "https://npm.quanziapp.com/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
"asn1": {
"version": "0.2.4",
"resolved": "https://npm.quanziapp.com/asn1/-/asn1-0.2.4.tgz",
"integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=",
"dev": true,
"requires": {
"safer-buffer": "~2.1.0"
}
},
"asn1.js": {
"version": "5.4.1",
"resolved": "https://npm.quanziapp.com/asn1.js/-/asn1.js-5.4.1.tgz",
"integrity": "sha1-EamAuE67kXgc41sP3C7ilON4Pwc=",
"dev": true,
"requires": {
"bn.js": "^4.0.0",
"inherits": "^2.0.1",
"minimalistic-assert": "^1.0.0",
"safer-buffer": "^2.1.0"
},
"dependencies": {
"bn.js": {
"version": "4.11.9",
"resolved": "https://npm.quanziapp.com/bn.js/-/bn.js-4.11.9.tgz",
"integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
"dev": true
}
}
},
"assert": {
"version": "1.5.0",
"resolved": "https://npm.quanziapp.com/assert/-/assert-1.5.0.tgz",
"integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=",
"dev": true,
"requires": {
"object-assign": "^4.1.1",
"util": "0.10.3"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/inherits/-/inherits-2.0.1.tgz",
"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
"dev": true
},
"util": {
"version": "0.10.3",
"resolved": "https://npm.quanziapp.com/util/-/util-0.10.3.tgz",
"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
"dev": true,
"requires": {
"inherits": "2.0.1"
}
}
}
},
"assert-plus": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
},
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true
},
"async": {
"version": "2.6.3",
"resolved": "https://npm.quanziapp.com/async/-/async-2.6.3.tgz",
"integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=",
"dev": true,
"requires": {
"lodash": "^4.17.14"
}
},
"async-each": {
"version": "1.0.3",
"resolved": "https://npm.quanziapp.com/async-each/-/async-each-1.0.3.tgz",
"integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=",
"dev": true
},
"async-limiter": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/async-limiter/-/async-limiter-1.0.1.tgz",
"integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=",
"dev": true
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://npm.quanziapp.com/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
"atob": {
"version": "2.1.2",
"resolved": "https://npm.quanziapp.com/atob/-/atob-2.1.2.tgz",
"integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=",
"dev": true
},
"autocomplete.js": {
"version": "0.36.0",
"resolved": "https://npm.quanziapp.com/autocomplete.js/-/autocomplete.js-0.36.0.tgz",
"integrity": "sha1-lP53X+ZLbNQuYi0Hbcf9Jr7dg3s=",
"dev": true,
"requires": {
"immediate": "^3.2.3"
}
},
"autoprefixer": {
"version": "9.8.6",
"resolved": "https://npm.quanziapp.com/autoprefixer/-/autoprefixer-9.8.6.tgz",
"integrity": "sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8=",
"dev": true,
"requires": {
"browserslist": "^4.12.0",
"caniuse-lite": "^1.0.30001109",
"colorette": "^1.2.1",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
"postcss": "^7.0.32",
"postcss-value-parser": "^4.1.0"
}
},
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://npm.quanziapp.com/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
"dev": true
},
"aws4": {
"version": "1.11.0",
"resolved": "https://npm.quanziapp.com/aws4/-/aws4-1.11.0.tgz",
"integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=",
"dev": true
},
"babel-loader": {
"version": "8.2.2",
"resolved": "https://npm.quanziapp.com/babel-loader/-/babel-loader-8.2.2.tgz",
"integrity": "sha1-k2POhMEMmkDmx1N0jhRBtgyKC4E=",
"dev": true,
"requires": {
"find-cache-dir": "^3.3.1",
"loader-utils": "^1.4.0",
"make-dir": "^3.1.0",
"schema-utils": "^2.6.5"
}
},
"babel-plugin-dynamic-import-node": {
"version": "2.3.3",
"resolved": "https://npm.quanziapp.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
"integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=",
"dev": true,
"requires": {
"object.assign": "^4.1.0"
}
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"base": {
"version": "0.11.2",
"resolved": "https://npm.quanziapp.com/base/-/base-0.11.2.tgz",
"integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=",
"dev": true,
"requires": {
"cache-base": "^1.0.1",
"class-utils": "^0.3.5",
"component-emitter": "^1.2.1",
"define-property": "^1.0.0",
"isobject": "^3.0.1",
"mixin-deep": "^1.2.0",
"pascalcase": "^0.1.1"
},
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"base64-js": {
"version": "1.5.1",
"resolved": "https://npm.quanziapp.com/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=",
"dev": true
},
"batch": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/batch/-/batch-0.6.1.tgz",
"integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
"dev": true
},
"bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
"requires": {
"tweetnacl": "^0.14.3"
}
},
"big.js": {
"version": "5.2.2",
"resolved": "https://npm.quanziapp.com/big.js/-/big.js-5.2.2.tgz",
"integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=",
"dev": true
},
"binary-extensions": {
"version": "1.13.1",
"resolved": "https://npm.quanziapp.com/binary-extensions/-/binary-extensions-1.13.1.tgz",
"integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=",
"dev": true
},
"bindings": {
"version": "1.5.0",
"resolved": "https://npm.quanziapp.com/bindings/-/bindings-1.5.0.tgz",
"integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=",
"dev": true,
"optional": true,
"requires": {
"file-uri-to-path": "1.0.0"
}
},
"bluebird": {
"version": "3.7.2",
"resolved": "https://npm.quanziapp.com/bluebird/-/bluebird-3.7.2.tgz",
"integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=",
"dev": true
},
"bn.js": {
"version": "5.1.3",
"resolved": "https://npm.quanziapp.com/bn.js/-/bn.js-5.1.3.tgz",
"integrity": "sha1-vsoAVAj2Quvr6oCwQrTRjSrA7ms=",
"dev": true
},
"body-parser": {
"version": "1.19.0",
"resolved": "https://npm.quanziapp.com/body-parser/-/body-parser-1.19.0.tgz",
"integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=",
"dev": true,
"requires": {
"bytes": "3.1.0",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "1.7.2",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
"qs": "6.7.0",
"raw-body": "2.4.0",
"type-is": "~1.6.17"
},
"dependencies": {
"bytes": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/bytes/-/bytes-3.1.0.tgz",
"integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=",
"dev": true
},
"debug": {
"version": "2.6.9",
"resolved": "https://npm.quanziapp.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
}
}
},
"bonjour": {
"version": "3.5.0",
"resolved": "https://npm.quanziapp.com/bonjour/-/bonjour-3.5.0.tgz",
"integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
"dev": true,
"requires": {
"array-flatten": "^2.1.0",
"deep-equal": "^1.0.1",
"dns-equal": "^1.0.0",
"dns-txt": "^2.0.2",
"multicast-dns": "^6.0.1",
"multicast-dns-service-types": "^1.1.0"
}
},
"boolbase": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
"dev": true
},
"boxen": {
"version": "4.2.0",
"resolved": "https://npm.quanziapp.com/boxen/-/boxen-4.2.0.tgz",
"integrity": "sha1-5BG2I1fW1tNlh8isPV2XTaoHDmQ=",
"dev": true,
"requires": {
"ansi-align": "^3.0.0",
"camelcase": "^5.3.1",
"chalk": "^3.0.0",
"cli-boxes": "^2.2.0",
"string-width": "^4.1.0",
"term-size": "^2.1.0",
"type-fest": "^0.8.1",
"widest-line": "^3.1.0"
},
"dependencies": {
"ansi-regex": {
"version": "5.0.0",
"resolved": "https://npm.quanziapp.com/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=",
"dev": true
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://npm.quanziapp.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"dev": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"camelcase": {
"version": "5.3.1",
"resolved": "https://npm.quanziapp.com/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
"dev": true
},
"chalk": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://npm.quanziapp.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
"dev": true
},
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://npm.quanziapp.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=",
"dev": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
"dev": true
},
"is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=",
"dev": true
},
"string-width": {
"version": "4.2.0",
"resolved": "https://npm.quanziapp.com/string-width/-/string-width-4.2.0.tgz",
"integrity": "sha1-lSGCxGzHssMT0VluYjmSvRY7crU=",
"dev": true,
"requires": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
"version": "6.0.0",
"resolved": "https://npm.quanziapp.com/strip-ansi/-/strip-ansi-6.0.0.tgz",
"integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=",
"dev": true,
"requires": {
"ansi-regex": "^5.0.0"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://npm.quanziapp.com/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"type-fest": {
"version": "0.8.1",
"resolved": "https://npm.quanziapp.com/type-fest/-/type-fest-0.8.1.tgz",
"integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=",
"dev": true
}
}
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://npm.quanziapp.com/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
"dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"braces": {
"version": "2.3.2",
"resolved": "https://npm.quanziapp.com/braces/-/braces-2.3.2.tgz",
"integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
"dev": true,
"requires": {
"arr-flatten": "^1.1.0",
"array-unique": "^0.3.2",
"extend-shallow": "^2.0.1",
"fill-range": "^4.0.0",
"isobject": "^3.0.1",
"repeat-element": "^1.1.2",
"snapdragon": "^0.8.1",
"snapdragon-node": "^2.0.1",
"split-string": "^3.0.2",
"to-regex": "^3.0.1"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"brorand": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/brorand/-/brorand-1.1.0.tgz",
"integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
"dev": true
},
"browserify-aes": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/browserify-aes/-/browserify-aes-1.2.0.tgz",
"integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=",
"dev": true,
"requires": {
"buffer-xor": "^1.0.3",
"cipher-base": "^1.0.0",
"create-hash": "^1.1.0",
"evp_bytestokey": "^1.0.3",
"inherits": "^2.0.1",
"safe-buffer": "^5.0.1"
}
},
"browserify-cipher": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
"integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=",
"dev": true,
"requires": {
"browserify-aes": "^1.0.4",
"browserify-des": "^1.0.0",
"evp_bytestokey": "^1.0.0"
}
},
"browserify-des": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/browserify-des/-/browserify-des-1.0.2.tgz",
"integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=",
"dev": true,
"requires": {
"cipher-base": "^1.0.1",
"des.js": "^1.0.0",
"inherits": "^2.0.1",
"safe-buffer": "^5.1.2"
}
},
"browserify-rsa": {
"version": "4.1.0",
"resolved": "https://npm.quanziapp.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
"integrity": "sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0=",
"dev": true,
"requires": {
"bn.js": "^5.0.0",
"randombytes": "^2.0.1"
}
},
"browserify-sign": {
"version": "4.2.1",
"resolved": "https://npm.quanziapp.com/browserify-sign/-/browserify-sign-4.2.1.tgz",
"integrity": "sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM=",
"dev": true,
"requires": {
"bn.js": "^5.1.1",
"browserify-rsa": "^4.0.1",
"create-hash": "^1.2.0",
"create-hmac": "^1.1.7",
"elliptic": "^6.5.3",
"inherits": "^2.0.4",
"parse-asn1": "^5.1.5",
"readable-stream": "^3.6.0",
"safe-buffer": "^5.2.0"
},
"dependencies": {
"readable-stream": {
"version": "3.6.0",
"resolved": "https://npm.quanziapp.com/readable-stream/-/readable-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"
}
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://npm.quanziapp.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=",
"dev": true
}
}
},
"browserify-zlib": {
"version": "0.2.0",
"resolved": "https://npm.quanziapp.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
"integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
"dev": true,
"requires": {
"pako": "~1.0.5"
}
},
"browserslist": {
"version": "4.15.0",
"resolved": "https://npm.quanziapp.com/browserslist/-/browserslist-4.15.0.tgz",
"integrity": "sha1-PUi7ymo/N46GEC/9AX2aA/EivbA=",
"dev": true,
"requires": {
"caniuse-lite": "^1.0.30001164",
"colorette": "^1.2.1",
"electron-to-chromium": "^1.3.612",
"escalade": "^3.1.1",
"node-releases": "^1.1.67"
}
},
"buffer": {
"version": "4.9.2",
"resolved": "https://npm.quanziapp.com/buffer/-/buffer-4.9.2.tgz",
"integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=",
"dev": true,
"requires": {
"base64-js": "^1.0.2",
"ieee754": "^1.1.4",
"isarray": "^1.0.0"
}
},
"buffer-from": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/buffer-from/-/buffer-from-1.1.1.tgz",
"integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=",
"dev": true
},
"buffer-indexof": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
"integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=",
"dev": true
},
"buffer-json": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/buffer-json/-/buffer-json-2.0.0.tgz",
"integrity": "sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM=",
"dev": true
},
"buffer-xor": {
"version": "1.0.3",
"resolved": "https://npm.quanziapp.com/buffer-xor/-/buffer-xor-1.0.3.tgz",
"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
"dev": true
},
"builtin-status-codes": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
"dev": true
},
"bytes": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
"dev": true
},
"cac": {
"version": "6.6.1",
"resolved": "https://npm.quanziapp.com/cac/-/cac-6.6.1.tgz",
"integrity": "sha1-Pd4/aUP0XUKlZynqNXPAiz57am0=",
"dev": true
},
"cacache": {
"version": "12.0.4",
"resolved": "https://npm.quanziapp.com/cacache/-/cacache-12.0.4.tgz",
"integrity": "sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=",
"dev": true,
"requires": {
"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.3",
"ssri": "^6.0.1",
"unique-filename": "^1.1.1",
"y18n": "^4.0.0"
}
},
"cache-base": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/cache-base/-/cache-base-1.0.1.tgz",
"integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=",
"dev": true,
"requires": {
"collection-visit": "^1.0.0",
"component-emitter": "^1.2.1",
"get-value": "^2.0.6",
"has-value": "^1.0.0",
"isobject": "^3.0.1",
"set-value": "^2.0.0",
"to-object-path": "^0.3.0",
"union-value": "^1.0.0",
"unset-value": "^1.0.0"
}
},
"cache-loader": {
"version": "3.0.1",
"resolved": "https://npm.quanziapp.com/cache-loader/-/cache-loader-3.0.1.tgz",
"integrity": "sha1-zubPSzzcfGEJBbJrrWwvxDnIIa8=",
"dev": true,
"requires": {
"buffer-json": "^2.0.0",
"find-cache-dir": "^2.1.0",
"loader-utils": "^1.2.3",
"mkdirp": "^0.5.1",
"neo-async": "^2.6.1",
"schema-utils": "^1.0.0"
},
"dependencies": {
"find-cache-dir": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
"integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=",
"dev": true,
"requires": {
"commondir": "^1.0.1",
"make-dir": "^2.0.0",
"pkg-dir": "^3.0.0"
}
},
"find-up": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/find-up/-/find-up-3.0.0.tgz",
"integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
"dev": true,
"requires": {
"locate-path": "^3.0.0"
}
},
"locate-path": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
"dev": true,
"requires": {
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
}
},
"make-dir": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/make-dir/-/make-dir-2.1.0.tgz",
"integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=",
"dev": true,
"requires": {
"pify": "^4.0.1",
"semver": "^5.6.0"
}
},
"p-locate": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
"dev": true,
"requires": {
"p-limit": "^2.0.0"
}
},
"path-exists": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true
},
"pkg-dir": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/pkg-dir/-/pkg-dir-3.0.0.tgz",
"integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=",
"dev": true,
"requires": {
"find-up": "^3.0.0"
}
},
"schema-utils": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
"dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
}
}
},
"cacheable-request": {
"version": "6.1.0",
"resolved": "https://npm.quanziapp.com/cacheable-request/-/cacheable-request-6.1.0.tgz",
"integrity": "sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI=",
"dev": true,
"requires": {
"clone-response": "^1.0.2",
"get-stream": "^5.1.0",
"http-cache-semantics": "^4.0.0",
"keyv": "^3.0.0",
"lowercase-keys": "^2.0.0",
"normalize-url": "^4.1.0",
"responselike": "^1.0.2"
},
"dependencies": {
"get-stream": {
"version": "5.2.0",
"resolved": "https://npm.quanziapp.com/get-stream/-/get-stream-5.2.0.tgz",
"integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=",
"dev": true,
"requires": {
"pump": "^3.0.0"
}
},
"lowercase-keys": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
"integrity": "sha1-JgPni3tLAAbLyi+8yKMgJVislHk=",
"dev": true
},
"normalize-url": {
"version": "4.5.0",
"resolved": "https://npm.quanziapp.com/normalize-url/-/normalize-url-4.5.0.tgz",
"integrity": "sha1-RTNUCH5sqWlXvY9br3U/WYIUISk=",
"dev": true
}
}
},
"call-bind": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/call-bind/-/call-bind-1.0.0.tgz",
"integrity": "sha1-JBJwVLs/m9y0sfuCQYGGBy93uM4=",
"dev": true,
"requires": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.0"
}
},
"call-me-maybe": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
"integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
"dev": true
},
"caller-callsite": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/caller-callsite/-/caller-callsite-2.0.0.tgz",
"integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
"dev": true,
"requires": {
"callsites": "^2.0.0"
}
},
"caller-path": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/caller-path/-/caller-path-2.0.0.tgz",
"integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
"dev": true,
"requires": {
"caller-callsite": "^2.0.0"
}
},
"callsites": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/callsites/-/callsites-2.0.0.tgz",
"integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
"dev": true
},
"camel-case": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/camel-case/-/camel-case-3.0.0.tgz",
"integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
"dev": true,
"requires": {
"no-case": "^2.2.0",
"upper-case": "^1.1.1"
}
},
"camelcase": {
"version": "6.2.0",
"resolved": "https://npm.quanziapp.com/camelcase/-/camelcase-6.2.0.tgz",
"integrity": "sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=",
"dev": true
},
"caniuse-api": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/caniuse-api/-/caniuse-api-3.0.0.tgz",
"integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=",
"dev": true,
"requires": {
"browserslist": "^4.0.0",
"caniuse-lite": "^1.0.0",
"lodash.memoize": "^4.1.2",
"lodash.uniq": "^4.5.0"
}
},
"caniuse-lite": {
"version": "1.0.30001165",
"resolved": "https://npm.quanziapp.com/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz",
"integrity": "sha1-MpVUkNL2ApC7GGu3VPKYGRf6dE8=",
"dev": true
},
"caseless": {
"version": "0.12.0",
"resolved": "https://npm.quanziapp.com/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
},
"chalk": {
"version": "2.4.2",
"resolved": "https://npm.quanziapp.com/chalk/-/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"
}
},
"chokidar": {
"version": "2.1.8",
"resolved": "https://npm.quanziapp.com/chokidar/-/chokidar-2.1.8.tgz",
"integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=",
"dev": true,
"requires": {
"anymatch": "^2.0.0",
"async-each": "^1.0.1",
"braces": "^2.3.2",
"fsevents": "^1.2.7",
"glob-parent": "^3.1.0",
"inherits": "^2.0.3",
"is-binary-path": "^1.0.0",
"is-glob": "^4.0.0",
"normalize-path": "^3.0.0",
"path-is-absolute": "^1.0.0",
"readdirp": "^2.2.1",
"upath": "^1.1.1"
}
},
"chownr": {
"version": "1.1.4",
"resolved": "https://npm.quanziapp.com/chownr/-/chownr-1.1.4.tgz",
"integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=",
"dev": true
},
"chrome-trace-event": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
"integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=",
"dev": true,
"requires": {
"tslib": "^1.9.0"
}
},
"ci-info": {
"version": "1.6.0",
"resolved": "https://npm.quanziapp.com/ci-info/-/ci-info-1.6.0.tgz",
"integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=",
"dev": true
},
"cipher-base": {
"version": "1.0.4",
"resolved": "https://npm.quanziapp.com/cipher-base/-/cipher-base-1.0.4.tgz",
"integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
"dev": true,
"requires": {
"inherits": "^2.0.1",
"safe-buffer": "^5.0.1"
}
},
"class-utils": {
"version": "0.3.6",
"resolved": "https://npm.quanziapp.com/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=",
"dev": true,
"requires": {
"arr-union": "^3.1.0",
"define-property": "^0.2.5",
"isobject": "^3.0.0",
"static-extend": "^0.1.1"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://npm.quanziapp.com/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
}
}
},
"clean-css": {
"version": "4.2.3",
"resolved": "https://npm.quanziapp.com/clean-css/-/clean-css-4.2.3.tgz",
"integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=",
"dev": true,
"requires": {
"source-map": "~0.6.0"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
}
}
},
"cli-boxes": {
"version": "2.2.1",
"resolved": "https://npm.quanziapp.com/cli-boxes/-/cli-boxes-2.2.1.tgz",
"integrity": "sha1-3dUDXSUJT84iDpyrQKRYQKRAMY8=",
"dev": true
},
"clipboard": {
"version": "2.0.6",
"resolved": "https://npm.quanziapp.com/clipboard/-/clipboard-2.0.6.tgz",
"integrity": "sha1-UpISlu7A/fd+rRdJQhshyWhkc3Y=",
"dev": true,
"optional": true,
"requires": {
"good-listener": "^1.2.2",
"select": "^1.1.2",
"tiny-emitter": "^2.0.0"
}
},
"cliui": {
"version": "5.0.0",
"resolved": "https://npm.quanziapp.com/cliui/-/cliui-5.0.0.tgz",
"integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=",
"dev": true,
"requires": {
"string-width": "^3.1.0",
"strip-ansi": "^5.2.0",
"wrap-ansi": "^5.1.0"
},
"dependencies": {
"ansi-regex": {
"version": "4.1.0",
"resolved": "https://npm.quanziapp.com/ansi-regex/-/ansi-regex-4.1.0.tgz",
"integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
"dev": true
},
"strip-ansi": {
"version": "5.2.0",
"resolved": "https://npm.quanziapp.com/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
"dev": true,
"requires": {
"ansi-regex": "^4.1.0"
}
}
}
},
"clone-response": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/clone-response/-/clone-response-1.0.2.tgz",
"integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
"dev": true,
"requires": {
"mimic-response": "^1.0.0"
}
},
"coa": {
"version": "2.0.2",
"resolved": "https://npm.quanziapp.com/coa/-/coa-2.0.2.tgz",
"integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=",
"dev": true,
"requires": {
"@types/q": "^1.5.1",
"chalk": "^2.4.1",
"q": "^1.1.2"
}
},
"collection-visit": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
"dev": true,
"requires": {
"map-visit": "^1.0.0",
"object-visit": "^1.0.0"
}
},
"color": {
"version": "3.1.3",
"resolved": "https://npm.quanziapp.com/color/-/color-3.1.3.tgz",
"integrity": "sha1-ymf7TnuX1hHc3jns7tQiBn2RWW4=",
"dev": true,
"requires": {
"color-convert": "^1.9.1",
"color-string": "^1.5.4"
}
},
"color-convert": {
"version": "1.9.3",
"resolved": "https://npm.quanziapp.com/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=",
"dev": true,
"requires": {
"color-name": "1.1.3"
}
},
"color-name": {
"version": "1.1.3",
"resolved": "https://npm.quanziapp.com/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"color-string": {
"version": "1.5.4",
"resolved": "https://npm.quanziapp.com/color-string/-/color-string-1.5.4.tgz",
"integrity": "sha1-3VHNJc/ulT0Tj+QAI3LMPQ5QTLY=",
"dev": true,
"requires": {
"color-name": "^1.0.0",
"simple-swizzle": "^0.2.2"
}
},
"colorette": {
"version": "1.2.1",
"resolved": "https://npm.quanziapp.com/colorette/-/colorette-1.2.1.tgz",
"integrity": "sha1-TQuSEyXBT6+SYzCGpTbbbolWSxs=",
"dev": true
},
"combined-stream": {
"version": "1.0.8",
"resolved": "https://npm.quanziapp.com/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
"dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
},
"commander": {
"version": "2.17.1",
"resolved": "https://npm.quanziapp.com/commander/-/commander-2.17.1.tgz",
"integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=",
"dev": true
},
"commondir": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/commondir/-/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"component-emitter": {
"version": "1.3.0",
"resolved": "https://npm.quanziapp.com/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=",
"dev": true
},
"compressible": {
"version": "2.0.18",
"resolved": "https://npm.quanziapp.com/compressible/-/compressible-2.0.18.tgz",
"integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=",
"dev": true,
"requires": {
"mime-db": ">= 1.43.0 < 2"
}
},
"compression": {
"version": "1.7.4",
"resolved": "https://npm.quanziapp.com/compression/-/compression-1.7.4.tgz",
"integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=",
"dev": true,
"requires": {
"accepts": "~1.3.5",
"bytes": "3.0.0",
"compressible": "~2.0.16",
"debug": "2.6.9",
"on-headers": "~1.0.2",
"safe-buffer": "5.1.2",
"vary": "~1.1.2"
},
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://npm.quanziapp.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
}
}
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://npm.quanziapp.com/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"concat-stream": {
"version": "1.6.2",
"resolved": "https://npm.quanziapp.com/concat-stream/-/concat-stream-1.6.2.tgz",
"integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=",
"dev": true,
"requires": {
"buffer-from": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^2.2.2",
"typedarray": "^0.0.6"
}
},
"configstore": {
"version": "5.0.1",
"resolved": "https://npm.quanziapp.com/configstore/-/configstore-5.0.1.tgz",
"integrity": "sha1-02UCG130uYzdGH1qOw4/anzF7ZY=",
"dev": true,
"requires": {
"dot-prop": "^5.2.0",
"graceful-fs": "^4.1.2",
"make-dir": "^3.0.0",
"unique-string": "^2.0.0",
"write-file-atomic": "^3.0.0",
"xdg-basedir": "^4.0.0"
}
},
"connect-history-api-fallback": {
"version": "1.6.0",
"resolved": "https://npm.quanziapp.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
"integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=",
"dev": true
},
"consola": {
"version": "2.15.0",
"resolved": "https://npm.quanziapp.com/consola/-/consola-2.15.0.tgz",
"integrity": "sha1-QPxO76TS+O8uKAYUfwVuogf8wOk=",
"dev": true
},
"console-browserify": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/console-browserify/-/console-browserify-1.2.0.tgz",
"integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=",
"dev": true
},
"consolidate": {
"version": "0.15.1",
"resolved": "https://npm.quanziapp.com/consolidate/-/consolidate-0.15.1.tgz",
"integrity": "sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=",
"dev": true,
"requires": {
"bluebird": "^3.1.1"
}
},
"constants-browserify": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/constants-browserify/-/constants-browserify-1.0.0.tgz",
"integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
"dev": true
},
"content-disposition": {
"version": "0.5.3",
"resolved": "https://npm.quanziapp.com/content-disposition/-/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://npm.quanziapp.com/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=",
"dev": true
},
"convert-source-map": {
"version": "1.7.0",
"resolved": "https://npm.quanziapp.com/convert-source-map/-/convert-source-map-1.7.0.tgz",
"integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=",
"dev": true,
"requires": {
"safe-buffer": "~5.1.1"
}
},
"cookie": {
"version": "0.4.0",
"resolved": "https://npm.quanziapp.com/cookie/-/cookie-0.4.0.tgz",
"integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=",
"dev": true
},
"cookie-signature": {
"version": "1.0.6",
"resolved": "https://npm.quanziapp.com/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
"dev": true
},
"copy-concurrently": {
"version": "1.0.5",
"resolved": "https://npm.quanziapp.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
"integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=",
"dev": true,
"requires": {
"aproba": "^1.1.1",
"fs-write-stream-atomic": "^1.0.8",
"iferr": "^0.1.5",
"mkdirp": "^0.5.1",
"rimraf": "^2.5.4",
"run-queue": "^1.0.0"
}
},
"copy-descriptor": {
"version": "0.1.1",
"resolved": "https://npm.quanziapp.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
"dev": true
},
"copy-webpack-plugin": {
"version": "5.1.2",
"resolved": "https://npm.quanziapp.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz",
"integrity": "sha1-ioieHcr6bJHGzUvhrRWPHTgjuuI=",
"dev": true,
"requires": {
"cacache": "^12.0.3",
"find-cache-dir": "^2.1.0",
"glob-parent": "^3.1.0",
"globby": "^7.1.1",
"is-glob": "^4.0.1",
"loader-utils": "^1.2.3",
"minimatch": "^3.0.4",
"normalize-path": "^3.0.0",
"p-limit": "^2.2.1",
"schema-utils": "^1.0.0",
"serialize-javascript": "^4.0.0",
"webpack-log": "^2.0.0"
},
"dependencies": {
"find-cache-dir": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
"integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=",
"dev": true,
"requires": {
"commondir": "^1.0.1",
"make-dir": "^2.0.0",
"pkg-dir": "^3.0.0"
}
},
"find-up": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/find-up/-/find-up-3.0.0.tgz",
"integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
"dev": true,
"requires": {
"locate-path": "^3.0.0"
}
},
"globby": {
"version": "7.1.1",
"resolved": "https://npm.quanziapp.com/globby/-/globby-7.1.1.tgz",
"integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
"dev": true,
"requires": {
"array-union": "^1.0.1",
"dir-glob": "^2.0.0",
"glob": "^7.1.2",
"ignore": "^3.3.5",
"pify": "^3.0.0",
"slash": "^1.0.0"
},
"dependencies": {
"pify": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"dev": true
}
}
},
"ignore": {
"version": "3.3.10",
"resolved": "https://npm.quanziapp.com/ignore/-/ignore-3.3.10.tgz",
"integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=",
"dev": true
},
"locate-path": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
"dev": true,
"requires": {
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
}
},
"make-dir": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/make-dir/-/make-dir-2.1.0.tgz",
"integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=",
"dev": true,
"requires": {
"pify": "^4.0.1",
"semver": "^5.6.0"
}
},
"p-locate": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
"dev": true,
"requires": {
"p-limit": "^2.0.0"
}
},
"path-exists": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true
},
"pkg-dir": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/pkg-dir/-/pkg-dir-3.0.0.tgz",
"integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=",
"dev": true,
"requires": {
"find-up": "^3.0.0"
}
},
"schema-utils": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
"dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
},
"slash": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/slash/-/slash-1.0.0.tgz",
"integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
"dev": true
}
}
},
"core-js": {
"version": "3.8.1",
"resolved": "https://npm.quanziapp.com/core-js/-/core-js-3.8.1.tgz",
"integrity": "sha1-9RUjZorIopTRKFw7nbRAJf2mbUc=",
"dev": true
},
"core-js-compat": {
"version": "3.8.1",
"resolved": "https://npm.quanziapp.com/core-js-compat/-/core-js-compat-3.8.1.tgz",
"integrity": "sha1-jR3dNB1mC6YZTL4M5g9MeUyHo24=",
"dev": true,
"requires": {
"browserslist": "^4.15.0",
"semver": "7.0.0"
},
"dependencies": {
"semver": {
"version": "7.0.0",
"resolved": "https://npm.quanziapp.com/semver/-/semver-7.0.0.tgz",
"integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=",
"dev": true
}
}
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
"cosmiconfig": {
"version": "5.2.1",
"resolved": "https://npm.quanziapp.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
"integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=",
"dev": true,
"requires": {
"import-fresh": "^2.0.0",
"is-directory": "^0.3.1",
"js-yaml": "^3.13.1",
"parse-json": "^4.0.0"
}
},
"create-ecdh": {
"version": "4.0.4",
"resolved": "https://npm.quanziapp.com/create-ecdh/-/create-ecdh-4.0.4.tgz",
"integrity": "sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4=",
"dev": true,
"requires": {
"bn.js": "^4.1.0",
"elliptic": "^6.5.3"
},
"dependencies": {
"bn.js": {
"version": "4.11.9",
"resolved": "https://npm.quanziapp.com/bn.js/-/bn.js-4.11.9.tgz",
"integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
"dev": true
}
}
},
"create-hash": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/create-hash/-/create-hash-1.2.0.tgz",
"integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=",
"dev": true,
"requires": {
"cipher-base": "^1.0.1",
"inherits": "^2.0.1",
"md5.js": "^1.3.4",
"ripemd160": "^2.0.1",
"sha.js": "^2.4.0"
}
},
"create-hmac": {
"version": "1.1.7",
"resolved": "https://npm.quanziapp.com/create-hmac/-/create-hmac-1.1.7.tgz",
"integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=",
"dev": true,
"requires": {
"cipher-base": "^1.0.3",
"create-hash": "^1.1.0",
"inherits": "^2.0.1",
"ripemd160": "^2.0.0",
"safe-buffer": "^5.0.1",
"sha.js": "^2.4.8"
}
},
"cross-spawn": {
"version": "6.0.5",
"resolved": "https://npm.quanziapp.com/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
"dev": true,
"requires": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
"semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
}
},
"crypto-browserify": {
"version": "3.12.0",
"resolved": "https://npm.quanziapp.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
"integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
"dev": true,
"requires": {
"browserify-cipher": "^1.0.0",
"browserify-sign": "^4.0.0",
"create-ecdh": "^4.0.0",
"create-hash": "^1.1.0",
"create-hmac": "^1.1.0",
"diffie-hellman": "^5.0.0",
"inherits": "^2.0.1",
"pbkdf2": "^3.0.3",
"public-encrypt": "^4.0.0",
"randombytes": "^2.0.0",
"randomfill": "^1.0.3"
}
},
"crypto-random-string": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
"integrity": "sha1-7yp6lm7BEIM4g2m6oC6+rSKbMNU=",
"dev": true
},
"css": {
"version": "2.2.4",
"resolved": "https://npm.quanziapp.com/css/-/css-2.2.4.tgz",
"integrity": "sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk=",
"dev": true,
"requires": {
"inherits": "^2.0.3",
"source-map": "^0.6.1",
"source-map-resolve": "^0.5.2",
"urix": "^0.1.0"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
}
}
},
"css-color-names": {
"version": "0.0.4",
"resolved": "https://npm.quanziapp.com/css-color-names/-/css-color-names-0.0.4.tgz",
"integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
"dev": true
},
"css-declaration-sorter": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz",
"integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=",
"dev": true,
"requires": {
"postcss": "^7.0.1",
"timsort": "^0.3.0"
}
},
"css-loader": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/css-loader/-/css-loader-2.1.1.tgz",
"integrity": "sha1-2CVPcuQSuyI4u0TdZ0/770lzM+o=",
"dev": true,
"requires": {
"camelcase": "^5.2.0",
"icss-utils": "^4.1.0",
"loader-utils": "^1.2.3",
"normalize-path": "^3.0.0",
"postcss": "^7.0.14",
"postcss-modules-extract-imports": "^2.0.0",
"postcss-modules-local-by-default": "^2.0.6",
"postcss-modules-scope": "^2.1.0",
"postcss-modules-values": "^2.0.0",
"postcss-value-parser": "^3.3.0",
"schema-utils": "^1.0.0"
},
"dependencies": {
"camelcase": {
"version": "5.3.1",
"resolved": "https://npm.quanziapp.com/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
"dev": true
},
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
},
"schema-utils": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
"dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
}
}
},
"css-parse": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/css-parse/-/css-parse-2.0.0.tgz",
"integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=",
"dev": true,
"requires": {
"css": "^2.0.0"
}
},
"css-select": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/css-select/-/css-select-2.1.0.tgz",
"integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=",
"dev": true,
"requires": {
"boolbase": "^1.0.0",
"css-what": "^3.2.1",
"domutils": "^1.7.0",
"nth-check": "^1.0.2"
}
},
"css-select-base-adapter": {
"version": "0.1.1",
"resolved": "https://npm.quanziapp.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
"integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=",
"dev": true
},
"css-tree": {
"version": "1.0.0-alpha.37",
"resolved": "https://npm.quanziapp.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
"integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=",
"dev": true,
"requires": {
"mdn-data": "2.0.4",
"source-map": "^0.6.1"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
}
}
},
"css-what": {
"version": "3.4.2",
"resolved": "https://npm.quanziapp.com/css-what/-/css-what-3.4.2.tgz",
"integrity": "sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ=",
"dev": true
},
"cssesc": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/cssesc/-/cssesc-3.0.0.tgz",
"integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=",
"dev": true
},
"cssnano": {
"version": "4.1.10",
"resolved": "https://npm.quanziapp.com/cssnano/-/cssnano-4.1.10.tgz",
"integrity": "sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=",
"dev": true,
"requires": {
"cosmiconfig": "^5.0.0",
"cssnano-preset-default": "^4.0.7",
"is-resolvable": "^1.0.0",
"postcss": "^7.0.0"
}
},
"cssnano-preset-default": {
"version": "4.0.7",
"resolved": "https://npm.quanziapp.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz",
"integrity": "sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y=",
"dev": true,
"requires": {
"css-declaration-sorter": "^4.0.1",
"cssnano-util-raw-cache": "^4.0.1",
"postcss": "^7.0.0",
"postcss-calc": "^7.0.1",
"postcss-colormin": "^4.0.3",
"postcss-convert-values": "^4.0.1",
"postcss-discard-comments": "^4.0.2",
"postcss-discard-duplicates": "^4.0.2",
"postcss-discard-empty": "^4.0.1",
"postcss-discard-overridden": "^4.0.1",
"postcss-merge-longhand": "^4.0.11",
"postcss-merge-rules": "^4.0.3",
"postcss-minify-font-values": "^4.0.2",
"postcss-minify-gradients": "^4.0.2",
"postcss-minify-params": "^4.0.2",
"postcss-minify-selectors": "^4.0.2",
"postcss-normalize-charset": "^4.0.1",
"postcss-normalize-display-values": "^4.0.2",
"postcss-normalize-positions": "^4.0.2",
"postcss-normalize-repeat-style": "^4.0.2",
"postcss-normalize-string": "^4.0.2",
"postcss-normalize-timing-functions": "^4.0.2",
"postcss-normalize-unicode": "^4.0.1",
"postcss-normalize-url": "^4.0.1",
"postcss-normalize-whitespace": "^4.0.2",
"postcss-ordered-values": "^4.1.2",
"postcss-reduce-initial": "^4.0.3",
"postcss-reduce-transforms": "^4.0.2",
"postcss-svgo": "^4.0.2",
"postcss-unique-selectors": "^4.0.1"
}
},
"cssnano-util-get-arguments": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
"integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
"dev": true
},
"cssnano-util-get-match": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
"integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
"dev": true
},
"cssnano-util-raw-cache": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
"integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=",
"dev": true,
"requires": {
"postcss": "^7.0.0"
}
},
"cssnano-util-same-parent": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
"integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=",
"dev": true
},
"csso": {
"version": "4.2.0",
"resolved": "https://npm.quanziapp.com/csso/-/csso-4.2.0.tgz",
"integrity": "sha1-6jpWE0bo3J9UbW/r7dUBh884lSk=",
"dev": true,
"requires": {
"css-tree": "^1.1.2"
},
"dependencies": {
"css-tree": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/css-tree/-/css-tree-1.1.2.tgz",
"integrity": "sha1-muOTtdr9fa6KYiR1yux409j717U=",
"dev": true,
"requires": {
"mdn-data": "2.0.14",
"source-map": "^0.6.1"
}
},
"mdn-data": {
"version": "2.0.14",
"resolved": "https://npm.quanziapp.com/mdn-data/-/mdn-data-2.0.14.tgz",
"integrity": "sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA=",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
}
}
},
"cyclist": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/cyclist/-/cyclist-1.0.1.tgz",
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
"dev": true
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://npm.quanziapp.com/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
},
"de-indent": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/de-indent/-/de-indent-1.0.2.tgz",
"integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
"dev": true
},
"debug": {
"version": "4.3.1",
"resolved": "https://npm.quanziapp.com/debug/-/debug-4.3.1.tgz",
"integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=",
"dev": true,
"requires": {
"ms": "2.1.2"
}
},
"decamelize": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://npm.quanziapp.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
"decompress-response": {
"version": "3.3.0",
"resolved": "https://npm.quanziapp.com/decompress-response/-/decompress-response-3.3.0.tgz",
"integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
"dev": true,
"requires": {
"mimic-response": "^1.0.0"
}
},
"deep-equal": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/deep-equal/-/deep-equal-1.1.1.tgz",
"integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=",
"dev": true,
"requires": {
"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"
}
},
"deep-extend": {
"version": "0.6.0",
"resolved": "https://npm.quanziapp.com/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw=",
"dev": true
},
"deepmerge": {
"version": "1.5.2",
"resolved": "https://npm.quanziapp.com/deepmerge/-/deepmerge-1.5.2.tgz",
"integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=",
"dev": true
},
"default-gateway": {
"version": "4.2.0",
"resolved": "https://npm.quanziapp.com/default-gateway/-/default-gateway-4.2.0.tgz",
"integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=",
"dev": true,
"requires": {
"execa": "^1.0.0",
"ip-regex": "^2.1.0"
}
},
"defer-to-connect": {
"version": "1.1.3",
"resolved": "https://npm.quanziapp.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
"integrity": "sha1-MxrgUMCNz3ifjIOnuB8O2U9KxZE=",
"dev": true
},
"define-properties": {
"version": "1.1.3",
"resolved": "https://npm.quanziapp.com/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=",
"dev": true,
"requires": {
"object-keys": "^1.0.12"
}
},
"define-property": {
"version": "2.0.2",
"resolved": "https://npm.quanziapp.com/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=",
"dev": true,
"requires": {
"is-descriptor": "^1.0.2",
"isobject": "^3.0.1"
},
"dependencies": {
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"del": {
"version": "4.1.1",
"resolved": "https://npm.quanziapp.com/del/-/del-4.1.1.tgz",
"integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=",
"dev": true,
"requires": {
"@types/glob": "^7.1.1",
"globby": "^6.1.0",
"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"
},
"dependencies": {
"globby": {
"version": "6.1.0",
"resolved": "https://npm.quanziapp.com/globby/-/globby-6.1.0.tgz",
"integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
"dev": true,
"requires": {
"array-union": "^1.0.1",
"glob": "^7.0.3",
"object-assign": "^4.0.1",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0"
},
"dependencies": {
"pify": {
"version": "2.3.0",
"resolved": "https://npm.quanziapp.com/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
}
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
"delegate": {
"version": "3.2.0",
"resolved": "https://npm.quanziapp.com/delegate/-/delegate-3.2.0.tgz",
"integrity": "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY=",
"dev": true,
"optional": true
},
"depd": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
},
"des.js": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/des.js/-/des.js-1.0.1.tgz",
"integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=",
"dev": true,
"requires": {
"inherits": "^2.0.1",
"minimalistic-assert": "^1.0.0"
}
},
"destroy": {
"version": "1.0.4",
"resolved": "https://npm.quanziapp.com/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
},
"detect-node": {
"version": "2.0.4",
"resolved": "https://npm.quanziapp.com/detect-node/-/detect-node-2.0.4.tgz",
"integrity": "sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=",
"dev": true
},
"diffie-hellman": {
"version": "5.0.3",
"resolved": "https://npm.quanziapp.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
"integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=",
"dev": true,
"requires": {
"bn.js": "^4.1.0",
"miller-rabin": "^4.0.0",
"randombytes": "^2.0.0"
},
"dependencies": {
"bn.js": {
"version": "4.11.9",
"resolved": "https://npm.quanziapp.com/bn.js/-/bn.js-4.11.9.tgz",
"integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
"dev": true
}
}
},
"dir-glob": {
"version": "2.2.2",
"resolved": "https://npm.quanziapp.com/dir-glob/-/dir-glob-2.2.2.tgz",
"integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=",
"dev": true,
"requires": {
"path-type": "^3.0.0"
}
},
"dns-equal": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/dns-equal/-/dns-equal-1.0.0.tgz",
"integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
"dev": true
},
"dns-packet": {
"version": "1.3.1",
"resolved": "https://npm.quanziapp.com/dns-packet/-/dns-packet-1.3.1.tgz",
"integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=",
"dev": true,
"requires": {
"ip": "^1.1.0",
"safe-buffer": "^5.0.1"
}
},
"dns-txt": {
"version": "2.0.2",
"resolved": "https://npm.quanziapp.com/dns-txt/-/dns-txt-2.0.2.tgz",
"integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
"dev": true,
"requires": {
"buffer-indexof": "^1.0.0"
}
},
"docsearch.js": {
"version": "2.6.3",
"resolved": "https://npm.quanziapp.com/docsearch.js/-/docsearch.js-2.6.3.tgz",
"integrity": "sha1-V8tGANO2VTxnfny75qc0WT44Yl0=",
"dev": true,
"requires": {
"algoliasearch": "^3.24.5",
"autocomplete.js": "0.36.0",
"hogan.js": "^3.0.2",
"request": "^2.87.0",
"stack-utils": "^1.0.1",
"to-factory": "^1.0.0",
"zepto": "^1.2.0"
}
},
"dom-converter": {
"version": "0.2.0",
"resolved": "https://npm.quanziapp.com/dom-converter/-/dom-converter-0.2.0.tgz",
"integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=",
"dev": true,
"requires": {
"utila": "~0.4"
}
},
"dom-serializer": {
"version": "0.2.2",
"resolved": "https://npm.quanziapp.com/dom-serializer/-/dom-serializer-0.2.2.tgz",
"integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=",
"dev": true,
"requires": {
"domelementtype": "^2.0.1",
"entities": "^2.0.0"
},
"dependencies": {
"domelementtype": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/domelementtype/-/domelementtype-2.1.0.tgz",
"integrity": "sha1-qFHAgKbRw9lDRK7RUdmfZp7fWF4=",
"dev": true
},
"entities": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/entities/-/entities-2.1.0.tgz",
"integrity": "sha1-mS0xKc999ocLlsV4WMJJoSD4uLU=",
"dev": true
}
}
},
"dom-walk": {
"version": "0.1.2",
"resolved": "https://npm.quanziapp.com/dom-walk/-/dom-walk-0.1.2.tgz",
"integrity": "sha1-DFSL7wSPTR8qlySQAiNgYNqj/YQ=",
"dev": true
},
"domain-browser": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/domain-browser/-/domain-browser-1.2.0.tgz",
"integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=",
"dev": true
},
"domelementtype": {
"version": "1.3.1",
"resolved": "https://npm.quanziapp.com/domelementtype/-/domelementtype-1.3.1.tgz",
"integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=",
"dev": true
},
"domhandler": {
"version": "2.4.2",
"resolved": "https://npm.quanziapp.com/domhandler/-/domhandler-2.4.2.tgz",
"integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=",
"dev": true,
"requires": {
"domelementtype": "1"
}
},
"domutils": {
"version": "1.7.0",
"resolved": "https://npm.quanziapp.com/domutils/-/domutils-1.7.0.tgz",
"integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=",
"dev": true,
"requires": {
"dom-serializer": "0",
"domelementtype": "1"
}
},
"dot-prop": {
"version": "5.3.0",
"resolved": "https://npm.quanziapp.com/dot-prop/-/dot-prop-5.3.0.tgz",
"integrity": "sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog=",
"dev": true,
"requires": {
"is-obj": "^2.0.0"
}
},
"duplexer3": {
"version": "0.1.4",
"resolved": "https://npm.quanziapp.com/duplexer3/-/duplexer3-0.1.4.tgz",
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
"dev": true
},
"duplexify": {
"version": "3.7.1",
"resolved": "https://npm.quanziapp.com/duplexify/-/duplexify-3.7.1.tgz",
"integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=",
"dev": true,
"requires": {
"end-of-stream": "^1.0.0",
"inherits": "^2.0.1",
"readable-stream": "^2.0.0",
"stream-shift": "^1.0.0"
}
},
"ecc-jsbn": {
"version": "0.1.2",
"resolved": "https://npm.quanziapp.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dev": true,
"requires": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
}
},
"ee-first": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"dev": true
},
"electron-to-chromium": {
"version": "1.3.621",
"resolved": "https://npm.quanziapp.com/electron-to-chromium/-/electron-to-chromium-1.3.621.tgz",
"integrity": "sha1-C74hAO8LKPiNCxEB+99DMxL2m+A=",
"dev": true
},
"elliptic": {
"version": "6.5.3",
"resolved": "https://npm.quanziapp.com/elliptic/-/elliptic-6.5.3.tgz",
"integrity": "sha1-y1nrLv2vc6C9eMzXAVpirW4Pk9Y=",
"dev": true,
"requires": {
"bn.js": "^4.4.0",
"brorand": "^1.0.1",
"hash.js": "^1.0.0",
"hmac-drbg": "^1.0.0",
"inherits": "^2.0.1",
"minimalistic-assert": "^1.0.0",
"minimalistic-crypto-utils": "^1.0.0"
},
"dependencies": {
"bn.js": {
"version": "4.11.9",
"resolved": "https://npm.quanziapp.com/bn.js/-/bn.js-4.11.9.tgz",
"integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
"dev": true
}
}
},
"emoji-regex": {
"version": "7.0.3",
"resolved": "https://npm.quanziapp.com/emoji-regex/-/emoji-regex-7.0.3.tgz",
"integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
"dev": true
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=",
"dev": true
},
"encodeurl": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"dev": true
},
"end-of-stream": {
"version": "1.4.4",
"resolved": "https://npm.quanziapp.com/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=",
"dev": true,
"requires": {
"once": "^1.4.0"
}
},
"enhanced-resolve": {
"version": "4.3.0",
"resolved": "https://npm.quanziapp.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz",
"integrity": "sha1-O4BvO/r8HsfeaVUe+TzKRsFwQSY=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"memory-fs": "^0.5.0",
"tapable": "^1.0.0"
},
"dependencies": {
"memory-fs": {
"version": "0.5.0",
"resolved": "https://npm.quanziapp.com/memory-fs/-/memory-fs-0.5.0.tgz",
"integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=",
"dev": true,
"requires": {
"errno": "^0.1.3",
"readable-stream": "^2.0.1"
}
}
}
},
"entities": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/entities/-/entities-1.1.2.tgz",
"integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=",
"dev": true
},
"envify": {
"version": "4.1.0",
"resolved": "https://npm.quanziapp.com/envify/-/envify-4.1.0.tgz",
"integrity": "sha1-85rT251oAbTmtHi2ECjT8LaBn34=",
"dev": true,
"requires": {
"esprima": "^4.0.0",
"through": "~2.3.4"
}
},
"envinfo": {
"version": "7.7.3",
"resolved": "https://npm.quanziapp.com/envinfo/-/envinfo-7.7.3.tgz",
"integrity": "sha1-Sy2GIuPnNmr7gJGyPtlVaeoCCMw=",
"dev": true
},
"errno": {
"version": "0.1.7",
"resolved": "https://npm.quanziapp.com/errno/-/errno-0.1.7.tgz",
"integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=",
"dev": true,
"requires": {
"prr": "~1.0.1"
}
},
"error-ex": {
"version": "1.3.2",
"resolved": "https://npm.quanziapp.com/error-ex/-/error-ex-1.3.2.tgz",
"integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=",
"dev": true,
"requires": {
"is-arrayish": "^0.2.1"
}
},
"es-abstract": {
"version": "1.18.0-next.1",
"resolved": "https://npm.quanziapp.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
"integrity": "sha1-bjoKS9pxflAjqzuOkL7DYQjSLGg=",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
"is-callable": "^1.2.2",
"is-negative-zero": "^2.0.0",
"is-regex": "^1.1.1",
"object-inspect": "^1.8.0",
"object-keys": "^1.1.1",
"object.assign": "^4.1.1",
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
}
},
"es-to-primitive": {
"version": "1.2.1",
"resolved": "https://npm.quanziapp.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
"integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=",
"dev": true,
"requires": {
"is-callable": "^1.1.4",
"is-date-object": "^1.0.1",
"is-symbol": "^1.0.2"
}
},
"es6-promise": {
"version": "4.2.8",
"resolved": "https://npm.quanziapp.com/es6-promise/-/es6-promise-4.2.8.tgz",
"integrity": "sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo=",
"dev": true
},
"escalade": {
"version": "3.1.1",
"resolved": "https://npm.quanziapp.com/escalade/-/escalade-3.1.1.tgz",
"integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=",
"dev": true
},
"escape-goat": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/escape-goat/-/escape-goat-2.1.1.tgz",
"integrity": "sha1-Gy3HcANnbEV+x2Cy3GjttkgYhnU=",
"dev": true
},
"escape-html": {
"version": "1.0.3",
"resolved": "https://npm.quanziapp.com/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
"dev": true
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://npm.quanziapp.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"eslint-scope": {
"version": "4.0.3",
"resolved": "https://npm.quanziapp.com/eslint-scope/-/eslint-scope-4.0.3.tgz",
"integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=",
"dev": true,
"requires": {
"esrecurse": "^4.1.0",
"estraverse": "^4.1.1"
}
},
"esprima": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=",
"dev": true
},
"esrecurse": {
"version": "4.3.0",
"resolved": "https://npm.quanziapp.com/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=",
"dev": true,
"requires": {
"estraverse": "^5.2.0"
},
"dependencies": {
"estraverse": {
"version": "5.2.0",
"resolved": "https://npm.quanziapp.com/estraverse/-/estraverse-5.2.0.tgz",
"integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=",
"dev": true
}
}
},
"estraverse": {
"version": "4.3.0",
"resolved": "https://npm.quanziapp.com/estraverse/-/estraverse-4.3.0.tgz",
"integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=",
"dev": true
},
"esutils": {
"version": "2.0.3",
"resolved": "https://npm.quanziapp.com/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=",
"dev": true
},
"etag": {
"version": "1.8.1",
"resolved": "https://npm.quanziapp.com/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true
},
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://npm.quanziapp.com/eventemitter3/-/eventemitter3-4.0.7.tgz",
"integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=",
"dev": true
},
"events": {
"version": "3.2.0",
"resolved": "https://npm.quanziapp.com/events/-/events-3.2.0.tgz",
"integrity": "sha1-k7h8GPjvzUICpGGuxN/AVWtjk3k=",
"dev": true
},
"eventsource": {
"version": "1.0.7",
"resolved": "https://npm.quanziapp.com/eventsource/-/eventsource-1.0.7.tgz",
"integrity": "sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA=",
"dev": true,
"requires": {
"original": "^1.0.0"
}
},
"evp_bytestokey": {
"version": "1.0.3",
"resolved": "https://npm.quanziapp.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
"integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
"dev": true,
"requires": {
"md5.js": "^1.3.4",
"safe-buffer": "^5.1.1"
}
},
"execa": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/execa/-/execa-1.0.0.tgz",
"integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=",
"dev": true,
"requires": {
"cross-spawn": "^6.0.0",
"get-stream": "^4.0.0",
"is-stream": "^1.1.0",
"npm-run-path": "^2.0.0",
"p-finally": "^1.0.0",
"signal-exit": "^3.0.0",
"strip-eof": "^1.0.0"
}
},
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://npm.quanziapp.com/expand-brackets/-/expand-brackets-2.1.4.tgz",
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"dev": true,
"requires": {
"debug": "^2.3.3",
"define-property": "^0.2.5",
"extend-shallow": "^2.0.1",
"posix-character-classes": "^0.1.0",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.1"
},
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://npm.quanziapp.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"define-property": {
"version": "0.2.5",
"resolved": "https://npm.quanziapp.com/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
}
}
},
"express": {
"version": "4.17.1",
"resolved": "https://npm.quanziapp.com/express/-/express-4.17.1.tgz",
"integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=",
"dev": true,
"requires": {
"accepts": "~1.3.7",
"array-flatten": "1.1.1",
"body-parser": "1.19.0",
"content-disposition": "0.5.3",
"content-type": "~1.0.4",
"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.2",
"fresh": "0.5.2",
"merge-descriptors": "1.0.1",
"methods": "~1.1.2",
"on-finished": "~2.3.0",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
"proxy-addr": "~2.0.5",
"qs": "6.7.0",
"range-parser": "~1.2.1",
"safe-buffer": "5.1.2",
"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"
},
"dependencies": {
"array-flatten": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
"dev": true
},
"debug": {
"version": "2.6.9",
"resolved": "https://npm.quanziapp.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
}
}
},
"extend": {
"version": "3.0.2",
"resolved": "https://npm.quanziapp.com/extend/-/extend-3.0.2.tgz",
"integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=",
"dev": true
},
"extend-shallow": {
"version": "3.0.2",
"resolved": "https://npm.quanziapp.com/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"dev": true,
"requires": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
},
"dependencies": {
"is-extendable": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
"dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
}
}
},
"extglob": {
"version": "2.0.4",
"resolved": "https://npm.quanziapp.com/extglob/-/extglob-2.0.4.tgz",
"integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
"dev": true,
"requires": {
"array-unique": "^0.3.2",
"define-property": "^1.0.0",
"expand-brackets": "^2.1.4",
"extend-shallow": "^2.0.1",
"fragment-cache": "^0.2.1",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"extsprintf": {
"version": "1.3.0",
"resolved": "https://npm.quanziapp.com/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://npm.quanziapp.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
"dev": true
},
"fast-glob": {
"version": "2.2.7",
"resolved": "https://npm.quanziapp.com/fast-glob/-/fast-glob-2.2.7.tgz",
"integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=",
"dev": true,
"requires": {
"@mrmlnc/readdir-enhanced": "^2.2.1",
"@nodelib/fs.stat": "^1.1.2",
"glob-parent": "^3.1.0",
"is-glob": "^4.0.0",
"merge2": "^1.2.3",
"micromatch": "^3.1.10"
}
},
"fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=",
"dev": true
},
"faye-websocket": {
"version": "0.10.0",
"resolved": "https://npm.quanziapp.com/faye-websocket/-/faye-websocket-0.10.0.tgz",
"integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
"dev": true,
"requires": {
"websocket-driver": ">=0.5.1"
}
},
"figgy-pudding": {
"version": "3.5.2",
"resolved": "https://npm.quanziapp.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
"integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=",
"dev": true
},
"figures": {
"version": "3.2.0",
"resolved": "https://npm.quanziapp.com/figures/-/figures-3.2.0.tgz",
"integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=",
"dev": true,
"requires": {
"escape-string-regexp": "^1.0.5"
}
},
"file-loader": {
"version": "3.0.1",
"resolved": "https://npm.quanziapp.com/file-loader/-/file-loader-3.0.1.tgz",
"integrity": "sha1-+OC6C1mZGLUa3+RdZtHnca1WD6o=",
"dev": true,
"requires": {
"loader-utils": "^1.0.2",
"schema-utils": "^1.0.0"
},
"dependencies": {
"schema-utils": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
"dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
}
}
},
"file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
"integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=",
"dev": true,
"optional": true
},
"fill-range": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/fill-range/-/fill-range-4.0.0.tgz",
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-number": "^3.0.0",
"repeat-string": "^1.6.1",
"to-regex-range": "^2.1.0"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"finalhandler": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/finalhandler/-/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.3",
"statuses": "~1.5.0",
"unpipe": "~1.0.0"
},
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://npm.quanziapp.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
}
}
},
"find-cache-dir": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
"integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=",
"dev": true,
"requires": {
"commondir": "^1.0.1",
"make-dir": "^3.0.2",
"pkg-dir": "^4.1.0"
}
},
"find-up": {
"version": "4.1.0",
"resolved": "https://npm.quanziapp.com/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=",
"dev": true,
"requires": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
}
},
"flush-write-stream": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/flush-write-stream/-/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.13.0",
"resolved": "https://npm.quanziapp.com/follow-redirects/-/follow-redirects-1.13.0.tgz",
"integrity": "sha1-tC6Nk6Kn7qXtiGM2dtZZe8jjhNs=",
"dev": true
},
"for-in": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/for-in/-/for-in-1.0.2.tgz",
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
"foreach": {
"version": "2.0.5",
"resolved": "https://npm.quanziapp.com/foreach/-/foreach-2.0.5.tgz",
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
"dev": true
},
"forever-agent": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true
},
"form-data": {
"version": "2.3.3",
"resolved": "https://npm.quanziapp.com/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
"mime-types": "^2.1.12"
}
},
"forwarded": {
"version": "0.1.2",
"resolved": "https://npm.quanziapp.com/forwarded/-/forwarded-0.1.2.tgz",
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
"dev": true
},
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://npm.quanziapp.com/fragment-cache/-/fragment-cache-0.2.1.tgz",
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
"dev": true,
"requires": {
"map-cache": "^0.2.2"
}
},
"fresh": {
"version": "0.5.2",
"resolved": "https://npm.quanziapp.com/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"dev": true
},
"from2": {
"version": "2.3.0",
"resolved": "https://npm.quanziapp.com/from2/-/from2-2.3.0.tgz",
"integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
"dev": true,
"requires": {
"inherits": "^2.0.1",
"readable-stream": "^2.0.0"
}
},
"fs-extra": {
"version": "7.0.1",
"resolved": "https://npm.quanziapp.com/fs-extra/-/fs-extra-7.0.1.tgz",
"integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
},
"fs-write-stream-atomic": {
"version": "1.0.10",
"resolved": "https://npm.quanziapp.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
"integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"iferr": "^0.1.5",
"imurmurhash": "^0.1.4",
"readable-stream": "1 || 2"
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"fsevents": {
"version": "1.2.13",
"resolved": "https://npm.quanziapp.com/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=",
"dev": true,
"optional": true,
"requires": {
"bindings": "^1.5.0",
"nan": "^2.12.1"
}
},
"function-bind": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
"dev": true
},
"gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://npm.quanziapp.com/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=",
"dev": true
},
"get-caller-file": {
"version": "2.0.5",
"resolved": "https://npm.quanziapp.com/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=",
"dev": true
},
"get-intrinsic": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/get-intrinsic/-/get-intrinsic-1.0.1.tgz",
"integrity": "sha1-lKl2j8vdBZWhySc6rPTInQdWMb4=",
"dev": true,
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1"
}
},
"get-stream": {
"version": "4.1.0",
"resolved": "https://npm.quanziapp.com/get-stream/-/get-stream-4.1.0.tgz",
"integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=",
"dev": true,
"requires": {
"pump": "^3.0.0"
}
},
"get-value": {
"version": "2.0.6",
"resolved": "https://npm.quanziapp.com/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
"getpass": {
"version": "0.1.7",
"resolved": "https://npm.quanziapp.com/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
},
"glob": {
"version": "7.1.6",
"resolved": "https://npm.quanziapp.com/glob/-/glob-7.1.6.tgz",
"integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"glob-parent": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/glob-parent/-/glob-parent-3.1.0.tgz",
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
"requires": {
"is-glob": "^3.1.0",
"path-dirname": "^1.0.0"
},
"dependencies": {
"is-glob": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
"is-extglob": "^2.1.0"
}
}
}
},
"glob-to-regexp": {
"version": "0.3.0",
"resolved": "https://npm.quanziapp.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
"integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
"dev": true
},
"global": {
"version": "4.4.0",
"resolved": "https://npm.quanziapp.com/global/-/global-4.4.0.tgz",
"integrity": "sha1-PnsQUXkAajI+1xqvyj6cV6XMZAY=",
"dev": true,
"requires": {
"min-document": "^2.19.0",
"process": "^0.11.10"
}
},
"global-dirs": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/global-dirs/-/global-dirs-2.0.1.tgz",
"integrity": "sha1-rN87tmhbzVXLNeigUiZlaelGkgE=",
"dev": true,
"requires": {
"ini": "^1.3.5"
}
},
"globals": {
"version": "11.12.0",
"resolved": "https://npm.quanziapp.com/globals/-/globals-11.12.0.tgz",
"integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=",
"dev": true
},
"globby": {
"version": "9.2.0",
"resolved": "https://npm.quanziapp.com/globby/-/globby-9.2.0.tgz",
"integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=",
"dev": true,
"requires": {
"@types/glob": "^7.1.1",
"array-union": "^1.0.2",
"dir-glob": "^2.2.2",
"fast-glob": "^2.2.6",
"glob": "^7.1.3",
"ignore": "^4.0.3",
"pify": "^4.0.1",
"slash": "^2.0.0"
}
},
"good-listener": {
"version": "1.2.2",
"resolved": "https://npm.quanziapp.com/good-listener/-/good-listener-1.2.2.tgz",
"integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
"dev": true,
"optional": true,
"requires": {
"delegate": "^3.1.2"
}
},
"got": {
"version": "9.6.0",
"resolved": "https://npm.quanziapp.com/got/-/got-9.6.0.tgz",
"integrity": "sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU=",
"dev": true,
"requires": {
"@sindresorhus/is": "^0.14.0",
"@szmarczak/http-timer": "^1.1.2",
"cacheable-request": "^6.0.0",
"decompress-response": "^3.3.0",
"duplexer3": "^0.1.4",
"get-stream": "^4.1.0",
"lowercase-keys": "^1.0.1",
"mimic-response": "^1.0.1",
"p-cancelable": "^1.0.0",
"to-readable-stream": "^1.0.0",
"url-parse-lax": "^3.0.0"
}
},
"graceful-fs": {
"version": "4.2.4",
"resolved": "https://npm.quanziapp.com/graceful-fs/-/graceful-fs-4.2.4.tgz",
"integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs=",
"dev": true
},
"gray-matter": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/gray-matter/-/gray-matter-4.0.2.tgz",
"integrity": "sha1-mqN546yvQhGT/OfSoozr1FGKxFQ=",
"dev": true,
"requires": {
"js-yaml": "^3.11.0",
"kind-of": "^6.0.2",
"section-matter": "^1.0.0",
"strip-bom-string": "^1.0.0"
}
},
"handle-thing": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/handle-thing/-/handle-thing-2.0.1.tgz",
"integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=",
"dev": true
},
"har-schema": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
"dev": true
},
"har-validator": {
"version": "5.1.5",
"resolved": "https://npm.quanziapp.com/har-validator/-/har-validator-5.1.5.tgz",
"integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=",
"dev": true,
"requires": {
"ajv": "^6.12.3",
"har-schema": "^2.0.0"
}
},
"has": {
"version": "1.0.3",
"resolved": "https://npm.quanziapp.com/has/-/has-1.0.3.tgz",
"integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
"dev": true,
"requires": {
"function-bind": "^1.1.1"
}
},
"has-ansi": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
}
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"has-symbols": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/has-symbols/-/has-symbols-1.0.1.tgz",
"integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=",
"dev": true
},
"has-value": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/has-value/-/has-value-1.0.0.tgz",
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
"dev": true,
"requires": {
"get-value": "^2.0.6",
"has-values": "^1.0.0",
"isobject": "^3.0.0"
}
},
"has-values": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/has-values/-/has-values-1.0.0.tgz",
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
"dev": true,
"requires": {
"is-number": "^3.0.0",
"kind-of": "^4.0.0"
},
"dependencies": {
"kind-of": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"has-yarn": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/has-yarn/-/has-yarn-2.1.0.tgz",
"integrity": "sha1-E34RNUp7W/EapctknPDG8/8rLnc=",
"dev": true
},
"hash-base": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/hash-base/-/hash-base-3.1.0.tgz",
"integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=",
"dev": true,
"requires": {
"inherits": "^2.0.4",
"readable-stream": "^3.6.0",
"safe-buffer": "^5.2.0"
},
"dependencies": {
"readable-stream": {
"version": "3.6.0",
"resolved": "https://npm.quanziapp.com/readable-stream/-/readable-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"
}
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://npm.quanziapp.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=",
"dev": true
}
}
},
"hash-sum": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/hash-sum/-/hash-sum-1.0.2.tgz",
"integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
"dev": true
},
"hash.js": {
"version": "1.1.7",
"resolved": "https://npm.quanziapp.com/hash.js/-/hash.js-1.1.7.tgz",
"integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=",
"dev": true,
"requires": {
"inherits": "^2.0.3",
"minimalistic-assert": "^1.0.1"
}
},
"he": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/he/-/he-1.2.0.tgz",
"integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=",
"dev": true
},
"hex-color-regex": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
"integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=",
"dev": true
},
"hmac-drbg": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
"dev": true,
"requires": {
"hash.js": "^1.0.3",
"minimalistic-assert": "^1.0.0",
"minimalistic-crypto-utils": "^1.0.1"
}
},
"hogan.js": {
"version": "3.0.2",
"resolved": "https://npm.quanziapp.com/hogan.js/-/hogan.js-3.0.2.tgz",
"integrity": "sha1-TNnhq9QpQUbnZ55B14mHMrAse/0=",
"dev": true,
"requires": {
"mkdirp": "0.3.0",
"nopt": "1.0.10"
},
"dependencies": {
"mkdirp": {
"version": "0.3.0",
"resolved": "https://npm.quanziapp.com/mkdirp/-/mkdirp-0.3.0.tgz",
"integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=",
"dev": true
}
}
},
"hpack.js": {
"version": "2.1.6",
"resolved": "https://npm.quanziapp.com/hpack.js/-/hpack.js-2.1.6.tgz",
"integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
"dev": true,
"requires": {
"inherits": "^2.0.1",
"obuf": "^1.0.0",
"readable-stream": "^2.0.1",
"wbuf": "^1.1.0"
}
},
"hsl-regex": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/hsl-regex/-/hsl-regex-1.0.0.tgz",
"integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
"dev": true
},
"hsla-regex": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/hsla-regex/-/hsla-regex-1.0.0.tgz",
"integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
"dev": true
},
"html-comment-regex": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
"integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=",
"dev": true
},
"html-entities": {
"version": "1.3.1",
"resolved": "https://npm.quanziapp.com/html-entities/-/html-entities-1.3.1.tgz",
"integrity": "sha1-+5oaS1sUxdq6gtPjTGrk/nAaDkQ=",
"dev": true
},
"html-minifier": {
"version": "3.5.21",
"resolved": "https://npm.quanziapp.com/html-minifier/-/html-minifier-3.5.21.tgz",
"integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=",
"dev": true,
"requires": {
"camel-case": "3.0.x",
"clean-css": "4.2.x",
"commander": "2.17.x",
"he": "1.2.x",
"param-case": "2.1.x",
"relateurl": "0.2.x",
"uglify-js": "3.4.x"
}
},
"html-tags": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/html-tags/-/html-tags-3.1.0.tgz",
"integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=",
"dev": true
},
"htmlparser2": {
"version": "3.10.1",
"resolved": "https://npm.quanziapp.com/htmlparser2/-/htmlparser2-3.10.1.tgz",
"integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=",
"dev": true,
"requires": {
"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": {
"readable-stream": {
"version": "3.6.0",
"resolved": "https://npm.quanziapp.com/readable-stream/-/readable-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"
}
}
}
},
"http-cache-semantics": {
"version": "4.1.0",
"resolved": "https://npm.quanziapp.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
"integrity": "sha1-SekcXL82yblLz81xwj1SSex045A=",
"dev": true
},
"http-deceiver": {
"version": "1.2.7",
"resolved": "https://npm.quanziapp.com/http-deceiver/-/http-deceiver-1.2.7.tgz",
"integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
"dev": true
},
"http-errors": {
"version": "1.7.2",
"resolved": "https://npm.quanziapp.com/http-errors/-/http-errors-1.7.2.tgz",
"integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=",
"dev": true,
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.3",
"setprototypeof": "1.1.1",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0"
},
"dependencies": {
"inherits": {
"version": "2.0.3",
"resolved": "https://npm.quanziapp.com/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
}
}
},
"http-proxy": {
"version": "1.18.1",
"resolved": "https://npm.quanziapp.com/http-proxy/-/http-proxy-1.18.1.tgz",
"integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=",
"dev": true,
"requires": {
"eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0",
"requires-port": "^1.0.0"
}
},
"http-proxy-middleware": {
"version": "0.19.1",
"resolved": "https://npm.quanziapp.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
"integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=",
"dev": true,
"requires": {
"http-proxy": "^1.17.0",
"is-glob": "^4.0.0",
"lodash": "^4.17.11",
"micromatch": "^3.1.10"
}
},
"http-signature": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
}
},
"https-browserify": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/https-browserify/-/https-browserify-1.0.0.tgz",
"integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
"dev": true
},
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://npm.quanziapp.com/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=",
"dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"icss-replace-symbols": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
"integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
"dev": true
},
"icss-utils": {
"version": "4.1.1",
"resolved": "https://npm.quanziapp.com/icss-utils/-/icss-utils-4.1.1.tgz",
"integrity": "sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc=",
"dev": true,
"requires": {
"postcss": "^7.0.14"
}
},
"ieee754": {
"version": "1.2.1",
"resolved": "https://npm.quanziapp.com/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=",
"dev": true
},
"iferr": {
"version": "0.1.5",
"resolved": "https://npm.quanziapp.com/iferr/-/iferr-0.1.5.tgz",
"integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
"dev": true
},
"ignore": {
"version": "4.0.6",
"resolved": "https://npm.quanziapp.com/ignore/-/ignore-4.0.6.tgz",
"integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=",
"dev": true
},
"immediate": {
"version": "3.3.0",
"resolved": "https://npm.quanziapp.com/immediate/-/immediate-3.3.0.tgz",
"integrity": "sha1-Gu8iVReDa8338qLeJgDHn/AmkmY=",
"dev": true
},
"import-cwd": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/import-cwd/-/import-cwd-2.1.0.tgz",
"integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
"dev": true,
"requires": {
"import-from": "^2.1.0"
}
},
"import-fresh": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/import-fresh/-/import-fresh-2.0.0.tgz",
"integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
"dev": true,
"requires": {
"caller-path": "^2.0.0",
"resolve-from": "^3.0.0"
}
},
"import-from": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/import-from/-/import-from-2.1.0.tgz",
"integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
"dev": true,
"requires": {
"resolve-from": "^3.0.0"
}
},
"import-lazy": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/import-lazy/-/import-lazy-2.1.0.tgz",
"integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
"dev": true
},
"import-local": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/import-local/-/import-local-2.0.0.tgz",
"integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=",
"dev": true,
"requires": {
"pkg-dir": "^3.0.0",
"resolve-cwd": "^2.0.0"
},
"dependencies": {
"find-up": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/find-up/-/find-up-3.0.0.tgz",
"integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
"dev": true,
"requires": {
"locate-path": "^3.0.0"
}
},
"locate-path": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
"dev": true,
"requires": {
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
}
},
"p-locate": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
"dev": true,
"requires": {
"p-limit": "^2.0.0"
}
},
"path-exists": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true
},
"pkg-dir": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/pkg-dir/-/pkg-dir-3.0.0.tgz",
"integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=",
"dev": true,
"requires": {
"find-up": "^3.0.0"
}
}
}
},
"imurmurhash": {
"version": "0.1.4",
"resolved": "https://npm.quanziapp.com/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true
},
"indexes-of": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/indexes-of/-/indexes-of-1.0.1.tgz",
"integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
"dev": true
},
"infer-owner": {
"version": "1.0.4",
"resolved": "https://npm.quanziapp.com/infer-owner/-/infer-owner-1.0.4.tgz",
"integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=",
"dev": true
},
"inflight": {
"version": "1.0.6",
"resolved": "https://npm.quanziapp.com/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.4",
"resolved": "https://npm.quanziapp.com/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=",
"dev": true
},
"ini": {
"version": "1.3.7",
"resolved": "https://npm.quanziapp.com/ini/-/ini-1.3.7.tgz",
"integrity": "sha1-oJNj4ZEZcuoW16iFEAXYTPCamoQ=",
"dev": true
},
"internal-ip": {
"version": "4.3.0",
"resolved": "https://npm.quanziapp.com/internal-ip/-/internal-ip-4.3.0.tgz",
"integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=",
"dev": true,
"requires": {
"default-gateway": "^4.2.0",
"ipaddr.js": "^1.9.0"
}
},
"ip": {
"version": "1.1.5",
"resolved": "https://npm.quanziapp.com/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
"dev": true
},
"ip-regex": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/ip-regex/-/ip-regex-2.1.0.tgz",
"integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
"dev": true
},
"ipaddr.js": {
"version": "1.9.1",
"resolved": "https://npm.quanziapp.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
"integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=",
"dev": true
},
"is-absolute-url": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
"integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
"dev": true
},
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "https://npm.quanziapp.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://npm.quanziapp.com/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"is-arguments": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/is-arguments/-/is-arguments-1.1.0.tgz",
"integrity": "sha1-YjUwMd++4HzrNGVqa95Z7+yujdk=",
"dev": true,
"requires": {
"call-bind": "^1.0.0"
}
},
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://npm.quanziapp.com/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
"dev": true
},
"is-binary-path": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/is-binary-path/-/is-binary-path-1.0.1.tgz",
"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
"dev": true,
"requires": {
"binary-extensions": "^1.0.0"
}
},
"is-buffer": {
"version": "1.1.6",
"resolved": "https://npm.quanziapp.com/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=",
"dev": true
},
"is-callable": {
"version": "1.2.2",
"resolved": "https://npm.quanziapp.com/is-callable/-/is-callable-1.2.2.tgz",
"integrity": "sha1-x8ZxXNItTdtI0+GZcCI6zquwgNk=",
"dev": true
},
"is-ci": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/is-ci/-/is-ci-2.0.0.tgz",
"integrity": "sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw=",
"dev": true,
"requires": {
"ci-info": "^2.0.0"
},
"dependencies": {
"ci-info": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/ci-info/-/ci-info-2.0.0.tgz",
"integrity": "sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=",
"dev": true
}
}
},
"is-color-stop": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/is-color-stop/-/is-color-stop-1.1.0.tgz",
"integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
"dev": true,
"requires": {
"css-color-names": "^0.0.4",
"hex-color-regex": "^1.1.0",
"hsl-regex": "^1.0.0",
"hsla-regex": "^1.0.0",
"rgb-regex": "^1.0.1",
"rgba-regex": "^1.0.0"
}
},
"is-core-module": {
"version": "2.2.0",
"resolved": "https://npm.quanziapp.com/is-core-module/-/is-core-module-2.2.0.tgz",
"integrity": "sha1-lwN+89UiJNhRY/VZeytj2a/tmBo=",
"dev": true,
"requires": {
"has": "^1.0.3"
}
},
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://npm.quanziapp.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://npm.quanziapp.com/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"is-date-object": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/is-date-object/-/is-date-object-1.0.2.tgz",
"integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=",
"dev": true
},
"is-descriptor": {
"version": "0.1.6",
"resolved": "https://npm.quanziapp.com/is-descriptor/-/is-descriptor-0.1.6.tgz",
"integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
"dev": true,
"requires": {
"is-accessor-descriptor": "^0.1.6",
"is-data-descriptor": "^0.1.4",
"kind-of": "^5.0.0"
},
"dependencies": {
"kind-of": {
"version": "5.1.0",
"resolved": "https://npm.quanziapp.com/kind-of/-/kind-of-5.1.0.tgz",
"integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
}
}
},
"is-directory": {
"version": "0.3.1",
"resolved": "https://npm.quanziapp.com/is-directory/-/is-directory-0.3.1.tgz",
"integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
"dev": true
},
"is-extendable": {
"version": "0.1.1",
"resolved": "https://npm.quanziapp.com/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
"dev": true
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
"is-fullwidth-code-point": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
"is-glob": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/is-glob/-/is-glob-4.0.1.tgz",
"integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
"dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
},
"is-installed-globally": {
"version": "0.3.2",
"resolved": "https://npm.quanziapp.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
"integrity": "sha1-/T76ee5nDRGHIzGC1bCh3QAxMUE=",
"dev": true,
"requires": {
"global-dirs": "^2.0.1",
"is-path-inside": "^3.0.1"
},
"dependencies": {
"is-path-inside": {
"version": "3.0.2",
"resolved": "https://npm.quanziapp.com/is-path-inside/-/is-path-inside-3.0.2.tgz",
"integrity": "sha1-9SIPyCo+IzdXKR3dycWHfyofMBc=",
"dev": true
}
}
},
"is-negative-zero": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
"integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=",
"dev": true
},
"is-npm": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/is-npm/-/is-npm-4.0.0.tgz",
"integrity": "sha1-yQ3YOAaW34enptgjwg0LErvjyE0=",
"dev": true
},
"is-number": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://npm.quanziapp.com/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"is-obj": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/is-obj/-/is-obj-2.0.0.tgz",
"integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=",
"dev": true
},
"is-path-cwd": {
"version": "2.2.0",
"resolved": "https://npm.quanziapp.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
"integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=",
"dev": true
},
"is-path-in-cwd": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
"integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=",
"dev": true,
"requires": {
"is-path-inside": "^2.1.0"
}
},
"is-path-inside": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/is-path-inside/-/is-path-inside-2.1.0.tgz",
"integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=",
"dev": true,
"requires": {
"path-is-inside": "^1.0.2"
}
},
"is-plain-obj": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
"dev": true
},
"is-plain-object": {
"version": "2.0.4",
"resolved": "https://npm.quanziapp.com/is-plain-object/-/is-plain-object-2.0.4.tgz",
"integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
"dev": true,
"requires": {
"isobject": "^3.0.1"
}
},
"is-regex": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/is-regex/-/is-regex-1.1.1.tgz",
"integrity": "sha1-xvmKrMVG9s7FRooHt7FTq1ZKV7k=",
"dev": true,
"requires": {
"has-symbols": "^1.0.1"
}
},
"is-resolvable": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/is-resolvable/-/is-resolvable-1.1.0.tgz",
"integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=",
"dev": true
},
"is-stream": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
"dev": true
},
"is-svg": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/is-svg/-/is-svg-3.0.0.tgz",
"integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=",
"dev": true,
"requires": {
"html-comment-regex": "^1.1.0"
}
},
"is-symbol": {
"version": "1.0.3",
"resolved": "https://npm.quanziapp.com/is-symbol/-/is-symbol-1.0.3.tgz",
"integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=",
"dev": true,
"requires": {
"has-symbols": "^1.0.1"
}
},
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
"is-windows": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=",
"dev": true
},
"is-wsl": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/is-wsl/-/is-wsl-1.1.0.tgz",
"integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
"dev": true
},
"is-yarn-global": {
"version": "0.3.0",
"resolved": "https://npm.quanziapp.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
"integrity": "sha1-1QLTOCWQ6jAEiTdGdUyJE5lz4jI=",
"dev": true
},
"isarray": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"isexe": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
"isobject": {
"version": "3.0.1",
"resolved": "https://npm.quanziapp.com/isobject/-/isobject-3.0.1.tgz",
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
"isstream": {
"version": "0.1.2",
"resolved": "https://npm.quanziapp.com/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
"javascript-stringify": {
"version": "1.6.0",
"resolved": "https://npm.quanziapp.com/javascript-stringify/-/javascript-stringify-1.6.0.tgz",
"integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=",
"dev": true
},
"js-tokens": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=",
"dev": true
},
"js-yaml": {
"version": "3.14.1",
"resolved": "https://npm.quanziapp.com/js-yaml/-/js-yaml-3.14.1.tgz",
"integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=",
"dev": true,
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
}
},
"jsbn": {
"version": "0.1.1",
"resolved": "https://npm.quanziapp.com/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true
},
"jsesc": {
"version": "2.5.2",
"resolved": "https://npm.quanziapp.com/jsesc/-/jsesc-2.5.2.tgz",
"integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=",
"dev": true
},
"json-buffer": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/json-buffer/-/json-buffer-3.0.0.tgz",
"integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
"dev": true
},
"json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
"integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=",
"dev": true
},
"json-schema": {
"version": "0.2.3",
"resolved": "https://npm.quanziapp.com/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://npm.quanziapp.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
"dev": true
},
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://npm.quanziapp.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
},
"json3": {
"version": "3.3.3",
"resolved": "https://npm.quanziapp.com/json3/-/json3-3.3.3.tgz",
"integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=",
"dev": true
},
"json5": {
"version": "2.1.3",
"resolved": "https://npm.quanziapp.com/json5/-/json5-2.1.3.tgz",
"integrity": "sha1-ybD3+pIzv+WAf+ZvzzpWF+1ZfUM=",
"dev": true,
"requires": {
"minimist": "^1.2.5"
}
},
"jsonfile": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.6"
}
},
"jsprim": {
"version": "1.4.1",
"resolved": "https://npm.quanziapp.com/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
"json-schema": "0.2.3",
"verror": "1.10.0"
}
},
"keyv": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/keyv/-/keyv-3.1.0.tgz",
"integrity": "sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk=",
"dev": true,
"requires": {
"json-buffer": "3.0.0"
}
},
"killable": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/killable/-/killable-1.0.1.tgz",
"integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=",
"dev": true
},
"kind-of": {
"version": "6.0.3",
"resolved": "https://npm.quanziapp.com/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=",
"dev": true
},
"last-call-webpack-plugin": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz",
"integrity": "sha1-l0LfDhDjz0blwDgcLekNOnotdVU=",
"dev": true,
"requires": {
"lodash": "^4.17.5",
"webpack-sources": "^1.1.0"
}
},
"latest-version": {
"version": "5.1.0",
"resolved": "https://npm.quanziapp.com/latest-version/-/latest-version-5.1.0.tgz",
"integrity": "sha1-EZ3+kI/jjRXfpD7NE/oS7Igy+s4=",
"dev": true,
"requires": {
"package-json": "^6.3.0"
}
},
"linkify-it": {
"version": "2.2.0",
"resolved": "https://npm.quanziapp.com/linkify-it/-/linkify-it-2.2.0.tgz",
"integrity": "sha1-47VGl+eL+RXHCjis14/QngBYsc8=",
"dev": true,
"requires": {
"uc.micro": "^1.0.1"
}
},
"load-script": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/load-script/-/load-script-1.0.0.tgz",
"integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=",
"dev": true
},
"loader-runner": {
"version": "2.4.0",
"resolved": "https://npm.quanziapp.com/loader-runner/-/loader-runner-2.4.0.tgz",
"integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=",
"dev": true
},
"loader-utils": {
"version": "1.4.0",
"resolved": "https://npm.quanziapp.com/loader-utils/-/loader-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"
},
"dependencies": {
"json5": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/json5/-/json5-1.0.1.tgz",
"integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=",
"dev": true,
"requires": {
"minimist": "^1.2.0"
}
}
}
},
"locate-path": {
"version": "5.0.0",
"resolved": "https://npm.quanziapp.com/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=",
"dev": true,
"requires": {
"p-locate": "^4.1.0"
}
},
"lodash": {
"version": "4.17.20",
"resolved": "https://npm.quanziapp.com/lodash/-/lodash-4.17.20.tgz",
"integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI=",
"dev": true
},
"lodash._reinterpolate": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
"integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
"dev": true
},
"lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://npm.quanziapp.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
"dev": true
},
"lodash.debounce": {
"version": "4.0.8",
"resolved": "https://npm.quanziapp.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
"dev": true
},
"lodash.kebabcase": {
"version": "4.1.1",
"resolved": "https://npm.quanziapp.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
"integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
"dev": true
},
"lodash.memoize": {
"version": "4.1.2",
"resolved": "https://npm.quanziapp.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
"dev": true
},
"lodash.template": {
"version": "4.5.0",
"resolved": "https://npm.quanziapp.com/lodash.template/-/lodash.template-4.5.0.tgz",
"integrity": "sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks=",
"dev": true,
"requires": {
"lodash._reinterpolate": "^3.0.0",
"lodash.templatesettings": "^4.0.0"
}
},
"lodash.templatesettings": {
"version": "4.2.0",
"resolved": "https://npm.quanziapp.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
"integrity": "sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM=",
"dev": true,
"requires": {
"lodash._reinterpolate": "^3.0.0"
}
},
"lodash.uniq": {
"version": "4.5.0",
"resolved": "https://npm.quanziapp.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
"integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
"dev": true
},
"loglevel": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/loglevel/-/loglevel-1.7.1.tgz",
"integrity": "sha1-AF/eL15uRwaPk1/yhXPhJe9y8Zc=",
"dev": true
},
"lower-case": {
"version": "1.1.4",
"resolved": "https://npm.quanziapp.com/lower-case/-/lower-case-1.1.4.tgz",
"integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
"dev": true
},
"lowercase-keys": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
"integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=",
"dev": true
},
"lru-cache": {
"version": "5.1.1",
"resolved": "https://npm.quanziapp.com/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=",
"dev": true,
"requires": {
"yallist": "^3.0.2"
}
},
"make-dir": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/make-dir/-/make-dir-3.1.0.tgz",
"integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=",
"dev": true,
"requires": {
"semver": "^6.0.0"
},
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://npm.quanziapp.com/semver/-/semver-6.3.0.tgz",
"integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
"dev": true
}
}
},
"map-cache": {
"version": "0.2.2",
"resolved": "https://npm.quanziapp.com/map-cache/-/map-cache-0.2.2.tgz",
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
"map-visit": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/map-visit/-/map-visit-1.0.0.tgz",
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
"dev": true,
"requires": {
"object-visit": "^1.0.0"
}
},
"markdown-it": {
"version": "8.4.2",
"resolved": "https://npm.quanziapp.com/markdown-it/-/markdown-it-8.4.2.tgz",
"integrity": "sha1-OG+YmY3BWjdyKqdyIIT0Agvdm1Q=",
"dev": true,
"requires": {
"argparse": "^1.0.7",
"entities": "~1.1.1",
"linkify-it": "^2.0.0",
"mdurl": "^1.0.1",
"uc.micro": "^1.0.5"
}
},
"markdown-it-anchor": {
"version": "5.3.0",
"resolved": "https://npm.quanziapp.com/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz",
"integrity": "sha1-1Ums1khWqOzRvqWDZe84Xv+6x0Q=",
"dev": true
},
"markdown-it-chain": {
"version": "1.3.0",
"resolved": "https://npm.quanziapp.com/markdown-it-chain/-/markdown-it-chain-1.3.0.tgz",
"integrity": "sha1-zPb+hsECZrr7TlRzgN/X8nfMF7w=",
"dev": true,
"requires": {
"webpack-chain": "^4.9.0"
},
"dependencies": {
"webpack-chain": {
"version": "4.12.1",
"resolved": "https://npm.quanziapp.com/webpack-chain/-/webpack-chain-4.12.1.tgz",
"integrity": "sha1-bIQ5u7KrVQlS1g4eqTGRQZBsAqY=",
"dev": true,
"requires": {
"deepmerge": "^1.5.2",
"javascript-stringify": "^1.6.0"
}
}
}
},
"markdown-it-container": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/markdown-it-container/-/markdown-it-container-2.0.0.tgz",
"integrity": "sha1-ABm0P9Au7+zi8ZYKKJX7qBpARpU=",
"dev": true
},
"markdown-it-emoji": {
"version": "1.4.0",
"resolved": "https://npm.quanziapp.com/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz",
"integrity": "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw=",
"dev": true
},
"markdown-it-table-of-contents": {
"version": "0.4.4",
"resolved": "https://npm.quanziapp.com/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz",
"integrity": "sha1-PcfOi4/BflmBx3zDmNF4Ixnzf7w=",
"dev": true
},
"md5.js": {
"version": "1.3.5",
"resolved": "https://npm.quanziapp.com/md5.js/-/md5.js-1.3.5.tgz",
"integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=",
"dev": true,
"requires": {
"hash-base": "^3.0.0",
"inherits": "^2.0.1",
"safe-buffer": "^5.1.2"
}
},
"mdn-data": {
"version": "2.0.4",
"resolved": "https://npm.quanziapp.com/mdn-data/-/mdn-data-2.0.4.tgz",
"integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=",
"dev": true
},
"mdurl": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
"dev": true
},
"media-typer": {
"version": "0.3.0",
"resolved": "https://npm.quanziapp.com/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"dev": true
},
"memory-fs": {
"version": "0.4.1",
"resolved": "https://npm.quanziapp.com/memory-fs/-/memory-fs-0.4.1.tgz",
"integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
"dev": true,
"requires": {
"errno": "^0.1.3",
"readable-stream": "^2.0.1"
}
},
"merge-descriptors": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
"dev": true
},
"merge-source-map": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/merge-source-map/-/merge-source-map-1.1.0.tgz",
"integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=",
"dev": true,
"requires": {
"source-map": "^0.6.1"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
}
}
},
"merge2": {
"version": "1.4.1",
"resolved": "https://npm.quanziapp.com/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=",
"dev": true
},
"methods": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/methods/-/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
"dev": true
},
"micromatch": {
"version": "3.1.10",
"resolved": "https://npm.quanziapp.com/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
"dev": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
"braces": "^2.3.1",
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
"extglob": "^2.0.4",
"fragment-cache": "^0.2.1",
"kind-of": "^6.0.2",
"nanomatch": "^1.2.9",
"object.pick": "^1.3.0",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.2"
}
},
"miller-rabin": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/miller-rabin/-/miller-rabin-4.0.1.tgz",
"integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
"dev": true,
"requires": {
"bn.js": "^4.0.0",
"brorand": "^1.0.1"
},
"dependencies": {
"bn.js": {
"version": "4.11.9",
"resolved": "https://npm.quanziapp.com/bn.js/-/bn.js-4.11.9.tgz",
"integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
"dev": true
}
}
},
"mime": {
"version": "2.4.6",
"resolved": "https://npm.quanziapp.com/mime/-/mime-2.4.6.tgz",
"integrity": "sha1-5bQHyQ20QvK+tbFiNz0Htpr/pNE=",
"dev": true
},
"mime-db": {
"version": "1.44.0",
"resolved": "https://npm.quanziapp.com/mime-db/-/mime-db-1.44.0.tgz",
"integrity": "sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I=",
"dev": true
},
"mime-types": {
"version": "2.1.27",
"resolved": "https://npm.quanziapp.com/mime-types/-/mime-types-2.1.27.tgz",
"integrity": "sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8=",
"dev": true,
"requires": {
"mime-db": "1.44.0"
}
},
"mimic-response": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/mimic-response/-/mimic-response-1.0.1.tgz",
"integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=",
"dev": true
},
"min-document": {
"version": "2.19.0",
"resolved": "https://npm.quanziapp.com/min-document/-/min-document-2.19.0.tgz",
"integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
"dev": true,
"requires": {
"dom-walk": "^0.1.0"
}
},
"mini-css-extract-plugin": {
"version": "0.6.0",
"resolved": "https://npm.quanziapp.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz",
"integrity": "sha1-o/Ezctb83pEvPuTNA5ZlcEgB47k=",
"dev": true,
"requires": {
"loader-utils": "^1.1.0",
"normalize-url": "^2.0.1",
"schema-utils": "^1.0.0",
"webpack-sources": "^1.1.0"
},
"dependencies": {
"schema-utils": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
"dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
}
}
},
"minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
"integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=",
"dev": true
},
"minimalistic-crypto-utils": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
"integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
"dev": true
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://npm.quanziapp.com/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "1.2.5",
"resolved": "https://npm.quanziapp.com/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=",
"dev": true
},
"mississippi": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/mississippi/-/mississippi-3.0.0.tgz",
"integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=",
"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": "^3.0.0",
"pumpify": "^1.3.3",
"stream-each": "^1.1.0",
"through2": "^2.0.0"
}
},
"mixin-deep": {
"version": "1.3.2",
"resolved": "https://npm.quanziapp.com/mixin-deep/-/mixin-deep-1.3.2.tgz",
"integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=",
"dev": true,
"requires": {
"for-in": "^1.0.2",
"is-extendable": "^1.0.1"
},
"dependencies": {
"is-extendable": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
"dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
}
}
},
"mkdirp": {
"version": "0.5.5",
"resolved": "https://npm.quanziapp.com/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=",
"dev": true,
"requires": {
"minimist": "^1.2.5"
}
},
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/move-concurrently/-/move-concurrently-1.0.1.tgz",
"integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
"dev": true,
"requires": {
"aproba": "^1.1.1",
"copy-concurrently": "^1.0.0",
"fs-write-stream-atomic": "^1.0.8",
"mkdirp": "^0.5.1",
"rimraf": "^2.5.4",
"run-queue": "^1.0.3"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
"dev": true
},
"multicast-dns": {
"version": "6.2.3",
"resolved": "https://npm.quanziapp.com/multicast-dns/-/multicast-dns-6.2.3.tgz",
"integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=",
"dev": true,
"requires": {
"dns-packet": "^1.3.1",
"thunky": "^1.0.2"
}
},
"multicast-dns-service-types": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
"integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
"dev": true
},
"nan": {
"version": "2.14.2",
"resolved": "https://npm.quanziapp.com/nan/-/nan-2.14.2.tgz",
"integrity": "sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk=",
"dev": true,
"optional": true
},
"nanomatch": {
"version": "1.2.13",
"resolved": "https://npm.quanziapp.com/nanomatch/-/nanomatch-1.2.13.tgz",
"integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=",
"dev": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
"fragment-cache": "^0.2.1",
"is-windows": "^1.0.2",
"kind-of": "^6.0.2",
"object.pick": "^1.3.0",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.1"
}
},
"negotiator": {
"version": "0.6.2",
"resolved": "https://npm.quanziapp.com/negotiator/-/negotiator-0.6.2.tgz",
"integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=",
"dev": true
},
"neo-async": {
"version": "2.6.2",
"resolved": "https://npm.quanziapp.com/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=",
"dev": true
},
"nice-try": {
"version": "1.0.5",
"resolved": "https://npm.quanziapp.com/nice-try/-/nice-try-1.0.5.tgz",
"integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=",
"dev": true
},
"no-case": {
"version": "2.3.2",
"resolved": "https://npm.quanziapp.com/no-case/-/no-case-2.3.2.tgz",
"integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=",
"dev": true,
"requires": {
"lower-case": "^1.1.1"
}
},
"node-forge": {
"version": "0.10.0",
"resolved": "https://npm.quanziapp.com/node-forge/-/node-forge-0.10.0.tgz",
"integrity": "sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=",
"dev": true
},
"node-libs-browser": {
"version": "2.2.1",
"resolved": "https://npm.quanziapp.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
"integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=",
"dev": true,
"requires": {
"assert": "^1.1.1",
"browserify-zlib": "^0.2.0",
"buffer": "^4.3.0",
"console-browserify": "^1.1.0",
"constants-browserify": "^1.0.0",
"crypto-browserify": "^3.11.0",
"domain-browser": "^1.1.1",
"events": "^3.0.0",
"https-browserify": "^1.0.0",
"os-browserify": "^0.3.0",
"path-browserify": "0.0.1",
"process": "^0.11.10",
"punycode": "^1.2.4",
"querystring-es3": "^0.2.0",
"readable-stream": "^2.3.3",
"stream-browserify": "^2.0.1",
"stream-http": "^2.7.2",
"string_decoder": "^1.0.0",
"timers-browserify": "^2.0.4",
"tty-browserify": "0.0.0",
"url": "^0.11.0",
"util": "^0.11.0",
"vm-browserify": "^1.0.1"
},
"dependencies": {
"punycode": {
"version": "1.4.1",
"resolved": "https://npm.quanziapp.com/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
}
}
},
"node-releases": {
"version": "1.1.67",
"resolved": "https://npm.quanziapp.com/node-releases/-/node-releases-1.1.67.tgz",
"integrity": "sha1-KOv8zNC6pqrY6NTY/ky8Sa4jnBI=",
"dev": true
},
"nopt": {
"version": "1.0.10",
"resolved": "https://npm.quanziapp.com/nopt/-/nopt-1.0.10.tgz",
"integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
"dev": true,
"requires": {
"abbrev": "1"
}
},
"normalize-path": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
"dev": true
},
"normalize-range": {
"version": "0.1.2",
"resolved": "https://npm.quanziapp.com/normalize-range/-/normalize-range-0.1.2.tgz",
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
"dev": true
},
"normalize-url": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/normalize-url/-/normalize-url-2.0.1.tgz",
"integrity": "sha1-g1qdoVUfom9w6SMpBpojqmV01+Y=",
"dev": true,
"requires": {
"prepend-http": "^2.0.0",
"query-string": "^5.0.1",
"sort-keys": "^2.0.0"
}
},
"npm-run-path": {
"version": "2.0.2",
"resolved": "https://npm.quanziapp.com/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
"dev": true,
"requires": {
"path-key": "^2.0.0"
}
},
"nprogress": {
"version": "0.2.0",
"resolved": "https://npm.quanziapp.com/nprogress/-/nprogress-0.2.0.tgz",
"integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=",
"dev": true
},
"nth-check": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/nth-check/-/nth-check-1.0.2.tgz",
"integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=",
"dev": true,
"requires": {
"boolbase": "~1.0.0"
}
},
"num2fraction": {
"version": "1.2.2",
"resolved": "https://npm.quanziapp.com/num2fraction/-/num2fraction-1.2.2.tgz",
"integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
"dev": true
},
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://npm.quanziapp.com/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=",
"dev": true
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://npm.quanziapp.com/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
"object-copy": {
"version": "0.1.0",
"resolved": "https://npm.quanziapp.com/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
"dev": true,
"requires": {
"copy-descriptor": "^0.1.0",
"define-property": "^0.2.5",
"kind-of": "^3.0.3"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://npm.quanziapp.com/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
},
"kind-of": {
"version": "3.2.2",
"resolved": "https://npm.quanziapp.com/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"object-inspect": {
"version": "1.9.0",
"resolved": "https://npm.quanziapp.com/object-inspect/-/object-inspect-1.9.0.tgz",
"integrity": "sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo=",
"dev": true
},
"object-is": {
"version": "1.1.4",
"resolved": "https://npm.quanziapp.com/object-is/-/object-is-1.1.4.tgz",
"integrity": "sha1-Y9bIPACkP0y8lDTrl1fIpbhWUGg=",
"dev": true,
"requires": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3"
}
},
"object-keys": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=",
"dev": true
},
"object-visit": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
"dev": true,
"requires": {
"isobject": "^3.0.0"
}
},
"object.assign": {
"version": "4.1.2",
"resolved": "https://npm.quanziapp.com/object.assign/-/object.assign-4.1.2.tgz",
"integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=",
"dev": true,
"requires": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3",
"has-symbols": "^1.0.1",
"object-keys": "^1.1.1"
}
},
"object.getownpropertydescriptors": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz",
"integrity": "sha1-Df2o0QgHTZxWPoBJDIg7ZmEJFUQ=",
"dev": true,
"requires": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3",
"es-abstract": "^1.18.0-next.1"
}
},
"object.pick": {
"version": "1.3.0",
"resolved": "https://npm.quanziapp.com/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
"dev": true,
"requires": {
"isobject": "^3.0.1"
}
},
"object.values": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/object.values/-/object.values-1.1.2.tgz",
"integrity": "sha1-eiAV4G/LD1Rr1lJIbOhYOkcxxzE=",
"dev": true,
"requires": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3",
"es-abstract": "^1.18.0-next.1",
"has": "^1.0.3"
}
},
"obuf": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/obuf/-/obuf-1.1.2.tgz",
"integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=",
"dev": true
},
"on-finished": {
"version": "2.3.0",
"resolved": "https://npm.quanziapp.com/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"dev": true,
"requires": {
"ee-first": "1.1.1"
}
},
"on-headers": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/on-headers/-/on-headers-1.0.2.tgz",
"integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=",
"dev": true
},
"once": {
"version": "1.4.0",
"resolved": "https://npm.quanziapp.com/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
"wrappy": "1"
}
},
"opencollective-postinstall": {
"version": "2.0.3",
"resolved": "https://npm.quanziapp.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz",
"integrity": "sha1-eg//l49tv6TQBiOPusmO1BmMMlk=",
"dev": true
},
"opn": {
"version": "5.5.0",
"resolved": "https://npm.quanziapp.com/opn/-/opn-5.5.0.tgz",
"integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=",
"dev": true,
"requires": {
"is-wsl": "^1.1.0"
}
},
"optimize-css-assets-webpack-plugin": {
"version": "5.0.4",
"resolved": "https://npm.quanziapp.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz",
"integrity": "sha1-hYg8ZSiqoC4wu62ZCMkpJrtS3JA=",
"dev": true,
"requires": {
"cssnano": "^4.1.10",
"last-call-webpack-plugin": "^3.0.0"
}
},
"original": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/original/-/original-1.0.2.tgz",
"integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=",
"dev": true,
"requires": {
"url-parse": "^1.4.3"
}
},
"os-browserify": {
"version": "0.3.0",
"resolved": "https://npm.quanziapp.com/os-browserify/-/os-browserify-0.3.0.tgz",
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
"dev": true
},
"p-cancelable": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/p-cancelable/-/p-cancelable-1.1.0.tgz",
"integrity": "sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw=",
"dev": true
},
"p-finally": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/p-finally/-/p-finally-1.0.0.tgz",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"dev": true
},
"p-limit": {
"version": "2.3.0",
"resolved": "https://npm.quanziapp.com/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "4.1.0",
"resolved": "https://npm.quanziapp.com/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
"dev": true,
"requires": {
"p-limit": "^2.2.0"
}
},
"p-map": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/p-map/-/p-map-2.1.0.tgz",
"integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=",
"dev": true
},
"p-retry": {
"version": "3.0.1",
"resolved": "https://npm.quanziapp.com/p-retry/-/p-retry-3.0.1.tgz",
"integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=",
"dev": true,
"requires": {
"retry": "^0.12.0"
}
},
"p-try": {
"version": "2.2.0",
"resolved": "https://npm.quanziapp.com/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=",
"dev": true
},
"package-json": {
"version": "6.5.0",
"resolved": "https://npm.quanziapp.com/package-json/-/package-json-6.5.0.tgz",
"integrity": "sha1-b+7ayjXnVyWHbQsOZJdGl/7RRbA=",
"dev": true,
"requires": {
"got": "^9.6.0",
"registry-auth-token": "^4.0.0",
"registry-url": "^5.0.0",
"semver": "^6.2.0"
},
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://npm.quanziapp.com/semver/-/semver-6.3.0.tgz",
"integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
"dev": true
}
}
},
"pako": {
"version": "1.0.11",
"resolved": "https://npm.quanziapp.com/pako/-/pako-1.0.11.tgz",
"integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=",
"dev": true
},
"parallel-transform": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/parallel-transform/-/parallel-transform-1.2.0.tgz",
"integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=",
"dev": true,
"requires": {
"cyclist": "^1.0.1",
"inherits": "^2.0.3",
"readable-stream": "^2.1.5"
}
},
"param-case": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/param-case/-/param-case-2.1.1.tgz",
"integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
"dev": true,
"requires": {
"no-case": "^2.2.0"
}
},
"parse-asn1": {
"version": "5.1.6",
"resolved": "https://npm.quanziapp.com/parse-asn1/-/parse-asn1-5.1.6.tgz",
"integrity": "sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ=",
"dev": true,
"requires": {
"asn1.js": "^5.2.0",
"browserify-aes": "^1.0.0",
"evp_bytestokey": "^1.0.0",
"pbkdf2": "^3.0.3",
"safe-buffer": "^5.1.1"
}
},
"parse-json": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/parse-json/-/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"
}
},
"parseurl": {
"version": "1.3.3",
"resolved": "https://npm.quanziapp.com/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=",
"dev": true
},
"pascalcase": {
"version": "0.1.1",
"resolved": "https://npm.quanziapp.com/pascalcase/-/pascalcase-0.1.1.tgz",
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
"dev": true
},
"path-browserify": {
"version": "0.0.1",
"resolved": "https://npm.quanziapp.com/path-browserify/-/path-browserify-0.0.1.tgz",
"integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=",
"dev": true
},
"path-dirname": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/path-dirname/-/path-dirname-1.0.2.tgz",
"integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
"dev": true
},
"path-exists": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=",
"dev": true
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"path-is-inside": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/path-is-inside/-/path-is-inside-1.0.2.tgz",
"integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
"dev": true
},
"path-key": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
"dev": true
},
"path-parse": {
"version": "1.0.6",
"resolved": "https://npm.quanziapp.com/path-parse/-/path-parse-1.0.6.tgz",
"integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=",
"dev": true
},
"path-to-regexp": {
"version": "0.1.7",
"resolved": "https://npm.quanziapp.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
"dev": true
},
"path-type": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/path-type/-/path-type-3.0.0.tgz",
"integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=",
"dev": true,
"requires": {
"pify": "^3.0.0"
},
"dependencies": {
"pify": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"dev": true
}
}
},
"pbkdf2": {
"version": "3.1.1",
"resolved": "https://npm.quanziapp.com/pbkdf2/-/pbkdf2-3.1.1.tgz",
"integrity": "sha1-y4cksPramEWWhW0abrr9NYRlS5Q=",
"dev": true,
"requires": {
"create-hash": "^1.1.2",
"create-hmac": "^1.1.4",
"ripemd160": "^2.0.1",
"safe-buffer": "^5.0.1",
"sha.js": "^2.4.8"
}
},
"performance-now": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
},
"picomatch": {
"version": "2.2.2",
"resolved": "https://npm.quanziapp.com/picomatch/-/picomatch-2.2.2.tgz",
"integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=",
"dev": true,
"optional": true
},
"pify": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/pify/-/pify-4.0.1.tgz",
"integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
"dev": true
},
"pinkie": {
"version": "2.0.4",
"resolved": "https://npm.quanziapp.com/pinkie/-/pinkie-2.0.4.tgz",
"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
"dev": true
},
"pinkie-promise": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
"requires": {
"pinkie": "^2.0.0"
}
},
"pkg-dir": {
"version": "4.2.0",
"resolved": "https://npm.quanziapp.com/pkg-dir/-/pkg-dir-4.2.0.tgz",
"integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=",
"dev": true,
"requires": {
"find-up": "^4.0.0"
}
},
"portfinder": {
"version": "1.0.28",
"resolved": "https://npm.quanziapp.com/portfinder/-/portfinder-1.0.28.tgz",
"integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=",
"dev": true,
"requires": {
"async": "^2.6.2",
"debug": "^3.1.1",
"mkdirp": "^0.5.5"
},
"dependencies": {
"debug": {
"version": "3.2.7",
"resolved": "https://npm.quanziapp.com/debug/-/debug-3.2.7.tgz",
"integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
}
}
},
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://npm.quanziapp.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
"dev": true
},
"postcss": {
"version": "7.0.35",
"resolved": "https://npm.quanziapp.com/postcss/-/postcss-7.0.35.tgz",
"integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://npm.quanziapp.com/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss-calc": {
"version": "7.0.5",
"resolved": "https://npm.quanziapp.com/postcss-calc/-/postcss-calc-7.0.5.tgz",
"integrity": "sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4=",
"dev": true,
"requires": {
"postcss": "^7.0.27",
"postcss-selector-parser": "^6.0.2",
"postcss-value-parser": "^4.0.2"
}
},
"postcss-colormin": {
"version": "4.0.3",
"resolved": "https://npm.quanziapp.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz",
"integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=",
"dev": true,
"requires": {
"browserslist": "^4.0.0",
"color": "^3.0.0",
"has": "^1.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-convert-values": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz",
"integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=",
"dev": true,
"requires": {
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-discard-comments": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
"integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=",
"dev": true,
"requires": {
"postcss": "^7.0.0"
}
},
"postcss-discard-duplicates": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
"integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=",
"dev": true,
"requires": {
"postcss": "^7.0.0"
}
},
"postcss-discard-empty": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
"integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=",
"dev": true,
"requires": {
"postcss": "^7.0.0"
}
},
"postcss-discard-overridden": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz",
"integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=",
"dev": true,
"requires": {
"postcss": "^7.0.0"
}
},
"postcss-load-config": {
"version": "2.1.2",
"resolved": "https://npm.quanziapp.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz",
"integrity": "sha1-xepQTyxK7zPHNZo03jVzdyrXUCo=",
"dev": true,
"requires": {
"cosmiconfig": "^5.0.0",
"import-cwd": "^2.0.0"
}
},
"postcss-loader": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/postcss-loader/-/postcss-loader-3.0.0.tgz",
"integrity": "sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=",
"dev": true,
"requires": {
"loader-utils": "^1.1.0",
"postcss": "^7.0.0",
"postcss-load-config": "^2.0.0",
"schema-utils": "^1.0.0"
},
"dependencies": {
"schema-utils": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
"dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
}
}
},
"postcss-merge-longhand": {
"version": "4.0.11",
"resolved": "https://npm.quanziapp.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
"integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=",
"dev": true,
"requires": {
"css-color-names": "0.0.4",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0",
"stylehacks": "^4.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-merge-rules": {
"version": "4.0.3",
"resolved": "https://npm.quanziapp.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz",
"integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=",
"dev": true,
"requires": {
"browserslist": "^4.0.0",
"caniuse-api": "^3.0.0",
"cssnano-util-same-parent": "^4.0.0",
"postcss": "^7.0.0",
"postcss-selector-parser": "^3.0.0",
"vendors": "^1.0.0"
},
"dependencies": {
"postcss-selector-parser": {
"version": "3.1.2",
"resolved": "https://npm.quanziapp.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
"integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
"dev": true,
"requires": {
"dot-prop": "^5.2.0",
"indexes-of": "^1.0.1",
"uniq": "^1.0.1"
}
}
}
},
"postcss-minify-font-values": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz",
"integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=",
"dev": true,
"requires": {
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-minify-gradients": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz",
"integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=",
"dev": true,
"requires": {
"cssnano-util-get-arguments": "^4.0.0",
"is-color-stop": "^1.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-minify-params": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz",
"integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=",
"dev": true,
"requires": {
"alphanum-sort": "^1.0.0",
"browserslist": "^4.0.0",
"cssnano-util-get-arguments": "^4.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0",
"uniqs": "^2.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-minify-selectors": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz",
"integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=",
"dev": true,
"requires": {
"alphanum-sort": "^1.0.0",
"has": "^1.0.0",
"postcss": "^7.0.0",
"postcss-selector-parser": "^3.0.0"
},
"dependencies": {
"postcss-selector-parser": {
"version": "3.1.2",
"resolved": "https://npm.quanziapp.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
"integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
"dev": true,
"requires": {
"dot-prop": "^5.2.0",
"indexes-of": "^1.0.1",
"uniq": "^1.0.1"
}
}
}
},
"postcss-modules-extract-imports": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
"integrity": "sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=",
"dev": true,
"requires": {
"postcss": "^7.0.5"
}
},
"postcss-modules-local-by-default": {
"version": "2.0.6",
"resolved": "https://npm.quanziapp.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz",
"integrity": "sha1-3ZlT9t1Ha1/R7y2IMMiSl2C1bmM=",
"dev": true,
"requires": {
"postcss": "^7.0.6",
"postcss-selector-parser": "^6.0.0",
"postcss-value-parser": "^3.3.1"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-modules-scope": {
"version": "2.2.0",
"resolved": "https://npm.quanziapp.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
"integrity": "sha1-OFyuATzHdD9afXYC0Qc6iequYu4=",
"dev": true,
"requires": {
"postcss": "^7.0.6",
"postcss-selector-parser": "^6.0.0"
}
},
"postcss-modules-values": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz",
"integrity": "sha1-R5tG3Axco9x/pScIUYNrnscVL2Q=",
"dev": true,
"requires": {
"icss-replace-symbols": "^1.1.0",
"postcss": "^7.0.6"
}
},
"postcss-normalize-charset": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
"integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=",
"dev": true,
"requires": {
"postcss": "^7.0.0"
}
},
"postcss-normalize-display-values": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
"integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=",
"dev": true,
"requires": {
"cssnano-util-get-match": "^4.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-normalize-positions": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz",
"integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=",
"dev": true,
"requires": {
"cssnano-util-get-arguments": "^4.0.0",
"has": "^1.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-normalize-repeat-style": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz",
"integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=",
"dev": true,
"requires": {
"cssnano-util-get-arguments": "^4.0.0",
"cssnano-util-get-match": "^4.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-normalize-string": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz",
"integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=",
"dev": true,
"requires": {
"has": "^1.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-normalize-timing-functions": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz",
"integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=",
"dev": true,
"requires": {
"cssnano-util-get-match": "^4.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-normalize-unicode": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz",
"integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=",
"dev": true,
"requires": {
"browserslist": "^4.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-normalize-url": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz",
"integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=",
"dev": true,
"requires": {
"is-absolute-url": "^2.0.0",
"normalize-url": "^3.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"normalize-url": {
"version": "3.3.0",
"resolved": "https://npm.quanziapp.com/normalize-url/-/normalize-url-3.3.0.tgz",
"integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=",
"dev": true
},
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-normalize-whitespace": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz",
"integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=",
"dev": true,
"requires": {
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-ordered-values": {
"version": "4.1.2",
"resolved": "https://npm.quanziapp.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz",
"integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=",
"dev": true,
"requires": {
"cssnano-util-get-arguments": "^4.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-reduce-initial": {
"version": "4.0.3",
"resolved": "https://npm.quanziapp.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz",
"integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=",
"dev": true,
"requires": {
"browserslist": "^4.0.0",
"caniuse-api": "^3.0.0",
"has": "^1.0.0",
"postcss": "^7.0.0"
}
},
"postcss-reduce-transforms": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz",
"integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=",
"dev": true,
"requires": {
"cssnano-util-get-match": "^4.0.0",
"has": "^1.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-safe-parser": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz",
"integrity": "sha1-ptTkjw832ffBGypYG/APi6SHC5Y=",
"dev": true,
"requires": {
"postcss": "^7.0.26"
}
},
"postcss-selector-parser": {
"version": "6.0.4",
"resolved": "https://npm.quanziapp.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz",
"integrity": "sha1-VgdaE4CgRgTDiwY+p3Z6Epr1wrM=",
"dev": true,
"requires": {
"cssesc": "^3.0.0",
"indexes-of": "^1.0.1",
"uniq": "^1.0.1",
"util-deprecate": "^1.0.2"
}
},
"postcss-svgo": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz",
"integrity": "sha1-F7mXvHEbMzurFDqu07jT1uPTglg=",
"dev": true,
"requires": {
"is-svg": "^3.0.0",
"postcss": "^7.0.0",
"postcss-value-parser": "^3.0.0",
"svgo": "^1.0.0"
},
"dependencies": {
"postcss-value-parser": {
"version": "3.3.1",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
"integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
"dev": true
}
}
},
"postcss-unique-selectors": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
"integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=",
"dev": true,
"requires": {
"alphanum-sort": "^1.0.0",
"postcss": "^7.0.0",
"uniqs": "^2.0.0"
}
},
"postcss-value-parser": {
"version": "4.1.0",
"resolved": "https://npm.quanziapp.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
"integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=",
"dev": true
},
"prepend-http": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/prepend-http/-/prepend-http-2.0.0.tgz",
"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
"dev": true
},
"prettier": {
"version": "1.19.1",
"resolved": "https://npm.quanziapp.com/prettier/-/prettier-1.19.1.tgz",
"integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=",
"dev": true,
"optional": true
},
"pretty-error": {
"version": "2.1.2",
"resolved": "https://npm.quanziapp.com/pretty-error/-/pretty-error-2.1.2.tgz",
"integrity": "sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y=",
"dev": true,
"requires": {
"lodash": "^4.17.20",
"renderkid": "^2.0.4"
}
},
"pretty-time": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/pretty-time/-/pretty-time-1.1.0.tgz",
"integrity": "sha1-/7dCmvq7hTXDRqNOQYc63z103Q4=",
"dev": true
},
"prismjs": {
"version": "1.22.0",
"resolved": "https://npm.quanziapp.com/prismjs/-/prismjs-1.22.0.tgz",
"integrity": "sha1-c8NACvxYqCPdfu0CP44c6f2Jd/o=",
"dev": true,
"requires": {
"clipboard": "^2.0.0"
}
},
"process": {
"version": "0.11.10",
"resolved": "https://npm.quanziapp.com/process/-/process-0.11.10.tgz",
"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
"dev": true
},
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=",
"dev": true
},
"promise-inflight": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/promise-inflight/-/promise-inflight-1.0.1.tgz",
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
"dev": true
},
"proxy-addr": {
"version": "2.0.6",
"resolved": "https://npm.quanziapp.com/proxy-addr/-/proxy-addr-2.0.6.tgz",
"integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=",
"dev": true,
"requires": {
"forwarded": "~0.1.2",
"ipaddr.js": "1.9.1"
}
},
"prr": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/prr/-/prr-1.0.1.tgz",
"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
"dev": true
},
"pseudomap": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/pseudomap/-/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
"psl": {
"version": "1.8.0",
"resolved": "https://npm.quanziapp.com/psl/-/psl-1.8.0.tgz",
"integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=",
"dev": true
},
"public-encrypt": {
"version": "4.0.3",
"resolved": "https://npm.quanziapp.com/public-encrypt/-/public-encrypt-4.0.3.tgz",
"integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=",
"dev": true,
"requires": {
"bn.js": "^4.1.0",
"browserify-rsa": "^4.0.0",
"create-hash": "^1.1.0",
"parse-asn1": "^5.0.0",
"randombytes": "^2.0.1",
"safe-buffer": "^5.1.2"
},
"dependencies": {
"bn.js": {
"version": "4.11.9",
"resolved": "https://npm.quanziapp.com/bn.js/-/bn.js-4.11.9.tgz",
"integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
"dev": true
}
}
},
"pump": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/pump/-/pump-3.0.0.tgz",
"integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=",
"dev": true,
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"pumpify": {
"version": "1.5.1",
"resolved": "https://npm.quanziapp.com/pumpify/-/pumpify-1.5.1.tgz",
"integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=",
"dev": true,
"requires": {
"duplexify": "^3.6.0",
"inherits": "^2.0.3",
"pump": "^2.0.0"
},
"dependencies": {
"pump": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/pump/-/pump-2.0.1.tgz",
"integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=",
"dev": true,
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
}
}
},
"punycode": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=",
"dev": true
},
"pupa": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/pupa/-/pupa-2.1.1.tgz",
"integrity": "sha1-9ej9SvwsXZeCj6pSNUnth0SiDWI=",
"dev": true,
"requires": {
"escape-goat": "^2.0.0"
}
},
"q": {
"version": "1.5.1",
"resolved": "https://npm.quanziapp.com/q/-/q-1.5.1.tgz",
"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
"dev": true
},
"qs": {
"version": "6.7.0",
"resolved": "https://npm.quanziapp.com/qs/-/qs-6.7.0.tgz",
"integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=",
"dev": true
},
"query-string": {
"version": "5.1.1",
"resolved": "https://npm.quanziapp.com/query-string/-/query-string-5.1.1.tgz",
"integrity": "sha1-p4wBK3HBfgXy4/ojGd0zBoLvs8s=",
"dev": true,
"requires": {
"decode-uri-component": "^0.2.0",
"object-assign": "^4.1.0",
"strict-uri-encode": "^1.0.0"
}
},
"querystring": {
"version": "0.2.0",
"resolved": "https://npm.quanziapp.com/querystring/-/querystring-0.2.0.tgz",
"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
"dev": true
},
"querystring-es3": {
"version": "0.2.1",
"resolved": "https://npm.quanziapp.com/querystring-es3/-/querystring-es3-0.2.1.tgz",
"integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
"dev": true
},
"querystringify": {
"version": "2.2.0",
"resolved": "https://npm.quanziapp.com/querystringify/-/querystringify-2.2.0.tgz",
"integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=",
"dev": true
},
"randombytes": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/randombytes/-/randombytes-2.1.0.tgz",
"integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=",
"dev": true,
"requires": {
"safe-buffer": "^5.1.0"
}
},
"randomfill": {
"version": "1.0.4",
"resolved": "https://npm.quanziapp.com/randomfill/-/randomfill-1.0.4.tgz",
"integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=",
"dev": true,
"requires": {
"randombytes": "^2.0.5",
"safe-buffer": "^5.1.0"
}
},
"range-parser": {
"version": "1.2.1",
"resolved": "https://npm.quanziapp.com/range-parser/-/range-parser-1.2.1.tgz",
"integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=",
"dev": true
},
"raw-body": {
"version": "2.4.0",
"resolved": "https://npm.quanziapp.com/raw-body/-/raw-body-2.4.0.tgz",
"integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=",
"dev": true,
"requires": {
"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": "https://npm.quanziapp.com/bytes/-/bytes-3.1.0.tgz",
"integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=",
"dev": true
}
}
},
"rc": {
"version": "1.2.8",
"resolved": "https://npm.quanziapp.com/rc/-/rc-1.2.8.tgz",
"integrity": "sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=",
"dev": true,
"requires": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
}
},
"readable-stream": {
"version": "2.3.7",
"resolved": "https://npm.quanziapp.com/readable-stream/-/readable-stream-2.3.7.tgz",
"integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"readdirp": {
"version": "2.2.1",
"resolved": "https://npm.quanziapp.com/readdirp/-/readdirp-2.2.1.tgz",
"integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.11",
"micromatch": "^3.1.10",
"readable-stream": "^2.0.2"
}
},
"reduce": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/reduce/-/reduce-1.0.2.tgz",
"integrity": "sha1-DNaArT/+CwYOV6XGi9/ONxaNNhs=",
"dev": true,
"requires": {
"object-keys": "^1.1.0"
}
},
"regenerate": {
"version": "1.4.2",
"resolved": "https://npm.quanziapp.com/regenerate/-/regenerate-1.4.2.tgz",
"integrity": "sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=",
"dev": true
},
"regenerate-unicode-properties": {
"version": "8.2.0",
"resolved": "https://npm.quanziapp.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
"integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=",
"dev": true,
"requires": {
"regenerate": "^1.4.0"
}
},
"regenerator-runtime": {
"version": "0.13.7",
"resolved": "https://npm.quanziapp.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
"integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=",
"dev": true
},
"regenerator-transform": {
"version": "0.14.5",
"resolved": "https://npm.quanziapp.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz",
"integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=",
"dev": true,
"requires": {
"@babel/runtime": "^7.8.4"
}
},
"regex-not": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/regex-not/-/regex-not-1.0.2.tgz",
"integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=",
"dev": true,
"requires": {
"extend-shallow": "^3.0.2",
"safe-regex": "^1.1.0"
}
},
"regexp.prototype.flags": {
"version": "1.3.0",
"resolved": "https://npm.quanziapp.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
"integrity": "sha1-erqJs8E6ZFCdq888qNn7ub31y3U=",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
"es-abstract": "^1.17.0-next.1"
},
"dependencies": {
"es-abstract": {
"version": "1.17.7",
"resolved": "https://npm.quanziapp.com/es-abstract/-/es-abstract-1.17.7.tgz",
"integrity": "sha1-pN5hsvZpifx0IWdsHLl4dXOs5Uw=",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
"is-callable": "^1.2.2",
"is-regex": "^1.1.1",
"object-inspect": "^1.8.0",
"object-keys": "^1.1.1",
"object.assign": "^4.1.1",
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
}
}
}
},
"regexpu-core": {
"version": "4.7.1",
"resolved": "https://npm.quanziapp.com/regexpu-core/-/regexpu-core-4.7.1.tgz",
"integrity": "sha1-LepamgcjMpj78NuR+pq8TG4PitY=",
"dev": true,
"requires": {
"regenerate": "^1.4.0",
"regenerate-unicode-properties": "^8.2.0",
"regjsgen": "^0.5.1",
"regjsparser": "^0.6.4",
"unicode-match-property-ecmascript": "^1.0.4",
"unicode-match-property-value-ecmascript": "^1.2.0"
}
},
"registry-auth-token": {
"version": "4.2.1",
"resolved": "https://npm.quanziapp.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
"integrity": "sha1-bXtABkQZGJcszV/tzUHcMix5slA=",
"dev": true,
"requires": {
"rc": "^1.2.8"
}
},
"registry-url": {
"version": "5.1.0",
"resolved": "https://npm.quanziapp.com/registry-url/-/registry-url-5.1.0.tgz",
"integrity": "sha1-6YM0tQ1UNLgRNrROxjjZwgCcUAk=",
"dev": true,
"requires": {
"rc": "^1.2.8"
}
},
"regjsgen": {
"version": "0.5.2",
"resolved": "https://npm.quanziapp.com/regjsgen/-/regjsgen-0.5.2.tgz",
"integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=",
"dev": true
},
"regjsparser": {
"version": "0.6.4",
"resolved": "https://npm.quanziapp.com/regjsparser/-/regjsparser-0.6.4.tgz",
"integrity": "sha1-p2n4aEMIQBpm6bUp0kNv9NBmYnI=",
"dev": true,
"requires": {
"jsesc": "~0.5.0"
},
"dependencies": {
"jsesc": {
"version": "0.5.0",
"resolved": "https://npm.quanziapp.com/jsesc/-/jsesc-0.5.0.tgz",
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
"dev": true
}
}
},
"relateurl": {
"version": "0.2.7",
"resolved": "https://npm.quanziapp.com/relateurl/-/relateurl-0.2.7.tgz",
"integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
"dev": true
},
"remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
"integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
"dev": true
},
"renderkid": {
"version": "2.0.4",
"resolved": "https://npm.quanziapp.com/renderkid/-/renderkid-2.0.4.tgz",
"integrity": "sha1-0yXlMq+yjT+Hlv/uMGvo/9b8hkw=",
"dev": true,
"requires": {
"css-select": "^1.1.0",
"dom-converter": "^0.2",
"htmlparser2": "^3.3.0",
"lodash": "^4.17.20",
"strip-ansi": "^3.0.0"
},
"dependencies": {
"css-select": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/css-select/-/css-select-1.2.0.tgz",
"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
"dev": true,
"requires": {
"boolbase": "~1.0.0",
"css-what": "2.1",
"domutils": "1.5.1",
"nth-check": "~1.0.1"
}
},
"css-what": {
"version": "2.1.3",
"resolved": "https://npm.quanziapp.com/css-what/-/css-what-2.1.3.tgz",
"integrity": "sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI=",
"dev": true
},
"domutils": {
"version": "1.5.1",
"resolved": "https://npm.quanziapp.com/domutils/-/domutils-1.5.1.tgz",
"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
"dev": true,
"requires": {
"dom-serializer": "0",
"domelementtype": "1"
}
}
}
},
"repeat-element": {
"version": "1.1.3",
"resolved": "https://npm.quanziapp.com/repeat-element/-/repeat-element-1.1.3.tgz",
"integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=",
"dev": true
},
"repeat-string": {
"version": "1.6.1",
"resolved": "https://npm.quanziapp.com/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
},
"request": {
"version": "2.88.2",
"resolved": "https://npm.quanziapp.com/request/-/request-2.88.2.tgz",
"integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=",
"dev": true,
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
"caseless": "~0.12.0",
"combined-stream": "~1.0.6",
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
"har-validator": "~5.1.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.19",
"oauth-sign": "~0.9.0",
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
"tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
},
"dependencies": {
"qs": {
"version": "6.5.2",
"resolved": "https://npm.quanziapp.com/qs/-/qs-6.5.2.tgz",
"integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=",
"dev": true
}
}
},
"require-directory": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
"require-main-filename": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=",
"dev": true
},
"requires-port": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
"dev": true
},
"resolve": {
"version": "1.19.0",
"resolved": "https://npm.quanziapp.com/resolve/-/resolve-1.19.0.tgz",
"integrity": "sha1-GvW/YwQJc0oGfK4pMYqsf6KaJnw=",
"dev": true,
"requires": {
"is-core-module": "^2.1.0",
"path-parse": "^1.0.6"
}
},
"resolve-cwd": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
"integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
"dev": true,
"requires": {
"resolve-from": "^3.0.0"
}
},
"resolve-from": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/resolve-from/-/resolve-from-3.0.0.tgz",
"integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
"dev": true
},
"resolve-url": {
"version": "0.2.1",
"resolved": "https://npm.quanziapp.com/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
"dev": true
},
"responselike": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/responselike/-/responselike-1.0.2.tgz",
"integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
"dev": true,
"requires": {
"lowercase-keys": "^1.0.0"
}
},
"ret": {
"version": "0.1.15",
"resolved": "https://npm.quanziapp.com/ret/-/ret-0.1.15.tgz",
"integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=",
"dev": true
},
"retry": {
"version": "0.12.0",
"resolved": "https://npm.quanziapp.com/retry/-/retry-0.12.0.tgz",
"integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
"dev": true
},
"rgb-regex": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/rgb-regex/-/rgb-regex-1.0.1.tgz",
"integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
"dev": true
},
"rgba-regex": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/rgba-regex/-/rgba-regex-1.0.0.tgz",
"integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
"dev": true
},
"rimraf": {
"version": "2.7.1",
"resolved": "https://npm.quanziapp.com/rimraf/-/rimraf-2.7.1.tgz",
"integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=",
"dev": true,
"requires": {
"glob": "^7.1.3"
}
},
"ripemd160": {
"version": "2.0.2",
"resolved": "https://npm.quanziapp.com/ripemd160/-/ripemd160-2.0.2.tgz",
"integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=",
"dev": true,
"requires": {
"hash-base": "^3.0.0",
"inherits": "^2.0.1"
}
},
"run-queue": {
"version": "1.0.3",
"resolved": "https://npm.quanziapp.com/run-queue/-/run-queue-1.0.3.tgz",
"integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
"dev": true,
"requires": {
"aproba": "^1.1.1"
}
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://npm.quanziapp.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=",
"dev": true
},
"safe-regex": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true,
"requires": {
"ret": "~0.1.10"
}
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://npm.quanziapp.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=",
"dev": true
},
"sax": {
"version": "1.2.4",
"resolved": "https://npm.quanziapp.com/sax/-/sax-1.2.4.tgz",
"integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=",
"dev": true
},
"schema-utils": {
"version": "2.7.1",
"resolved": "https://npm.quanziapp.com/schema-utils/-/schema-utils-2.7.1.tgz",
"integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.5",
"ajv": "^6.12.4",
"ajv-keywords": "^3.5.2"
}
},
"section-matter": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/section-matter/-/section-matter-1.0.0.tgz",
"integrity": "sha1-6QQZU1BngOwB1Z8pKhnHuFC4QWc=",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"kind-of": "^6.0.0"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"select": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/select/-/select-1.1.2.tgz",
"integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=",
"dev": true,
"optional": true
},
"select-hose": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/select-hose/-/select-hose-2.0.0.tgz",
"integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
"dev": true
},
"selfsigned": {
"version": "1.10.8",
"resolved": "https://npm.quanziapp.com/selfsigned/-/selfsigned-1.10.8.tgz",
"integrity": "sha1-DRcgi30Swz+OrIXEGDXyf8PYGjA=",
"dev": true,
"requires": {
"node-forge": "^0.10.0"
}
},
"semver": {
"version": "5.7.1",
"resolved": "https://npm.quanziapp.com/semver/-/semver-5.7.1.tgz",
"integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
"dev": true
},
"semver-diff": {
"version": "3.1.1",
"resolved": "https://npm.quanziapp.com/semver-diff/-/semver-diff-3.1.1.tgz",
"integrity": "sha1-Bfd85Z8yXgDicGr9Z7tQbdscoys=",
"dev": true,
"requires": {
"semver": "^6.3.0"
},
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://npm.quanziapp.com/semver/-/semver-6.3.0.tgz",
"integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
"dev": true
}
}
},
"send": {
"version": "0.17.1",
"resolved": "https://npm.quanziapp.com/send/-/send-0.17.1.tgz",
"integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=",
"dev": true,
"requires": {
"debug": "2.6.9",
"depd": "~1.1.2",
"destroy": "~1.0.4",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
"http-errors": "~1.7.2",
"mime": "1.6.0",
"ms": "2.1.1",
"on-finished": "~2.3.0",
"range-parser": "~1.2.1",
"statuses": "~1.5.0"
},
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://npm.quanziapp.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
"ms": "2.0.0"
},
"dependencies": {
"ms": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
}
}
},
"mime": {
"version": "1.6.0",
"resolved": "https://npm.quanziapp.com/mime/-/mime-1.6.0.tgz",
"integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
"dev": true
},
"ms": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.1.1.tgz",
"integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=",
"dev": true
}
}
},
"serialize-javascript": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
"integrity": "sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=",
"dev": true,
"requires": {
"randombytes": "^2.1.0"
}
},
"serve-index": {
"version": "1.9.1",
"resolved": "https://npm.quanziapp.com/serve-index/-/serve-index-1.9.1.tgz",
"integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
"dev": true,
"requires": {
"accepts": "~1.3.4",
"batch": "0.6.1",
"debug": "2.6.9",
"escape-html": "~1.0.3",
"http-errors": "~1.6.2",
"mime-types": "~2.1.17",
"parseurl": "~1.3.2"
},
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://npm.quanziapp.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"http-errors": {
"version": "1.6.3",
"resolved": "https://npm.quanziapp.com/http-errors/-/http-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"
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://npm.quanziapp.com/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
},
"ms": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
"setprototypeof": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/setprototypeof/-/setprototypeof-1.1.0.tgz",
"integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=",
"dev": true
}
}
},
"serve-static": {
"version": "1.14.1",
"resolved": "https://npm.quanziapp.com/serve-static/-/serve-static-1.14.1.tgz",
"integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=",
"dev": true,
"requires": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
"send": "0.17.1"
}
},
"set-blocking": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
"set-value": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/set-value/-/set-value-2.0.1.tgz",
"integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
"is-plain-object": "^2.0.3",
"split-string": "^3.0.1"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"setimmediate": {
"version": "1.0.5",
"resolved": "https://npm.quanziapp.com/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
"dev": true
},
"setprototypeof": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/setprototypeof/-/setprototypeof-1.1.1.tgz",
"integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=",
"dev": true
},
"sha.js": {
"version": "2.4.11",
"resolved": "https://npm.quanziapp.com/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=",
"dev": true,
"requires": {
"inherits": "^2.0.1",
"safe-buffer": "^5.0.1"
}
},
"shebang-command": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"dev": true,
"requires": {
"shebang-regex": "^1.0.0"
}
},
"shebang-regex": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true
},
"signal-exit": {
"version": "3.0.3",
"resolved": "https://npm.quanziapp.com/signal-exit/-/signal-exit-3.0.3.tgz",
"integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=",
"dev": true
},
"simple-swizzle": {
"version": "0.2.2",
"resolved": "https://npm.quanziapp.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
"integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
"dev": true,
"requires": {
"is-arrayish": "^0.3.1"
},
"dependencies": {
"is-arrayish": {
"version": "0.3.2",
"resolved": "https://npm.quanziapp.com/is-arrayish/-/is-arrayish-0.3.2.tgz",
"integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=",
"dev": true
}
}
},
"slash": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/slash/-/slash-2.0.0.tgz",
"integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=",
"dev": true
},
"smoothscroll-polyfill": {
"version": "0.4.4",
"resolved": "https://npm.quanziapp.com/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz",
"integrity": "sha1-OiWRMdxpMObKgAA+HLA7YDtpq/g=",
"dev": true
},
"snapdragon": {
"version": "0.8.2",
"resolved": "https://npm.quanziapp.com/snapdragon/-/snapdragon-0.8.2.tgz",
"integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=",
"dev": true,
"requires": {
"base": "^0.11.1",
"debug": "^2.2.0",
"define-property": "^0.2.5",
"extend-shallow": "^2.0.1",
"map-cache": "^0.2.2",
"source-map": "^0.5.6",
"source-map-resolve": "^0.5.0",
"use": "^3.1.0"
},
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://npm.quanziapp.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"define-property": {
"version": "0.2.5",
"resolved": "https://npm.quanziapp.com/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
}
}
},
"snapdragon-node": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
"integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
"dev": true,
"requires": {
"define-property": "^1.0.0",
"isobject": "^3.0.0",
"snapdragon-util": "^3.0.1"
},
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"snapdragon-util": {
"version": "3.0.1",
"resolved": "https://npm.quanziapp.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
"integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
"dev": true,
"requires": {
"kind-of": "^3.2.0"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://npm.quanziapp.com/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"sockjs": {
"version": "0.3.20",
"resolved": "https://npm.quanziapp.com/sockjs/-/sockjs-0.3.20.tgz",
"integrity": "sha1-smooPsVi74smh7RAM6Tuzqx12FU=",
"dev": true,
"requires": {
"faye-websocket": "^0.10.0",
"uuid": "^3.4.0",
"websocket-driver": "0.6.5"
}
},
"sockjs-client": {
"version": "1.4.0",
"resolved": "https://npm.quanziapp.com/sockjs-client/-/sockjs-client-1.4.0.tgz",
"integrity": "sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U=",
"dev": true,
"requires": {
"debug": "^3.2.5",
"eventsource": "^1.0.7",
"faye-websocket": "~0.11.1",
"inherits": "^2.0.3",
"json3": "^3.3.2",
"url-parse": "^1.4.3"
},
"dependencies": {
"debug": {
"version": "3.2.7",
"resolved": "https://npm.quanziapp.com/debug/-/debug-3.2.7.tgz",
"integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
},
"faye-websocket": {
"version": "0.11.3",
"resolved": "https://npm.quanziapp.com/faye-websocket/-/faye-websocket-0.11.3.tgz",
"integrity": "sha1-XA6aiWjokSwoZjn96XeosgnyUI4=",
"dev": true,
"requires": {
"websocket-driver": ">=0.5.1"
}
}
}
},
"sort-keys": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/sort-keys/-/sort-keys-2.0.0.tgz",
"integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
"dev": true,
"requires": {
"is-plain-obj": "^1.0.0"
}
},
"source-list-map": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/source-list-map/-/source-list-map-2.0.1.tgz",
"integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=",
"dev": true
},
"source-map": {
"version": "0.5.7",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"source-map-resolve": {
"version": "0.5.3",
"resolved": "https://npm.quanziapp.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
"integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=",
"dev": true,
"requires": {
"atob": "^2.1.2",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
"urix": "^0.1.0"
}
},
"source-map-support": {
"version": "0.5.19",
"resolved": "https://npm.quanziapp.com/source-map-support/-/source-map-support-0.5.19.tgz",
"integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=",
"dev": true,
"requires": {
"buffer-from": "^1.0.0",
"source-map": "^0.6.0"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
}
}
},
"source-map-url": {
"version": "0.4.0",
"resolved": "https://npm.quanziapp.com/source-map-url/-/source-map-url-0.4.0.tgz",
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
"spdy": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/spdy/-/spdy-4.0.2.tgz",
"integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=",
"dev": true,
"requires": {
"debug": "^4.1.0",
"handle-thing": "^2.0.0",
"http-deceiver": "^1.2.7",
"select-hose": "^2.0.0",
"spdy-transport": "^3.0.0"
}
},
"spdy-transport": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/spdy-transport/-/spdy-transport-3.0.0.tgz",
"integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=",
"dev": true,
"requires": {
"debug": "^4.1.0",
"detect-node": "^2.0.4",
"hpack.js": "^2.1.6",
"obuf": "^1.1.2",
"readable-stream": "^3.0.6",
"wbuf": "^1.7.3"
},
"dependencies": {
"readable-stream": {
"version": "3.6.0",
"resolved": "https://npm.quanziapp.com/readable-stream/-/readable-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": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/split-string/-/split-string-3.1.0.tgz",
"integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=",
"dev": true,
"requires": {
"extend-shallow": "^3.0.0"
}
},
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://npm.quanziapp.com/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
"sshpk": {
"version": "1.16.1",
"resolved": "https://npm.quanziapp.com/sshpk/-/sshpk-1.16.1.tgz",
"integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=",
"dev": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
"bcrypt-pbkdf": "^1.0.0",
"dashdash": "^1.12.0",
"ecc-jsbn": "~0.1.1",
"getpass": "^0.1.1",
"jsbn": "~0.1.0",
"safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
}
},
"ssri": {
"version": "6.0.1",
"resolved": "https://npm.quanziapp.com/ssri/-/ssri-6.0.1.tgz",
"integrity": "sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg=",
"dev": true,
"requires": {
"figgy-pudding": "^3.5.1"
}
},
"stable": {
"version": "0.1.8",
"resolved": "https://npm.quanziapp.com/stable/-/stable-0.1.8.tgz",
"integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=",
"dev": true
},
"stack-utils": {
"version": "1.0.4",
"resolved": "https://npm.quanziapp.com/stack-utils/-/stack-utils-1.0.4.tgz",
"integrity": "sha1-S2AJcdz8au0MvfKoJoF3zJFsh8g=",
"dev": true,
"requires": {
"escape-string-regexp": "^2.0.0"
},
"dependencies": {
"escape-string-regexp": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
"integrity": "sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q=",
"dev": true
}
}
},
"static-extend": {
"version": "0.1.2",
"resolved": "https://npm.quanziapp.com/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
"dev": true,
"requires": {
"define-property": "^0.2.5",
"object-copy": "^0.1.0"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://npm.quanziapp.com/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
}
}
},
"statuses": {
"version": "1.5.0",
"resolved": "https://npm.quanziapp.com/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"dev": true
},
"std-env": {
"version": "2.2.1",
"resolved": "https://npm.quanziapp.com/std-env/-/std-env-2.2.1.tgz",
"integrity": "sha1-L/oP3J4iY+AATBIRlm6WCUikD2s=",
"dev": true,
"requires": {
"ci-info": "^1.6.0"
}
},
"stream-browserify": {
"version": "2.0.2",
"resolved": "https://npm.quanziapp.com/stream-browserify/-/stream-browserify-2.0.2.tgz",
"integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=",
"dev": true,
"requires": {
"inherits": "~2.0.1",
"readable-stream": "^2.0.2"
}
},
"stream-each": {
"version": "1.2.3",
"resolved": "https://npm.quanziapp.com/stream-each/-/stream-each-1.2.3.tgz",
"integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=",
"dev": true,
"requires": {
"end-of-stream": "^1.1.0",
"stream-shift": "^1.0.0"
}
},
"stream-http": {
"version": "2.8.3",
"resolved": "https://npm.quanziapp.com/stream-http/-/stream-http-2.8.3.tgz",
"integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=",
"dev": true,
"requires": {
"builtin-status-codes": "^3.0.0",
"inherits": "^2.0.1",
"readable-stream": "^2.3.6",
"to-arraybuffer": "^1.0.0",
"xtend": "^4.0.0"
}
},
"stream-shift": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/stream-shift/-/stream-shift-1.0.1.tgz",
"integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=",
"dev": true
},
"strict-uri-encode": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
"integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
"dev": true
},
"string-width": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/string-width/-/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": "^5.1.0"
},
"dependencies": {
"ansi-regex": {
"version": "4.1.0",
"resolved": "https://npm.quanziapp.com/ansi-regex/-/ansi-regex-4.1.0.tgz",
"integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
"dev": true
},
"strip-ansi": {
"version": "5.2.0",
"resolved": "https://npm.quanziapp.com/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
"dev": true,
"requires": {
"ansi-regex": "^4.1.0"
}
}
}
},
"string.prototype.trimend": {
"version": "1.0.3",
"resolved": "https://npm.quanziapp.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
"integrity": "sha1-oivVPMpcfPRNfJ1ccyEYhz1s0Ys=",
"dev": true,
"requires": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3"
}
},
"string.prototype.trimstart": {
"version": "1.0.3",
"resolved": "https://npm.quanziapp.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
"integrity": "sha1-m0y1kOEjuzZWRAHVmCQpjeUP1ao=",
"dev": true,
"requires": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3"
}
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://npm.quanziapp.com/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
}
},
"strip-bom-string": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
"integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=",
"dev": true
},
"strip-eof": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/strip-eof/-/strip-eof-1.0.0.tgz",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true
},
"stylehacks": {
"version": "4.0.3",
"resolved": "https://npm.quanziapp.com/stylehacks/-/stylehacks-4.0.3.tgz",
"integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=",
"dev": true,
"requires": {
"browserslist": "^4.0.0",
"postcss": "^7.0.0",
"postcss-selector-parser": "^3.0.0"
},
"dependencies": {
"postcss-selector-parser": {
"version": "3.1.2",
"resolved": "https://npm.quanziapp.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
"integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
"dev": true,
"requires": {
"dot-prop": "^5.2.0",
"indexes-of": "^1.0.1",
"uniq": "^1.0.1"
}
}
}
},
"stylus": {
"version": "0.54.8",
"resolved": "https://npm.quanziapp.com/stylus/-/stylus-0.54.8.tgz",
"integrity": "sha1-PaPmWWa8Vnp7BEv+DuzmU+CZ0Uc=",
"dev": true,
"requires": {
"css-parse": "~2.0.0",
"debug": "~3.1.0",
"glob": "^7.1.6",
"mkdirp": "~1.0.4",
"safer-buffer": "^2.1.2",
"sax": "~1.2.4",
"semver": "^6.3.0",
"source-map": "^0.7.3"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/debug/-/debug-3.1.0.tgz",
"integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"mkdirp": {
"version": "1.0.4",
"resolved": "https://npm.quanziapp.com/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=",
"dev": true
},
"ms": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
"semver": {
"version": "6.3.0",
"resolved": "https://npm.quanziapp.com/semver/-/semver-6.3.0.tgz",
"integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
"dev": true
},
"source-map": {
"version": "0.7.3",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.7.3.tgz",
"integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=",
"dev": true
}
}
},
"stylus-loader": {
"version": "3.0.2",
"resolved": "https://npm.quanziapp.com/stylus-loader/-/stylus-loader-3.0.2.tgz",
"integrity": "sha1-J6cGQgsFo44DjnyssVNXjUUFE8Y=",
"dev": true,
"requires": {
"loader-utils": "^1.0.2",
"lodash.clonedeep": "^4.5.0",
"when": "~3.6.x"
}
},
"supports-color": {
"version": "5.5.0",
"resolved": "https://npm.quanziapp.com/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
},
"svg-tags": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/svg-tags/-/svg-tags-1.0.0.tgz",
"integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
"dev": true
},
"svgo": {
"version": "1.3.2",
"resolved": "https://npm.quanziapp.com/svgo/-/svgo-1.3.2.tgz",
"integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=",
"dev": true,
"requires": {
"chalk": "^2.4.1",
"coa": "^2.0.2",
"css-select": "^2.0.0",
"css-select-base-adapter": "^0.1.1",
"css-tree": "1.0.0-alpha.37",
"csso": "^4.0.2",
"js-yaml": "^3.13.1",
"mkdirp": "~0.5.1",
"object.values": "^1.1.0",
"sax": "~1.2.4",
"stable": "^0.1.8",
"unquote": "~1.1.1",
"util.promisify": "~1.0.0"
}
},
"tapable": {
"version": "1.1.3",
"resolved": "https://npm.quanziapp.com/tapable/-/tapable-1.1.3.tgz",
"integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=",
"dev": true
},
"term-size": {
"version": "2.2.1",
"resolved": "https://npm.quanziapp.com/term-size/-/term-size-2.2.1.tgz",
"integrity": "sha1-KmpUhAQywvtjIP6g9BVTHpAYn1Q=",
"dev": true
},
"terser": {
"version": "4.8.0",
"resolved": "https://npm.quanziapp.com/terser/-/terser-4.8.0.tgz",
"integrity": "sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=",
"dev": true,
"requires": {
"commander": "^2.20.0",
"source-map": "~0.6.1",
"source-map-support": "~0.5.12"
},
"dependencies": {
"commander": {
"version": "2.20.3",
"resolved": "https://npm.quanziapp.com/commander/-/commander-2.20.3.tgz",
"integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
}
}
},
"terser-webpack-plugin": {
"version": "1.4.5",
"resolved": "https://npm.quanziapp.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
"integrity": "sha1-oheu+uozDnNP+sthIOwfoxLWBAs=",
"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": "^4.0.0",
"source-map": "^0.6.1",
"terser": "^4.1.2",
"webpack-sources": "^1.4.0",
"worker-farm": "^1.7.0"
},
"dependencies": {
"find-cache-dir": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
"integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=",
"dev": true,
"requires": {
"commondir": "^1.0.1",
"make-dir": "^2.0.0",
"pkg-dir": "^3.0.0"
}
},
"find-up": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/find-up/-/find-up-3.0.0.tgz",
"integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
"dev": true,
"requires": {
"locate-path": "^3.0.0"
}
},
"locate-path": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
"dev": true,
"requires": {
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
}
},
"make-dir": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/make-dir/-/make-dir-2.1.0.tgz",
"integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=",
"dev": true,
"requires": {
"pify": "^4.0.1",
"semver": "^5.6.0"
}
},
"p-locate": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
"dev": true,
"requires": {
"p-limit": "^2.0.0"
}
},
"path-exists": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true
},
"pkg-dir": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/pkg-dir/-/pkg-dir-3.0.0.tgz",
"integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=",
"dev": true,
"requires": {
"find-up": "^3.0.0"
}
},
"schema-utils": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
"dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
}
}
},
"text-table": {
"version": "0.2.0",
"resolved": "https://npm.quanziapp.com/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
"dev": true
},
"through": {
"version": "2.3.8",
"resolved": "https://npm.quanziapp.com/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
"dev": true
},
"through2": {
"version": "2.0.5",
"resolved": "https://npm.quanziapp.com/through2/-/through2-2.0.5.tgz",
"integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=",
"dev": true,
"requires": {
"readable-stream": "~2.3.6",
"xtend": "~4.0.1"
}
},
"thunky": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/thunky/-/thunky-1.1.0.tgz",
"integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=",
"dev": true
},
"timers-browserify": {
"version": "2.0.12",
"resolved": "https://npm.quanziapp.com/timers-browserify/-/timers-browserify-2.0.12.tgz",
"integrity": "sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4=",
"dev": true,
"requires": {
"setimmediate": "^1.0.4"
}
},
"timsort": {
"version": "0.3.0",
"resolved": "https://npm.quanziapp.com/timsort/-/timsort-0.3.0.tgz",
"integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
"dev": true
},
"tiny-emitter": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
"integrity": "sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM=",
"dev": true,
"optional": true
},
"to-arraybuffer": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
"integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
"dev": true
},
"to-factory": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/to-factory/-/to-factory-1.0.0.tgz",
"integrity": "sha1-hzivi9lxIK0dQEeXKtpVY7+UebE=",
"dev": true
},
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
"integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
"dev": true
},
"to-object-path": {
"version": "0.3.0",
"resolved": "https://npm.quanziapp.com/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://npm.quanziapp.com/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"to-readable-stream": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
"integrity": "sha1-zgqgwvPfat+FLvtASng+d8BHV3E=",
"dev": true
},
"to-regex": {
"version": "3.0.2",
"resolved": "https://npm.quanziapp.com/to-regex/-/to-regex-3.0.2.tgz",
"integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=",
"dev": true,
"requires": {
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
"regex-not": "^1.0.2",
"safe-regex": "^1.1.0"
}
},
"to-regex-range": {
"version": "2.1.1",
"resolved": "https://npm.quanziapp.com/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
"dev": true,
"requires": {
"is-number": "^3.0.0",
"repeat-string": "^1.6.1"
}
},
"toidentifier": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=",
"dev": true
},
"toml": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/toml/-/toml-3.0.0.tgz",
"integrity": "sha1-NCFg8a8ZBOydIE0DpdYSItdixe4=",
"dev": true
},
"toposort": {
"version": "1.0.7",
"resolved": "https://npm.quanziapp.com/toposort/-/toposort-1.0.7.tgz",
"integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=",
"dev": true
},
"tough-cookie": {
"version": "2.5.0",
"resolved": "https://npm.quanziapp.com/tough-cookie/-/tough-cookie-2.5.0.tgz",
"integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=",
"dev": true,
"requires": {
"psl": "^1.1.28",
"punycode": "^2.1.1"
}
},
"tslib": {
"version": "1.14.1",
"resolved": "https://npm.quanziapp.com/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=",
"dev": true
},
"tty-browserify": {
"version": "0.0.0",
"resolved": "https://npm.quanziapp.com/tty-browserify/-/tty-browserify-0.0.0.tgz",
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://npm.quanziapp.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"requires": {
"safe-buffer": "^5.0.1"
}
},
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://npm.quanziapp.com/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true
},
"type-fest": {
"version": "0.11.0",
"resolved": "https://npm.quanziapp.com/type-fest/-/type-fest-0.11.0.tgz",
"integrity": "sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E=",
"dev": true
},
"type-is": {
"version": "1.6.18",
"resolved": "https://npm.quanziapp.com/type-is/-/type-is-1.6.18.tgz",
"integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=",
"dev": true,
"requires": {
"media-typer": "0.3.0",
"mime-types": "~2.1.24"
}
},
"typedarray": {
"version": "0.0.6",
"resolved": "https://npm.quanziapp.com/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
"typedarray-to-buffer": {
"version": "3.1.5",
"resolved": "https://npm.quanziapp.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
"integrity": "sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=",
"dev": true,
"requires": {
"is-typedarray": "^1.0.0"
}
},
"uc.micro": {
"version": "1.0.6",
"resolved": "https://npm.quanziapp.com/uc.micro/-/uc.micro-1.0.6.tgz",
"integrity": "sha1-nEEagCpAmpH8bPdAgbq6NLJEmaw=",
"dev": true
},
"uglify-js": {
"version": "3.4.10",
"resolved": "https://npm.quanziapp.com/uglify-js/-/uglify-js-3.4.10.tgz",
"integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=",
"dev": true,
"requires": {
"commander": "~2.19.0",
"source-map": "~0.6.1"
},
"dependencies": {
"commander": {
"version": "2.19.0",
"resolved": "https://npm.quanziapp.com/commander/-/commander-2.19.0.tgz",
"integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
}
}
},
"unicode-canonical-property-names-ecmascript": {
"version": "1.0.4",
"resolved": "https://npm.quanziapp.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
"integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=",
"dev": true
},
"unicode-match-property-ecmascript": {
"version": "1.0.4",
"resolved": "https://npm.quanziapp.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
"integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=",
"dev": true,
"requires": {
"unicode-canonical-property-names-ecmascript": "^1.0.4",
"unicode-property-aliases-ecmascript": "^1.0.4"
}
},
"unicode-match-property-value-ecmascript": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
"integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=",
"dev": true
},
"unicode-property-aliases-ecmascript": {
"version": "1.1.0",
"resolved": "https://npm.quanziapp.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
"integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=",
"dev": true
},
"union-value": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/union-value/-/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": "^2.0.1"
}
},
"uniq": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/uniq/-/uniq-1.0.1.tgz",
"integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
"dev": true
},
"uniqs": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/uniqs/-/uniqs-2.0.0.tgz",
"integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
"dev": true
},
"unique-filename": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/unique-filename/-/unique-filename-1.1.1.tgz",
"integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=",
"dev": true,
"requires": {
"unique-slug": "^2.0.0"
}
},
"unique-slug": {
"version": "2.0.2",
"resolved": "https://npm.quanziapp.com/unique-slug/-/unique-slug-2.0.2.tgz",
"integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=",
"dev": true,
"requires": {
"imurmurhash": "^0.1.4"
}
},
"unique-string": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/unique-string/-/unique-string-2.0.0.tgz",
"integrity": "sha1-OcZFH4GvsnSd4rIz4/fF6IQ72J0=",
"dev": true,
"requires": {
"crypto-random-string": "^2.0.0"
}
},
"universalify": {
"version": "0.1.2",
"resolved": "https://npm.quanziapp.com/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=",
"dev": true
},
"unpipe": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"dev": true
},
"unquote": {
"version": "1.1.1",
"resolved": "https://npm.quanziapp.com/unquote/-/unquote-1.1.1.tgz",
"integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
"dev": true
},
"unset-value": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
"dev": true,
"requires": {
"has-value": "^0.3.1",
"isobject": "^3.0.0"
},
"dependencies": {
"has-value": {
"version": "0.3.1",
"resolved": "https://npm.quanziapp.com/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
"dev": true,
"requires": {
"get-value": "^2.0.3",
"has-values": "^0.1.4",
"isobject": "^2.0.0"
},
"dependencies": {
"isobject": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
"dev": true,
"requires": {
"isarray": "1.0.0"
}
}
}
},
"has-values": {
"version": "0.1.4",
"resolved": "https://npm.quanziapp.com/has-values/-/has-values-0.1.4.tgz",
"integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
"dev": true
}
}
},
"upath": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/upath/-/upath-1.2.0.tgz",
"integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=",
"dev": true
},
"update-notifier": {
"version": "4.1.3",
"resolved": "https://npm.quanziapp.com/update-notifier/-/update-notifier-4.1.3.tgz",
"integrity": "sha1-vobuE+jOSPtQBD/3IFe1vVmOHqM=",
"dev": true,
"requires": {
"boxen": "^4.2.0",
"chalk": "^3.0.0",
"configstore": "^5.0.1",
"has-yarn": "^2.1.0",
"import-lazy": "^2.1.0",
"is-ci": "^2.0.0",
"is-installed-globally": "^0.3.1",
"is-npm": "^4.0.0",
"is-yarn-global": "^0.3.0",
"latest-version": "^5.0.0",
"pupa": "^2.0.1",
"semver-diff": "^3.1.1",
"xdg-basedir": "^4.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://npm.quanziapp.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"dev": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://npm.quanziapp.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
"dev": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
"dev": true
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://npm.quanziapp.com/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"upper-case": {
"version": "1.1.3",
"resolved": "https://npm.quanziapp.com/upper-case/-/upper-case-1.1.3.tgz",
"integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
"dev": true
},
"uri-js": {
"version": "4.4.0",
"resolved": "https://npm.quanziapp.com/uri-js/-/uri-js-4.4.0.tgz",
"integrity": "sha1-qnFCYd55PoqCNHp7zJznTobyhgI=",
"dev": true,
"requires": {
"punycode": "^2.1.0"
}
},
"urix": {
"version": "0.1.0",
"resolved": "https://npm.quanziapp.com/urix/-/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
"dev": true
},
"url": {
"version": "0.11.0",
"resolved": "https://npm.quanziapp.com/url/-/url-0.11.0.tgz",
"integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
"dev": true,
"requires": {
"punycode": "1.3.2",
"querystring": "0.2.0"
},
"dependencies": {
"punycode": {
"version": "1.3.2",
"resolved": "https://npm.quanziapp.com/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
"dev": true
}
}
},
"url-loader": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/url-loader/-/url-loader-1.1.2.tgz",
"integrity": "sha1-uXHRkbg69pPF4/6kBkvp4fLX+Ng=",
"dev": true,
"requires": {
"loader-utils": "^1.1.0",
"mime": "^2.0.3",
"schema-utils": "^1.0.0"
},
"dependencies": {
"schema-utils": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
"dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
}
}
},
"url-parse": {
"version": "1.4.7",
"resolved": "https://npm.quanziapp.com/url-parse/-/url-parse-1.4.7.tgz",
"integrity": "sha1-qKg1NejACjFuQDpdtKwbm4U64ng=",
"dev": true,
"requires": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
}
},
"url-parse-lax": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
"integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
"dev": true,
"requires": {
"prepend-http": "^2.0.0"
}
},
"use": {
"version": "3.1.1",
"resolved": "https://npm.quanziapp.com/use/-/use-3.1.1.tgz",
"integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=",
"dev": true
},
"util": {
"version": "0.11.1",
"resolved": "https://npm.quanziapp.com/util/-/util-0.11.1.tgz",
"integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=",
"dev": true,
"requires": {
"inherits": "2.0.3"
},
"dependencies": {
"inherits": {
"version": "2.0.3",
"resolved": "https://npm.quanziapp.com/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
}
}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
"util.promisify": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/util.promisify/-/util.promisify-1.0.1.tgz",
"integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=",
"dev": true,
"requires": {
"define-properties": "^1.1.3",
"es-abstract": "^1.17.2",
"has-symbols": "^1.0.1",
"object.getownpropertydescriptors": "^2.1.0"
},
"dependencies": {
"es-abstract": {
"version": "1.17.7",
"resolved": "https://npm.quanziapp.com/es-abstract/-/es-abstract-1.17.7.tgz",
"integrity": "sha1-pN5hsvZpifx0IWdsHLl4dXOs5Uw=",
"dev": true,
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.1",
"is-callable": "^1.2.2",
"is-regex": "^1.1.1",
"object-inspect": "^1.8.0",
"object-keys": "^1.1.1",
"object.assign": "^4.1.1",
"string.prototype.trimend": "^1.0.1",
"string.prototype.trimstart": "^1.0.1"
}
}
}
},
"utila": {
"version": "0.4.0",
"resolved": "https://npm.quanziapp.com/utila/-/utila-0.4.0.tgz",
"integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
"dev": true
},
"utils-merge": {
"version": "1.0.1",
"resolved": "https://npm.quanziapp.com/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
"dev": true
},
"uuid": {
"version": "3.4.0",
"resolved": "https://npm.quanziapp.com/uuid/-/uuid-3.4.0.tgz",
"integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=",
"dev": true
},
"vary": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"dev": true
},
"vendors": {
"version": "1.0.4",
"resolved": "https://npm.quanziapp.com/vendors/-/vendors-1.0.4.tgz",
"integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=",
"dev": true
},
"verror": {
"version": "1.10.0",
"resolved": "https://npm.quanziapp.com/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "^1.2.0"
}
},
"vm-browserify": {
"version": "1.1.2",
"resolved": "https://npm.quanziapp.com/vm-browserify/-/vm-browserify-1.1.2.tgz",
"integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=",
"dev": true
},
"vue": {
"version": "2.6.12",
"resolved": "https://npm.quanziapp.com/vue/-/vue-2.6.12.tgz",
"integrity": "sha1-9evU+mvShpQD4pqJau1JBEVskSM=",
"dev": true
},
"vue-hot-reload-api": {
"version": "2.3.4",
"resolved": "https://npm.quanziapp.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
"integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=",
"dev": true
},
"vue-loader": {
"version": "15.9.5",
"resolved": "https://npm.quanziapp.com/vue-loader/-/vue-loader-15.9.5.tgz",
"integrity": "sha1-epYNxCCjQ53qrN2gOP3Nv3xDJwY=",
"dev": true,
"requires": {
"@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2",
"loader-utils": "^1.1.0",
"vue-hot-reload-api": "^2.3.0",
"vue-style-loader": "^4.1.0"
}
},
"vue-router": {
"version": "3.4.9",
"resolved": "https://npm.quanziapp.com/vue-router/-/vue-router-3.4.9.tgz",
"integrity": "sha1-wBb0IDCuKTLxTkdIs5odmg4lDmY=",
"dev": true
},
"vue-server-renderer": {
"version": "2.6.12",
"resolved": "https://npm.quanziapp.com/vue-server-renderer/-/vue-server-renderer-2.6.12.tgz",
"integrity": "sha1-qMucSUOe8gUpPLQcNdDSsFQWU6U=",
"dev": true,
"requires": {
"chalk": "^1.1.3",
"hash-sum": "^1.0.2",
"he": "^1.1.0",
"lodash.template": "^4.5.0",
"lodash.uniq": "^4.5.0",
"resolve": "^1.2.0",
"serialize-javascript": "^3.1.0",
"source-map": "0.5.6"
},
"dependencies": {
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://npm.quanziapp.com/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
"chalk": {
"version": "1.1.3",
"resolved": "https://npm.quanziapp.com/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
"has-ansi": "^2.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
}
},
"serialize-javascript": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
"integrity": "sha1-i/OpFwcSZk7yVhtEtpHq/jmSFOo=",
"dev": true,
"requires": {
"randombytes": "^2.1.0"
}
},
"source-map": {
"version": "0.5.6",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.5.6.tgz",
"integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
"dev": true
},
"supports-color": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
}
}
},
"vue-style-loader": {
"version": "4.1.2",
"resolved": "https://npm.quanziapp.com/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
"integrity": "sha1-3t80mAbyXOtOZPOtfApE+6c1/Pg=",
"dev": true,
"requires": {
"hash-sum": "^1.0.2",
"loader-utils": "^1.0.2"
}
},
"vue-template-compiler": {
"version": "2.6.12",
"resolved": "https://npm.quanziapp.com/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz",
"integrity": "sha1-lH7XGWdEyKUoXr4SM/6WBDf8xX4=",
"dev": true,
"requires": {
"de-indent": "^1.0.2",
"he": "^1.1.0"
}
},
"vue-template-es2015-compiler": {
"version": "1.9.1",
"resolved": "https://npm.quanziapp.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
"integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=",
"dev": true
},
"vuepress": {
"version": "1.7.1",
"resolved": "https://npm.quanziapp.com/vuepress/-/vuepress-1.7.1.tgz",
"integrity": "sha1-uw4TnYxAegtaqWLPlXeDKlgIk34=",
"dev": true,
"requires": {
"@vuepress/core": "1.7.1",
"@vuepress/theme-default": "1.7.1",
"cac": "^6.5.6",
"envinfo": "^7.2.0",
"opencollective-postinstall": "^2.0.2",
"update-notifier": "^4.0.0"
}
},
"vuepress-html-webpack-plugin": {
"version": "3.2.0",
"resolved": "https://npm.quanziapp.com/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz",
"integrity": "sha1-IZvicq1RD6qHUNLU5w/QKL/RwW4=",
"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",
"util.promisify": "1.0.0"
},
"dependencies": {
"big.js": {
"version": "3.2.0",
"resolved": "https://npm.quanziapp.com/big.js/-/big.js-3.2.0.tgz",
"integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=",
"dev": true
},
"emojis-list": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/emojis-list/-/emojis-list-2.1.0.tgz",
"integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
"dev": true
},
"json5": {
"version": "0.5.1",
"resolved": "https://npm.quanziapp.com/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
},
"loader-utils": {
"version": "0.2.17",
"resolved": "https://npm.quanziapp.com/loader-utils/-/loader-utils-0.2.17.tgz",
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
"requires": {
"big.js": "^3.1.3",
"emojis-list": "^2.0.0",
"json5": "^0.5.0",
"object-assign": "^4.0.1"
}
},
"util.promisify": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/util.promisify/-/util.promisify-1.0.0.tgz",
"integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=",
"dev": true,
"requires": {
"define-properties": "^1.1.2",
"object.getownpropertydescriptors": "^2.0.3"
}
}
}
},
"vuepress-plugin-container": {
"version": "2.1.5",
"resolved": "https://npm.quanziapp.com/vuepress-plugin-container/-/vuepress-plugin-container-2.1.5.tgz",
"integrity": "sha1-N//wVmL+29Y//TpUY7JZLHp/MTM=",
"dev": true,
"requires": {
"@vuepress/shared-utils": "^1.2.0",
"markdown-it-container": "^2.0.0"
}
},
"vuepress-plugin-smooth-scroll": {
"version": "0.0.3",
"resolved": "https://npm.quanziapp.com/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.3.tgz",
"integrity": "sha1-bv8tTBhsypF8yfffKwr33nyMZDg=",
"dev": true,
"requires": {
"smoothscroll-polyfill": "^0.4.3"
}
},
"watchpack": {
"version": "1.7.5",
"resolved": "https://npm.quanziapp.com/watchpack/-/watchpack-1.7.5.tgz",
"integrity": "sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM=",
"dev": true,
"requires": {
"chokidar": "^3.4.1",
"graceful-fs": "^4.1.2",
"neo-async": "^2.5.0",
"watchpack-chokidar2": "^2.0.1"
},
"dependencies": {
"anymatch": {
"version": "3.1.1",
"resolved": "https://npm.quanziapp.com/anymatch/-/anymatch-3.1.1.tgz",
"integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=",
"dev": true,
"optional": true,
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
}
},
"binary-extensions": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/binary-extensions/-/binary-extensions-2.1.0.tgz",
"integrity": "sha1-MPpAyef+B9vIlWeM0ocCTeokHdk=",
"dev": true,
"optional": true
},
"braces": {
"version": "3.0.2",
"resolved": "https://npm.quanziapp.com/braces/-/braces-3.0.2.tgz",
"integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
"dev": true,
"optional": true,
"requires": {
"fill-range": "^7.0.1"
}
},
"chokidar": {
"version": "3.4.3",
"resolved": "https://npm.quanziapp.com/chokidar/-/chokidar-3.4.3.tgz",
"integrity": "sha1-wd84IxRI5FykrFiObHlXO6alfVs=",
"dev": true,
"optional": true,
"requires": {
"anymatch": "~3.1.1",
"braces": "~3.0.2",
"fsevents": "~2.1.2",
"glob-parent": "~5.1.0",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.5.0"
}
},
"fill-range": {
"version": "7.0.1",
"resolved": "https://npm.quanziapp.com/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
"dev": true,
"optional": true,
"requires": {
"to-regex-range": "^5.0.1"
}
},
"fsevents": {
"version": "2.1.3",
"resolved": "https://npm.quanziapp.com/fsevents/-/fsevents-2.1.3.tgz",
"integrity": "sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=",
"dev": true,
"optional": true
},
"glob-parent": {
"version": "5.1.1",
"resolved": "https://npm.quanziapp.com/glob-parent/-/glob-parent-5.1.1.tgz",
"integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=",
"dev": true,
"optional": true,
"requires": {
"is-glob": "^4.0.1"
}
},
"is-binary-path": {
"version": "2.1.0",
"resolved": "https://npm.quanziapp.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=",
"dev": true,
"optional": true,
"requires": {
"binary-extensions": "^2.0.0"
}
},
"is-number": {
"version": "7.0.0",
"resolved": "https://npm.quanziapp.com/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
"dev": true,
"optional": true
},
"readdirp": {
"version": "3.5.0",
"resolved": "https://npm.quanziapp.com/readdirp/-/readdirp-3.5.0.tgz",
"integrity": "sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=",
"dev": true,
"optional": true,
"requires": {
"picomatch": "^2.2.1"
}
},
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://npm.quanziapp.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
"dev": true,
"optional": true,
"requires": {
"is-number": "^7.0.0"
}
}
}
},
"watchpack-chokidar2": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
"integrity": "sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc=",
"dev": true,
"optional": true,
"requires": {
"chokidar": "^2.1.8"
}
},
"wbuf": {
"version": "1.7.3",
"resolved": "https://npm.quanziapp.com/wbuf/-/wbuf-1.7.3.tgz",
"integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=",
"dev": true,
"requires": {
"minimalistic-assert": "^1.0.0"
}
},
"webpack": {
"version": "4.44.2",
"resolved": "https://npm.quanziapp.com/webpack/-/webpack-4.44.2.tgz",
"integrity": "sha1-a/4rCvBVyLLR6Q7SzZNj+EEma3I=",
"dev": true,
"requires": {
"@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.3.0",
"eslint-scope": "^4.0.3",
"json-parse-better-errors": "^1.0.2",
"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.7.4",
"webpack-sources": "^1.4.1"
},
"dependencies": {
"schema-utils": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
"dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
}
}
},
"webpack-chain": {
"version": "6.5.1",
"resolved": "https://npm.quanziapp.com/webpack-chain/-/webpack-chain-6.5.1.tgz",
"integrity": "sha1-TycoTLu2N+PI+970Pu9YjU2GEgY=",
"dev": true,
"requires": {
"deepmerge": "^1.5.2",
"javascript-stringify": "^2.0.1"
},
"dependencies": {
"javascript-stringify": {
"version": "2.0.1",
"resolved": "https://npm.quanziapp.com/javascript-stringify/-/javascript-stringify-2.0.1.tgz",
"integrity": "sha1-bvNYA1MQ411mfGde1j0+t8GqGeU=",
"dev": true
}
}
},
"webpack-dev-middleware": {
"version": "3.7.2",
"resolved": "https://npm.quanziapp.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz",
"integrity": "sha1-ABnD23FuP6XOy/ZPKriKdLqzMfM=",
"dev": true,
"requires": {
"memory-fs": "^0.4.1",
"mime": "^2.4.4",
"mkdirp": "^0.5.1",
"range-parser": "^1.2.1",
"webpack-log": "^2.0.0"
}
},
"webpack-dev-server": {
"version": "3.11.0",
"resolved": "https://npm.quanziapp.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz",
"integrity": "sha1-jxVKO84bz9HMYY705wMniFXn/4w=",
"dev": true,
"requires": {
"ansi-html": "0.0.7",
"bonjour": "^3.5.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.3.1",
"http-proxy-middleware": "0.19.1",
"import-local": "^2.0.0",
"internal-ip": "^4.3.0",
"ip": "^1.1.5",
"is-absolute-url": "^3.0.3",
"killable": "^1.0.1",
"loglevel": "^1.6.8",
"opn": "^5.5.0",
"p-retry": "^3.0.1",
"portfinder": "^1.0.26",
"schema-utils": "^1.0.0",
"selfsigned": "^1.10.7",
"semver": "^6.3.0",
"serve-index": "^1.9.1",
"sockjs": "0.3.20",
"sockjs-client": "1.4.0",
"spdy": "^4.0.2",
"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",
"ws": "^6.2.1",
"yargs": "^13.3.2"
},
"dependencies": {
"is-absolute-url": {
"version": "3.0.3",
"resolved": "https://npm.quanziapp.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
"integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=",
"dev": true
},
"schema-utils": {
"version": "1.0.0",
"resolved": "https://npm.quanziapp.com/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
"dev": true,
"requires": {
"ajv": "^6.1.0",
"ajv-errors": "^1.0.0",
"ajv-keywords": "^3.1.0"
}
},
"semver": {
"version": "6.3.0",
"resolved": "https://npm.quanziapp.com/semver/-/semver-6.3.0.tgz",
"integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
"dev": true
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://npm.quanziapp.com/supports-color/-/supports-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://npm.quanziapp.com/webpack-log/-/webpack-log-2.0.0.tgz",
"integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=",
"dev": true,
"requires": {
"ansi-colors": "^3.0.0",
"uuid": "^3.3.2"
}
},
"webpack-merge": {
"version": "4.2.2",
"resolved": "https://npm.quanziapp.com/webpack-merge/-/webpack-merge-4.2.2.tgz",
"integrity": "sha1-onxS6ng9E5iv0gh/VH17nS9DY00=",
"dev": true,
"requires": {
"lodash": "^4.17.15"
}
},
"webpack-sources": {
"version": "1.4.3",
"resolved": "https://npm.quanziapp.com/webpack-sources/-/webpack-sources-1.4.3.tgz",
"integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=",
"dev": true,
"requires": {
"source-list-map": "^2.0.0",
"source-map": "~0.6.1"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://npm.quanziapp.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
}
}
},
"webpackbar": {
"version": "3.2.0",
"resolved": "https://npm.quanziapp.com/webpackbar/-/webpackbar-3.2.0.tgz",
"integrity": "sha1-varRA/rRGk5hJQDnKqrpiwi6ST8=",
"dev": true,
"requires": {
"ansi-escapes": "^4.1.0",
"chalk": "^2.4.1",
"consola": "^2.6.0",
"figures": "^3.0.0",
"pretty-time": "^1.1.0",
"std-env": "^2.2.1",
"text-table": "^0.2.0",
"wrap-ansi": "^5.1.0"
}
},
"websocket-driver": {
"version": "0.6.5",
"resolved": "https://npm.quanziapp.com/websocket-driver/-/websocket-driver-0.6.5.tgz",
"integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=",
"dev": true,
"requires": {
"websocket-extensions": ">=0.1.1"
}
},
"websocket-extensions": {
"version": "0.1.4",
"resolved": "https://npm.quanziapp.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
"integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=",
"dev": true
},
"when": {
"version": "3.6.4",
"resolved": "https://npm.quanziapp.com/when/-/when-3.6.4.tgz",
"integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=",
"dev": true
},
"which": {
"version": "1.3.1",
"resolved": "https://npm.quanziapp.com/which/-/which-1.3.1.tgz",
"integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
},
"which-module": {
"version": "2.0.0",
"resolved": "https://npm.quanziapp.com/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
"widest-line": {
"version": "3.1.0",
"resolved": "https://npm.quanziapp.com/widest-line/-/widest-line-3.1.0.tgz",
"integrity": "sha1-gpIzO79my0X/DeFgOxNreuFJbso=",
"dev": true,
"requires": {
"string-width": "^4.0.0"
},
"dependencies": {
"ansi-regex": {
"version": "5.0.0",
"resolved": "https://npm.quanziapp.com/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=",
"dev": true
},
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://npm.quanziapp.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=",
"dev": true
},
"is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=",
"dev": true
},
"string-width": {
"version": "4.2.0",
"resolved": "https://npm.quanziapp.com/string-width/-/string-width-4.2.0.tgz",
"integrity": "sha1-lSGCxGzHssMT0VluYjmSvRY7crU=",
"dev": true,
"requires": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.0"
}
},
"strip-ansi": {
"version": "6.0.0",
"resolved": "https://npm.quanziapp.com/strip-ansi/-/strip-ansi-6.0.0.tgz",
"integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=",
"dev": true,
"requires": {
"ansi-regex": "^5.0.0"
}
}
}
},
"worker-farm": {
"version": "1.7.0",
"resolved": "https://npm.quanziapp.com/worker-farm/-/worker-farm-1.7.0.tgz",
"integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=",
"dev": true,
"requires": {
"errno": "~0.1.7"
}
},
"wrap-ansi": {
"version": "5.1.0",
"resolved": "https://npm.quanziapp.com/wrap-ansi/-/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": {
"ansi-regex": {
"version": "4.1.0",
"resolved": "https://npm.quanziapp.com/ansi-regex/-/ansi-regex-4.1.0.tgz",
"integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
"dev": true
},
"strip-ansi": {
"version": "5.2.0",
"resolved": "https://npm.quanziapp.com/strip-ansi/-/strip-ansi-5.2.0.tgz",
"integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
"dev": true,
"requires": {
"ansi-regex": "^4.1.0"
}
}
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://npm.quanziapp.com/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"write-file-atomic": {
"version": "3.0.3",
"resolved": "https://npm.quanziapp.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
"integrity": "sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug=",
"dev": true,
"requires": {
"imurmurhash": "^0.1.4",
"is-typedarray": "^1.0.0",
"signal-exit": "^3.0.2",
"typedarray-to-buffer": "^3.1.5"
}
},
"ws": {
"version": "6.2.1",
"resolved": "https://npm.quanziapp.com/ws/-/ws-6.2.1.tgz",
"integrity": "sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=",
"dev": true,
"requires": {
"async-limiter": "~1.0.0"
}
},
"xdg-basedir": {
"version": "4.0.0",
"resolved": "https://npm.quanziapp.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
"integrity": "sha1-S8jZmEQDaWIl74OhVzy7y0552xM=",
"dev": true
},
"xtend": {
"version": "4.0.2",
"resolved": "https://npm.quanziapp.com/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=",
"dev": true
},
"y18n": {
"version": "4.0.1",
"resolved": "https://npm.quanziapp.com/y18n/-/y18n-4.0.1.tgz",
"integrity": "sha1-jbK4PDHF11CZu4kLI/MJSJHiR9Q=",
"dev": true
},
"yallist": {
"version": "3.1.1",
"resolved": "https://npm.quanziapp.com/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=",
"dev": true
},
"yargs": {
"version": "13.3.2",
"resolved": "https://npm.quanziapp.com/yargs/-/yargs-13.3.2.tgz",
"integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=",
"dev": true,
"requires": {
"cliui": "^5.0.0",
"find-up": "^3.0.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^3.0.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^13.1.2"
},
"dependencies": {
"find-up": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/find-up/-/find-up-3.0.0.tgz",
"integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
"dev": true,
"requires": {
"locate-path": "^3.0.0"
}
},
"locate-path": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
"dev": true,
"requires": {
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
}
},
"p-locate": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
"dev": true,
"requires": {
"p-limit": "^2.0.0"
}
},
"path-exists": {
"version": "3.0.0",
"resolved": "https://npm.quanziapp.com/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true
}
}
},
"yargs-parser": {
"version": "13.1.2",
"resolved": "https://npm.quanziapp.com/yargs-parser/-/yargs-parser-13.1.2.tgz",
"integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=",
"dev": true,
"requires": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
},
"dependencies": {
"camelcase": {
"version": "5.3.1",
"resolved": "https://npm.quanziapp.com/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
"dev": true
}
}
},
"zepto": {
"version": "1.2.0",
"resolved": "https://npm.quanziapp.com/zepto/-/zepto-1.2.0.tgz",
"integrity": "sha1-4Se9nmb9hGvl6rSME5SIL3wOT5g=",
"dev": true
}
}
}
================================================
FILE: package.json
================================================
{
"name": "web-interview",
"version": "1.0.0",
"description": "web面试题库",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "vuepress dev docs",
"build": "vuepress build docs"
},
"repository": {
"type": "git",
"url": "git+https://github.com/febobo/web-interview.git"
},
"keywords": [
"web",
"interview"
],
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/febobo/web-interview/issues"
},
"homepage": "https://github.com/febobo/web-interview#readme",
"devDependencies": {
"vuepress": "^1.7.1"
}
}