diff --git a/README.md b/README.md
index 759a282..c50c79c 100644
--- a/README.md
+++ b/README.md
@@ -1,1010 +1,49 @@
-# 扩展 layui 的导出插件 layui.excel
+# LAY-EXCEL 简单快捷的导出插件
-之前在工作过程中还有社区交流过程中,发现对导出 Excel 文件有需求,所以就萌发了封装插件的想法。导出excel功能基于 XLSX.js,下载功能基于 FileSaver,读取文件基于 H5的 FileReader。
+现有导出前端库中,XLSX.JS功能强大但是操作颇为不便,于是封装了此插件,依赖jQuery,支持Layui插件形式加载,**导出仅需一句话**。
-> 环境提示:预览环境需要部署在服务器下,不然无法异步获取需要导出的数据
+导出excel功能基于 XLSX.js,下载功能基于 FileSaver,读取文件基于 H5的 FileReader。
-> 版本更新提示:如果使用 v1.2 以前的版本,filterExportData 的映射关系有所调整,请注意
+**功能演示地址:**[http://excel.wj2015.com](http://excel.wj2015.com)
-> 浏览器兼容性:支持IE10+、Firefox、chrome
+**文档地址:**[http://excel.wj2015.com/_book/](http://excel.wj2015.com/_book/)
-> 非Layui环境使用:**需要先加载 jQuery,再加载 layui_exts/excel.min.js,随后使用全局变量 LAY_EXCEL 调用函数**
+![1570418356365](ScreenToGif.gif)
-> 特别注意:**不能直接在IFRAME里边直接调用导出方法,因为浏览器会限制这种导出行为,如有遇到此类情况,可使用 parent.layui.excel.exportExcel() 的方式调用父级页面函数以避免这个问题(父页面需要先加载插件)**
+## 兼容性
-#### 备选下载
-国内可以**使用码云**,定期与github同步,[https://gitee.com/wangerzi/layui-excel](https://gitee.com/wangerzi/layui-excel)
+支持IE10+、Firefox、chrome
+## 快速入门
-## 功能演示:
+一句话导出,快速上手请查看 [『快速上手』](docs/快速入门.md),更多便捷函数请查看[『函数列表』](docs/函数列表/README.md),样式设置请查看[『样式设置专区』](docs/样式设置专区.md)。
-##### 在线演示:
+## 待完成需求
-[http://excel.wj2015.com/](http://excel.wj2015.com/)
+- [ ] 【文档】制作Gitbook方便查阅
+- [ ] 【文档】新增『参与开发』页,以便其他开发者上手此插件
+- [ ] 【文档】新增『常见问题整理』,整理群内高频问题,提高处理效率
+- [ ] 【测试】单元测试覆盖
+- [ ] 【测试】建立CI/CD机制
+- [ ] 【导出】分段递归获取数据函数封装
+- [ ] 【导出】分段压缩打包
+- [ ] 【导出】导出图片(卡住)
+- [ ] 【导入】导入图片(卡住)
+- [ ] 【兼容性】导入支持IE11(卡住)
-![功能演示](https://raw.githubusercontent.com/wangerzi/layui-excel/master/ExcelHeart.png)
-![功能演示](https://raw.githubusercontent.com/wangerzi/layui-excel/master/ScreenToGif.gif)
+## 参与开发
-##### 沟通交流群:
+如果有好的想法,或者想实现 [『待完成需求』](#待完成需求)中的部分功能,请邮 [admin@wj2015.com](mailto:admin@wj2015.com),或者加群 [555056599](https://jq.qq.com/?_wv=1027&k=5RcqcwI) 讨论。
-**QQ群号:** 555056599
+在参与开发之前,请先阅读 [『参与开发』](docs/参与开发.md) 文档。
-![QQ交流群](https://raw.githubusercontent.com/wangerzi/layui-excel/master/qq_group_qrcode.png)
-
-
-
-#### 赞赏二维码
-
-赞赏时可以备注寄语,我会不时更新到『[赞赏列表](https://github.com/wangerzi/layui-excel/blob/master/reward.md)』中
-
-![功能演示](https://raw.githubusercontent.com/wangerzi/layui-excel/master/reward_qrcode.png)
-
-## 依赖的开源项目
-
-| 开源项目名称 | 地址 | 用于 |
-| -------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------ |
-| [SheetJS / js-xlsx](https://github.com/SheetJS/js-xlsx) | [https://github.com/SheetJS/js-xlsx](https://github.com/SheetJS/js-xlsx) | 导出的基础逻辑 |
-| [protobi / js-xlsx](https://github.com/protobi/js-xlsx) | [https://github.com/protobi/js-xlsx](https://github.com/protobi/js-xlsx) | 可以设置样式,用于补全样式功能 |
-| [FileSaver.js](https://github.com/eligrey/FileSaver.js/) | [https://github.com/eligrey/FileSaver.js/](https://github.com/eligrey/FileSaver.js/) | 前端用于保存文件的JS功能组件 |
-| [Blob.js](https://github.com/eligrey/Blob.js/) | [https://github.com/eligrey/Blob.js/](https://github.com/eligrey/Blob.js/) | Blob在IE10中的hack实现 |
-| [polyfill.js](https://github.com/philipwalton/polyfill/) | [https://github.com/philipwalton/polyfill/](https://github.com/philipwalton/polyfill/) | 有名的IE兼容插件 |
-| [shim.js](https://github.com/es-shims/es5-shim) | [https://github.com/es-shims/es5-shim](https://github.com/es-shims/es5-shim) | xlsx.js内置的兼容组件,支持ES5 |
-
-> 注:魔改 js-xlsx 支持样式的具体细节请见博客:[JeffreyWang的个人博客:令最新JS-XLSX支持样式的改造方法](https://blog.wj2015.com/2019/05/01/js-xlsx%E6%94%AF%E6%8C%81%E6%A0%B7%E5%BC%8F/)
-
-## 贡献DEMO介绍
-
-| 路径 | 描述 | 贡献人 |
-| ------------------------------------------------------------ | ------------------------- | -------------------------- |
-| [demos/tableExport/index.html](http://excel.wj2015.com/demos/tableExport/index.html) | 导出表格数据的DEMO | 雨桐(yuton.yao@qq.com) |
-| [demos/noLayui/index.html](http://excel.wj2015.com/demos/noLayui/index.html) | 非LAYUI调用及原生表格导出 | 藏锋入鞘(admin@wj2015.com) |
-| [demos/borderExport/index.html](http://excel.wj2015.com/demos/borderExport/index.html) | 便捷边框设置DEMO | 藏锋入鞘(admin@wj2015.com) |
-| [demos/iframeExport/index.html](http://excel.wj2015.com/demos/iframeExport/index.html) | iframe子页面调用导出 | 藏锋入鞘(admin@wj2015.com) |
-
-## 期望收集
-
-
-- [x] 支持导出到IE、Firefox(社区:[TeAmo](https://fly.layui.com/u/2297904/))
-- [x] 梳理数据函数支持列合并(社区:[SoloAsural](https://fly.layui.com/u/10405920/))
-- [x] 支持Excel内列合并(社区:[SoloAsural](https://fly.layui.com/u/10405920/))
-- [x] 优化大量数据导出,比如~~100W~~45W(社区:[Th_omas](https://fly.layui.com/u/28037520/))
-- [x] 支持Excel样式设置(魔改xlsx-style后支持设置列宽行高和单元格样式)(社区:[锁哥](https://fly.layui.com/u/17116008/))
-- [x] 支持公式、链接等特殊属性(个人、社区:[快乐浪子哥](https://fly.layui.com/u/46872/))
-- [x] 可以读取Excel内容(个人)
-- [x] 支持一个Excel导出多个sheet(个人、社区:[玛琳菲森 ](https://fly.layui.com/u/29272992/))
-- [x] 批量设置样式(个人、交流群:limin)
-- [x] 边框设置的样例(交流群:limin)
-- [x] layui上传文件的样例(交流群:睡不够先森)
-- [x] 替换官方的导出功能(社区:[yutons](https://fly.layui.com/u/5932248/))
-- [ ] 分段上传辅助函数(交流群:忘了名字)
-- [ ] 获取一定范围的EXCEL数据导入辅助(交流群:忘了名字)
-- [x] 导入时间转换函数(交流群:你〃祗是莪命中的過客つ)
-- [x] 通过改造xlsx.js彻底解决数字0不显示的问题([tanzx](https://github.com/tanzx))
-- [x] 导出压缩功能引入(交流群:你〃祗是莪命中的過客つ)
-- [ ] 分段导出时候的自动打包ZIP(交流群:一直被遗忘▼)
-- [x] 页边距调整(交流群:你〃祗是莪命中的過客つ)
-- [x] 支持非layui框架调用(交流群:忘了名字)
-
-
-## BUG收集
-
-- [x] QQ浏览器MIME-TYPE 无法读取(交流群:三小)
-- [x] 导出xls实际类型不一致问题(交流群:背后的故事†)
-- [x] 导入日期处理(交流群:雨桐)
-- [x] 导出;导致区分cell的问题
-- [x] 导入的range参数传递问题
-- [x] 直接传入数字0,单元格不显示的问题
-- [x] 使用for in 带来的某些兼容问题
-
-## 路径说明
-
-| 路径 | 描述 |
-| ----------------------- | ------------------------------ |
-| index.html | 页面文件 |
-| list.json | 模拟导出的数据 |
-| layui_exts/excel.js | excel扩展(未压缩 - 便于调试) |
-| layui_exts/excel.min.js | excel扩展(压缩后 - 减少体积) |
-| layui/ | 官网下载的layui |
-| demos/ | 网友上传的使用的样例 |
-| src/ | 打包前的依赖和源码 |
-
-## 快速上手
-
-> 由于插件规模扩大和功能的增加,导致插件上手难度有一定的增加。但如果只使用核心功能,其实没有必要去研究插件的所有方法,故在此把此插件解决核心需求的方法展示出来。
-
-#### 试一试:一句话导出 Hello World
-
-> 在 [http://excel.wj2015.com](http://excel.wj2015.com) 下按 F12 弹出 console 调试工具,然后在里边输入如下命令,下载完毕后打开看到如下结果就说明成功了
-
-```javascript
-LAY_EXCEL.exportExcel([['Hello', 'World', '!']], 'hello.xlsx', 'xlsx')
-```
-
-![1566996326664](assets/1566996326664.png)
-
-PS:这个就是核心的导出功能,第一个参数是一个二维数组,第二个参数是导出文件名,第三个参数是文件类型,是不是特别简洁,有一定JS基础的童鞋相信一眼就能看懂!下面继续介绍如何与 AJAX 结合,导出后端给到的数据。
-
-#### 第一步:从后台获取需要导出的数据
-
-> 一般的导出场景是后端给出获取数据的接口,前端请求后端接口后,根据接口返回参数导出,所以需要 $.ajax() 异步请求接口数据
-
-```javascript
-$.ajax({
- url: '/path/to/get/data',
- dataType: 'json',
- success: function(res) {
- // 假如返回的 res.data 是需要导出的列表数据
- console.log(res.data);// [{name: 'wang', age: 18}, {name: 'layui', age: 3}]
- }
-});
-```
-
-#### 第二步:下载源码并引入插件
-
-如果使用 `layuiadmin`,则只需要将插件(`layui_exts/excel.js`)放到 `controller/`下,然后 `layui.use` 即可,或者可以放在 `lib/extend` 中,只不过需要改 `config.js`
-
-Layui项目,非 `layuiadmin` 的插件初始化如下:
-
-```javascript
-layui.config({
- base: 'layui_exts/',
-}).extend({
- excel: 'excel',
-});
-```
-
-**PS:现已支持直接引入JS文件的方式加载插件,然后通过 LAY_EXCEL 全局变量调用相关函数了,非LAYUI或者不熟悉LAYUI的插件加载机制的童鞋可以在HTML文件中通过 script 标签引入,如:**
-
-```html
-
-
-
-
-
-
-```
-
-#### 第三步:手工添加一个表头,并调用导出excel的内部函数
-
-> 非layui框架请直接使用 $.ajax 和 LAY_EXCEL 进行异步操作和导出
-
-```javascript
-layui.use(['jquery', 'excel', 'layer'], function() {
- var $ = layui.jquery;
- var excel = layui.excel;
- $.ajax({
- url: '/path/to/get/data',
- dataType: 'json',
- success: function(res) {
- // 假如返回的 res.data 是需要导出的列表数据
- console.log(res.data);// [{name: 'wang', age: 18, sex: '男'}, {name: 'layui', age: 3, sex: '女'}]
- // 1. 数组头部新增表头
- res.data.unshift({name: '用户名',sex: '男', age: '年龄'});
- // 2. 如果需要调整顺序,请执行梳理函数
- var data = excel.filterExportData(res.data, [
- 'name',
- 'sex',
- 'age',
- ]);
- // 3. 执行导出函数,系统会弹出弹框
- excel.exportExcel({
- sheet1: data
- }, '导出接口数据.xlsx', 'xlsx');
- }
- });
-});
-```
-
-
-
-## 接口设计和后台程序参考
-
-完善中....
-
-## 函数列表
-
-> 仅做函数用途介绍,具体使用方法请见 『重要函数参数配置』
-
-| 函数名 | 描述 | 索引 |
-| --------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------ |
-| **exportExcel(data, filename, type, opt)** | 导出数据,并弹出指定文件名的下载框 | [exportExcel参数配置](#exportexcel%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| downloadExl(data, filename, type) | 快速导出excel,无需指定 sheet_name 和文件后缀 | [downloadExl参数配置](#downloadexl%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| **filterExportData(data, fields)** | 梳理导出的数据,包括字段排序和多余数据 | [filterExportData参数配置](#filterexportdata%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| **importExcel(files, opt, callback)** | 读取Excel,支持多文件多表格读取 | [importExcel参数配置](#importexcel%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| **makeMergeConfig(origin)** | 生成合并的配置参数,返回结果需放置于opt.extend['!merges']中 | [makeMergeConfig参数配置](#makemergeconfig%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| **setExportCellStyle(data, range, config, filter)** | 为sheet级别数据批量设置单元格属性 | [setExportCellStyle参数配置](#setExportCellStyle%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| makeColConfig(data, defaultNum) | 生成列宽配置,返回结果需放置于opt.extend['!cols']中 | [makeColConfig参数配置](#makecolconfig%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| makeRowConfig(data, defaultNum) | 生成行高配置,返回结果需放置于opt.extend['!rows'] | [makeRowConfig参数配置](#makerowconfig%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| tableToJson(dom) | 将原生table转换为JSON格式 | [tableToJson参数配置](#tabletojson%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| **setRoundBorder(data, range ,config)** | 设置范围环绕的边框 | [setRoundBorder参数配置](#setRoundBorder%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| dateCodeToDate(code) | EXCEL日期码转换为Date对象 | [dateCodeToDate参数配置](#dateCodeToDate%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| dateFormat(date, format) | Date 对象格式化 | [dateFormat参数配置](#dateFormat%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| dateCodeFormat(code, format) | EXCEL日期码转换为格式化字符串 | [dateCodeFormat参数配置](#dateCodeFormat%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
-| filterDataToAoaData(sheet_data) | 将单个sheet的映射数组数据转换为加速导出效率的aoa数据 | 无 |
-| filterImportData(data, fields) | 梳理导入的数据,字段含义与 filterExportData 类似 | 无 |
-| numToTitle(num) | 将1/2/3...转换为A/B/C/D.../AA/AB/.../ZZ/AAA形式 | 无 |
-| titleToNum(title) | 将A、B、AA、ABC转换为 1、2、3形式的数字 | 无 |
-| splitPosition(pos) | 将A1分离成 {c: 0, r: 1} 格式的数据 | 无 |
-
-## 重要函数参数配置
-
-#### exportExcel参数配置
-
-> 核心方法,用于将 data 数据依次导出,如果需要调整导出后的文件字段顺序或者过滤多余数据,请查看 filterExportData 方法
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | ------------------------------------------------ | ------ |
-| data | 数据列表(需要指定表名) | 必填 |
-| filename | 文件名称(带后缀) | 必填 |
-| type | 导出类型,支持 xlsx、csv、ods、xlsb、fods、biff2 | xlsx |
-| opt | 其他可选配置 | null |
-
-##### data样例:
-
-```javascript
-{
- "sheet1": [
- {name: '111', sex: 'male'},
- {name: '222', sex: 'female'},
- ]
-}
-```
-
-##### opt支持的配置项
-
-| 参数名称 | 描述 | 默认值 |
-| --------------- | ------------------------------------------------------------ | ------ |
-| opt.Props | 配置文档基础属性,支持Title、Subject、Author、Manager、Company、Category、Keywords、Comments、LastAuthor、CreatedData | null |
-| opt.extend | 表格配置参数,支持 `!merge` (合并单元格信息)、`!cols`(行数)、`!protect`(写保护)等,[原生配置请参考](https://github.com/SheetJS/js-xlsx#worksheet-object),其中 `!merge` 配置支持辅助方法生成,详见 `makeMergeConfig(origin)`! | null |
-| opt.compression | 是否压缩,压缩效果比较明显,建议开启(9列9w行有较多重复的数据,从 30M 缩小到 3M) | true |
-
-> 如果想指定某个 sheet 的opt.extend,请按照 'sheet名称' => {单独配置},如:
-
-```javascript
-excel.exportExcel({
- sheet1: data,
- sheet2: data
-}, '测试导出复杂表头.xlsx', 'xlsx', {
- extend: {
- // extend 中可以指定某个 sheet 的属性,如果不指定 sheet 则所有 sheet 套用同一套属性
- sheet1: {
- // 以下配置仅 sheet1 有效
- '!merges': mergeConf
- ,'!cols': colConf
- ,'!rows': rowConf
- }
- }
-});
-```
-
-#### downloadExl参数配置
-
-> 兼容旧用法,用于快速导出数据,无需指定 sheet_name,无需指定后缀名,其余跟 `exportExcel` 用法相同。
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | -------------------------------- | ------ |
-| data | 导出的数据 | |
-| filename | 不带后缀名的文件名 | |
-| type | 导出类型(自动拼接在filename后) | |
-
-#### filterExportData参数配置
-
-> 辅助方法,梳理导出的数据,包括字段排序和多余数据过滤
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | ------------------------------------------------ | ------ |
-| data | 需要梳理的数据 | 必填 |
-| fields | 支持数组、对象和回调函数,用于映射关系和字段排序 | 必填 |
-
-> fields参数设计
-
-在实际使用的过程中,后端给的参数多了,或者字段数据不符合导出要求,这都是很常见的情况。为了导出数据的顺序正确和数据映射正确,于是新增了这个方法。
-
-fields 用于表示对象中的属性顺序和映射关系,支持『数组』和『对象』两种方式
-
-假如后台给出了这样的数据:
-
-```json
-{
- "code":0,
- "msg":"",
- "count":3,
- "data":[
- {
- "id":10000,
- "username":"user-0",
- "sex":"女",
- "city":"城市-0",
- "sign":"签名-0",
- "experience":255,
- "logins":24,
- "wealth":82830700,
- "classify":"作家",
- "score":57,
- "start": "2018-12-29",
- "end": "2018-12-30"
- }
- ]
-}
-```
-
-**数组方式:**
-
-仅用于排序、字段过滤,比如我希望的导出顺序和字段是:
-
-`id`、`sex`、`username`、`city`
-
-那么,我可以这样写:
-
-```javascript
-var data = [];// 假设的后台的数据
-data = excel.filterExportData(data, ['id', 'sex', 'username', 'city']);
-excel.exportExcel(data, '导出测试.xlsx', 'xlsx');
-```
-
-**对象方式:**
-
-> 巧记:对象左侧是新名称,右侧是老名称或者回调函数(左新右旧)
-
-可以用于排序、重命名字段、字段过滤,比如我希望 `username` 字段重命名为 `name`,保留 `sex` 和 `city` 字段
-
-那么,我可以这样写:
-
-```javascript
-var data = [];// 假设的后台的数据
-data = excel.filterExportData(data, {
- name: 'username',
- sex:'sex',
- city: 'city'
-});
-excel.exportExcel(data, '导出测试.xlsx', 'xlsx');
-```
-
-##### 回调方式:
-
-> 口诀:左新右旧
-
-可以用于排序、重命名字段、字段过滤、自定义列、批量渲染样式,比如我希望 `range` 由 `start` `end` 聚合并以 `~` 分割;修改 `score` 为原有值的 10倍,并且 `username` 字段重命名为 `name`,保留 `sex` 和 `city` 字段,`city` 所有单元格变为**加粗+居中+红底白字**(可用样式请参见『样式设置专区』)。
-
-那么,我可以这样写:
-
-```javascript
-var data = [];// 假设的后台的数据
-data = excel.filterExportData(data, {
- name: 'username',
- sex:'sex',
- city: function(value, line, data) {
- return {
- v: value,// v 代表单元格的值
- s:{// s 代表样式
- alignment: {
- horizontal: 'center',
- vertical: 'center',
- },
- font: { sz: 14, bold: true, color: { rgb: "FFFFFF" } },
- fill: { bgColor: { indexed: 64 }, fgColor: { rgb: "FF0000" }}
- },
- };
- },
- range: function(value, line, data) {
- return line['start'] + '~' + line['end'];
- },
- score: function(value, line, data) {
- return value * 10;
- }
-});
-excel.exportExcel(data, '导出测试.xlsx', 'xlsx');
-```
-
-##### 单元格属性含义
-
-| Key | Description |
-| ---- | ------------------------------------------------------------ |
-| `v` | 单元格的值 |
-| `w` | 格式化文本(如果适用) |
-| `t` | 单元格类型: `b` 布尔值, `n` 数字, `e` 错误, `s` 字符, `d` 日期 |
-| `f` | 单元格公式(如果适用) |
-| `r` | 富文本编码(如果适用) |
-| `h` | 富文本的HTML呈现(如果适用) |
-| `c` | 与单元格相关的注释 |
-| `z` | 与单元格关联的数字格式字符串(如果需要) |
-| `l` | 单元格超链接对象(目标链接,.tooltip是提示) |
-| `s` | 单元格的样式/主题(如果适用) |
-
-##### 公式设置样例:
-
-> 注意:网页导出的xlsx,在 Microsoft Excel 呈保护模式打开,导致公式的值不显示,此时将受保护模式关掉即可!
-
-对于复杂的公式,楼主也不甚了解,以普通公式 `=SUM(A1, A10)` 为例,在插件中只需要将单元格的属性设置为:`{t: 'n', f: 'SUM(A1:A10)'}`,比如我想加一个总览行就可以这样追加数据:
-
-```javascript
-// 4. 公式的用法
-data.push({
- id: '',
- username: '总年龄',
- age: {t: 'n', f: 'SUM(C4:C10)'},
- sex: '总分',
- score: {t: 'n', f: 'SUM(E4:E10)'},
- classify: ''
-});
-```
-
-官方公式相关文档:[https://github.com/SheetJS/js-xlsx#formulae](https://github.com/SheetJS/js-xlsx#formulae)
-
-#### setExportCellStyle参数配置
-
-> 辅助方法:为 sheet 级别的数据批量设置单元格属性
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | ------------------------------------------------------------ | ------------------------ |
-| data | sheet级别的数据 | |
-| range | 范围字符串,比如`" A1:C12"`表示开始位置默认 A1,结束位置C12 | 数据范围内左上角到右下角 |
-| config | 批量设置的单元格属性,会与之前的样式合并 | |
-| filter | 回调函数,传递函数生效,返回值作为新的值(可用于过滤、规则替换样式等骚操作)**『非必填参数』** | |
-
-##### filter入参列表
-
-> 此参数选填,如果不传入则直接按照规则覆盖
-
-| 参数名称 | 描述 |
-| ---------- | ---------------------------------------- |
-| cell | 原有单元格数据 |
-| newCell | 根据批量设置规则自动生成样式的单元格数据 |
-| row | 所在行数据 |
-| config | 传入的配置 |
-| currentCol | 当前列索引 |
-| fieldKey | 当前字段key |
-
-##### 调用样例(更多用法可参考 index.js 中的样例)
-
-```javascript
-// 1. 假设的梳理后的后台的数据(省略filter函数梳理)
-var data = [
- { username: '520',sex: '男', city: 'J', 'score': 100, 'start': '2019-03-11' },
- { username: '520',sex: '女', city: 'X', 'score': 100, 'start': '2019-03-11' },
- { username: '520',sex: '男', city: '上海', 'score': 100, 'start': '2019-03-11' }
-];
-// 2. 调用设置样式的函数,传入设置的范围,支持回调
-excel.setExportCellStyle(data, 'A1:C3', {
- s: {
- fill: { bgColor: { indexed: 64 }, fgColor: { rgb: "FF0000" } },
- alignment: {
- horizontal: 'center',
- vertical: 'center'
- }
- }
-}, function(cell, newCell, row, config, currentRow, currentCol, fieldKey) {
- // 回调参数,cell:原有数据,newCell:根据批量设置规则自动生成的样式,row:所在行数据,config:传入的配置,currentRow:当前行索引,currentCol:当前列索引,fieldKey:当前字段索引
- return ((currentRow + currentCol) % 2 === 0) ? newCell : cell;// 隔行隔列上色
-} );
-// 3. 导出数据
-excel.exportExcel(data, '批量设置样式.xlsx', 'xlsx');
-```
-
-#### setRoundBorder参数配置
-
-> 辅助方法:设置范围内环绕的边框
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | ------------------------------------------------------------ | --------------------------------------------- |
-| data | Sheet级别的数据 | [] |
-| range | 范围字符串,如 A1:C12,默认从左上角到右下角 | "A1:C12" |
-| config | border 上下左右属性配置信息(对角线的三个属性被下放到left/right/top/bottom下) | {top: {xxx}, bottom: {}, left: {}, right: {}} |
-
-##### 调用样例
-
-```javascript
-LAY_EXCEL.setRoundBorder(list, 'A1:C2', {
- top: {style: 'thick', color: {rgb: 'FFFF0000'}},
- bottom: {style: 'thick', color: {rgb: 'FFFF0000'}},
- left: {style: 'thick', color: {rgb: 'FFFF0000'}},
- right: {style: 'thick', color: {rgb: 'FFFF0000'}}
-});
-```
-
-#### makeMergeConfig参数配置
-
-> 辅助方法:用于生成合并表格的配置项,注意需要传入到 exportExcel 的 opt.extend['!merge'] 中
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | -------- | ------ |
-| origin | 二维数组 | null |
-
-##### origin数据样例
-
-> 表示合并 A1~E1 行,并且合并 A2~D4行
-
-```javascript
-var mergeConf = excel.makeMergeConfig([
- ['A1', 'E1'],
- ['A2', 'D4']
-]);
-excel.exportExcel({
- sheet1: data
-}, '测试导出复杂表头.xlsx', 'xlsx', {
- extend: {
- // 复杂表头合并[A1,E1][A2, D4]
- '!merges': mergeConf
- }
-});
-```
-
-##### 调用样例
-
-请见下方『使用方法』
-
-#### makeColConfig参数配置
-
-> 辅助方法:生成列宽配置,返回结果需放置于opt.extend['!cols']中
-
-| 参数名称 | 描述 | 默认值 |
-| ---------- | ----------------------------------------------------- | ------ |
-| data | 一个对象,对象的key代表列(如:ABCDE),value代表宽度 | null |
-| defaultNum | 渲染过程中未指定单元格的默认宽度 | 60 |
-
-##### 使用样例
-
-> key表示列,value表示宽,剩余宽度取默认值,特别注意要放在 opt.extend['!cols'] 中
-
-```javascript
-// 意思是:A列40px,B列60px(默认),C列120px,D、E、F等均未定义
-var colConf = excel.makeColConfig({
- 'A': 40,
- 'C': 120
-}, 80);
-excel.exportExcel({
- sheet1: data
-}, '测试导出复杂表头.xlsx', 'xlsx', {
- extend: {
- '!cols': colConf
- }
-});
-```
-
-#### makeRowConfig参数配置
-
-> 辅助方法:生成列宽配置,返回结果需放置于opt.extend['!rows']中
-
-| 参数名称 | 描述 | 默认值 |
-| ---------- | ------------------------------------------------------------ | ------ |
-| data | 一个对象,对象的key代表从1开始的行(如:1234),value代表高度 | null |
-| defaultNum | 渲染过程中未指定单元格的默认宽度 | 60 |
-
-##### 使用样例
-
-> key表示行,value表示高度,剩余高度取默认值,特别注意要放在 opt.extend['!rows'] 中
-
-```javascript
-// 意思是:1行40px,2行60px(默认),3行120px,4/5/6/7等行均未定义
-var rowConf = excel.makeRowConfig({
- 1: 40,
- 3: 120
-}, 80);
-excel.exportExcel({
- sheet1: data
-}, '测试导出复杂表头.xlsx', 'xlsx', {
- extend: {
- '!rows': rowConf
- }
-});
-```
-
-#### importExcel参数配置
-
-> 核心方法,用于读取用户选择的Excel信息,文件读取基于 FileReader,所以对浏览器版本要求较高
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | ------------------------------------------------------------ | --------- |
-| files | 上传文件DOM对象的 files 属性 | undefined |
-| opt | 导出参数配置,详见下方描述 | undefined |
-| callback | 完全读取完毕的回调函数,传入一个参数「data」表示所有数据的集合 | undefined |
-
-##### opt参数配置
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | ------------------------------------------------------------ | ------ |
-| header | 导入参数的headers,支持"A"、1等,[详见XLSX官方文档](https://github.com/SheetJS/js-xlsx#json) | A |
-| range | 读取的范围,支持数字、字符等,[详见XLSX官方文档](https://github.com/SheetJS/js-xlsx#json) | null |
-| fields | 可以在读取的过程中进行数据梳理,参数意义请参见「filterExportData参数配置」 | null |
-
-> 由于处理过程中会抛出一些异常,所以请使用 try{}catch(e){}接收并提示用户!
->
-> 如果对导出数据格式的键不满意,可以有两种方式梳理:
->
-> 1. 调用 filterImportData(data, fields)
-> 2. 直接在 importExcel() 的 opt 配置中进行数据梳理
-
-##### 调用样例
-
-```javascript
-$(function(){
- // 监听上传文件的事件
- $('#LAY-excel-import-excel').change(function(e) {
- var files = e.target.files;
- try {
- // 方式一:先读取数据,后梳理数据
- excel.importExcel(files, {}, function(data) {
- console.log(data);
- data = excel.filterImportData(data, {
- 'id': 'A'
- ,'username': 'B'
- ,'experience': 'C'
- ,'sex': 'D'
- ,'score': 'E'
- ,'city': 'F'
- ,'classify': 'G'
- ,'wealth': 'H'
- ,'sign': 'I'
- })
- console.log(data);
- });
- // 方式二:可以在读取过程中梳理数据
- excel.importExcel(files, {
- fields: {
- 'id': 'A'
- ,'username': 'B'
- ,'experience': 'C'
- ,'sex': 'D'
- ,'score': 'E'
- ,'city': 'F'
- ,'classify': 'G'
- ,'wealth': 'H'
- ,'sign': 'I'
- }
- }, function(data) {
- console.log(data);
- });
- } catch (e) {
- layer.alert(e.message);
- }
- });
-});
-```
-
-#### tableToJson参数配置
-
-> 辅助方法:将原生DOM的表格转换为JSON形式的数据
-
-##### 传入参数
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | ------------------------------- | ------ |
-| dom | 原生表格的DOM对象或者jQuery对象 | null |
-
-##### 返回参数
-
-| 参数名称 | 类型 | 描述 |
-| -------- | ----- | ------------------ |
-| head | array | 表格头部的数组数据 |
-| body | array | 表格body的数组数据 |
-
-##### 使用样例
-
-> head是头部数据,body是尾部数据,使用 arr1.push.apply(arr, arr2) 可以合并数组
-
-```javascript
-// 获取头部和body
-var data = LAY_EXCEL.tableToJson(document.getElementById('LAY-EXPORT-TEST')) // 或者 $('#LAY-EXPORT-TEST')
-// console.log(data)
-var exportData = []
-exportData.push.apply(exportData, data.head)
-exportData.push.apply(exportData, data.body)
-// console.log(exportData)
-
-LAY_EXCEL.exportExcel(exportData, '表格导出.xlsx', 'xlsx')
-```
-
-### EXCEL时间处理相关函数
-
-> 时间在 Excel 中以数字的形式存在,具体意义是与 1990-01-01 00:00:00 相比的第几天,比如 1990-01-01 00:00:00 就存为1,1990-01-02 00:00:00 就存为2。为方便操作,插件提供了对应辅助方法:dateCodeFormat('存储的数字', '格式') 、dateFormat('Date对象', '格式')、dateCodeToDate('存储的数字') 方便操作。
-
-#### dateCodeToDate参数配置
-
-> 辅助方法:用于将EXCEL中的时间数字转换为 Date 对象
-
-##### 传入参数
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | --------------------- | ------ |
-| code | EXCEL中存储的时间数字 | |
-
-##### 返回参数
-
-转换过后的Date对象
-
-##### 使用样例
-
-```javascript
-var date = LAY_EXCEL.dateCodeToDate(43737.54167824074)
-console.log(date); // Sun Sep 29 2019 13:00:01 GMT+0800 (中国标准时间)
-```
-
-#### dateCodeFormat参数配置
-
-> 辅助方法:用于将EXCEL中的时间数字转换为对应格式的时间字符串
-
-##### 传入参数
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | --------------------- | ------------------- |
-| code | EXCEL中存储的时间数字 | |
-| format | 日期格式 | YYYY-MM-DD HH:ii:ss |
-
-##### 返回参数
-
-转换后的字符串
-
-##### 支持的替换参数
-
-可以将 format 中的字符串转换为特定含义的数字
-
-| 替换参数 | 含义 |
-| -------- | --------------------- |
-| YY | 二位数的年 |
-| YYYY | 四位数的年 |
-| MM | 二位数的月(补全0) |
-| M | 自然数的月(不补全0) |
-| DD | 二位数的日(补全0) |
-| D | 自然数的日 |
-| HH | 二位数的时(补全0) |
-| H | 自然数的时 |
-| ii | 二位数的分 |
-| i | 自然数的分 |
-| ss | 二位数的秒 |
-| s | 自然数的秒 |
-
-##### 使用样例
-
-```javascript
-var date = LAY_EXCEL.dateCodeFormat(43737.54167824074, 'YYYY-MM-DD HH:ii:ss')
-console.log(date) // "2019-08-00 13:00:01"
-```
-
-#### dateFormat参数配置
-
-> 辅助方法:用于将Date对象转换为对应格式的时间字符串
-
-##### 传入参数
-
-| 参数名称 | 描述 | 默认值 |
-| -------- | -------- | ------------------- |
-| date | Date对象 | |
-| format | 日期格式 | YYYY-MM-DD HH:ii:ss |
-
-##### 返回参数
-
-转换后的字符串
-
-##### 支持的替换参数
-
-与上文相同
-
-##### 使用样例
-
-```javascript
-var date = LAY_EXCEL.dateCodeFormat(new Date(), 'YYYY-MM-DD HH:ii:ss')
-console.log(date) // "2019-09-04 22:39:25"
-```
-
-## 样式设置专区:
-
-#### s属性支持的单元格样式
-
-| 样式属性 | 子属性 | 取值 |
-| :-------------- | :------------- | :------------- |
-| fill | patternType | `"solid"` or `"none"`|
-| | fgColor | `COLOR_SPEC` |
-| | bgColor | `COLOR_SPEC`|
-| font | name | `"Calibri"` // 默认字体 |
-| | sz | `"11"` // 字体大小 |
-| | color | `COLOR_SPEC`|
-| | bold | `true` or `false`|
-| | underline | `true` or `false`|
-| | italic | `true` or `false`|
-| | strike | `true` or `false`|
-| | outline | `true` or `false`|
-| | shadow | `true` or `false`|
-| | vertAlign | `true` or `false`|
-| numFmt | | `"0"` // 内置格式的整数索引,请参见StyleBuilder.SSF属性 |
-| | | `"0.00%"` // 匹配内置格式的字符串,请参阅StyleBuilder.SSF |
-| | | `"0.0%"` // 指定自定义格式的字符串 |
-| | | `"0.00%;\\(0.00%\\);\\-;@"` // 指定自定义格式的字符串,转义特殊字符 |
-| | | `"m/dd/yy"` // 使用Excel的格式表示法字符串日期格式 |
-| alignment | vertical | `"bottom"` or `"center"` or `"top"`|
-| | horizontal | `"bottom"` or `"center"` or `"top"`|
-| | wrapText | `true ` or ` false` // 自动换行 |
-| | readingOrder | `2` // 从右到左 |
-| | textRotation | 从 `0` 到 `180` 或者 `255` (默认为 `0`) |
-| | | `90` 旋转90度 |
-| | | `45` 旋转45度 |
-| | | `135` 反向旋转45度 |
-| | | `180` 旋转180度 |
-| | | `255` 特殊:垂直对齐 |
-| border | top | `{ style: BORDER_STYLE, color: COLOR_SPEC }`|
-| | bottom | `{ style: BORDER_STYLE, color: COLOR_SPEC }`|
-| | left | `{ style: BORDER_STYLE, color: COLOR_SPEC }`|
-| | right | `{ style: BORDER_STYLE, color: COLOR_SPEC }`|
-| | diagonal | `{ style: BORDER_STYLE, color: COLOR_SPEC }`|
-| | diagonalUp | `true` or `false`|
-| | diagonalDown | `true` or `false`|
-
-**COLOR_SPEC**: 可以设置在 `fill`, `font`, 和 `border` 属性中,是一个对象:
-
-* `{ auto: 1}` 指定自动值(楼主认为,应该是默认为白色的意思)
-* `{ rgb: "FFFFAA00" }` 指定16进制 ARGB 的值(PS:ARGB,前两个16进制是透明度,比如不透明红色:FFFF0000)
-* `{ theme: "1", tint: "-0.25"}` 指定主题颜色和色调值的整数索引(默认值为0)(PS:楼主也明白嘛意思)
-* `{ indexed: 64}` 是 `fill.bgColor`属性的默认值,看着应该像索引之类的
-
-**BORDER_STYLE**: 边框支持以下几种样式:
-
- * `thin`(细边框)
- * `medium`(中等)
- * `thick`(厚)
- * `dotted`(点线)
- * `hair`(毛)
- * `dashed`(虚线)
- * `mediumDashed`(中等宽度虚线)
- * `dashDot`( 点)
- * `mediumDashDot`(中等宽度点)
- * `dashDotDot`(虚线带点)
- * `mediumDashDotDot`(中等虚线带点)
- * `slantDashDot`(倾斜虚线点--楼主也没明白啥意思╮(╯▽╰)╭)
-
-##### 合并区域边框
-
-合并区域的边框是为合并区域内的每个单元格指定的。因此,要将框边框应用于3x3单元格的合并区域,需要为八个不同的单元格指定边框样式:
-
-* 左边三个单元格的左边框,
-* 右侧三个单元格的右边框
-* 顶部单元格的顶部边框
-* 左侧单元格的底部边框
-
-## 提效建议:
-
-> 数据规模:前端导出**纯数据 9列10w** 的数据量需要 **7秒左右**的时间,**30W数据占用1.8G,耗时24秒**,普通电脑**最多能导出50w数据,耗时45秒**,文件大小173M,提示内存超限
-
-- 如果数据量比较大,**并且不涉及样式**,最好直接转换为纯数组+CSV的导出,可以省去 filterExportData 和 组装样式的时间和内存(PS:效率提升不算太大,30W数据能提速2s左右,资源主要消耗在调用 XLSX.js之后)
-- 一般 exportExcel 会放在 $.ajax() 等异步调用中,如果有需要在点击后纯前端生成Excel,可以使用 async、setTimeout等方式实现异步导出,否则会阻塞主进程。
-
-## 功能概览:
-
-- 支持梳理导出的数据并导出多种格式数据
-- 支持IE、火狐、chrome等主流浏览器
-- 普通工作电脑最多支持9列45W行数据规模的导出
-- 支持 xlx、xlsx、csv格式的前端数据读取以及数据梳理
-- 支持单个文件多个 sheet 的导出
-- 提供方便的列合并辅助方法
-- 支持单元格样式设置
-- 支持设置单元格宽度和高度并提供辅助方法方便使用
-- 支持公式、链接等单元格属性设置
-- 支持压缩,支持设置边距
-
-## 使用方法:
-
-> 注意:此扩展需先引入layui.js方可正常使用。demo详见index.html
-
-##### js使用样例:
-
-```javascript
-// 注:lay_exts/ 为扩展中所有文件的存放路径
-layui.config({
- base: 'lay_exts/',
-}).extend({
- excel: 'excel',
-});
-layui.use(['jquery', 'excel', 'layer'], function() {
- var $ = layui.jquery;
- var layer = layui.layer;
- var excel = layui.excel;
-
- // 模拟从后端接口读取需要导出的数据
- $.ajax({
- url: 'list.json'
- ,dataType: 'json'
- ,success(res) {
- var data = res.data;
- // 重点!!!如果后端给的数据顺序和映射关系不对,请执行梳理函数后导出
- data = excel.filterExportData(data, [
- 'id'
- ,'username'
- ,'experience'
- ,'sex'
- ,'score'
- ,'city'
- ,'classify'
- ,'wealth'
- ,'sign'
- ]);
- // 重点2!!!一般都需要加一个表头,表头的键名顺序需要与最终导出的数据一致
- data.unshift({ id: "ID", username: "用户名", experience: '积分', sex: '性别', score: '评分', city: '城市', classify: '职业', wealth: '财富', sign: '签名' });
-
- var timestart = Date.now();
- excel.exportExcel(data, '导出接口数据', 'xlsx');
- var timeend = Date.now();
-
- var spent = (timeend - timestart) / 1000;
- layer.alert('单纯导出耗时 '+spent+' s');
- }
- ,error() {
- layer.alert('获取数据失败,请检查是否部署在本地服务器环境下');
- }
- });
- });
-```
-
-##### 导出数据返回样例:
-
-> 此数据来自 layui 官方的表格样例
-
-```json
-{
- "code":0,
- "msg":"",
- "count":3,
- "data":[
- {
- "id":10000,
- "username":"user-0",
- "sex":"女",
- "city":"城市-0",
- "sign":"签名-0",
- "experience":255,
- "logins":24,
- "wealth":82830700,
- "classify":"作家",
- "score":57
- },
- {
- "id":10001,
- "username":"user-1",
- "sex":"男",
- "city":"城市-1",
- "sign":"签名-1",
- "experience":884,
- "logins":58,
- "wealth":64928690,
- "classify":"词人",
- "score":27
- },
- {
- "id":10002,
- "username":"user-2",
- "sex":"女",
- "city":"城市-2",
- "sign":"签名-2",
- "experience":650,
- "logins":77,
- "wealth":6298078,
- "classify":"酱油",
- "score":31
- }
- ]
-}
-```
-
-## 更新预告:
-
-v1.7 分段递归获取数据函数封装,分段压缩打包功能,常见问题整理,单元测试覆盖,CI/CD
-
-## 更新记录:
-
-2019-10-03 v1.6 支持快速设置边框,支持压缩,支持CSV,支持边距设置,DEMO贡献模块,替换官方的导出功能,支持导出原生table,非Layui调用,导出时间转换,README文件优化
-
-2019-03-11 v1.5 打包依赖方便使用并增加兼容性,支持花式设置样式,正式支持导入,修复各种BUG
-
-2019-01-13 v1.4 魔改xlsx-style以支持设置样式、列宽、行高、公式等,并提供相应的辅助方法生成需要的配置信息
-
-2019-01-09 v1.3 支持导出多个sheet,合并导出的列
-
-2019-01-04 v1.2 支持前端多文件多Sheet读取 Excel 数据并梳理数据格式,大量数据导出效率优化
+## 特别感谢
-2018-12-29 v1.1 重写内部下载逻辑,支持IE、Firefox、chrome等主流浏览器,梳理数据函数支持回调
+感谢layui社区的小伙伴们的使用及建议,还有交流群中反馈各种问题和积极回复问题的群友们,以及github上提ISSUE、PR的小伙伴们~
-2018-12-14 v1.0 最初版本
+## 开源协议
-## 特别感谢
+LAY-EXCEL is licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/GitbookIO/gitbook/blob/master/LICENSE) for the full license text.
-感谢layui社区的小伙伴们的回复,以及交流群中反馈各种问题和积极回复问题的群友们,还有github上提ISSUE、PR的小伙伴们~
+
\ No newline at end of file
diff --git a/SUMMARY.md b/SUMMARY.md
new file mode 100644
index 0000000..81937c6
--- /dev/null
+++ b/SUMMARY.md
@@ -0,0 +1,16 @@
+# Summary
+
+* [概览](README.md)
+ * [功能概览](docs/功能概览.md)
+ * [赞赏支持](docs/赞赏支持.md)
+ * [贡献DEMO](docs/贡献DEMO.md)
+ * [常见问题](docs/常见问题.md)
+ * [参与开发](docs/参与开发.md)
+ * [更新记录](docs/更新记录.md)
+* [快速上手](docs/快速上手.md)
+* [函数列表](docs/函数列表/README.md)
+ * [重要函数参数配置](docs/函数列表/重要函数参数配置.md)
+ * [EXCEL时间处理函数](docs/函数列表/EXCEL时间处理函数.md)
+* [样式设置专区](docs/样式设置专区.md)
+* [交流反馈](docs/交流反馈.md)
+
diff --git a/book.json b/book.json
new file mode 100644
index 0000000..b1b943b
--- /dev/null
+++ b/book.json
@@ -0,0 +1,37 @@
+{
+ "author": "Jeffrey Wang ",
+ "description": "This is a doc created by gitbook",
+ "extension": null,
+ "generator": "site",
+ "isbn": "",
+ "links": {
+ "sharing": {
+ "all": null,
+ "facebook": null,
+ "google": null,
+ "twitter": null,
+ "weibo": null
+ },
+ "sidebar": {
+ "作者博客": "https://blog.wj2015.com",
+ "功能演示": "http://excel.wj2015.com"
+ }
+ },
+ "output": null,
+ "pdf": {
+ "fontSize": 12,
+ "footerTemplate": null,
+ "headerTemplate": null,
+ "margin": {
+ "bottom": 36,
+ "left": 62,
+ "right": 62,
+ "top": 36
+ },
+ "pageNumbers": false,
+ "paperSize": "a4"
+ },
+ "plugins": [],
+ "title": "LAY-EXCEL 插件文档",
+ "variables": {}
+}
diff --git a/docs/assets/1566996326664.png b/docs/assets/1566996326664.png
new file mode 100644
index 0000000..c5bd0b5
Binary files /dev/null and b/docs/assets/1566996326664.png differ
diff --git "a/docs/\344\272\244\346\265\201\345\217\215\351\246\210.md" "b/docs/\344\272\244\346\265\201\345\217\215\351\246\210.md"
new file mode 100644
index 0000000..f4a5a20
--- /dev/null
+++ "b/docs/\344\272\244\346\265\201\345\217\215\351\246\210.md"
@@ -0,0 +1,7 @@
+# 交流反馈
+
+##### 作者邮箱:[admin@wj2015.com](mailto:admin@wj2015.com)
+
+**QQ群号:** 555056599
+
+![QQ交流群](../qq_group_qrcode.png)
\ No newline at end of file
diff --git "a/docs/\345\207\275\346\225\260\345\210\227\350\241\250/EXCEL\346\227\266\351\227\264\345\244\204\347\220\206\345\207\275\346\225\260.md" "b/docs/\345\207\275\346\225\260\345\210\227\350\241\250/EXCEL\346\227\266\351\227\264\345\244\204\347\220\206\345\207\275\346\225\260.md"
new file mode 100644
index 0000000..f0a0d64
--- /dev/null
+++ "b/docs/\345\207\275\346\225\260\345\210\227\350\241\250/EXCEL\346\227\266\351\227\264\345\244\204\347\220\206\345\207\275\346\225\260.md"
@@ -0,0 +1,93 @@
+# EXCEL时间处理函数
+
+> 时间在 Excel 中以数字的形式存在,具体意义是与 1990-01-01 00:00:00 相比的第几天,比如 1990-01-01 00:00:00 就存为1,1990-01-02 00:00:00 就存为2。为方便操作,插件提供了对应辅助方法:dateCodeFormat('存储的数字', '格式') 、dateFormat('Date对象', '格式')、dateCodeToDate('存储的数字') 方便操作。
+
+#### dateCodeToDate参数配置
+
+> 辅助方法:用于将EXCEL中的时间数字转换为 Date 对象
+
+##### 传入参数
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | --------------------- | ------ |
+| code | EXCEL中存储的时间数字 | |
+
+##### 返回参数
+
+转换过后的Date对象
+
+##### 使用样例
+
+```javascript
+var date = LAY_EXCEL.dateCodeToDate(43737.54167824074)
+console.log(date); // Sun Sep 29 2019 13:00:01 GMT+0800 (中国标准时间)
+```
+
+#### dateCodeFormat参数配置
+
+> 辅助方法:用于将EXCEL中的时间数字转换为对应格式的时间字符串
+
+##### 传入参数
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | --------------------- | ------------------- |
+| code | EXCEL中存储的时间数字 | |
+| format | 日期格式 | YYYY-MM-DD HH:ii:ss |
+
+##### 返回参数
+
+转换后的字符串
+
+##### 支持的替换参数
+
+可以将 format 中的字符串转换为特定含义的数字
+
+| 替换参数 | 含义 |
+| -------- | --------------------- |
+| YY | 二位数的年 |
+| YYYY | 四位数的年 |
+| MM | 二位数的月(补全0) |
+| M | 自然数的月(不补全0) |
+| DD | 二位数的日(补全0) |
+| D | 自然数的日 |
+| HH | 二位数的时(补全0) |
+| H | 自然数的时 |
+| ii | 二位数的分 |
+| i | 自然数的分 |
+| ss | 二位数的秒 |
+| s | 自然数的秒 |
+
+##### 使用样例
+
+```javascript
+var date = LAY_EXCEL.dateCodeFormat(43737.54167824074, 'YYYY-MM-DD HH:ii:ss')
+console.log(date) // "2019-08-00 13:00:01"
+```
+
+#### dateFormat参数配置
+
+> 辅助方法:用于将Date对象转换为对应格式的时间字符串
+
+##### 传入参数
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | -------- | ------------------- |
+| date | Date对象 | |
+| format | 日期格式 | YYYY-MM-DD HH:ii:ss |
+
+##### 返回参数
+
+转换后的字符串
+
+##### 支持的替换参数
+
+与上文相同
+
+##### 使用样例
+
+```javascript
+var date = LAY_EXCEL.dateCodeFormat(new Date(), 'YYYY-MM-DD HH:ii:ss')
+console.log(date) // "2019-09-04 22:39:25"
+```
+
+##
\ No newline at end of file
diff --git "a/docs/\345\207\275\346\225\260\345\210\227\350\241\250/README.md" "b/docs/\345\207\275\346\225\260\345\210\227\350\241\250/README.md"
new file mode 100644
index 0000000..b460d46
--- /dev/null
+++ "b/docs/\345\207\275\346\225\260\345\210\227\350\241\250/README.md"
@@ -0,0 +1,24 @@
+# 函数列表
+
+> 仅做函数用途介绍,具体使用方法请见 『[重要函数参数配置](重要函数参数配置.md)』
+
+| 函数名 | 描述 | 索引 |
+| --------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------ |
+| **exportExcel(data, filename, type, opt)** | 导出数据,并弹出指定文件名的下载框 | [exportExcel参数配置](重要函数参数配置.md#exportexcel%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| downloadExl(data, filename, type) | 快速导出excel,无需指定 sheet_name 和文件后缀 | [downloadExl参数配置](重要函数参数配置.md#downloadexl%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| **filterExportData(data, fields)** | 梳理导出的数据,包括字段排序和多余数据 | [filterExportData参数配置](重要函数参数配置.md#filterexportdata%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| **importExcel(files, opt, callback)** | 读取Excel,支持多文件多表格读取 | [importExcel参数配置](重要函数参数配置.md#importexcel%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| **makeMergeConfig(origin)** | 生成合并的配置参数,返回结果需放置于opt.extend['!merges']中 | [makeMergeConfig参数配置](重要函数参数配置.md#makemergeconfig%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| **setExportCellStyle(data, range, config, filter)** | 为sheet级别数据批量设置单元格属性 | [setExportCellStyle参数配置](重要函数参数配置.md#setExportCellStyle%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| makeColConfig(data, defaultNum) | 生成列宽配置,返回结果需放置于opt.extend['!cols']中 | [makeColConfig参数配置](重要函数参数配置.md#makecolconfig%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| makeRowConfig(data, defaultNum) | 生成行高配置,返回结果需放置于opt.extend['!rows'] | [makeRowConfig参数配置](重要函数参数配置.md#makerowconfig%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| tableToJson(dom) | 将原生table转换为JSON格式 | [tableToJson参数配置](重要函数参数配置.md#tabletojson%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| **setRoundBorder(data, range ,config)** | 设置范围环绕的边框 | [setRoundBorder参数配置](重要函数参数配置.md#setRoundBorder%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| dateCodeToDate(code) | EXCEL日期码转换为Date对象 | [dateCodeToDate参数配置](重要函数参数配置.md#dateCodeToDate%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| dateFormat(date, format) | Date 对象格式化 | [dateFormat参数配置](重要函数参数配置.md#dateFormat%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| dateCodeFormat(code, format) | EXCEL日期码转换为格式化字符串 | [dateCodeFormat参数配置](重要函数参数配置.md#dateCodeFormat%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE) |
+| filterDataToAoaData(sheet_data) | 将单个sheet的映射数组数据转换为加速导出效率的aoa数据 | 无 |
+| filterImportData(data, fields) | 梳理导入的数据,字段含义与 filterExportData 类似 | 无 |
+| numToTitle(num) | 将1/2/3...转换为A/B/C/D.../AA/AB/.../ZZ/AAA形式 | 无 |
+| titleToNum(title) | 将A、B、AA、ABC转换为 1、2、3形式的数字 | 无 |
+| splitPosition(pos) | 将A1分离成 {c: 0, r: 1} 格式的数据 | 无 |
\ No newline at end of file
diff --git "a/docs/\345\207\275\346\225\260\345\210\227\350\241\250/\351\207\215\350\246\201\345\207\275\346\225\260\345\217\202\346\225\260\351\205\215\347\275\256.md" "b/docs/\345\207\275\346\225\260\345\210\227\350\241\250/\351\207\215\350\246\201\345\207\275\346\225\260\345\217\202\346\225\260\351\205\215\347\275\256.md"
new file mode 100644
index 0000000..2abb5c6
--- /dev/null
+++ "b/docs/\345\207\275\346\225\260\345\210\227\350\241\250/\351\207\215\350\246\201\345\207\275\346\225\260\345\217\202\346\225\260\351\205\215\347\275\256.md"
@@ -0,0 +1,469 @@
+# 重要函数参数配置
+
+#### exportExcel参数配置
+
+> 核心方法,用于将 data 数据依次导出,如果需要调整导出后的文件字段顺序或者过滤多余数据,请查看 filterExportData 方法
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | ------------------------------------------------ | ------ |
+| data | 数据列表(需要指定表名) | 必填 |
+| filename | 文件名称(带后缀) | 必填 |
+| type | 导出类型,支持 xlsx、csv、ods、xlsb、fods、biff2 | xlsx |
+| opt | 其他可选配置 | null |
+
+##### data样例:
+
+```javascript
+{
+ "sheet1": [
+ {name: '111', sex: 'male'},
+ {name: '222', sex: 'female'},
+ ]
+}
+```
+
+##### opt支持的配置项
+
+| 参数名称 | 描述 | 默认值 |
+| --------------- | ------------------------------------------------------------ | ------ |
+| opt.Props | 配置文档基础属性,支持Title、Subject、Author、Manager、Company、Category、Keywords、Comments、LastAuthor、CreatedData | null |
+| opt.extend | 表格配置参数,支持 `!merge` (合并单元格信息)、`!cols`(行数)、`!protect`(写保护)等,[原生配置请参考](https://github.com/SheetJS/js-xlsx#worksheet-object),其中 `!merge` 配置支持辅助方法生成,详见 `makeMergeConfig(origin)`! | null |
+| opt.compression | 是否压缩,压缩效果比较明显,建议开启(9列9w行有较多重复的数据,从 30M 缩小到 3M) | true |
+
+> 如果想指定某个 sheet 的opt.extend,请按照 'sheet名称' => {单独配置},如:
+
+```javascript
+excel.exportExcel({
+ sheet1: data,
+ sheet2: data
+}, '测试导出复杂表头.xlsx', 'xlsx', {
+ extend: {
+ // extend 中可以指定某个 sheet 的属性,如果不指定 sheet 则所有 sheet 套用同一套属性
+ sheet1: {
+ // 以下配置仅 sheet1 有效
+ '!merges': mergeConf
+ ,'!cols': colConf
+ ,'!rows': rowConf
+ }
+ }
+});
+```
+
+#### downloadExl参数配置
+
+> 兼容旧用法,用于快速导出数据,无需指定 sheet_name,无需指定后缀名,其余跟 `exportExcel` 用法相同。
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | -------------------------------- | ------ |
+| data | 导出的数据 | |
+| filename | 不带后缀名的文件名 | |
+| type | 导出类型(自动拼接在filename后) | |
+
+#### filterExportData参数配置
+
+> 辅助方法,梳理导出的数据,包括字段排序和多余数据过滤
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | ------------------------------------------------ | ------ |
+| data | 需要梳理的数据 | 必填 |
+| fields | 支持数组、对象和回调函数,用于映射关系和字段排序 | 必填 |
+
+> fields参数设计
+
+在实际使用的过程中,后端给的参数多了,或者字段数据不符合导出要求,这都是很常见的情况。为了导出数据的顺序正确和数据映射正确,于是新增了这个方法。
+
+fields 用于表示对象中的属性顺序和映射关系,支持『数组』和『对象』两种方式
+
+假如后台给出了这样的数据:
+
+```json
+{
+ "code":0,
+ "msg":"",
+ "count":3,
+ "data":[
+ {
+ "id":10000,
+ "username":"user-0",
+ "sex":"女",
+ "city":"城市-0",
+ "sign":"签名-0",
+ "experience":255,
+ "logins":24,
+ "wealth":82830700,
+ "classify":"作家",
+ "score":57,
+ "start": "2018-12-29",
+ "end": "2018-12-30"
+ }
+ ]
+}
+```
+
+**数组方式:**
+
+仅用于排序、字段过滤,比如我希望的导出顺序和字段是:
+
+`id`、`sex`、`username`、`city`
+
+那么,我可以这样写:
+
+```javascript
+var data = [];// 假设的后台的数据
+data = excel.filterExportData(data, ['id', 'sex', 'username', 'city']);
+excel.exportExcel(data, '导出测试.xlsx', 'xlsx');
+```
+
+**对象方式:**
+
+> 巧记:对象左侧是新名称,右侧是老名称或者回调函数(左新右旧)
+
+可以用于排序、重命名字段、字段过滤,比如我希望 `username` 字段重命名为 `name`,保留 `sex` 和 `city` 字段
+
+那么,我可以这样写:
+
+```javascript
+var data = [];// 假设的后台的数据
+data = excel.filterExportData(data, {
+ name: 'username',
+ sex:'sex',
+ city: 'city'
+});
+excel.exportExcel(data, '导出测试.xlsx', 'xlsx');
+```
+
+##### 回调方式:
+
+> 口诀:左新右旧
+
+可以用于排序、重命名字段、字段过滤、自定义列、批量渲染样式,比如我希望 `range` 由 `start` `end` 聚合并以 `~` 分割;修改 `score` 为原有值的 10倍,并且 `username` 字段重命名为 `name`,保留 `sex` 和 `city` 字段,`city` 所有单元格变为**加粗+居中+红底白字**(可用样式请参见『样式设置专区』)。
+
+那么,我可以这样写:
+
+```javascript
+var data = [];// 假设的后台的数据
+data = excel.filterExportData(data, {
+ name: 'username',
+ sex:'sex',
+ city: function(value, line, data) {
+ return {
+ v: value,// v 代表单元格的值
+ s:{// s 代表样式
+ alignment: {
+ horizontal: 'center',
+ vertical: 'center',
+ },
+ font: { sz: 14, bold: true, color: { rgb: "FFFFFF" } },
+ fill: { bgColor: { indexed: 64 }, fgColor: { rgb: "FF0000" }}
+ },
+ };
+ },
+ range: function(value, line, data) {
+ return line['start'] + '~' + line['end'];
+ },
+ score: function(value, line, data) {
+ return value * 10;
+ }
+});
+excel.exportExcel(data, '导出测试.xlsx', 'xlsx');
+```
+
+##### 单元格属性含义
+
+| Key | Description |
+| ---- | ------------------------------------------------------------ |
+| `v` | 单元格的值 |
+| `w` | 格式化文本(如果适用) |
+| `t` | 单元格类型: `b` 布尔值, `n` 数字, `e` 错误, `s` 字符, `d` 日期 |
+| `f` | 单元格公式(如果适用) |
+| `r` | 富文本编码(如果适用) |
+| `h` | 富文本的HTML呈现(如果适用) |
+| `c` | 与单元格相关的注释 |
+| `z` | 与单元格关联的数字格式字符串(如果需要) |
+| `l` | 单元格超链接对象(目标链接,.tooltip是提示) |
+| `s` | 单元格的样式/主题(如果适用) |
+
+##### 公式设置样例:
+
+> 注意:网页导出的xlsx,在 Microsoft Excel 呈保护模式打开,导致公式的值不显示,此时将受保护模式关掉即可!
+
+对于复杂的公式,楼主也不甚了解,以普通公式 `=SUM(A1, A10)` 为例,在插件中只需要将单元格的属性设置为:`{t: 'n', f: 'SUM(A1:A10)'}`,比如我想加一个总览行就可以这样追加数据:
+
+```javascript
+// 4. 公式的用法
+data.push({
+ id: '',
+ username: '总年龄',
+ age: {t: 'n', f: 'SUM(C4:C10)'},
+ sex: '总分',
+ score: {t: 'n', f: 'SUM(E4:E10)'},
+ classify: ''
+});
+```
+
+官方公式相关文档:[https://github.com/SheetJS/js-xlsx#formulae](https://github.com/SheetJS/js-xlsx#formulae)
+
+#### setExportCellStyle参数配置
+
+> 辅助方法:为 sheet 级别的数据批量设置单元格属性
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | ------------------------------------------------------------ | ------------------------ |
+| data | sheet级别的数据 | |
+| range | 范围字符串,比如`" A1:C12"`表示开始位置默认 A1,结束位置C12 | 数据范围内左上角到右下角 |
+| config | 批量设置的单元格属性,会与之前的样式合并 | |
+| filter | 回调函数,传递函数生效,返回值作为新的值(可用于过滤、规则替换样式等骚操作)**『非必填参数』** | |
+
+##### filter入参列表
+
+> 此参数选填,如果不传入则直接按照规则覆盖
+
+| 参数名称 | 描述 |
+| ---------- | ---------------------------------------- |
+| cell | 原有单元格数据 |
+| newCell | 根据批量设置规则自动生成样式的单元格数据 |
+| row | 所在行数据 |
+| config | 传入的配置 |
+| currentCol | 当前列索引 |
+| fieldKey | 当前字段key |
+
+##### 调用样例(更多用法可参考 index.js 中的样例)
+
+```javascript
+// 1. 假设的梳理后的后台的数据(省略filter函数梳理)
+var data = [
+ { username: '520',sex: '男', city: 'J', 'score': 100, 'start': '2019-03-11' },
+ { username: '520',sex: '女', city: 'X', 'score': 100, 'start': '2019-03-11' },
+ { username: '520',sex: '男', city: '上海', 'score': 100, 'start': '2019-03-11' }
+];
+// 2. 调用设置样式的函数,传入设置的范围,支持回调
+excel.setExportCellStyle(data, 'A1:C3', {
+ s: {
+ fill: { bgColor: { indexed: 64 }, fgColor: { rgb: "FF0000" } },
+ alignment: {
+ horizontal: 'center',
+ vertical: 'center'
+ }
+ }
+}, function(cell, newCell, row, config, currentRow, currentCol, fieldKey) {
+ // 回调参数,cell:原有数据,newCell:根据批量设置规则自动生成的样式,row:所在行数据,config:传入的配置,currentRow:当前行索引,currentCol:当前列索引,fieldKey:当前字段索引
+ return ((currentRow + currentCol) % 2 === 0) ? newCell : cell;// 隔行隔列上色
+} );
+// 3. 导出数据
+excel.exportExcel(data, '批量设置样式.xlsx', 'xlsx');
+```
+
+#### setRoundBorder参数配置
+
+> 辅助方法:设置范围内环绕的边框
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | ------------------------------------------------------------ | --------------------------------------------- |
+| data | Sheet级别的数据 | [] |
+| range | 范围字符串,如 A1:C12,默认从左上角到右下角 | "A1:C12" |
+| config | border 上下左右属性配置信息(对角线的三个属性被下放到left/right/top/bottom下) | {top: {xxx}, bottom: {}, left: {}, right: {}} |
+
+##### 调用样例
+
+```javascript
+LAY_EXCEL.setRoundBorder(list, 'A1:C2', {
+ top: {style: 'thick', color: {rgb: 'FFFF0000'}},
+ bottom: {style: 'thick', color: {rgb: 'FFFF0000'}},
+ left: {style: 'thick', color: {rgb: 'FFFF0000'}},
+ right: {style: 'thick', color: {rgb: 'FFFF0000'}}
+});
+```
+
+#### makeMergeConfig参数配置
+
+> 辅助方法:用于生成合并表格的配置项,注意需要传入到 exportExcel 的 opt.extend['!merge'] 中
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | -------- | ------ |
+| origin | 二维数组 | null |
+
+##### origin数据样例
+
+> 表示合并 A1~E1 行,并且合并 A2~D4行
+
+```javascript
+var mergeConf = excel.makeMergeConfig([
+ ['A1', 'E1'],
+ ['A2', 'D4']
+]);
+excel.exportExcel({
+ sheet1: data
+}, '测试导出复杂表头.xlsx', 'xlsx', {
+ extend: {
+ // 复杂表头合并[A1,E1][A2, D4]
+ '!merges': mergeConf
+ }
+});
+```
+
+##### 调用样例
+
+请见下方『使用方法』
+
+#### makeColConfig参数配置
+
+> 辅助方法:生成列宽配置,返回结果需放置于opt.extend['!cols']中
+
+| 参数名称 | 描述 | 默认值 |
+| ---------- | ----------------------------------------------------- | ------ |
+| data | 一个对象,对象的key代表列(如:ABCDE),value代表宽度 | null |
+| defaultNum | 渲染过程中未指定单元格的默认宽度 | 60 |
+
+##### 使用样例
+
+> key表示列,value表示宽,剩余宽度取默认值,特别注意要放在 opt.extend['!cols'] 中
+
+```javascript
+// 意思是:A列40px,B列60px(默认),C列120px,D、E、F等均未定义
+var colConf = excel.makeColConfig({
+ 'A': 40,
+ 'C': 120
+}, 80);
+excel.exportExcel({
+ sheet1: data
+}, '测试导出复杂表头.xlsx', 'xlsx', {
+ extend: {
+ '!cols': colConf
+ }
+});
+```
+
+#### makeRowConfig参数配置
+
+> 辅助方法:生成列宽配置,返回结果需放置于opt.extend['!rows']中
+
+| 参数名称 | 描述 | 默认值 |
+| ---------- | ------------------------------------------------------------ | ------ |
+| data | 一个对象,对象的key代表从1开始的行(如:1234),value代表高度 | null |
+| defaultNum | 渲染过程中未指定单元格的默认宽度 | 60 |
+
+##### 使用样例
+
+> key表示行,value表示高度,剩余高度取默认值,特别注意要放在 opt.extend['!rows'] 中
+
+```javascript
+// 意思是:1行40px,2行60px(默认),3行120px,4/5/6/7等行均未定义
+var rowConf = excel.makeRowConfig({
+ 1: 40,
+ 3: 120
+}, 80);
+excel.exportExcel({
+ sheet1: data
+}, '测试导出复杂表头.xlsx', 'xlsx', {
+ extend: {
+ '!rows': rowConf
+ }
+});
+```
+
+#### importExcel参数配置
+
+> 核心方法,用于读取用户选择的Excel信息,文件读取基于 FileReader,所以对浏览器版本要求较高
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | ------------------------------------------------------------ | --------- |
+| files | 上传文件DOM对象的 files 属性 | undefined |
+| opt | 导出参数配置,详见下方描述 | undefined |
+| callback | 完全读取完毕的回调函数,传入一个参数「data」表示所有数据的集合 | undefined |
+
+##### opt参数配置
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | ------------------------------------------------------------ | ------ |
+| header | 导入参数的headers,支持"A"、1等,[详见XLSX官方文档](https://github.com/SheetJS/js-xlsx#json) | A |
+| range | 读取的范围,支持数字、字符等,[详见XLSX官方文档](https://github.com/SheetJS/js-xlsx#json) | null |
+| fields | 可以在读取的过程中进行数据梳理,参数意义请参见「filterExportData参数配置」 | null |
+
+> 由于处理过程中会抛出一些异常,所以请使用 try{}catch(e){}接收并提示用户!
+>
+> 如果对导出数据格式的键不满意,可以有两种方式梳理:
+>
+> 1. 调用 filterImportData(data, fields)
+> 2. 直接在 importExcel() 的 opt 配置中进行数据梳理
+
+##### 调用样例
+
+```javascript
+$(function(){
+ // 监听上传文件的事件
+ $('#LAY-excel-import-excel').change(function(e) {
+ var files = e.target.files;
+ try {
+ // 方式一:先读取数据,后梳理数据
+ excel.importExcel(files, {}, function(data) {
+ console.log(data);
+ data = excel.filterImportData(data, {
+ 'id': 'A'
+ ,'username': 'B'
+ ,'experience': 'C'
+ ,'sex': 'D'
+ ,'score': 'E'
+ ,'city': 'F'
+ ,'classify': 'G'
+ ,'wealth': 'H'
+ ,'sign': 'I'
+ })
+ console.log(data);
+ });
+ // 方式二:可以在读取过程中梳理数据
+ excel.importExcel(files, {
+ fields: {
+ 'id': 'A'
+ ,'username': 'B'
+ ,'experience': 'C'
+ ,'sex': 'D'
+ ,'score': 'E'
+ ,'city': 'F'
+ ,'classify': 'G'
+ ,'wealth': 'H'
+ ,'sign': 'I'
+ }
+ }, function(data) {
+ console.log(data);
+ });
+ } catch (e) {
+ layer.alert(e.message);
+ }
+ });
+});
+```
+
+#### tableToJson参数配置
+
+> 辅助方法:将原生DOM的表格转换为JSON形式的数据
+
+##### 传入参数
+
+| 参数名称 | 描述 | 默认值 |
+| -------- | ------------------------------- | ------ |
+| dom | 原生表格的DOM对象或者jQuery对象 | null |
+
+##### 返回参数
+
+| 参数名称 | 类型 | 描述 |
+| -------- | ----- | ------------------ |
+| head | array | 表格头部的数组数据 |
+| body | array | 表格body的数组数据 |
+
+##### 使用样例
+
+> head是头部数据,body是尾部数据,使用 arr1.push.apply(arr, arr2) 可以合并数组
+
+```javascript
+// 获取头部和body
+var data = LAY_EXCEL.tableToJson(document.getElementById('LAY-EXPORT-TEST')) // 或者 $('#LAY-EXPORT-TEST')
+// console.log(data)
+var exportData = []
+exportData.push.apply(exportData, data.head)
+exportData.push.apply(exportData, data.body)
+// console.log(exportData)
+
+LAY_EXCEL.exportExcel(exportData, '表格导出.xlsx', 'xlsx')
+```
+
+###
\ No newline at end of file
diff --git "a/docs/\345\212\237\350\203\275\346\246\202\350\247\210.md" "b/docs/\345\212\237\350\203\275\346\246\202\350\247\210.md"
new file mode 100644
index 0000000..54f97bb
--- /dev/null
+++ "b/docs/\345\212\237\350\203\275\346\246\202\350\247\210.md"
@@ -0,0 +1,14 @@
+# 功能概览
+
+- 支持梳理导出的数据并导出多种格式数据
+- 支持IE、火狐、chrome等主流浏览器
+- 普通工作电脑最多支持9列45W行数据规模的导出
+- 支持 xlx、xlsx、csv格式的前端数据读取以及数据梳理
+- 支持单个文件多个 sheet 的导出
+- 提供方便的列合并辅助方法
+- 提供方便的样式设置方法以及边框辅助方法
+- 支持单元格样式设置
+- 支持设置单元格宽度和高度并提供辅助方法方便使用
+- 支持公式、链接等单元格属性设置
+- 支持压缩,支持设置边距
+
diff --git "a/docs/\345\217\202\344\270\216\345\274\200\345\217\221.md" "b/docs/\345\217\202\344\270\216\345\274\200\345\217\221.md"
new file mode 100644
index 0000000..cca54b1
--- /dev/null
+++ "b/docs/\345\217\202\344\270\216\345\274\200\345\217\221.md"
@@ -0,0 +1,2 @@
+# 参与开发
+
diff --git "a/docs/\345\270\270\350\247\201\351\227\256\351\242\230.md" "b/docs/\345\270\270\350\247\201\351\227\256\351\242\230.md"
new file mode 100644
index 0000000..c91f0dc
--- /dev/null
+++ "b/docs/\345\270\270\350\247\201\351\227\256\351\242\230.md"
@@ -0,0 +1,16 @@
+# 常见问题
+
+> 环境提示:预览代码需要部署在服务器下,不然无法异步获取需要导出的数据
+
+> 版本更新提示:如果使用 v1.2 以前的版本,filterExportData 的映射关系有所调整,请注意
+
+> 非Layui环境使用:**需要先加载 jQuery,再加载 layui_exts/excel.min.js,随后使用全局变量 LAY_EXCEL 调用函数**
+
+> 特别注意:**不能直接在IFRAME里边直接调用导出方法,因为浏览器会限制这种导出行为,如有遇到此类情况,可使用 parent.layui.excel.exportExcel() 的方式调用父级页面函数以避免这个问题(父页面需要先加载插件)**
+
+## 提效建议:
+
+> 数据规模:前端导出**纯数据 9列10w** 的数据量需要 **7秒左右**的时间,**30W数据占用1.8G,耗时24秒**,普通电脑**最多能导出50w数据,耗时45秒**,文件大小173M,提示内存超限
+
+- 如果数据量比较大,**并且不涉及样式**,最好直接转换为纯数组+CSV的导出,可以省去 filterExportData 和 组装样式的时间和内存(PS:效率提升不算太大,30W数据能提速2s左右,资源主要消耗在调用 XLSX.js之后)
+- 一般 exportExcel 会放在 $.ajax() 等异步调用中,如果有需要在点击后纯前端生成Excel,可以使用 async、setTimeout等方式实现异步导出,否则会阻塞主进程。
\ No newline at end of file
diff --git "a/docs/\345\277\253\351\200\237\344\270\212\346\211\213.md" "b/docs/\345\277\253\351\200\237\344\270\212\346\211\213.md"
new file mode 100644
index 0000000..6ab11a0
--- /dev/null
+++ "b/docs/\345\277\253\351\200\237\344\270\212\346\211\213.md"
@@ -0,0 +1,88 @@
+# 快速上手
+
+> 由于插件规模扩大和功能的增加,导致插件上手难度有一定的增加。但如果只使用核心功能,其实没有必要去研究插件的所有方法,故在此把此插件解决核心需求的方法展示出来。
+
+#### 试一试:一句话导出 Hello World
+
+> 在 [http://excel.wj2015.com](http://excel.wj2015.com) 下按 F12 弹出 console 调试工具,然后在里边输入如下命令,下载完毕后打开看到如下结果就说明成功了
+
+```javascript
+LAY_EXCEL.exportExcel([['Hello', 'World', '!']], 'hello.xlsx', 'xlsx')
+```
+
+![1566996326664](assets/1566996326664.png)
+
+PS:这个就是核心的导出功能,第一个参数是一个二维数组,第二个参数是导出文件名,第三个参数是文件类型,是不是特别简洁,有一定JS基础的童鞋相信一眼就能看懂!下面继续介绍如何与 AJAX 结合,导出后端给到的数据。
+
+#### 第一步:从后台获取需要导出的数据
+
+> 一般的导出场景是后端给出获取数据的接口,前端请求后端接口后,根据接口返回参数导出,所以需要 $.ajax() 异步请求接口数据
+
+```javascript
+$.ajax({
+ url: '/path/to/get/data',
+ dataType: 'json',
+ success: function(res) {
+ // 假如返回的 res.data 是需要导出的列表数据
+ console.log(res.data);// [{name: 'wang', age: 18}, {name: 'layui', age: 3}]
+ }
+});
+```
+
+#### 第二步:下载源码并引入插件
+
+如果使用 `layuiadmin`,则只需要将插件(`layui_exts/excel.js`)放到 `controller/`下,然后 `layui.use` 即可,或者可以放在 `lib/extend` 中,只不过需要改 `config.js`
+
+Layui项目,非 `layuiadmin` 的插件初始化如下:
+
+```javascript
+layui.config({
+ base: 'layui_exts/',
+}).extend({
+ excel: 'excel',
+});
+```
+
+**PS:现已支持直接引入JS文件的方式加载插件,然后通过 LAY_EXCEL 全局变量调用相关函数了,非LAYUI或者不熟悉LAYUI的插件加载机制的童鞋可以在HTML文件中通过 script 标签引入,如:**
+
+```html
+
+
+
+
+
+
+```
+
+#### 第三步:手工添加一个表头,并调用导出excel的内部函数
+
+> 非layui框架请直接使用 $.ajax 和 LAY_EXCEL 进行异步操作和导出
+
+```javascript
+layui.use(['jquery', 'excel', 'layer'], function() {
+ var $ = layui.jquery;
+ var excel = layui.excel;
+ $.ajax({
+ url: '/path/to/get/data',
+ dataType: 'json',
+ success: function(res) {
+ // 假如返回的 res.data 是需要导出的列表数据
+ console.log(res.data);// [{name: 'wang', age: 18, sex: '男'}, {name: 'layui', age: 3, sex: '女'}]
+ // 1. 数组头部新增表头
+ res.data.unshift({name: '用户名',sex: '男', age: '年龄'});
+ // 2. 如果需要调整顺序,请执行梳理函数
+ var data = excel.filterExportData(res.data, [
+ 'name',
+ 'sex',
+ 'age',
+ ]);
+ // 3. 执行导出函数,系统会弹出弹框
+ excel.exportExcel({
+ sheet1: data
+ }, '导出接口数据.xlsx', 'xlsx');
+ }
+ });
+});
+```
\ No newline at end of file
diff --git "a/docs/\346\233\264\346\226\260\350\256\260\345\275\225.md" "b/docs/\346\233\264\346\226\260\350\256\260\345\275\225.md"
new file mode 100644
index 0000000..510f328
--- /dev/null
+++ "b/docs/\346\233\264\346\226\260\350\256\260\345\275\225.md"
@@ -0,0 +1,19 @@
+# 更新记录
+
+- 2019-10-03 v1.6 支持快速设置边框,支持压缩,支持CSV,支持边距设置,DEMO贡献模块,替换官方的导出功能,支持导出原生table,非Layui调用,导出时间转换,README文件优化
+
+- 2019-03-11 v1.5 打包依赖方便使用并增加兼容性,支持花式设置样式,正式支持导入,修复各种BUG
+
+- 2019-01-13 v1.4 魔改xlsx-style以支持设置样式、列宽、行高、公式等,并提供相应的辅助方法生成需要的配置信息
+
+- 2019-01-09 v1.3 支持导出多个sheet,合并导出的列
+
+- 2019-01-04 v1.2 支持前端多文件多Sheet读取 Excel 数据并梳理数据格式,大量数据导出效率优化
+
+- 2018-12-29 v1.1 重写内部下载逻辑,支持IE、Firefox、chrome等主流浏览器,梳理数据函数支持回调
+
+- 2018-12-14 v1.0 最初版本
+
+## 更新预告:
+
+v1.7 分段递归获取数据函数封装,分段压缩打包功能,常见问题整理,单元测试覆盖,CI/CD
\ No newline at end of file
diff --git "a/docs/\346\240\267\345\274\217\350\256\276\347\275\256\344\270\223\345\214\272.md" "b/docs/\346\240\267\345\274\217\350\256\276\347\275\256\344\270\223\345\214\272.md"
new file mode 100644
index 0000000..847a16c
--- /dev/null
+++ "b/docs/\346\240\267\345\274\217\350\256\276\347\275\256\344\270\223\345\214\272.md"
@@ -0,0 +1,72 @@
+# 样式设置专区
+
+#### 属性支持的单元格样式
+
+| 样式属性 | 子属性 | 取值 |
+| :-------- | :----------- | :----------------------------------------------------------- |
+| fill | patternType | `"solid"` or `"none"` |
+| | fgColor | `COLOR_SPEC` |
+| | bgColor | `COLOR_SPEC` |
+| font | name | `"Calibri"` // 默认字体 |
+| | sz | `"11"` // 字体大小 |
+| | color | `COLOR_SPEC` |
+| | bold | `true` or `false` |
+| | underline | `true` or `false` |
+| | italic | `true` or `false` |
+| | strike | `true` or `false` |
+| | outline | `true` or `false` |
+| | shadow | `true` or `false` |
+| | vertAlign | `true` or `false` |
+| numFmt | | `"0"` // 内置格式的整数索引,请参见StyleBuilder.SSF属性 |
+| | | `"0.00%"` // 匹配内置格式的字符串,请参阅StyleBuilder.SSF |
+| | | `"0.0%"` // 指定自定义格式的字符串 |
+| | | `"0.00%;\\(0.00%\\);\\-;@"` // 指定自定义格式的字符串,转义特殊字符 |
+| | | `"m/dd/yy"` // 使用Excel的格式表示法字符串日期格式 |
+| alignment | vertical | `"bottom"` or `"center"` or `"top"` |
+| | horizontal | `"bottom"` or `"center"` or `"top"` |
+| | wrapText | `true ` or ` false` // 自动换行 |
+| | readingOrder | `2` // 从右到左 |
+| | textRotation | 从 `0` 到 `180` 或者 `255` (默认为 `0`) |
+| | | `90` 旋转90度 |
+| | | `45` 旋转45度 |
+| | | `135` 反向旋转45度 |
+| | | `180` 旋转180度 |
+| | | `255` 特殊:垂直对齐 |
+| border | top | `{ style: BORDER_STYLE, color: COLOR_SPEC }` |
+| | bottom | `{ style: BORDER_STYLE, color: COLOR_SPEC }` |
+| | left | `{ style: BORDER_STYLE, color: COLOR_SPEC }` |
+| | right | `{ style: BORDER_STYLE, color: COLOR_SPEC }` |
+| | diagonal | `{ style: BORDER_STYLE, color: COLOR_SPEC }` |
+| | diagonalUp | `true` or `false` |
+| | diagonalDown | `true` or `false` |
+
+**COLOR_SPEC**: 可以设置在 `fill`, `font`, 和 `border` 属性中,是一个对象:
+
+- `{ auto: 1}` 指定自动值(楼主认为,应该是默认为白色的意思)
+- `{ rgb: "FFFFAA00" }` 指定16进制 ARGB 的值(PS:ARGB,前两个16进制是透明度,比如不透明红色:FFFF0000)
+- `{ theme: "1", tint: "-0.25"}` 指定主题颜色和色调值的整数索引(默认值为0)(PS:楼主也明白嘛意思)
+- `{ indexed: 64}` 是 `fill.bgColor`属性的默认值,看着应该像索引之类的
+
+**BORDER_STYLE**: 边框支持以下几种样式:
+
+- `thin`(细边框)
+- `medium`(中等)
+- `thick`(厚)
+- `dotted`(点线)
+- `hair`(毛)
+- `dashed`(虚线)
+- `mediumDashed`(中等宽度虚线)
+- `dashDot`( 点)
+- `mediumDashDot`(中等宽度点)
+- `dashDotDot`(虚线带点)
+- `mediumDashDotDot`(中等虚线带点)
+- `slantDashDot`(倾斜虚线点--楼主也没明白啥意思╮(╯▽╰)╭)
+
+##### 合并区域边框
+
+合并区域的边框是为合并区域内的每个单元格指定的。因此,要将框边框应用于3x3单元格的合并区域,需要为八个不同的单元格指定边框样式:
+
+- 左边三个单元格的左边框,
+- 右侧三个单元格的右边框
+- 顶部单元格的顶部边框
+- 左侧单元格的底部边框
\ No newline at end of file
diff --git "a/docs/\350\264\241\347\214\256DEMO.md" "b/docs/\350\264\241\347\214\256DEMO.md"
new file mode 100644
index 0000000..7ad1a66
--- /dev/null
+++ "b/docs/\350\264\241\347\214\256DEMO.md"
@@ -0,0 +1,10 @@
+# 贡献DEMO
+
+> 如果您有好的DEMO,可以将其放到 demos 目录下,新建一个顾名思义的文件夹,充分测试后于 Github 提一个 Pull Request 即可。
+
+| 路径 | 描述 | 贡献人 |
+| ------------------------------------------------------------ | ------------------------- | -------------------------- |
+| [demos/tableExport/index.html](http://excel.wj2015.com/demos/tableExport/index.html) | 导出表格数据的DEMO | 雨桐(yuton.yao@qq.com) |
+| [demos/noLayui/index.html](http://excel.wj2015.com/demos/noLayui/index.html) | 非LAYUI调用及原生表格导出 | 藏锋入鞘(admin@wj2015.com) |
+| [demos/borderExport/index.html](http://excel.wj2015.com/demos/borderExport/index.html) | 便捷边框设置DEMO | 藏锋入鞘(admin@wj2015.com) |
+| [demos/iframeExport/index.html](http://excel.wj2015.com/demos/iframeExport/index.html) | iframe子页面调用导出 | 藏锋入鞘(admin@wj2015.com) |
\ No newline at end of file
diff --git a/reward.md "b/docs/\350\265\236\350\265\217\346\224\257\346\214\201.md"
similarity index 69%
rename from reward.md
rename to "docs/\350\265\236\350\265\217\346\224\257\346\214\201.md"
index a1115f6..06d13c9 100644
--- a/reward.md
+++ "b/docs/\350\265\236\350\265\217\346\224\257\346\214\201.md"
@@ -1,12 +1,18 @@
-## 赞赏列表
+# 赞赏支持
+
+赞赏时可以备注寄语,我会不时更新到『[赞赏列表](#赞赏列表)』中
+
+![功能演示](../reward_qrcode.png)
+
+### 赞赏列表
大家的赞赏是我开源的动力,感谢各位小伙伴们的支持!!!
| 昵称 | 寄语 | 金额 | 时间 |
| ------------ | ------------------------------ | ---- | ---------- |
-| 巨振文 | 谢谢。一直想实现的功能被你实现 | 10 | 2019-02-01 |
-| 随心 | 加油 | 1 | 2019-01-23 |
-| NOBUG | 支持 | 5 | 2019-06-22 |
+| shift delete | 争取做的更易用,加油大佬! | 10 | 2019-08-03 |
| 异乡人 | 💗 | 5 | 2019-07-20 |
-| shift delete | 争取做的更易用,加油大佬! | 10 | 1019-08-03 |
-
+| NOBUG | 支持 | 5 | 2019-06-22 |
+| 旅行者号 | | 1 | 2019-02-27 |
+| 巨振文 | 谢谢。一直想实现的功能被你实现 | 10 | 2019-02-01 |
+| 随心 | 加油 | 1 | 2019-01-23 |
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 58bc60c..ca633d8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "lay-excel",
- "version": "1.5.0",
+ "version": "1.6.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -12,40 +12,40 @@
},
"align-text": {
"version": "0.1.4",
- "resolved": "https://npm.bmtrip.io/align-text/-/align-text-0.1.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz",
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
"dev": true,
"requires": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
}
},
"ansi-regex": {
"version": "2.1.1",
- "resolved": "https://npm.bmtrip.io/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
"ansi-styles": {
"version": "2.2.1",
- "resolved": "https://npm.bmtrip.io/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
"argparse": {
"version": "0.1.16",
- "resolved": "https://npm.bmtrip.io/argparse/-/argparse-0.1.16.tgz",
+ "resolved": "http://registry.npm.taobao.org/argparse/download/argparse-0.1.16.tgz",
"integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
"dev": true,
"requires": {
- "underscore": "~1.7.0",
- "underscore.string": "~2.4.0"
+ "underscore": "1.7.0",
+ "underscore.string": "2.4.0"
},
"dependencies": {
"underscore.string": {
"version": "2.4.0",
- "resolved": "https://npm.bmtrip.io/underscore.string/-/underscore.string-2.4.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/underscore.string/download/underscore.string-2.4.0.tgz",
"integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=",
"dev": true
}
@@ -57,30 +57,30 @@
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
"dev": true,
"requires": {
- "safer-buffer": "~2.1.0"
+ "safer-buffer": "2.1.2"
}
},
"assert-plus": {
"version": "0.2.0",
- "resolved": "https://npm.bmtrip.io/assert-plus/-/assert-plus-0.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
"dev": true
},
"async": {
"version": "0.1.22",
- "resolved": "https://npm.bmtrip.io/async/-/async-0.1.22.tgz",
+ "resolved": "http://registry.npm.taobao.org/async/download/async-0.1.22.tgz",
"integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=",
"dev": true
},
"asynckit": {
"version": "0.4.0",
- "resolved": "https://npm.bmtrip.io/asynckit/-/asynckit-0.4.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
"aws-sign2": {
"version": "0.6.0",
- "resolved": "https://npm.bmtrip.io/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz",
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
"dev": true
},
@@ -92,17 +92,17 @@
},
"balanced-match": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/balanced-match/-/balanced-match-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"bcrypt-pbkdf": {
"version": "1.0.2",
- "resolved": "https://npm.bmtrip.io/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
"requires": {
- "tweetnacl": "^0.14.3"
+ "tweetnacl": "0.14.5"
}
},
"bluebird": {
@@ -113,11 +113,11 @@
},
"boom": {
"version": "2.10.1",
- "resolved": "https://npm.bmtrip.io/boom/-/boom-2.10.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"requires": {
- "hoek": "2.x.x"
+ "hoek": "2.16.3"
}
},
"brace-expansion": {
@@ -126,17 +126,17 @@
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
- "balanced-match": "^1.0.0",
+ "balanced-match": "1.0.0",
"concat-map": "0.0.1"
}
},
"browserify-zlib": {
"version": "0.1.4",
- "resolved": "https://npm.bmtrip.io/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.1.4.tgz",
"integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
"dev": true,
"requires": {
- "pako": "~0.2.0"
+ "pako": "0.2.9"
}
},
"buffer-from": {
@@ -147,85 +147,85 @@
},
"camelcase": {
"version": "1.2.1",
- "resolved": "https://npm.bmtrip.io/camelcase/-/camelcase-1.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz",
"integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
"dev": true
},
"caseless": {
"version": "0.11.0",
- "resolved": "https://npm.bmtrip.io/caseless/-/caseless-0.11.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.11.0.tgz",
"integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
"dev": true
},
"center-align": {
"version": "0.1.3",
- "resolved": "https://npm.bmtrip.io/center-align/-/center-align-0.1.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz",
"integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
"dev": true,
"requires": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
}
},
"chalk": {
"version": "1.1.3",
- "resolved": "https://npm.bmtrip.io/chalk/-/chalk-1.1.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/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"
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
}
},
"clean-yaml-object": {
"version": "0.1.0",
- "resolved": "https://npm.bmtrip.io/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/clean-yaml-object/download/clean-yaml-object-0.1.0.tgz",
"integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=",
"dev": true
},
"cli": {
"version": "0.6.6",
- "resolved": "https://npm.bmtrip.io/cli/-/cli-0.6.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/cli/download/cli-0.6.6.tgz",
"integrity": "sha1-Aq1Eo4Cr8nraxebwzdewQ9dMU+M=",
"dev": true,
"requires": {
"exit": "0.1.2",
- "glob": "~ 3.2.1"
+ "glob": "3.2.11"
},
"dependencies": {
"glob": {
"version": "3.2.11",
- "resolved": "https://npm.bmtrip.io/glob/-/glob-3.2.11.tgz",
+ "resolved": "http://registry.npm.taobao.org/glob/download/glob-3.2.11.tgz",
"integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
"dev": true,
"requires": {
- "inherits": "2",
- "minimatch": "0.3"
+ "inherits": "2.0.3",
+ "minimatch": "0.3.0"
}
},
"minimatch": {
"version": "0.3.0",
- "resolved": "https://npm.bmtrip.io/minimatch/-/minimatch-0.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-0.3.0.tgz",
"integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
"dev": true,
"requires": {
- "lru-cache": "2",
- "sigmund": "~1.0.0"
+ "lru-cache": "2.7.3",
+ "sigmund": "1.0.1"
}
}
}
},
"cliui": {
"version": "2.1.0",
- "resolved": "https://npm.bmtrip.io/cliui/-/cliui-2.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz",
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
"dev": true,
"requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
"wordwrap": "0.0.2"
}
},
@@ -243,7 +243,7 @@
},
"colors": {
"version": "0.6.2",
- "resolved": "https://npm.bmtrip.io/colors/-/colors-0.6.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/colors/download/colors-0.6.2.tgz",
"integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
"dev": true
},
@@ -253,7 +253,7 @@
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
"dev": true,
"requires": {
- "delayed-stream": "~1.0.0"
+ "delayed-stream": "1.0.0"
}
},
"commander": {
@@ -264,7 +264,7 @@
},
"concat-map": {
"version": "0.0.1",
- "resolved": "https://npm.bmtrip.io/concat-map/-/concat-map-0.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
@@ -274,10 +274,10 @@
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
"dev": true,
"requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
+ "buffer-from": "1.1.1",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6",
+ "typedarray": "0.0.6"
},
"dependencies": {
"isarray": {
@@ -292,13 +292,13 @@
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"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"
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
}
},
"string_decoder": {
@@ -307,23 +307,23 @@
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
- "safe-buffer": "~5.1.0"
+ "safe-buffer": "5.1.2"
}
}
}
},
"console-browserify": {
"version": "1.1.0",
- "resolved": "https://npm.bmtrip.io/console-browserify/-/console-browserify-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/console-browserify/download/console-browserify-1.1.0.tgz",
"integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
"dev": true,
"requires": {
- "date-now": "^0.1.4"
+ "date-now": "0.1.4"
}
},
"core-util-is": {
"version": "1.0.2",
- "resolved": "https://npm.bmtrip.io/core-util-is/-/core-util-is-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
@@ -346,7 +346,7 @@
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"requires": {
- "sprintf-js": "~1.0.2"
+ "sprintf-js": "1.0.3"
}
},
"esprima": {
@@ -369,17 +369,17 @@
},
"cross-spawn": {
"version": "4.0.2",
- "resolved": "https://npm.bmtrip.io/cross-spawn/-/cross-spawn-4.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-4.0.2.tgz",
"integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
"dev": true,
"requires": {
- "lru-cache": "^4.0.1",
- "which": "^1.2.9"
+ "lru-cache": "4.1.5",
+ "which": "1.3.1"
},
"dependencies": {
"isexe": {
"version": "2.0.0",
- "resolved": "https://npm.bmtrip.io/isexe/-/isexe-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
@@ -389,8 +389,8 @@
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
"dev": true,
"requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
}
},
"which": {
@@ -399,32 +399,32 @@
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"requires": {
- "isexe": "^2.0.0"
+ "isexe": "2.0.0"
}
}
}
},
"cryptiles": {
"version": "2.0.5",
- "resolved": "https://npm.bmtrip.io/cryptiles/-/cryptiles-2.0.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"dev": true,
"requires": {
- "boom": "2.x.x"
+ "boom": "2.10.1"
}
},
"dashdash": {
"version": "1.14.1",
- "resolved": "https://npm.bmtrip.io/dashdash/-/dashdash-1.14.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"requires": {
- "assert-plus": "^1.0.0"
+ "assert-plus": "1.0.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/assert-plus/-/assert-plus-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
@@ -432,7 +432,7 @@
},
"date-now": {
"version": "0.1.4",
- "resolved": "https://npm.bmtrip.io/date-now/-/date-now-0.1.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/date-now/download/date-now-0.1.4.tgz",
"integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
"dev": true
},
@@ -453,25 +453,25 @@
},
"decamelize": {
"version": "1.2.0",
- "resolved": "https://npm.bmtrip.io/decamelize/-/decamelize-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
"deeper": {
"version": "2.1.0",
- "resolved": "https://npm.bmtrip.io/deeper/-/deeper-2.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/deeper/download/deeper-2.1.0.tgz",
"integrity": "sha1-vFZOX3MXT98gHgiwADDooU2nQ2g=",
"dev": true
},
"delayed-stream": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
"diff": {
"version": "1.4.0",
- "resolved": "https://npm.bmtrip.io/diff/-/diff-1.4.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/diff/download/diff-1.4.0.tgz",
"integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
"dev": true
},
@@ -481,8 +481,8 @@
"integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
"dev": true,
"requires": {
- "domelementtype": "^1.3.0",
- "entities": "^1.1.1"
+ "domelementtype": "1.3.1",
+ "entities": "1.1.2"
},
"dependencies": {
"entities": {
@@ -501,66 +501,66 @@
},
"domhandler": {
"version": "2.3.0",
- "resolved": "https://npm.bmtrip.io/domhandler/-/domhandler-2.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/domhandler/download/domhandler-2.3.0.tgz",
"integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
"dev": true,
"requires": {
- "domelementtype": "1"
+ "domelementtype": "1.3.1"
}
},
"domutils": {
"version": "1.5.1",
- "resolved": "https://npm.bmtrip.io/domutils/-/domutils-1.5.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz",
"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
"dev": true,
"requires": {
- "dom-serializer": "0",
- "domelementtype": "1"
+ "dom-serializer": "0.1.1",
+ "domelementtype": "1.3.1"
}
},
"ecc-jsbn": {
"version": "0.1.2",
- "resolved": "https://npm.bmtrip.io/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dev": true,
"requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
+ "jsbn": "0.1.1",
+ "safer-buffer": "2.1.2"
}
},
"entities": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/entities/-/entities-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/entities/download/entities-1.0.0.tgz",
"integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
"dev": true
},
"escape-string-regexp": {
"version": "1.0.5",
- "resolved": "https://npm.bmtrip.io/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"esprima": {
"version": "1.0.4",
- "resolved": "https://npm.bmtrip.io/esprima/-/esprima-1.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/esprima/download/esprima-1.0.4.tgz",
"integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
"dev": true
},
"eventemitter2": {
"version": "0.4.14",
- "resolved": "https://npm.bmtrip.io/eventemitter2/-/eventemitter2-0.4.14.tgz",
+ "resolved": "http://registry.npm.taobao.org/eventemitter2/download/eventemitter2-0.4.14.tgz",
"integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
"dev": true
},
"events-to-array": {
"version": "1.1.2",
- "resolved": "https://npm.bmtrip.io/events-to-array/-/events-to-array-1.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/events-to-array/download/events-to-array-1.1.2.tgz",
"integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=",
"dev": true
},
"exit": {
"version": "0.1.2",
- "resolved": "https://npm.bmtrip.io/exit/-/exit-0.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz",
"integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
"dev": true
},
@@ -572,88 +572,88 @@
},
"extsprintf": {
"version": "1.3.0",
- "resolved": "https://npm.bmtrip.io/extsprintf/-/extsprintf-1.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true
},
"figures": {
"version": "1.7.0",
- "resolved": "https://npm.bmtrip.io/figures/-/figures-1.7.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz",
"integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
"dev": true,
"requires": {
- "escape-string-regexp": "^1.0.5",
- "object-assign": "^4.1.0"
+ "escape-string-regexp": "1.0.5",
+ "object-assign": "4.1.1"
}
},
"findup-sync": {
"version": "0.1.3",
- "resolved": "https://npm.bmtrip.io/findup-sync/-/findup-sync-0.1.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/findup-sync/download/findup-sync-0.1.3.tgz",
"integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=",
"dev": true,
"requires": {
- "glob": "~3.2.9",
- "lodash": "~2.4.1"
+ "glob": "3.2.11",
+ "lodash": "2.4.2"
},
"dependencies": {
"glob": {
"version": "3.2.11",
- "resolved": "https://npm.bmtrip.io/glob/-/glob-3.2.11.tgz",
+ "resolved": "http://registry.npm.taobao.org/glob/download/glob-3.2.11.tgz",
"integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
"dev": true,
"requires": {
- "inherits": "2",
- "minimatch": "0.3"
+ "inherits": "2.0.3",
+ "minimatch": "0.3.0"
}
},
"lodash": {
"version": "2.4.2",
- "resolved": "https://npm.bmtrip.io/lodash/-/lodash-2.4.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-2.4.2.tgz",
"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
"dev": true
},
"minimatch": {
"version": "0.3.0",
- "resolved": "https://npm.bmtrip.io/minimatch/-/minimatch-0.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-0.3.0.tgz",
"integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
"dev": true,
"requires": {
- "lru-cache": "2",
- "sigmund": "~1.0.0"
+ "lru-cache": "2.7.3",
+ "sigmund": "1.0.1"
}
}
}
},
"foreground-child": {
"version": "1.5.6",
- "resolved": "https://npm.bmtrip.io/foreground-child/-/foreground-child-1.5.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/foreground-child/download/foreground-child-1.5.6.tgz",
"integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=",
"dev": true,
"requires": {
- "cross-spawn": "^4",
- "signal-exit": "^3.0.0"
+ "cross-spawn": "4.0.2",
+ "signal-exit": "3.0.2"
}
},
"forever-agent": {
"version": "0.6.1",
- "resolved": "https://npm.bmtrip.io/forever-agent/-/forever-agent-0.6.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true
},
"form-data": {
"version": "2.1.4",
- "resolved": "https://npm.bmtrip.io/form-data/-/form-data-2.1.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
"dev": true,
"requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.5",
- "mime-types": "^2.1.12"
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.7",
+ "mime-types": "2.1.22"
}
},
"fs.realpath": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
@@ -663,36 +663,36 @@
"integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
"dev": true,
"requires": {
- "is-property": "^1.0.2"
+ "is-property": "1.0.2"
}
},
"generate-object-property": {
"version": "1.2.0",
- "resolved": "https://npm.bmtrip.io/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/generate-object-property/download/generate-object-property-1.2.0.tgz",
"integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
"dev": true,
"requires": {
- "is-property": "^1.0.0"
+ "is-property": "1.0.2"
}
},
"getobject": {
"version": "0.1.0",
- "resolved": "https://npm.bmtrip.io/getobject/-/getobject-0.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/getobject/download/getobject-0.1.0.tgz",
"integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
"dev": true
},
"getpass": {
"version": "0.1.7",
- "resolved": "https://npm.bmtrip.io/getpass/-/getpass-0.1.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"requires": {
- "assert-plus": "^1.0.0"
+ "assert-plus": "1.0.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/assert-plus/-/assert-plus-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
@@ -700,18 +700,18 @@
},
"glob": {
"version": "3.1.21",
- "resolved": "https://npm.bmtrip.io/glob/-/glob-3.1.21.tgz",
+ "resolved": "http://registry.npm.taobao.org/glob/download/glob-3.1.21.tgz",
"integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
"dev": true,
"requires": {
- "graceful-fs": "~1.2.0",
- "inherits": "1",
- "minimatch": "~0.2.11"
+ "graceful-fs": "1.2.3",
+ "inherits": "1.0.2",
+ "minimatch": "0.2.14"
},
"dependencies": {
"inherits": {
"version": "1.0.2",
- "resolved": "https://npm.bmtrip.io/inherits/-/inherits-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-1.0.2.tgz",
"integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
"dev": true
}
@@ -719,132 +719,132 @@
},
"graceful-fs": {
"version": "1.2.3",
- "resolved": "https://npm.bmtrip.io/graceful-fs/-/graceful-fs-1.2.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-1.2.3.tgz",
"integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
"dev": true
},
"grunt": {
"version": "0.4.5",
- "resolved": "https://npm.bmtrip.io/grunt/-/grunt-0.4.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/grunt/download/grunt-0.4.5.tgz",
"integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=",
"dev": true,
"requires": {
- "async": "~0.1.22",
- "coffee-script": "~1.3.3",
- "colors": "~0.6.2",
+ "async": "0.1.22",
+ "coffee-script": "1.3.3",
+ "colors": "0.6.2",
"dateformat": "1.0.2-1.2.3",
- "eventemitter2": "~0.4.13",
- "exit": "~0.1.1",
- "findup-sync": "~0.1.2",
- "getobject": "~0.1.0",
- "glob": "~3.1.21",
- "grunt-legacy-log": "~0.1.0",
- "grunt-legacy-util": "~0.2.0",
- "hooker": "~0.2.3",
- "iconv-lite": "~0.2.11",
- "js-yaml": "~2.0.5",
- "lodash": "~0.9.2",
- "minimatch": "~0.2.12",
- "nopt": "~1.0.10",
- "rimraf": "~2.2.8",
- "underscore.string": "~2.2.1",
- "which": "~1.0.5"
+ "eventemitter2": "0.4.14",
+ "exit": "0.1.2",
+ "findup-sync": "0.1.3",
+ "getobject": "0.1.0",
+ "glob": "3.1.21",
+ "grunt-legacy-log": "0.1.3",
+ "grunt-legacy-util": "0.2.0",
+ "hooker": "0.2.3",
+ "iconv-lite": "0.2.11",
+ "js-yaml": "2.0.5",
+ "lodash": "0.9.2",
+ "minimatch": "0.2.14",
+ "nopt": "1.0.10",
+ "rimraf": "2.2.8",
+ "underscore.string": "2.2.1",
+ "which": "1.0.9"
}
},
"grunt-contrib-concat": {
"version": "1.0.1",
- "resolved": "https://npm.bmtrip.io/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/grunt-contrib-concat/download/grunt-contrib-concat-1.0.1.tgz",
"integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=",
"dev": true,
"requires": {
- "chalk": "^1.0.0",
- "source-map": "^0.5.3"
+ "chalk": "1.1.3",
+ "source-map": "0.5.7"
}
},
"grunt-contrib-jshint": {
"version": "0.10.0",
- "resolved": "https://npm.bmtrip.io/grunt-contrib-jshint/-/grunt-contrib-jshint-0.10.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/grunt-contrib-jshint/download/grunt-contrib-jshint-0.10.0.tgz",
"integrity": "sha1-V+vMyofo8yevZkXYo8WG1IReTYE=",
"dev": true,
"requires": {
- "hooker": "~0.2.3",
- "jshint": "~2.5.0"
+ "hooker": "0.2.3",
+ "jshint": "2.5.11"
}
},
"grunt-contrib-nodeunit": {
"version": "0.4.1",
- "resolved": "https://npm.bmtrip.io/grunt-contrib-nodeunit/-/grunt-contrib-nodeunit-0.4.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/grunt-contrib-nodeunit/download/grunt-contrib-nodeunit-0.4.1.tgz",
"integrity": "sha1-lDOT7l1msc2ttJqbI6ruREVQlbI=",
"dev": true,
"requires": {
- "hooker": "~0.2.3",
- "nodeunit": "~0.9.0"
+ "hooker": "0.2.3",
+ "nodeunit": "0.9.5"
}
},
"grunt-contrib-uglify": {
"version": "0.5.1",
- "resolved": "https://npm.bmtrip.io/grunt-contrib-uglify/-/grunt-contrib-uglify-0.5.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/grunt-contrib-uglify/download/grunt-contrib-uglify-0.5.1.tgz",
"integrity": "sha1-FfCqXo6LpCGuqYCHnuUFvHErbN4=",
"dev": true,
"requires": {
- "chalk": "^0.5.1",
- "lodash": "^2.4.1",
- "maxmin": "^0.2.0",
- "uglify-js": "^2.4.0"
+ "chalk": "0.5.1",
+ "lodash": "2.4.2",
+ "maxmin": "0.2.2",
+ "uglify-js": "2.8.29"
},
"dependencies": {
"ansi-regex": {
"version": "0.2.1",
- "resolved": "https://npm.bmtrip.io/ansi-regex/-/ansi-regex-0.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-0.2.1.tgz",
"integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
"dev": true
},
"ansi-styles": {
"version": "1.1.0",
- "resolved": "https://npm.bmtrip.io/ansi-styles/-/ansi-styles-1.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-1.1.0.tgz",
"integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
"dev": true
},
"chalk": {
"version": "0.5.1",
- "resolved": "https://npm.bmtrip.io/chalk/-/chalk-0.5.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-0.5.1.tgz",
"integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
"dev": true,
"requires": {
- "ansi-styles": "^1.1.0",
- "escape-string-regexp": "^1.0.0",
- "has-ansi": "^0.1.0",
- "strip-ansi": "^0.3.0",
- "supports-color": "^0.2.0"
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
}
},
"has-ansi": {
"version": "0.1.0",
- "resolved": "https://npm.bmtrip.io/has-ansi/-/has-ansi-0.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-0.1.0.tgz",
"integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
"dev": true,
"requires": {
- "ansi-regex": "^0.2.0"
+ "ansi-regex": "0.2.1"
}
},
"lodash": {
"version": "2.4.2",
- "resolved": "https://npm.bmtrip.io/lodash/-/lodash-2.4.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-2.4.2.tgz",
"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
"dev": true
},
"strip-ansi": {
"version": "0.3.0",
- "resolved": "https://npm.bmtrip.io/strip-ansi/-/strip-ansi-0.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-0.3.0.tgz",
"integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
"dev": true,
"requires": {
- "ansi-regex": "^0.2.1"
+ "ansi-regex": "0.2.1"
}
},
"supports-color": {
"version": "0.2.0",
- "resolved": "https://npm.bmtrip.io/supports-color/-/supports-color-0.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-0.2.0.tgz",
"integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
"dev": true
}
@@ -856,11 +856,11 @@
"integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=",
"dev": true,
"requires": {
- "colors": "~0.6.2",
- "grunt-legacy-log-utils": "~0.1.1",
- "hooker": "~0.2.3",
- "lodash": "~2.4.1",
- "underscore.string": "~2.3.3"
+ "colors": "0.6.2",
+ "grunt-legacy-log-utils": "0.1.1",
+ "hooker": "0.2.3",
+ "lodash": "2.4.2",
+ "underscore.string": "2.3.3"
},
"dependencies": {
"lodash": {
@@ -879,24 +879,24 @@
},
"grunt-legacy-log-utils": {
"version": "0.1.1",
- "resolved": "https://npm.bmtrip.io/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/grunt-legacy-log-utils/download/grunt-legacy-log-utils-0.1.1.tgz",
"integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=",
"dev": true,
"requires": {
- "colors": "~0.6.2",
- "lodash": "~2.4.1",
- "underscore.string": "~2.3.3"
+ "colors": "0.6.2",
+ "lodash": "2.4.2",
+ "underscore.string": "2.3.3"
},
"dependencies": {
"lodash": {
"version": "2.4.2",
- "resolved": "https://npm.bmtrip.io/lodash/-/lodash-2.4.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-2.4.2.tgz",
"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
"dev": true
},
"underscore.string": {
"version": "2.3.3",
- "resolved": "https://npm.bmtrip.io/underscore.string/-/underscore.string-2.3.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/underscore.string/download/underscore.string-2.3.3.tgz",
"integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
"dev": true
}
@@ -908,113 +908,113 @@
"integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=",
"dev": true,
"requires": {
- "async": "~0.1.22",
- "exit": "~0.1.1",
- "getobject": "~0.1.0",
- "hooker": "~0.2.3",
- "lodash": "~0.9.2",
- "underscore.string": "~2.2.1",
- "which": "~1.0.5"
+ "async": "0.1.22",
+ "exit": "0.1.2",
+ "getobject": "0.1.0",
+ "hooker": "0.2.3",
+ "lodash": "0.9.2",
+ "underscore.string": "2.2.1",
+ "which": "1.0.9"
}
},
"gzip-size": {
"version": "0.2.0",
- "resolved": "https://npm.bmtrip.io/gzip-size/-/gzip-size-0.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/gzip-size/download/gzip-size-0.2.0.tgz",
"integrity": "sha1-46KhkSBf5W7jJvXCcUNd+uz7Phw=",
"dev": true,
"requires": {
- "browserify-zlib": "^0.1.4",
- "concat-stream": "^1.4.1"
+ "browserify-zlib": "0.1.4",
+ "concat-stream": "1.6.2"
}
},
"har-validator": {
"version": "2.0.6",
- "resolved": "https://npm.bmtrip.io/har-validator/-/har-validator-2.0.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-2.0.6.tgz",
"integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
"dev": true,
"requires": {
- "chalk": "^1.1.1",
- "commander": "^2.9.0",
- "is-my-json-valid": "^2.12.4",
- "pinkie-promise": "^2.0.0"
+ "chalk": "1.1.3",
+ "commander": "2.19.0",
+ "is-my-json-valid": "2.19.0",
+ "pinkie-promise": "2.0.1"
}
},
"has-ansi": {
"version": "2.0.0",
- "resolved": "https://npm.bmtrip.io/has-ansi/-/has-ansi-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "2.1.1"
}
},
"hawk": {
"version": "3.1.3",
- "resolved": "https://npm.bmtrip.io/hawk/-/hawk-3.1.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"dev": true,
"requires": {
- "boom": "2.x.x",
- "cryptiles": "2.x.x",
- "hoek": "2.x.x",
- "sntp": "1.x.x"
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
}
},
"hoek": {
"version": "2.16.3",
- "resolved": "https://npm.bmtrip.io/hoek/-/hoek-2.16.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true
},
"hooker": {
"version": "0.2.3",
- "resolved": "https://npm.bmtrip.io/hooker/-/hooker-0.2.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/hooker/download/hooker-0.2.3.tgz",
"integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
"dev": true
},
"htmlparser2": {
"version": "3.8.3",
- "resolved": "https://npm.bmtrip.io/htmlparser2/-/htmlparser2-3.8.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.8.3.tgz",
"integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
"dev": true,
"requires": {
- "domelementtype": "1",
- "domhandler": "2.3",
- "domutils": "1.5",
- "entities": "1.0",
- "readable-stream": "1.1"
+ "domelementtype": "1.3.1",
+ "domhandler": "2.3.0",
+ "domutils": "1.5.1",
+ "entities": "1.0.0",
+ "readable-stream": "1.1.14"
}
},
"http-signature": {
"version": "1.1.1",
- "resolved": "https://npm.bmtrip.io/http-signature/-/http-signature-1.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
"requires": {
- "assert-plus": "^0.2.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.16.1"
}
},
"iconv-lite": {
"version": "0.2.11",
- "resolved": "https://npm.bmtrip.io/iconv-lite/-/iconv-lite-0.2.11.tgz",
+ "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.2.11.tgz",
"integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=",
"dev": true
},
"inflight": {
"version": "1.0.6",
- "resolved": "https://npm.bmtrip.io/inflight/-/inflight-1.0.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
}
},
"inherits": {
"version": "2.0.3",
- "resolved": "https://npm.bmtrip.io/inherits/-/inherits-2.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
},
@@ -1036,336 +1036,3384 @@
"integrity": "sha512-mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q==",
"dev": true,
"requires": {
- "generate-function": "^2.0.0",
- "generate-object-property": "^1.1.0",
- "is-my-ip-valid": "^1.0.0",
- "jsonpointer": "^4.0.0",
- "xtend": "^4.0.0"
+ "generate-function": "2.3.1",
+ "generate-object-property": "1.2.0",
+ "is-my-ip-valid": "1.0.0",
+ "jsonpointer": "4.0.1",
+ "xtend": "4.0.1"
}
},
"is-property": {
"version": "1.0.2",
- "resolved": "https://npm.bmtrip.io/is-property/-/is-property-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-property/download/is-property-1.0.2.tgz",
"integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
"dev": true
},
"is-typedarray": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
"isarray": {
"version": "0.0.1",
- "resolved": "https://npm.bmtrip.io/isarray/-/isarray-0.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"isexe": {
"version": "1.1.2",
- "resolved": "https://npm.bmtrip.io/isexe/-/isexe-1.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-1.1.2.tgz",
"integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA=",
"dev": true
},
"isstream": {
"version": "0.1.2",
- "resolved": "https://npm.bmtrip.io/isstream/-/isstream-0.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
"js-yaml": {
"version": "2.0.5",
- "resolved": "https://npm.bmtrip.io/js-yaml/-/js-yaml-2.0.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-2.0.5.tgz",
"integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=",
"dev": true,
"requires": {
- "argparse": "~ 0.1.11",
- "esprima": "~ 1.0.2"
+ "argparse": "0.1.16",
+ "esprima": "1.0.4"
}
},
"jsbn": {
"version": "0.1.1",
- "resolved": "https://npm.bmtrip.io/jsbn/-/jsbn-0.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true
},
"jshint": {
"version": "2.5.11",
- "resolved": "https://npm.bmtrip.io/jshint/-/jshint-2.5.11.tgz",
+ "resolved": "http://registry.npm.taobao.org/jshint/download/jshint-2.5.11.tgz",
"integrity": "sha1-4tlYWLuxqngwAQii6BCZ+wlWIuA=",
"dev": true,
"requires": {
- "cli": "0.6.x",
- "console-browserify": "1.1.x",
- "exit": "0.1.x",
- "htmlparser2": "3.8.x",
- "minimatch": "1.0.x",
- "shelljs": "0.3.x",
- "strip-json-comments": "1.0.x",
- "underscore": "1.6.x"
+ "cli": "0.6.6",
+ "console-browserify": "1.1.0",
+ "exit": "0.1.2",
+ "htmlparser2": "3.8.3",
+ "minimatch": "1.0.0",
+ "shelljs": "0.3.0",
+ "strip-json-comments": "1.0.4",
+ "underscore": "1.6.0"
},
"dependencies": {
"minimatch": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/minimatch/-/minimatch-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-1.0.0.tgz",
"integrity": "sha1-4N0hILSeG3JM6NcUxSCCKpQ4V20=",
"dev": true,
"requires": {
- "lru-cache": "2",
- "sigmund": "~1.0.0"
+ "lru-cache": "2.7.3",
+ "sigmund": "1.0.1"
+ }
+ },
+ "underscore": {
+ "version": "1.6.0",
+ "resolved": "http://registry.npm.taobao.org/underscore/download/underscore-1.6.0.tgz",
+ "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
+ "dev": true
+ }
+ }
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "jsonpointer": {
+ "version": "4.0.1",
+ "resolved": "http://registry.npm.taobao.org/jsonpointer/download/jsonpointer-4.0.1.tgz",
+ "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
+ "dev": true
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "http://registry.npm.taobao.org/jsprim/download/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"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ }
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ },
+ "lazy-cache": {
+ "version": "1.0.4",
+ "resolved": "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true
+ },
+ "lcov-parse": {
+ "version": "0.0.10",
+ "resolved": "http://registry.npm.taobao.org/lcov-parse/download/lcov-parse-0.0.10.tgz",
+ "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "0.9.2",
+ "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-0.9.2.tgz",
+ "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
+ "dev": true
+ },
+ "log-driver": {
+ "version": "1.2.5",
+ "resolved": "http://registry.npm.taobao.org/log-driver/download/log-driver-1.2.5.tgz",
+ "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=",
+ "dev": true
+ },
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "2.7.3",
+ "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-2.7.3.tgz",
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
+ "dev": true
+ },
+ "maxmin": {
+ "version": "0.2.2",
+ "resolved": "http://registry.npm.taobao.org/maxmin/download/maxmin-0.2.2.tgz",
+ "integrity": "sha1-o2ztjMIuOrzRCM+3l6OktAJ1WT8=",
+ "dev": true,
+ "requires": {
+ "chalk": "0.5.1",
+ "figures": "1.7.0",
+ "gzip-size": "0.2.0",
+ "pretty-bytes": "0.1.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "0.2.1",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-0.2.1.tgz",
+ "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-1.1.0.tgz",
+ "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "0.5.1",
+ "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-0.5.1.tgz",
+ "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "1.1.0",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "0.1.0",
+ "strip-ansi": "0.3.0",
+ "supports-color": "0.2.0"
+ }
+ },
+ "has-ansi": {
+ "version": "0.1.0",
+ "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-0.1.0.tgz",
+ "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "0.3.0",
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-0.3.0.tgz",
+ "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "0.2.1"
+ }
+ },
+ "supports-color": {
+ "version": "0.2.0",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-0.2.0.tgz",
+ "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
+ "dev": true
+ }
+ }
+ },
+ "mime-db": {
+ "version": "1.38.0",
+ "resolved": "https://npm.bmtrip.io/mime-db/-/mime-db-1.38.0.tgz",
+ "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.22",
+ "resolved": "https://npm.bmtrip.io/mime-types/-/mime-types-2.1.22.tgz",
+ "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.38.0"
+ }
+ },
+ "minimatch": {
+ "version": "0.2.14",
+ "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-0.2.14.tgz",
+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "2.7.3",
+ "sigmund": "1.0.1"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "nodeunit": {
+ "version": "0.9.5",
+ "resolved": "http://registry.npm.taobao.org/nodeunit/download/nodeunit-0.9.5.tgz",
+ "integrity": "sha1-C2MjaAB9lGUczwoYmZgHmC8HOGY=",
+ "dev": true,
+ "requires": {
+ "tap": "7.1.2"
+ }
+ },
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "http://registry.npm.taobao.org/nopt/download/nopt-1.0.10.tgz",
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1.1.1"
+ }
+ },
+ "npm": {
+ "version": "6.11.3",
+ "resolved": "https://registry.npm.taobao.org/npm/download/npm-6.11.3.tgz",
+ "integrity": "sha1-cw9Gt8xbvG8E3Ve1aZvgyfI1ndo=",
+ "requires": {
+ "JSONStream": "1.3.5",
+ "abbrev": "1.1.1",
+ "ansicolors": "0.3.2",
+ "ansistyles": "0.1.3",
+ "aproba": "2.0.0",
+ "archy": "1.0.0",
+ "bin-links": "1.1.3",
+ "bluebird": "3.5.5",
+ "byte-size": "5.0.1",
+ "cacache": "12.0.3",
+ "call-limit": "1.1.1",
+ "chownr": "1.1.2",
+ "ci-info": "2.0.0",
+ "cli-columns": "3.1.2",
+ "cli-table3": "0.5.1",
+ "cmd-shim": "3.0.3",
+ "columnify": "1.5.4",
+ "config-chain": "1.1.12",
+ "debuglog": "1.0.1",
+ "detect-indent": "5.0.0",
+ "detect-newline": "2.1.0",
+ "dezalgo": "1.0.3",
+ "editor": "1.0.0",
+ "figgy-pudding": "3.5.1",
+ "find-npm-prefix": "1.0.2",
+ "fs-vacuum": "1.2.10",
+ "fs-write-stream-atomic": "1.0.10",
+ "gentle-fs": "2.2.1",
+ "glob": "7.1.4",
+ "graceful-fs": "4.2.2",
+ "has-unicode": "2.0.1",
+ "hosted-git-info": "2.8.2",
+ "iferr": "1.0.2",
+ "imurmurhash": "0.1.4",
+ "infer-owner": "1.0.4",
+ "inflight": "1.0.6",
+ "inherits": "2.0.4",
+ "ini": "1.3.5",
+ "init-package-json": "1.10.3",
+ "is-cidr": "3.0.0",
+ "json-parse-better-errors": "1.0.2",
+ "lazy-property": "1.0.0",
+ "libcipm": "4.0.3",
+ "libnpm": "3.0.1",
+ "libnpmaccess": "3.0.2",
+ "libnpmhook": "5.0.3",
+ "libnpmorg": "1.0.1",
+ "libnpmsearch": "2.0.2",
+ "libnpmteam": "1.0.2",
+ "libnpx": "10.2.0",
+ "lock-verify": "2.1.0",
+ "lockfile": "1.0.4",
+ "lodash._baseindexof": "3.1.0",
+ "lodash._baseuniq": "4.6.0",
+ "lodash._bindcallback": "3.0.1",
+ "lodash._cacheindexof": "3.0.2",
+ "lodash._createcache": "3.1.2",
+ "lodash._getnative": "3.9.1",
+ "lodash.clonedeep": "4.5.0",
+ "lodash.restparam": "3.6.1",
+ "lodash.union": "4.6.0",
+ "lodash.uniq": "4.5.0",
+ "lodash.without": "4.4.0",
+ "lru-cache": "5.1.1",
+ "meant": "1.0.1",
+ "mississippi": "3.0.0",
+ "mkdirp": "0.5.1",
+ "move-concurrently": "1.0.1",
+ "node-gyp": "5.0.3",
+ "nopt": "4.0.1",
+ "normalize-package-data": "2.5.0",
+ "npm-audit-report": "1.3.2",
+ "npm-cache-filename": "1.0.2",
+ "npm-install-checks": "3.0.0",
+ "npm-lifecycle": "3.1.3",
+ "npm-package-arg": "6.1.1",
+ "npm-packlist": "1.4.4",
+ "npm-pick-manifest": "3.0.2",
+ "npm-profile": "4.0.2",
+ "npm-registry-fetch": "4.0.0",
+ "npm-user-validate": "1.0.0",
+ "npmlog": "4.1.2",
+ "once": "1.4.0",
+ "opener": "1.5.1",
+ "osenv": "0.1.5",
+ "pacote": "9.5.8",
+ "path-is-inside": "1.0.2",
+ "promise-inflight": "1.0.1",
+ "qrcode-terminal": "0.12.0",
+ "query-string": "6.8.2",
+ "qw": "1.0.1",
+ "read": "1.0.7",
+ "read-cmd-shim": "1.0.4",
+ "read-installed": "4.0.3",
+ "read-package-json": "2.1.0",
+ "read-package-tree": "5.3.1",
+ "readable-stream": "3.4.0",
+ "readdir-scoped-modules": "1.1.0",
+ "request": "2.88.0",
+ "retry": "0.12.0",
+ "rimraf": "2.6.3",
+ "safe-buffer": "5.1.2",
+ "semver": "5.7.1",
+ "sha": "3.0.0",
+ "slide": "1.1.6",
+ "sorted-object": "2.0.1",
+ "sorted-union-stream": "2.1.3",
+ "ssri": "6.0.1",
+ "stringify-package": "1.0.0",
+ "tar": "4.4.10",
+ "text-table": "0.2.0",
+ "tiny-relative-date": "1.3.0",
+ "uid-number": "0.0.6",
+ "umask": "1.1.0",
+ "unique-filename": "1.1.1",
+ "unpipe": "1.0.0",
+ "update-notifier": "2.5.0",
+ "uuid": "3.3.2",
+ "validate-npm-package-license": "3.0.4",
+ "validate-npm-package-name": "3.0.0",
+ "which": "1.3.1",
+ "worker-farm": "1.7.0",
+ "write-file-atomic": "2.4.3"
+ },
+ "dependencies": {
+ "JSONStream": {
+ "version": "1.3.5",
+ "bundled": true,
+ "requires": {
+ "jsonparse": "1.3.1",
+ "through": "2.3.8"
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "agent-base": {
+ "version": "4.3.0",
+ "bundled": true,
+ "requires": {
+ "es6-promisify": "5.0.0"
+ }
+ },
+ "agentkeepalive": {
+ "version": "3.5.2",
+ "bundled": true,
+ "requires": {
+ "humanize-ms": "1.2.1"
+ }
+ },
+ "ajv": {
+ "version": "5.5.2",
+ "bundled": true,
+ "requires": {
+ "co": "4.6.0",
+ "fast-deep-equal": "1.1.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
+ }
+ },
+ "ansi-align": {
+ "version": "2.0.0",
+ "bundled": true,
+ "requires": {
+ "string-width": "2.1.1"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "bundled": true,
+ "requires": {
+ "color-convert": "1.9.1"
+ }
+ },
+ "ansicolors": {
+ "version": "0.3.2",
+ "bundled": true
+ },
+ "ansistyles": {
+ "version": "0.1.3",
+ "bundled": true
+ },
+ "aproba": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "archy": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "bundled": true,
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.4",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ }
+ }
+ },
+ "asap": {
+ "version": "2.0.6",
+ "bundled": true
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "bundled": true,
+ "requires": {
+ "safer-buffer": "2.1.2"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "bundled": true
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "bundled": true
+ },
+ "aws4": {
+ "version": "1.8.0",
+ "bundled": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "bin-links": {
+ "version": "1.1.3",
+ "bundled": true,
+ "requires": {
+ "bluebird": "3.5.5",
+ "cmd-shim": "3.0.3",
+ "gentle-fs": "2.2.1",
+ "graceful-fs": "4.2.2",
+ "write-file-atomic": "2.4.3"
+ }
+ },
+ "bluebird": {
+ "version": "3.5.5",
+ "bundled": true
+ },
+ "boxen": {
+ "version": "1.3.0",
+ "bundled": true,
+ "requires": {
+ "ansi-align": "2.0.0",
+ "camelcase": "4.1.0",
+ "chalk": "2.4.1",
+ "cli-boxes": "1.0.0",
+ "string-width": "2.1.1",
+ "term-size": "1.2.0",
+ "widest-line": "2.0.0"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "bundled": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "buffer-from": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "builtins": {
+ "version": "1.0.3",
+ "bundled": true
+ },
+ "byline": {
+ "version": "5.0.0",
+ "bundled": true
+ },
+ "byte-size": {
+ "version": "5.0.1",
+ "bundled": true
+ },
+ "cacache": {
+ "version": "12.0.3",
+ "bundled": true,
+ "requires": {
+ "bluebird": "3.5.5",
+ "chownr": "1.1.2",
+ "figgy-pudding": "3.5.1",
+ "glob": "7.1.4",
+ "graceful-fs": "4.2.2",
+ "infer-owner": "1.0.4",
+ "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"
+ }
+ },
+ "call-limit": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "bundled": true
+ },
+ "capture-stack-trace": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "bundled": true
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "bundled": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.4.0"
+ }
+ },
+ "chownr": {
+ "version": "1.1.2",
+ "bundled": true
+ },
+ "ci-info": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "cidr-regex": {
+ "version": "2.0.10",
+ "bundled": true,
+ "requires": {
+ "ip-regex": "2.1.0"
+ }
+ },
+ "cli-boxes": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "cli-columns": {
+ "version": "3.1.2",
+ "bundled": true,
+ "requires": {
+ "string-width": "2.1.1",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "cli-table3": {
+ "version": "0.5.1",
+ "bundled": true,
+ "requires": {
+ "colors": "1.3.3",
+ "object-assign": "4.1.1",
+ "string-width": "2.1.1"
+ }
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "bundled": true,
+ "requires": {
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "wrap-ansi": "2.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "bundled": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "bundled": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "clone": {
+ "version": "1.0.4",
+ "bundled": true
+ },
+ "cmd-shim": {
+ "version": "3.0.3",
+ "bundled": true,
+ "requires": {
+ "graceful-fs": "4.2.2",
+ "mkdirp": "0.5.1"
+ }
+ },
+ "co": {
+ "version": "4.6.0",
+ "bundled": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "color-convert": {
+ "version": "1.9.1",
+ "bundled": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "bundled": true
+ },
+ "colors": {
+ "version": "1.3.3",
+ "bundled": true,
+ "optional": true
+ },
+ "columnify": {
+ "version": "1.5.4",
+ "bundled": true,
+ "requires": {
+ "strip-ansi": "3.0.1",
+ "wcwidth": "1.0.1"
+ }
+ },
+ "combined-stream": {
+ "version": "1.0.6",
+ "bundled": true,
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "bundled": true,
+ "requires": {
+ "buffer-from": "1.0.0",
+ "inherits": "2.0.4",
+ "readable-stream": "2.3.6",
+ "typedarray": "0.0.6"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.4",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ }
+ }
+ },
+ "config-chain": {
+ "version": "1.1.12",
+ "bundled": true,
+ "requires": {
+ "ini": "1.3.5",
+ "proto-list": "1.2.4"
+ }
+ },
+ "configstore": {
+ "version": "3.1.2",
+ "bundled": true,
+ "requires": {
+ "dot-prop": "4.2.0",
+ "graceful-fs": "4.2.2",
+ "make-dir": "1.3.0",
+ "unique-string": "1.0.0",
+ "write-file-atomic": "2.4.3",
+ "xdg-basedir": "3.0.0"
+ }
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "copy-concurrently": {
+ "version": "1.0.5",
+ "bundled": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "fs-write-stream-atomic": "1.0.10",
+ "iferr": "0.1.5",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.3",
+ "run-queue": "1.0.3"
+ },
+ "dependencies": {
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true
+ },
+ "iferr": {
+ "version": "0.1.5",
+ "bundled": true
+ }
+ }
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "create-error-class": {
+ "version": "3.0.2",
+ "bundled": true,
+ "requires": {
+ "capture-stack-trace": "1.0.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "5.1.0",
+ "bundled": true,
+ "requires": {
+ "lru-cache": "4.1.5",
+ "shebang-command": "1.2.0",
+ "which": "1.3.1"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "4.1.5",
+ "bundled": true,
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ }
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "bundled": true
+ }
+ }
+ },
+ "crypto-random-string": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "cyclist": {
+ "version": "0.2.2",
+ "bundled": true
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "bundled": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "bundled": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true
+ }
+ }
+ },
+ "debuglog": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "bundled": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "bundled": true
+ },
+ "deep-extend": {
+ "version": "0.5.1",
+ "bundled": true
+ },
+ "defaults": {
+ "version": "1.0.3",
+ "bundled": true,
+ "requires": {
+ "clone": "1.0.4"
+ }
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "bundled": true,
+ "requires": {
+ "object-keys": "1.0.12"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "detect-indent": {
+ "version": "5.0.0",
+ "bundled": true
+ },
+ "detect-newline": {
+ "version": "2.1.0",
+ "bundled": true
+ },
+ "dezalgo": {
+ "version": "1.0.3",
+ "bundled": true,
+ "requires": {
+ "asap": "2.0.6",
+ "wrappy": "1.0.2"
+ }
+ },
+ "dot-prop": {
+ "version": "4.2.0",
+ "bundled": true,
+ "requires": {
+ "is-obj": "1.0.1"
+ }
+ },
+ "dotenv": {
+ "version": "5.0.1",
+ "bundled": true
+ },
+ "duplexer3": {
+ "version": "0.1.4",
+ "bundled": true
+ },
+ "duplexify": {
+ "version": "3.6.0",
+ "bundled": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "inherits": "2.0.4",
+ "readable-stream": "2.3.6",
+ "stream-shift": "1.0.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.4",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ }
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "bundled": true,
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1",
+ "safer-buffer": "2.1.2"
+ }
+ },
+ "editor": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "encoding": {
+ "version": "0.1.12",
+ "bundled": true,
+ "requires": {
+ "iconv-lite": "0.4.23"
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.1",
+ "bundled": true,
+ "requires": {
+ "once": "1.4.0"
+ }
+ },
+ "env-paths": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "err-code": {
+ "version": "1.1.2",
+ "bundled": true
+ },
+ "errno": {
+ "version": "0.1.7",
+ "bundled": true,
+ "requires": {
+ "prr": "1.0.1"
+ }
+ },
+ "es-abstract": {
+ "version": "1.12.0",
+ "bundled": true,
+ "requires": {
+ "es-to-primitive": "1.2.0",
+ "function-bind": "1.1.1",
+ "has": "1.0.3",
+ "is-callable": "1.1.4",
+ "is-regex": "1.0.4"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.0",
+ "bundled": true,
+ "requires": {
+ "is-callable": "1.1.4",
+ "is-date-object": "1.0.1",
+ "is-symbol": "1.0.2"
+ }
+ },
+ "es6-promise": {
+ "version": "4.2.8",
+ "bundled": true
+ },
+ "es6-promisify": {
+ "version": "5.0.0",
+ "bundled": true,
+ "requires": {
+ "es6-promise": "4.2.8"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "bundled": true
+ },
+ "execa": {
+ "version": "0.7.0",
+ "bundled": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "3.0.0",
+ "bundled": true
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "bundled": true
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "bundled": true
+ },
+ "fast-deep-equal": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "figgy-pudding": {
+ "version": "3.5.1",
+ "bundled": true
+ },
+ "find-npm-prefix": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "bundled": true,
+ "requires": {
+ "locate-path": "2.0.0"
+ }
+ },
+ "flush-write-stream": {
+ "version": "1.0.3",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.4",
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.4",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ }
+ }
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "bundled": true
+ },
+ "form-data": {
+ "version": "2.3.2",
+ "bundled": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.6",
+ "mime-types": "2.1.19"
+ }
+ },
+ "from2": {
+ "version": "2.3.0",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.4",
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.4",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ }
+ }
+ },
+ "fs-minipass": {
+ "version": "1.2.6",
+ "bundled": true,
+ "requires": {
+ "minipass": "2.3.3"
+ }
+ },
+ "fs-vacuum": {
+ "version": "1.2.10",
+ "bundled": true,
+ "requires": {
+ "graceful-fs": "4.2.2",
+ "path-is-inside": "1.0.2",
+ "rimraf": "2.6.3"
+ }
+ },
+ "fs-write-stream-atomic": {
+ "version": "1.0.10",
+ "bundled": true,
+ "requires": {
+ "graceful-fs": "4.2.2",
+ "iferr": "0.1.5",
+ "imurmurhash": "0.1.4",
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "iferr": {
+ "version": "0.1.5",
+ "bundled": true
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.4",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ }
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "bundled": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ },
+ "dependencies": {
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
+ "genfun": {
+ "version": "5.0.0",
+ "bundled": true
+ },
+ "gentle-fs": {
+ "version": "2.2.1",
+ "bundled": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "chownr": "1.1.2",
+ "fs-vacuum": "1.2.10",
+ "graceful-fs": "4.2.2",
+ "iferr": "0.1.5",
+ "infer-owner": "1.0.4",
+ "mkdirp": "0.5.1",
+ "path-is-inside": "1.0.2",
+ "read-cmd-shim": "1.0.4",
+ "slide": "1.1.6"
+ },
+ "dependencies": {
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true
+ },
+ "iferr": {
+ "version": "0.1.5",
+ "bundled": true
+ }
+ }
+ },
+ "get-caller-file": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "bundled": true,
+ "requires": {
+ "pump": "3.0.0"
+ }
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "bundled": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.4",
+ "bundled": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.4",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "global-dirs": {
+ "version": "0.1.1",
+ "bundled": true,
+ "requires": {
+ "ini": "1.3.5"
+ }
+ },
+ "got": {
+ "version": "6.7.1",
+ "bundled": true,
+ "requires": {
+ "create-error-class": "3.0.2",
+ "duplexer3": "0.1.4",
+ "get-stream": "3.0.0",
+ "is-redirect": "1.0.0",
+ "is-retry-allowed": "1.1.0",
+ "is-stream": "1.1.0",
+ "lowercase-keys": "1.0.1",
+ "safe-buffer": "5.1.2",
+ "timed-out": "4.0.1",
+ "unzip-response": "2.0.1",
+ "url-parse-lax": "1.0.0"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "3.0.0",
+ "bundled": true
+ }
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.2",
+ "bundled": true
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "har-validator": {
+ "version": "5.1.0",
+ "bundled": true,
+ "requires": {
+ "ajv": "5.5.2",
+ "har-schema": "2.0.0"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "bundled": true,
+ "requires": {
+ "function-bind": "1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "bundled": true
+ },
+ "has-symbols": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true
+ },
+ "hosted-git-info": {
+ "version": "2.8.2",
+ "bundled": true,
+ "requires": {
+ "lru-cache": "5.1.1"
+ }
+ },
+ "http-cache-semantics": {
+ "version": "3.8.1",
+ "bundled": true
+ },
+ "http-proxy-agent": {
+ "version": "2.1.0",
+ "bundled": true,
+ "requires": {
+ "agent-base": "4.3.0",
+ "debug": "3.1.0"
+ }
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "bundled": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.14.2"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "2.2.2",
+ "bundled": true,
+ "requires": {
+ "agent-base": "4.3.0",
+ "debug": "3.1.0"
+ }
+ },
+ "humanize-ms": {
+ "version": "1.2.1",
+ "bundled": true,
+ "requires": {
+ "ms": "2.1.1"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.23",
+ "bundled": true,
+ "requires": {
+ "safer-buffer": "2.1.2"
+ }
+ },
+ "iferr": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "bundled": true,
+ "requires": {
+ "minimatch": "3.0.4"
+ }
+ },
+ "import-lazy": {
+ "version": "2.1.0",
+ "bundled": true
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "bundled": true
+ },
+ "infer-owner": {
+ "version": "1.0.4",
+ "bundled": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "bundled": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "bundled": true
+ },
+ "init-package-json": {
+ "version": "1.10.3",
+ "bundled": true,
+ "requires": {
+ "glob": "7.1.4",
+ "npm-package-arg": "6.1.1",
+ "promzard": "0.3.0",
+ "read": "1.0.7",
+ "read-package-json": "2.1.0",
+ "semver": "5.7.1",
+ "validate-npm-package-license": "3.0.4",
+ "validate-npm-package-name": "3.0.0"
+ }
+ },
+ "invert-kv": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "ip": {
+ "version": "1.1.5",
+ "bundled": true
+ },
+ "ip-regex": {
+ "version": "2.1.0",
+ "bundled": true
+ },
+ "is-callable": {
+ "version": "1.1.4",
+ "bundled": true
+ },
+ "is-ci": {
+ "version": "1.1.0",
+ "bundled": true,
+ "requires": {
+ "ci-info": "1.6.0"
+ },
+ "dependencies": {
+ "ci-info": {
+ "version": "1.6.0",
+ "bundled": true
+ }
+ }
+ },
+ "is-cidr": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "cidr-regex": "2.0.10"
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-installed-globally": {
+ "version": "0.1.0",
+ "bundled": true,
+ "requires": {
+ "global-dirs": "0.1.1",
+ "is-path-inside": "1.0.1"
+ }
+ },
+ "is-npm": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "is-obj": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "is-path-inside": {
+ "version": "1.0.1",
+ "bundled": true,
+ "requires": {
+ "path-is-inside": "1.0.2"
+ }
+ },
+ "is-redirect": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "is-regex": {
+ "version": "1.0.4",
+ "bundled": true,
+ "requires": {
+ "has": "1.0.3"
+ }
+ },
+ "is-retry-allowed": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "is-symbol": {
+ "version": "1.0.2",
+ "bundled": true,
+ "requires": {
+ "has-symbols": "1.0.0"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "bundled": true
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "bundled": true,
+ "optional": true
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "bundled": true
+ },
+ "json-schema-traverse": {
+ "version": "0.3.1",
+ "bundled": true
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "bundled": true
+ },
+ "jsonparse": {
+ "version": "1.3.1",
+ "bundled": true
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "bundled": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "latest-version": {
+ "version": "3.1.0",
+ "bundled": true,
+ "requires": {
+ "package-json": "4.0.1"
+ }
+ },
+ "lazy-property": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "invert-kv": "1.0.0"
+ }
+ },
+ "libcipm": {
+ "version": "4.0.3",
+ "bundled": true,
+ "requires": {
+ "bin-links": "1.1.3",
+ "bluebird": "3.5.5",
+ "figgy-pudding": "3.5.1",
+ "find-npm-prefix": "1.0.2",
+ "graceful-fs": "4.2.2",
+ "ini": "1.3.5",
+ "lock-verify": "2.1.0",
+ "mkdirp": "0.5.1",
+ "npm-lifecycle": "3.1.3",
+ "npm-logical-tree": "1.2.1",
+ "npm-package-arg": "6.1.1",
+ "pacote": "9.5.8",
+ "read-package-json": "2.1.0",
+ "rimraf": "2.6.3",
+ "worker-farm": "1.7.0"
+ }
+ },
+ "libnpm": {
+ "version": "3.0.1",
+ "bundled": true,
+ "requires": {
+ "bin-links": "1.1.3",
+ "bluebird": "3.5.5",
+ "find-npm-prefix": "1.0.2",
+ "libnpmaccess": "3.0.2",
+ "libnpmconfig": "1.2.1",
+ "libnpmhook": "5.0.3",
+ "libnpmorg": "1.0.1",
+ "libnpmpublish": "1.1.2",
+ "libnpmsearch": "2.0.2",
+ "libnpmteam": "1.0.2",
+ "lock-verify": "2.1.0",
+ "npm-lifecycle": "3.1.3",
+ "npm-logical-tree": "1.2.1",
+ "npm-package-arg": "6.1.1",
+ "npm-profile": "4.0.2",
+ "npm-registry-fetch": "4.0.0",
+ "npmlog": "4.1.2",
+ "pacote": "9.5.8",
+ "read-package-json": "2.1.0",
+ "stringify-package": "1.0.0"
+ }
+ },
+ "libnpmaccess": {
+ "version": "3.0.2",
+ "bundled": true,
+ "requires": {
+ "aproba": "2.0.0",
+ "get-stream": "4.1.0",
+ "npm-package-arg": "6.1.1",
+ "npm-registry-fetch": "4.0.0"
+ }
+ },
+ "libnpmconfig": {
+ "version": "1.2.1",
+ "bundled": true,
+ "requires": {
+ "figgy-pudding": "3.5.1",
+ "find-up": "3.0.0",
+ "ini": "1.3.5"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "locate-path": "3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "p-locate": "3.0.0",
+ "path-exists": "3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.0",
+ "bundled": true,
+ "requires": {
+ "p-try": "2.2.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "p-limit": "2.2.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "bundled": true
+ }
+ }
+ },
+ "libnpmhook": {
+ "version": "5.0.3",
+ "bundled": true,
+ "requires": {
+ "aproba": "2.0.0",
+ "figgy-pudding": "3.5.1",
+ "get-stream": "4.1.0",
+ "npm-registry-fetch": "4.0.0"
+ }
+ },
+ "libnpmorg": {
+ "version": "1.0.1",
+ "bundled": true,
+ "requires": {
+ "aproba": "2.0.0",
+ "figgy-pudding": "3.5.1",
+ "get-stream": "4.1.0",
+ "npm-registry-fetch": "4.0.0"
+ }
+ },
+ "libnpmpublish": {
+ "version": "1.1.2",
+ "bundled": true,
+ "requires": {
+ "aproba": "2.0.0",
+ "figgy-pudding": "3.5.1",
+ "get-stream": "4.1.0",
+ "lodash.clonedeep": "4.5.0",
+ "normalize-package-data": "2.5.0",
+ "npm-package-arg": "6.1.1",
+ "npm-registry-fetch": "4.0.0",
+ "semver": "5.7.1",
+ "ssri": "6.0.1"
+ }
+ },
+ "libnpmsearch": {
+ "version": "2.0.2",
+ "bundled": true,
+ "requires": {
+ "figgy-pudding": "3.5.1",
+ "get-stream": "4.1.0",
+ "npm-registry-fetch": "4.0.0"
+ }
+ },
+ "libnpmteam": {
+ "version": "1.0.2",
+ "bundled": true,
+ "requires": {
+ "aproba": "2.0.0",
+ "figgy-pudding": "3.5.1",
+ "get-stream": "4.1.0",
+ "npm-registry-fetch": "4.0.0"
+ }
+ },
+ "libnpx": {
+ "version": "10.2.0",
+ "bundled": true,
+ "requires": {
+ "dotenv": "5.0.1",
+ "npm-package-arg": "6.1.1",
+ "rimraf": "2.6.3",
+ "safe-buffer": "5.1.2",
+ "update-notifier": "2.5.0",
+ "which": "1.3.1",
+ "y18n": "4.0.0",
+ "yargs": "11.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "bundled": true,
+ "requires": {
+ "p-locate": "2.0.0",
+ "path-exists": "3.0.0"
+ }
+ },
+ "lock-verify": {
+ "version": "2.1.0",
+ "bundled": true,
+ "requires": {
+ "npm-package-arg": "6.1.1",
+ "semver": "5.7.1"
+ }
+ },
+ "lockfile": {
+ "version": "1.0.4",
+ "bundled": true,
+ "requires": {
+ "signal-exit": "3.0.2"
+ }
+ },
+ "lodash._baseindexof": {
+ "version": "3.1.0",
+ "bundled": true
+ },
+ "lodash._baseuniq": {
+ "version": "4.6.0",
+ "bundled": true,
+ "requires": {
+ "lodash._createset": "4.0.3",
+ "lodash._root": "3.0.1"
+ }
+ },
+ "lodash._bindcallback": {
+ "version": "3.0.1",
+ "bundled": true
+ },
+ "lodash._cacheindexof": {
+ "version": "3.0.2",
+ "bundled": true
+ },
+ "lodash._createcache": {
+ "version": "3.1.2",
+ "bundled": true,
+ "requires": {
+ "lodash._getnative": "3.9.1"
+ }
+ },
+ "lodash._createset": {
+ "version": "4.0.3",
+ "bundled": true
+ },
+ "lodash._getnative": {
+ "version": "3.9.1",
+ "bundled": true
+ },
+ "lodash._root": {
+ "version": "3.0.1",
+ "bundled": true
+ },
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "bundled": true
+ },
+ "lodash.restparam": {
+ "version": "3.6.1",
+ "bundled": true
+ },
+ "lodash.union": {
+ "version": "4.6.0",
+ "bundled": true
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "bundled": true
+ },
+ "lodash.without": {
+ "version": "4.4.0",
+ "bundled": true
+ },
+ "lowercase-keys": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "bundled": true,
+ "requires": {
+ "yallist": "3.0.3"
+ }
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "bundled": true,
+ "requires": {
+ "pify": "3.0.0"
+ }
+ },
+ "make-fetch-happen": {
+ "version": "5.0.0",
+ "bundled": true,
+ "requires": {
+ "agentkeepalive": "3.5.2",
+ "cacache": "12.0.3",
+ "http-cache-semantics": "3.8.1",
+ "http-proxy-agent": "2.1.0",
+ "https-proxy-agent": "2.2.2",
+ "lru-cache": "5.1.1",
+ "mississippi": "3.0.0",
+ "node-fetch-npm": "2.0.2",
+ "promise-retry": "1.1.1",
+ "socks-proxy-agent": "4.0.2",
+ "ssri": "6.0.1"
+ }
+ },
+ "meant": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "mem": {
+ "version": "1.1.0",
+ "bundled": true,
+ "requires": {
+ "mimic-fn": "1.2.0"
+ }
+ },
+ "mime-db": {
+ "version": "1.35.0",
+ "bundled": true
+ },
+ "mime-types": {
+ "version": "2.1.19",
+ "bundled": true,
+ "requires": {
+ "mime-db": "1.35.0"
+ }
+ },
+ "mimic-fn": {
+ "version": "1.2.0",
+ "bundled": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "requires": {
+ "brace-expansion": "1.1.11"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true
+ },
+ "minipass": {
+ "version": "2.3.3",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2",
+ "yallist": "3.0.2"
+ },
+ "dependencies": {
+ "yallist": {
+ "version": "3.0.2",
+ "bundled": true
+ }
+ }
+ },
+ "minizlib": {
+ "version": "1.2.1",
+ "bundled": true,
+ "requires": {
+ "minipass": "2.3.3"
+ }
+ },
+ "mississippi": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "concat-stream": "1.6.2",
+ "duplexify": "3.6.0",
+ "end-of-stream": "1.4.1",
+ "flush-write-stream": "1.0.3",
+ "from2": "2.3.0",
+ "parallel-transform": "1.1.0",
+ "pump": "3.0.0",
+ "pumpify": "1.5.1",
+ "stream-each": "1.2.2",
+ "through2": "2.0.3"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "move-concurrently": {
+ "version": "1.0.1",
+ "bundled": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "copy-concurrently": "1.0.5",
+ "fs-write-stream-atomic": "1.0.10",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.3",
+ "run-queue": "1.0.3"
+ },
+ "dependencies": {
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true
+ }
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "bundled": true
+ },
+ "mute-stream": {
+ "version": "0.0.7",
+ "bundled": true
+ },
+ "node-fetch-npm": {
+ "version": "2.0.2",
+ "bundled": true,
+ "requires": {
+ "encoding": "0.1.12",
+ "json-parse-better-errors": "1.0.2",
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "node-gyp": {
+ "version": "5.0.3",
+ "bundled": true,
+ "requires": {
+ "env-paths": "1.0.0",
+ "glob": "7.1.4",
+ "graceful-fs": "4.2.2",
+ "mkdirp": "0.5.1",
+ "nopt": "3.0.6",
+ "npmlog": "4.1.2",
+ "request": "2.88.0",
+ "rimraf": "2.6.3",
+ "semver": "5.3.0",
+ "tar": "4.4.10",
+ "which": "1.3.1"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "3.0.6",
+ "bundled": true,
+ "requires": {
+ "abbrev": "1.1.1"
+ }
+ },
+ "semver": {
+ "version": "5.3.0",
+ "bundled": true
+ }
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "requires": {
+ "abbrev": "1.1.1",
+ "osenv": "0.1.5"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "bundled": true,
+ "requires": {
+ "hosted-git-info": "2.8.2",
+ "resolve": "1.10.0",
+ "semver": "5.7.1",
+ "validate-npm-package-license": "3.0.4"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.10.0",
+ "bundled": true,
+ "requires": {
+ "path-parse": "1.0.6"
+ }
+ }
+ }
+ },
+ "npm-audit-report": {
+ "version": "1.3.2",
+ "bundled": true,
+ "requires": {
+ "cli-table3": "0.5.1",
+ "console-control-strings": "1.1.0"
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.6",
+ "bundled": true
+ },
+ "npm-cache-filename": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "npm-install-checks": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "semver": "5.7.1"
+ }
+ },
+ "npm-lifecycle": {
+ "version": "3.1.3",
+ "bundled": true,
+ "requires": {
+ "byline": "5.0.0",
+ "graceful-fs": "4.2.2",
+ "node-gyp": "5.0.3",
+ "resolve-from": "4.0.0",
+ "slide": "1.1.6",
+ "uid-number": "0.0.6",
+ "umask": "1.1.0",
+ "which": "1.3.1"
+ }
+ },
+ "npm-logical-tree": {
+ "version": "1.2.1",
+ "bundled": true
+ },
+ "npm-package-arg": {
+ "version": "6.1.1",
+ "bundled": true,
+ "requires": {
+ "hosted-git-info": "2.8.2",
+ "osenv": "0.1.5",
+ "semver": "5.7.1",
+ "validate-npm-package-name": "3.0.0"
+ }
+ },
+ "npm-packlist": {
+ "version": "1.4.4",
+ "bundled": true,
+ "requires": {
+ "ignore-walk": "3.0.1",
+ "npm-bundled": "1.0.6"
+ }
+ },
+ "npm-pick-manifest": {
+ "version": "3.0.2",
+ "bundled": true,
+ "requires": {
+ "figgy-pudding": "3.5.1",
+ "npm-package-arg": "6.1.1",
+ "semver": "5.7.1"
+ }
+ },
+ "npm-profile": {
+ "version": "4.0.2",
+ "bundled": true,
+ "requires": {
+ "aproba": "2.0.0",
+ "figgy-pudding": "3.5.1",
+ "npm-registry-fetch": "4.0.0"
+ }
+ },
+ "npm-registry-fetch": {
+ "version": "4.0.0",
+ "bundled": true,
+ "requires": {
+ "JSONStream": "1.3.5",
+ "bluebird": "3.5.5",
+ "figgy-pudding": "3.5.1",
+ "lru-cache": "5.1.1",
+ "make-fetch-happen": "5.0.0",
+ "npm-package-arg": "6.1.1"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "bundled": true,
+ "requires": {
+ "path-key": "2.0.1"
+ }
+ },
+ "npm-user-validate": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "bundled": true,
+ "requires": {
+ "are-we-there-yet": "1.1.4",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "oauth-sign": {
+ "version": "0.9.0",
+ "bundled": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true
+ },
+ "object-keys": {
+ "version": "1.0.12",
+ "bundled": true
+ },
+ "object.getownpropertydescriptors": {
+ "version": "2.0.3",
+ "bundled": true,
+ "requires": {
+ "define-properties": "1.1.3",
+ "es-abstract": "1.12.0"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "opener": {
+ "version": "1.5.1",
+ "bundled": true
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "os-locale": {
+ "version": "2.1.0",
+ "bundled": true,
+ "requires": {
+ "execa": "0.7.0",
+ "lcid": "1.0.0",
+ "mem": "1.1.0"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "bundled": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "p-limit": {
+ "version": "1.2.0",
+ "bundled": true,
+ "requires": {
+ "p-try": "1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "bundled": true,
+ "requires": {
+ "p-limit": "1.2.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "package-json": {
+ "version": "4.0.1",
+ "bundled": true,
+ "requires": {
+ "got": "6.7.1",
+ "registry-auth-token": "3.3.2",
+ "registry-url": "3.1.0",
+ "semver": "5.7.1"
+ }
+ },
+ "pacote": {
+ "version": "9.5.8",
+ "bundled": true,
+ "requires": {
+ "bluebird": "3.5.5",
+ "cacache": "12.0.3",
+ "chownr": "1.1.2",
+ "figgy-pudding": "3.5.1",
+ "get-stream": "4.1.0",
+ "glob": "7.1.4",
+ "infer-owner": "1.0.4",
+ "lru-cache": "5.1.1",
+ "make-fetch-happen": "5.0.0",
+ "minimatch": "3.0.4",
+ "minipass": "2.3.5",
+ "mississippi": "3.0.0",
+ "mkdirp": "0.5.1",
+ "normalize-package-data": "2.5.0",
+ "npm-package-arg": "6.1.1",
+ "npm-packlist": "1.4.4",
+ "npm-pick-manifest": "3.0.2",
+ "npm-registry-fetch": "4.0.0",
+ "osenv": "0.1.5",
+ "promise-inflight": "1.0.1",
+ "promise-retry": "1.1.1",
+ "protoduck": "5.0.1",
+ "rimraf": "2.6.3",
+ "safe-buffer": "5.1.2",
+ "semver": "5.7.1",
+ "ssri": "6.0.1",
+ "tar": "4.4.10",
+ "unique-filename": "1.1.1",
+ "which": "1.3.1"
+ },
+ "dependencies": {
+ "minipass": {
+ "version": "2.3.5",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2",
+ "yallist": "3.0.3"
+ }
+ }
+ }
+ },
+ "parallel-transform": {
+ "version": "1.1.0",
+ "bundled": true,
+ "requires": {
+ "cyclist": "0.2.2",
+ "inherits": "2.0.4",
+ "readable-stream": "2.3.6"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.4",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ }
+ }
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "bundled": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "bundled": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "bundled": true
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "bundled": true
+ },
+ "pify": {
+ "version": "3.0.0",
+ "bundled": true
+ },
+ "prepend-http": {
+ "version": "1.0.4",
+ "bundled": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "promise-inflight": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "promise-retry": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "err-code": "1.1.2",
+ "retry": "0.10.1"
+ },
+ "dependencies": {
+ "retry": {
+ "version": "0.10.1",
+ "bundled": true
+ }
+ }
+ },
+ "promzard": {
+ "version": "0.3.0",
+ "bundled": true,
+ "requires": {
+ "read": "1.0.7"
+ }
+ },
+ "proto-list": {
+ "version": "1.2.4",
+ "bundled": true
+ },
+ "protoduck": {
+ "version": "5.0.1",
+ "bundled": true,
+ "requires": {
+ "genfun": "5.0.0"
+ }
+ },
+ "prr": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "psl": {
+ "version": "1.1.29",
+ "bundled": true
+ },
+ "pump": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "once": "1.4.0"
+ }
+ },
+ "pumpify": {
+ "version": "1.5.1",
+ "bundled": true,
+ "requires": {
+ "duplexify": "3.6.0",
+ "inherits": "2.0.4",
+ "pump": "2.0.1"
+ },
+ "dependencies": {
+ "pump": {
+ "version": "2.0.1",
+ "bundled": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "once": "1.4.0"
+ }
+ }
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "bundled": true
+ },
+ "qrcode-terminal": {
+ "version": "0.12.0",
+ "bundled": true
+ },
+ "qs": {
+ "version": "6.5.2",
+ "bundled": true
+ },
+ "query-string": {
+ "version": "6.8.2",
+ "bundled": true,
+ "requires": {
+ "decode-uri-component": "0.2.0",
+ "split-on-first": "1.1.0",
+ "strict-uri-encode": "2.0.0"
+ }
+ },
+ "qw": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "rc": {
+ "version": "1.2.7",
+ "bundled": true,
+ "requires": {
+ "deep-extend": "0.5.1",
+ "ini": "1.3.5",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true
+ }
+ }
+ },
+ "read": {
+ "version": "1.0.7",
+ "bundled": true,
+ "requires": {
+ "mute-stream": "0.0.7"
+ }
+ },
+ "read-cmd-shim": {
+ "version": "1.0.4",
+ "bundled": true,
+ "requires": {
+ "graceful-fs": "4.2.2"
+ }
+ },
+ "read-installed": {
+ "version": "4.0.3",
+ "bundled": true,
+ "requires": {
+ "debuglog": "1.0.1",
+ "graceful-fs": "4.2.2",
+ "read-package-json": "2.1.0",
+ "readdir-scoped-modules": "1.1.0",
+ "semver": "5.7.1",
+ "slide": "1.1.6",
+ "util-extend": "1.0.3"
+ }
+ },
+ "read-package-json": {
+ "version": "2.1.0",
+ "bundled": true,
+ "requires": {
+ "glob": "7.1.4",
+ "graceful-fs": "4.2.2",
+ "json-parse-better-errors": "1.0.2",
+ "normalize-package-data": "2.5.0",
+ "slash": "1.0.0"
+ }
+ },
+ "read-package-tree": {
+ "version": "5.3.1",
+ "bundled": true,
+ "requires": {
+ "read-package-json": "2.1.0",
+ "readdir-scoped-modules": "1.1.0",
+ "util-promisify": "2.1.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.4.0",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.4",
+ "string_decoder": "1.2.0",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "readdir-scoped-modules": {
+ "version": "1.1.0",
+ "bundled": true,
+ "requires": {
+ "debuglog": "1.0.1",
+ "dezalgo": "1.0.3",
+ "graceful-fs": "4.2.2",
+ "once": "1.4.0"
+ }
+ },
+ "registry-auth-token": {
+ "version": "3.3.2",
+ "bundled": true,
+ "requires": {
+ "rc": "1.2.7",
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "registry-url": {
+ "version": "3.1.0",
+ "bundled": true,
+ "requires": {
+ "rc": "1.2.7"
+ }
+ },
+ "request": {
+ "version": "2.88.0",
+ "bundled": 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.0",
+ "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.4.3",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.3.2"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "bundled": true
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "bundled": true
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "bundled": true
+ },
+ "retry": {
+ "version": "0.12.0",
+ "bundled": true
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "bundled": true,
+ "requires": {
+ "glob": "7.1.4"
+ }
+ },
+ "run-queue": {
+ "version": "1.0.3",
+ "bundled": true,
+ "requires": {
+ "aproba": "1.2.0"
+ },
+ "dependencies": {
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true
+ }
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "bundled": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "bundled": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "bundled": true
+ },
+ "semver-diff": {
+ "version": "2.1.0",
+ "bundled": true,
+ "requires": {
+ "semver": "5.7.1"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "sha": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "graceful-fs": "4.2.2"
+ }
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "bundled": true,
+ "requires": {
+ "shebang-regex": "1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true
+ },
+ "slash": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "slide": {
+ "version": "1.1.6",
+ "bundled": true
+ },
+ "smart-buffer": {
+ "version": "4.0.2",
+ "bundled": true
+ },
+ "socks": {
+ "version": "2.3.2",
+ "bundled": true,
+ "requires": {
+ "ip": "1.1.5",
+ "smart-buffer": "4.0.2"
+ }
+ },
+ "socks-proxy-agent": {
+ "version": "4.0.2",
+ "bundled": true,
+ "requires": {
+ "agent-base": "4.2.1",
+ "socks": "2.3.2"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "4.2.1",
+ "bundled": true,
+ "requires": {
+ "es6-promisify": "5.0.0"
+ }
+ }
+ }
+ },
+ "sorted-object": {
+ "version": "2.0.1",
+ "bundled": true
+ },
+ "sorted-union-stream": {
+ "version": "2.1.3",
+ "bundled": true,
+ "requires": {
+ "from2": "1.3.0",
+ "stream-iterate": "1.2.0"
+ },
+ "dependencies": {
+ "from2": {
+ "version": "1.3.0",
+ "bundled": true,
+ "requires": {
+ "inherits": "2.0.4",
+ "readable-stream": "1.1.14"
+ }
+ },
+ "isarray": {
+ "version": "0.0.1",
+ "bundled": true
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "bundled": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.4",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "bundled": true
+ }
+ }
+ },
+ "spdx-correct": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "spdx-expression-parse": "3.0.0",
+ "spdx-license-ids": "3.0.3"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.1.0",
+ "bundled": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "bundled": true,
+ "requires": {
+ "spdx-exceptions": "2.1.0",
+ "spdx-license-ids": "3.0.3"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.3",
+ "bundled": true
+ },
+ "split-on-first": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "sshpk": {
+ "version": "1.14.2",
+ "bundled": true,
+ "requires": {
+ "asn1": "0.2.4",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.2",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.2",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "safer-buffer": "2.1.2",
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "ssri": {
+ "version": "6.0.1",
+ "bundled": true,
+ "requires": {
+ "figgy-pudding": "3.5.1"
+ }
+ },
+ "stream-each": {
+ "version": "1.2.2",
+ "bundled": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "stream-shift": "1.0.0"
+ }
+ },
+ "stream-iterate": {
+ "version": "1.2.0",
+ "bundled": true,
+ "requires": {
+ "readable-stream": "2.3.6",
+ "stream-shift": "1.0.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.4",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ }
+ }
+ },
+ "stream-shift": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "strict-uri-encode": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "bundled": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "bundled": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "bundled": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "1.2.0",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "stringify-package": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true
+ },
+ "supports-color": {
+ "version": "5.4.0",
+ "bundled": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ },
+ "tar": {
+ "version": "4.4.10",
+ "bundled": true,
+ "requires": {
+ "chownr": "1.1.2",
+ "fs-minipass": "1.2.6",
+ "minipass": "2.3.5",
+ "minizlib": "1.2.1",
+ "mkdirp": "0.5.1",
+ "safe-buffer": "5.1.2",
+ "yallist": "3.0.3"
+ },
+ "dependencies": {
+ "minipass": {
+ "version": "2.3.5",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2",
+ "yallist": "3.0.3"
+ }
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "bundled": true
+ }
+ }
+ },
+ "term-size": {
+ "version": "1.2.0",
+ "bundled": true,
+ "requires": {
+ "execa": "0.7.0"
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "bundled": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "bundled": true
+ },
+ "through2": {
+ "version": "2.0.3",
+ "bundled": true,
+ "requires": {
+ "readable-stream": "2.3.6",
+ "xtend": "4.0.1"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.4",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ }
+ }
+ },
+ "timed-out": {
+ "version": "4.0.1",
+ "bundled": true
+ },
+ "tiny-relative-date": {
+ "version": "1.3.0",
+ "bundled": true
+ },
+ "tough-cookie": {
+ "version": "2.4.3",
+ "bundled": true,
+ "requires": {
+ "psl": "1.1.29",
+ "punycode": "1.4.1"
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "bundled": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "bundled": true,
+ "optional": true
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "bundled": true
+ },
+ "uid-number": {
+ "version": "0.0.6",
+ "bundled": true
+ },
+ "umask": {
+ "version": "1.1.0",
+ "bundled": true
+ },
+ "unique-filename": {
+ "version": "1.1.1",
+ "bundled": true,
+ "requires": {
+ "unique-slug": "2.0.0"
+ }
+ },
+ "unique-slug": {
+ "version": "2.0.0",
+ "bundled": true,
+ "requires": {
+ "imurmurhash": "0.1.4"
+ }
+ },
+ "unique-string": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "crypto-random-string": "1.0.0"
+ }
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "bundled": true
+ },
+ "unzip-response": {
+ "version": "2.0.1",
+ "bundled": true
+ },
+ "update-notifier": {
+ "version": "2.5.0",
+ "bundled": true,
+ "requires": {
+ "boxen": "1.3.0",
+ "chalk": "2.4.1",
+ "configstore": "3.1.2",
+ "import-lazy": "2.1.0",
+ "is-ci": "1.1.0",
+ "is-installed-globally": "0.1.0",
+ "is-npm": "1.0.0",
+ "latest-version": "3.1.0",
+ "semver-diff": "2.1.0",
+ "xdg-basedir": "3.0.0"
+ }
+ },
+ "url-parse-lax": {
+ "version": "1.0.0",
+ "bundled": true,
+ "requires": {
+ "prepend-http": "1.0.4"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "util-extend": {
+ "version": "1.0.3",
+ "bundled": true
+ },
+ "util-promisify": {
+ "version": "2.1.0",
+ "bundled": true,
+ "requires": {
+ "object.getownpropertydescriptors": "2.0.3"
}
},
- "underscore": {
- "version": "1.6.0",
- "resolved": "https://npm.bmtrip.io/underscore/-/underscore-1.6.0.tgz",
- "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
- "dev": true
- }
- }
- },
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://npm.bmtrip.io/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://npm.bmtrip.io/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
- },
- "jsonpointer": {
- "version": "4.0.1",
- "resolved": "https://npm.bmtrip.io/jsonpointer/-/jsonpointer-4.0.1.tgz",
- "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
- "dev": true
- },
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://npm.bmtrip.io/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"
- },
- "dependencies": {
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- }
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://npm.bmtrip.io/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- },
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://npm.bmtrip.io/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true
- },
- "lcov-parse": {
- "version": "0.0.10",
- "resolved": "https://npm.bmtrip.io/lcov-parse/-/lcov-parse-0.0.10.tgz",
- "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=",
- "dev": true
- },
- "lodash": {
- "version": "0.9.2",
- "resolved": "https://npm.bmtrip.io/lodash/-/lodash-0.9.2.tgz",
- "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
- "dev": true
- },
- "log-driver": {
- "version": "1.2.5",
- "resolved": "https://npm.bmtrip.io/log-driver/-/log-driver-1.2.5.tgz",
- "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=",
- "dev": true
- },
- "longest": {
- "version": "1.0.1",
- "resolved": "https://npm.bmtrip.io/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
- "dev": true
- },
- "lru-cache": {
- "version": "2.7.3",
- "resolved": "https://npm.bmtrip.io/lru-cache/-/lru-cache-2.7.3.tgz",
- "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
- "dev": true
- },
- "maxmin": {
- "version": "0.2.2",
- "resolved": "https://npm.bmtrip.io/maxmin/-/maxmin-0.2.2.tgz",
- "integrity": "sha1-o2ztjMIuOrzRCM+3l6OktAJ1WT8=",
- "dev": true,
- "requires": {
- "chalk": "^0.5.0",
- "figures": "^1.0.1",
- "gzip-size": "^0.2.0",
- "pretty-bytes": "^0.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "0.2.1",
- "resolved": "https://npm.bmtrip.io/ansi-regex/-/ansi-regex-0.2.1.tgz",
- "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
- "dev": true
+ "uuid": {
+ "version": "3.3.2",
+ "bundled": true
},
- "ansi-styles": {
- "version": "1.1.0",
- "resolved": "https://npm.bmtrip.io/ansi-styles/-/ansi-styles-1.1.0.tgz",
- "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
- "dev": true
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "bundled": true,
+ "requires": {
+ "spdx-correct": "3.0.0",
+ "spdx-expression-parse": "3.0.0"
+ }
},
- "chalk": {
- "version": "0.5.1",
- "resolved": "https://npm.bmtrip.io/chalk/-/chalk-0.5.1.tgz",
- "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
- "dev": true,
+ "validate-npm-package-name": {
+ "version": "3.0.0",
+ "bundled": true,
"requires": {
- "ansi-styles": "^1.1.0",
- "escape-string-regexp": "^1.0.0",
- "has-ansi": "^0.1.0",
- "strip-ansi": "^0.3.0",
- "supports-color": "^0.2.0"
+ "builtins": "1.0.3"
}
},
- "has-ansi": {
- "version": "0.1.0",
- "resolved": "https://npm.bmtrip.io/has-ansi/-/has-ansi-0.1.0.tgz",
- "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
- "dev": true,
+ "verror": {
+ "version": "1.10.0",
+ "bundled": true,
"requires": {
- "ansi-regex": "^0.2.0"
+ "assert-plus": "1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "1.3.0"
}
},
- "strip-ansi": {
- "version": "0.3.0",
- "resolved": "https://npm.bmtrip.io/strip-ansi/-/strip-ansi-0.3.0.tgz",
- "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
- "dev": true,
+ "wcwidth": {
+ "version": "1.0.1",
+ "bundled": true,
"requires": {
- "ansi-regex": "^0.2.1"
+ "defaults": "1.0.3"
}
},
- "supports-color": {
- "version": "0.2.0",
- "resolved": "https://npm.bmtrip.io/supports-color/-/supports-color-0.2.0.tgz",
- "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
- "dev": true
+ "which": {
+ "version": "1.3.1",
+ "bundled": true,
+ "requires": {
+ "isexe": "2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "bundled": true
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "bundled": true,
+ "requires": {
+ "string-width": "1.0.2"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
+ "widest-line": {
+ "version": "2.0.0",
+ "bundled": true,
+ "requires": {
+ "string-width": "2.1.1"
+ }
+ },
+ "worker-farm": {
+ "version": "1.7.0",
+ "bundled": true,
+ "requires": {
+ "errno": "0.1.7"
+ }
+ },
+ "wrap-ansi": {
+ "version": "2.1.0",
+ "bundled": true,
+ "requires": {
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true
+ },
+ "write-file-atomic": {
+ "version": "2.4.3",
+ "bundled": true,
+ "requires": {
+ "graceful-fs": "4.2.2",
+ "imurmurhash": "0.1.4",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "xdg-basedir": {
+ "version": "3.0.0",
+ "bundled": true
+ },
+ "xtend": {
+ "version": "4.0.1",
+ "bundled": true
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "bundled": true
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "bundled": true
+ },
+ "yargs": {
+ "version": "11.0.0",
+ "bundled": true,
+ "requires": {
+ "cliui": "4.1.0",
+ "decamelize": "1.2.0",
+ "find-up": "2.1.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "9.0.2"
+ },
+ "dependencies": {
+ "y18n": {
+ "version": "3.2.1",
+ "bundled": true
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "9.0.2",
+ "bundled": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
}
}
},
- "mime-db": {
- "version": "1.38.0",
- "resolved": "https://npm.bmtrip.io/mime-db/-/mime-db-1.38.0.tgz",
- "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.22",
- "resolved": "https://npm.bmtrip.io/mime-types/-/mime-types-2.1.22.tgz",
- "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==",
- "dev": true,
- "requires": {
- "mime-db": "~1.38.0"
- }
- },
- "minimatch": {
- "version": "0.2.14",
- "resolved": "https://npm.bmtrip.io/minimatch/-/minimatch-0.2.14.tgz",
- "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
- "dev": true,
- "requires": {
- "lru-cache": "2",
- "sigmund": "~1.0.0"
- }
- },
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://npm.bmtrip.io/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://npm.bmtrip.io/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "nodeunit": {
- "version": "0.9.5",
- "resolved": "https://npm.bmtrip.io/nodeunit/-/nodeunit-0.9.5.tgz",
- "integrity": "sha1-C2MjaAB9lGUczwoYmZgHmC8HOGY=",
- "dev": true,
- "requires": {
- "tap": "^7.0.0"
- }
- },
- "nopt": {
- "version": "1.0.10",
- "resolved": "https://npm.bmtrip.io/nopt/-/nopt-1.0.10.tgz",
- "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
- "dev": true,
- "requires": {
- "abbrev": "1"
- }
- },
"nyc": {
"version": "7.1.0",
- "resolved": "https://npm.bmtrip.io/nyc/-/nyc-7.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/nyc/download/nyc-7.1.0.tgz",
"integrity": "sha1-jhSXHzoV0au+x6xhDvVMuInp/7Q=",
"dev": true,
"requires": {
- "arrify": "^1.0.1",
- "caching-transform": "^1.0.0",
- "convert-source-map": "^1.3.0",
- "default-require-extensions": "^1.0.0",
- "find-cache-dir": "^0.1.1",
- "find-up": "^1.1.2",
- "foreground-child": "^1.5.3",
- "glob": "^7.0.3",
- "istanbul-lib-coverage": "^1.0.0-alpha.4",
- "istanbul-lib-hook": "^1.0.0-alpha.4",
- "istanbul-lib-instrument": "^1.1.0-alpha.3",
- "istanbul-lib-report": "^1.0.0-alpha.3",
- "istanbul-lib-source-maps": "^1.0.0-alpha.10",
- "istanbul-reports": "^1.0.0-alpha.8",
- "md5-hex": "^1.2.0",
- "micromatch": "^2.3.11",
- "mkdirp": "^0.5.0",
- "pkg-up": "^1.0.0",
- "resolve-from": "^2.0.0",
- "rimraf": "^2.5.4",
- "signal-exit": "^3.0.0",
- "spawn-wrap": "^1.2.4",
- "test-exclude": "^1.1.0",
- "yargs": "^4.8.1",
- "yargs-parser": "^2.4.1"
+ "arrify": "1.0.1",
+ "caching-transform": "1.0.1",
+ "convert-source-map": "1.3.0",
+ "default-require-extensions": "1.0.0",
+ "find-cache-dir": "0.1.1",
+ "find-up": "1.1.2",
+ "foreground-child": "1.5.3",
+ "glob": "7.0.5",
+ "istanbul-lib-coverage": "1.0.0-alpha.4",
+ "istanbul-lib-hook": "1.0.0-alpha.4",
+ "istanbul-lib-instrument": "1.1.0-alpha.4",
+ "istanbul-lib-report": "1.0.0-alpha.3",
+ "istanbul-lib-source-maps": "1.0.0-alpha.10",
+ "istanbul-reports": "1.0.0-alpha.8",
+ "md5-hex": "1.3.0",
+ "micromatch": "2.3.11",
+ "mkdirp": "0.5.1",
+ "pkg-up": "1.0.0",
+ "resolve-from": "2.0.0",
+ "rimraf": "2.5.4",
+ "signal-exit": "3.0.0",
+ "spawn-wrap": "1.2.4",
+ "test-exclude": "1.1.0",
+ "yargs": "4.8.1",
+ "yargs-parser": "2.4.1"
},
"dependencies": {
"align-text": {
"version": "0.1.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
+ "kind-of": "3.0.3",
+ "longest": "1.0.1",
+ "repeat-string": "1.5.4"
}
},
"amdefine": {
@@ -1393,7 +4441,7 @@
"bundled": true,
"dev": true,
"requires": {
- "arr-flatten": "^1.0.1"
+ "arr-flatten": "1.0.1"
}
},
"arr-flatten": {
@@ -1421,10 +4469,10 @@
"bundled": true,
"dev": true,
"requires": {
- "babel-runtime": "^6.0.0",
- "chalk": "^1.1.0",
- "esutils": "^2.0.2",
- "js-tokens": "^2.0.0"
+ "babel-runtime": "6.9.2",
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "2.0.0"
}
},
"babel-generator": {
@@ -1432,12 +4480,12 @@
"bundled": true,
"dev": true,
"requires": {
- "babel-messages": "^6.8.0",
- "babel-runtime": "^6.9.0",
- "babel-types": "^6.10.2",
- "detect-indent": "^3.0.1",
- "lodash": "^4.2.0",
- "source-map": "^0.5.0"
+ "babel-messages": "6.8.0",
+ "babel-runtime": "6.9.2",
+ "babel-types": "6.11.1",
+ "detect-indent": "3.0.1",
+ "lodash": "4.13.1",
+ "source-map": "0.5.6"
}
},
"babel-messages": {
@@ -1445,7 +4493,7 @@
"bundled": true,
"dev": true,
"requires": {
- "babel-runtime": "^6.0.0"
+ "babel-runtime": "6.9.2"
}
},
"babel-runtime": {
@@ -1453,8 +4501,8 @@
"bundled": true,
"dev": true,
"requires": {
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.9.5"
+ "core-js": "2.4.1",
+ "regenerator-runtime": "0.9.5"
}
},
"babel-template": {
@@ -1462,11 +4510,11 @@
"bundled": true,
"dev": true,
"requires": {
- "babel-runtime": "^6.9.0",
- "babel-traverse": "^6.9.0",
- "babel-types": "^6.9.0",
- "babylon": "^6.7.0",
- "lodash": "^4.2.0"
+ "babel-runtime": "6.9.2",
+ "babel-traverse": "6.11.4",
+ "babel-types": "6.11.1",
+ "babylon": "6.8.4",
+ "lodash": "4.13.1"
}
},
"babel-traverse": {
@@ -1474,15 +4522,15 @@
"bundled": true,
"dev": true,
"requires": {
- "babel-code-frame": "^6.8.0",
- "babel-messages": "^6.8.0",
- "babel-runtime": "^6.9.0",
- "babel-types": "^6.9.0",
- "babylon": "^6.7.0",
- "debug": "^2.2.0",
- "globals": "^8.3.0",
- "invariant": "^2.2.0",
- "lodash": "^4.2.0"
+ "babel-code-frame": "6.11.0",
+ "babel-messages": "6.8.0",
+ "babel-runtime": "6.9.2",
+ "babel-types": "6.11.1",
+ "babylon": "6.8.4",
+ "debug": "2.2.0",
+ "globals": "8.18.0",
+ "invariant": "2.2.1",
+ "lodash": "4.13.1"
}
},
"babel-types": {
@@ -1490,11 +4538,11 @@
"bundled": true,
"dev": true,
"requires": {
- "babel-runtime": "^6.9.1",
- "babel-traverse": "^6.9.0",
- "esutils": "^2.0.2",
- "lodash": "^4.2.0",
- "to-fast-properties": "^1.0.1"
+ "babel-runtime": "6.9.2",
+ "babel-traverse": "6.11.4",
+ "esutils": "2.0.2",
+ "lodash": "4.13.1",
+ "to-fast-properties": "1.0.2"
}
},
"babylon": {
@@ -1502,7 +4550,7 @@
"bundled": true,
"dev": true,
"requires": {
- "babel-runtime": "^6.0.0"
+ "babel-runtime": "6.9.2"
}
},
"balanced-match": {
@@ -1515,7 +4563,7 @@
"bundled": true,
"dev": true,
"requires": {
- "balanced-match": "^0.4.1",
+ "balanced-match": "0.4.2",
"concat-map": "0.0.1"
}
},
@@ -1524,9 +4572,9 @@
"bundled": true,
"dev": true,
"requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
}
},
"builtin-modules": {
@@ -1539,9 +4587,9 @@
"bundled": true,
"dev": true,
"requires": {
- "md5-hex": "^1.2.0",
- "mkdirp": "^0.5.1",
- "write-file-atomic": "^1.1.4"
+ "md5-hex": "1.3.0",
+ "mkdirp": "0.5.1",
+ "write-file-atomic": "1.1.4"
}
},
"camelcase": {
@@ -1556,8 +4604,8 @@
"dev": true,
"optional": true,
"requires": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
}
},
"chalk": {
@@ -1565,11 +4613,11 @@
"bundled": true,
"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"
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
}
},
"cliui": {
@@ -1578,8 +4626,8 @@
"dev": true,
"optional": true,
"requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
"wordwrap": "0.0.2"
},
"dependencies": {
@@ -1596,7 +4644,7 @@
"bundled": true,
"dev": true,
"requires": {
- "number-is-nan": "^1.0.0"
+ "number-is-nan": "1.0.0"
}
},
"commondir": {
@@ -1624,8 +4672,8 @@
"bundled": true,
"dev": true,
"requires": {
- "lru-cache": "^4.0.1",
- "which": "^1.2.9"
+ "lru-cache": "4.0.1",
+ "which": "1.2.10"
}
},
"debug": {
@@ -1646,7 +4694,7 @@
"bundled": true,
"dev": true,
"requires": {
- "strip-bom": "^2.0.0"
+ "strip-bom": "2.0.0"
}
},
"detect-indent": {
@@ -1654,9 +4702,9 @@
"bundled": true,
"dev": true,
"requires": {
- "get-stdin": "^4.0.1",
- "minimist": "^1.1.0",
- "repeating": "^1.1.0"
+ "get-stdin": "4.0.1",
+ "minimist": "1.2.0",
+ "repeating": "1.1.3"
},
"dependencies": {
"minimist": {
@@ -1671,7 +4719,7 @@
"bundled": true,
"dev": true,
"requires": {
- "is-arrayish": "^0.2.1"
+ "is-arrayish": "0.2.1"
}
},
"escape-string-regexp": {
@@ -1689,7 +4737,7 @@
"bundled": true,
"dev": true,
"requires": {
- "is-posix-bracket": "^0.1.0"
+ "is-posix-bracket": "0.1.1"
}
},
"expand-range": {
@@ -1697,7 +4745,7 @@
"bundled": true,
"dev": true,
"requires": {
- "fill-range": "^2.1.0"
+ "fill-range": "2.2.3"
}
},
"extglob": {
@@ -1705,7 +4753,7 @@
"bundled": true,
"dev": true,
"requires": {
- "is-extglob": "^1.0.0"
+ "is-extglob": "1.0.0"
}
},
"filename-regex": {
@@ -1718,11 +4766,11 @@
"bundled": true,
"dev": true,
"requires": {
- "is-number": "^2.1.0",
- "isobject": "^2.0.0",
- "randomatic": "^1.1.3",
- "repeat-element": "^1.1.2",
- "repeat-string": "^1.5.2"
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.5",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.5.4"
}
},
"find-cache-dir": {
@@ -1730,9 +4778,9 @@
"bundled": true,
"dev": true,
"requires": {
- "commondir": "^1.0.1",
- "mkdirp": "^0.5.1",
- "pkg-dir": "^1.0.0"
+ "commondir": "1.0.1",
+ "mkdirp": "0.5.1",
+ "pkg-dir": "1.0.0"
}
},
"find-up": {
@@ -1740,8 +4788,8 @@
"bundled": true,
"dev": true,
"requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
}
},
"for-in": {
@@ -1754,7 +4802,7 @@
"bundled": true,
"dev": true,
"requires": {
- "for-in": "^0.1.5"
+ "for-in": "0.1.5"
}
},
"foreground-child": {
@@ -1762,8 +4810,8 @@
"bundled": true,
"dev": true,
"requires": {
- "cross-spawn": "^4",
- "signal-exit": "^3.0.0"
+ "cross-spawn": "4.0.0",
+ "signal-exit": "3.0.0"
}
},
"fs.realpath": {
@@ -1786,12 +4834,12 @@
"bundled": true,
"dev": true,
"requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.2",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.5",
+ "inherits": "2.0.1",
+ "minimatch": "3.0.2",
+ "once": "1.3.3",
+ "path-is-absolute": "1.0.0"
}
},
"glob-base": {
@@ -1799,8 +4847,8 @@
"bundled": true,
"dev": true,
"requires": {
- "glob-parent": "^2.0.0",
- "is-glob": "^2.0.0"
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
}
},
"glob-parent": {
@@ -1808,7 +4856,7 @@
"bundled": true,
"dev": true,
"requires": {
- "is-glob": "^2.0.0"
+ "is-glob": "2.0.1"
}
},
"globals": {
@@ -1826,10 +4874,10 @@
"bundled": true,
"dev": true,
"requires": {
- "async": "^1.4.0",
- "optimist": "^0.6.1",
- "source-map": "^0.4.4",
- "uglify-js": "^2.6"
+ "async": "1.5.2",
+ "optimist": "0.6.1",
+ "source-map": "0.4.4",
+ "uglify-js": "2.7.0"
},
"dependencies": {
"source-map": {
@@ -1837,7 +4885,7 @@
"bundled": true,
"dev": true,
"requires": {
- "amdefine": ">=0.0.4"
+ "amdefine": "1.0.0"
}
}
}
@@ -1847,7 +4895,7 @@
"bundled": true,
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "2.0.0"
}
},
"has-flag": {
@@ -1870,8 +4918,8 @@
"bundled": true,
"dev": true,
"requires": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "once": "1.3.3",
+ "wrappy": "1.0.2"
}
},
"inherits": {
@@ -1884,7 +4932,7 @@
"bundled": true,
"dev": true,
"requires": {
- "loose-envify": "^1.0.0"
+ "loose-envify": "1.2.0"
}
},
"invert-kv": {
@@ -1907,7 +4955,7 @@
"bundled": true,
"dev": true,
"requires": {
- "builtin-modules": "^1.0.0"
+ "builtin-modules": "1.1.1"
}
},
"is-dotfile": {
@@ -1920,7 +4968,7 @@
"bundled": true,
"dev": true,
"requires": {
- "is-primitive": "^2.0.0"
+ "is-primitive": "2.0.0"
}
},
"is-extendable": {
@@ -1938,7 +4986,7 @@
"bundled": true,
"dev": true,
"requires": {
- "number-is-nan": "^1.0.0"
+ "number-is-nan": "1.0.0"
}
},
"is-fullwidth-code-point": {
@@ -1946,7 +4994,7 @@
"bundled": true,
"dev": true,
"requires": {
- "number-is-nan": "^1.0.0"
+ "number-is-nan": "1.0.0"
}
},
"is-glob": {
@@ -1954,7 +5002,7 @@
"bundled": true,
"dev": true,
"requires": {
- "is-extglob": "^1.0.0"
+ "is-extglob": "1.0.0"
}
},
"is-number": {
@@ -1962,7 +5010,7 @@
"bundled": true,
"dev": true,
"requires": {
- "kind-of": "^3.0.2"
+ "kind-of": "3.0.3"
}
},
"is-posix-bracket": {
@@ -2008,7 +5056,7 @@
"bundled": true,
"dev": true,
"requires": {
- "append-transform": "^0.3.0"
+ "append-transform": "0.3.0"
}
},
"istanbul-lib-instrument": {
@@ -2016,12 +5064,12 @@
"bundled": true,
"dev": true,
"requires": {
- "babel-generator": "^6.11.3",
- "babel-template": "^6.9.0",
- "babel-traverse": "^6.9.0",
- "babel-types": "^6.10.2",
- "babylon": "^6.8.1",
- "istanbul-lib-coverage": "^1.0.0-alpha.4"
+ "babel-generator": "6.11.4",
+ "babel-template": "6.9.0",
+ "babel-traverse": "6.11.4",
+ "babel-types": "6.11.1",
+ "babylon": "6.8.4",
+ "istanbul-lib-coverage": "1.0.0-alpha.4"
}
},
"istanbul-lib-report": {
@@ -2029,12 +5077,12 @@
"bundled": true,
"dev": true,
"requires": {
- "async": "^1.4.2",
- "istanbul-lib-coverage": "^1.0.0-alpha",
- "mkdirp": "^0.5.1",
- "path-parse": "^1.0.5",
- "rimraf": "^2.4.3",
- "supports-color": "^3.1.2"
+ "async": "1.5.2",
+ "istanbul-lib-coverage": "1.0.0-alpha.4",
+ "mkdirp": "0.5.1",
+ "path-parse": "1.0.5",
+ "rimraf": "2.5.4",
+ "supports-color": "3.1.2"
},
"dependencies": {
"supports-color": {
@@ -2042,7 +5090,7 @@
"bundled": true,
"dev": true,
"requires": {
- "has-flag": "^1.0.0"
+ "has-flag": "1.0.0"
}
}
}
@@ -2052,10 +5100,10 @@
"bundled": true,
"dev": true,
"requires": {
- "istanbul-lib-coverage": "^1.0.0-alpha.0",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.4.4",
- "source-map": "^0.5.3"
+ "istanbul-lib-coverage": "1.0.0-alpha.4",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.5.4",
+ "source-map": "0.5.6"
}
},
"istanbul-reports": {
@@ -2063,7 +5111,7 @@
"bundled": true,
"dev": true,
"requires": {
- "handlebars": "^4.0.3"
+ "handlebars": "4.0.5"
}
},
"js-tokens": {
@@ -2076,7 +5124,7 @@
"bundled": true,
"dev": true,
"requires": {
- "is-buffer": "^1.0.2"
+ "is-buffer": "1.1.3"
}
},
"lazy-cache": {
@@ -2090,7 +5138,7 @@
"bundled": true,
"dev": true,
"requires": {
- "invert-kv": "^1.0.0"
+ "invert-kv": "1.0.0"
}
},
"load-json-file": {
@@ -2098,11 +5146,11 @@
"bundled": true,
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
+ "graceful-fs": "4.1.4",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
}
},
"lodash": {
@@ -2115,8 +5163,8 @@
"bundled": true,
"dev": true,
"requires": {
- "lodash.keys": "^4.0.0",
- "lodash.rest": "^4.0.0"
+ "lodash.keys": "4.0.7",
+ "lodash.rest": "4.0.3"
}
},
"lodash.keys": {
@@ -2132,15 +5180,14 @@
"longest": {
"version": "1.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"loose-envify": {
"version": "1.2.0",
"bundled": true,
"dev": true,
"requires": {
- "js-tokens": "^1.0.1"
+ "js-tokens": "1.0.3"
},
"dependencies": {
"js-tokens": {
@@ -2155,8 +5202,8 @@
"bundled": true,
"dev": true,
"requires": {
- "pseudomap": "^1.0.1",
- "yallist": "^2.0.0"
+ "pseudomap": "1.0.2",
+ "yallist": "2.0.0"
}
},
"md5-hex": {
@@ -2164,7 +5211,7 @@
"bundled": true,
"dev": true,
"requires": {
- "md5-o-matic": "^0.1.1"
+ "md5-o-matic": "0.1.1"
}
},
"md5-o-matic": {
@@ -2177,19 +5224,19 @@
"bundled": true,
"dev": true,
"requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.0",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.0.3",
+ "normalize-path": "2.0.1",
+ "object.omit": "2.0.0",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.3"
}
},
"minimatch": {
@@ -2197,7 +5244,7 @@
"bundled": true,
"dev": true,
"requires": {
- "brace-expansion": "^1.0.0"
+ "brace-expansion": "1.1.6"
}
},
"minimist": {
@@ -2223,10 +5270,10 @@
"bundled": true,
"dev": true,
"requires": {
- "hosted-git-info": "^2.1.4",
- "is-builtin-module": "^1.0.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
+ "hosted-git-info": "2.1.5",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.3.0",
+ "validate-npm-package-license": "3.0.1"
}
},
"normalize-path": {
@@ -2244,8 +5291,8 @@
"bundled": true,
"dev": true,
"requires": {
- "for-own": "^0.1.3",
- "is-extendable": "^0.1.1"
+ "for-own": "0.1.4",
+ "is-extendable": "0.1.1"
}
},
"once": {
@@ -2253,7 +5300,7 @@
"bundled": true,
"dev": true,
"requires": {
- "wrappy": "1"
+ "wrappy": "1.0.2"
}
},
"optimist": {
@@ -2261,8 +5308,8 @@
"bundled": true,
"dev": true,
"requires": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
+ "minimist": "0.0.8",
+ "wordwrap": "0.0.3"
}
},
"os-homedir": {
@@ -2275,7 +5322,7 @@
"bundled": true,
"dev": true,
"requires": {
- "lcid": "^1.0.0"
+ "lcid": "1.0.0"
}
},
"parse-glob": {
@@ -2283,10 +5330,10 @@
"bundled": true,
"dev": true,
"requires": {
- "glob-base": "^0.3.0",
- "is-dotfile": "^1.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.0"
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.2",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
}
},
"parse-json": {
@@ -2294,7 +5341,7 @@
"bundled": true,
"dev": true,
"requires": {
- "error-ex": "^1.2.0"
+ "error-ex": "1.3.0"
}
},
"path-exists": {
@@ -2302,7 +5349,7 @@
"bundled": true,
"dev": true,
"requires": {
- "pinkie-promise": "^2.0.0"
+ "pinkie-promise": "2.0.1"
}
},
"path-is-absolute": {
@@ -2320,9 +5367,9 @@
"bundled": true,
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
+ "graceful-fs": "4.1.4",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
}
},
"pify": {
@@ -2340,7 +5387,7 @@
"bundled": true,
"dev": true,
"requires": {
- "pinkie": "^2.0.0"
+ "pinkie": "2.0.4"
}
},
"pkg-dir": {
@@ -2348,7 +5395,7 @@
"bundled": true,
"dev": true,
"requires": {
- "find-up": "^1.0.0"
+ "find-up": "1.1.2"
}
},
"pkg-up": {
@@ -2356,7 +5403,7 @@
"bundled": true,
"dev": true,
"requires": {
- "find-up": "^1.0.0"
+ "find-up": "1.1.2"
}
},
"preserve": {
@@ -2374,8 +5421,8 @@
"bundled": true,
"dev": true,
"requires": {
- "is-number": "^2.0.2",
- "kind-of": "^3.0.2"
+ "is-number": "2.1.0",
+ "kind-of": "3.0.3"
}
},
"read-pkg": {
@@ -2383,9 +5430,9 @@
"bundled": true,
"dev": true,
"requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.3.5",
+ "path-type": "1.1.0"
}
},
"read-pkg-up": {
@@ -2393,8 +5440,8 @@
"bundled": true,
"dev": true,
"requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
}
},
"regenerator-runtime": {
@@ -2407,8 +5454,8 @@
"bundled": true,
"dev": true,
"requires": {
- "is-equal-shallow": "^0.1.3",
- "is-primitive": "^2.0.0"
+ "is-equal-shallow": "0.1.3",
+ "is-primitive": "2.0.0"
}
},
"repeat-element": {
@@ -2426,7 +5473,7 @@
"bundled": true,
"dev": true,
"requires": {
- "is-finite": "^1.0.0"
+ "is-finite": "1.0.1"
}
},
"require-directory": {
@@ -2450,7 +5497,7 @@
"dev": true,
"optional": true,
"requires": {
- "align-text": "^0.1.1"
+ "align-text": "0.1.4"
}
},
"rimraf": {
@@ -2458,7 +5505,7 @@
"bundled": true,
"dev": true,
"requires": {
- "glob": "^7.0.5"
+ "glob": "7.0.5"
}
},
"semver": {
@@ -2491,12 +5538,12 @@
"bundled": true,
"dev": true,
"requires": {
- "foreground-child": "^1.3.3",
- "mkdirp": "^0.5.0",
- "os-homedir": "^1.0.1",
- "rimraf": "^2.3.3",
- "signal-exit": "^2.0.0",
- "which": "^1.2.4"
+ "foreground-child": "1.5.3",
+ "mkdirp": "0.5.1",
+ "os-homedir": "1.0.1",
+ "rimraf": "2.5.4",
+ "signal-exit": "2.1.2",
+ "which": "1.2.10"
},
"dependencies": {
"signal-exit": {
@@ -2511,7 +5558,7 @@
"bundled": true,
"dev": true,
"requires": {
- "spdx-license-ids": "^1.0.2"
+ "spdx-license-ids": "1.2.1"
}
},
"spdx-exceptions": {
@@ -2524,8 +5571,8 @@
"bundled": true,
"dev": true,
"requires": {
- "spdx-exceptions": "^1.0.4",
- "spdx-license-ids": "^1.0.0"
+ "spdx-exceptions": "1.0.5",
+ "spdx-license-ids": "1.2.1"
}
},
"spdx-license-ids": {
@@ -2538,9 +5585,9 @@
"bundled": true,
"dev": true,
"requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
+ "code-point-at": "1.0.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
}
},
"strip-ansi": {
@@ -2548,7 +5595,7 @@
"bundled": true,
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "2.0.0"
}
},
"strip-bom": {
@@ -2556,7 +5603,7 @@
"bundled": true,
"dev": true,
"requires": {
- "is-utf8": "^0.2.0"
+ "is-utf8": "0.2.1"
}
},
"supports-color": {
@@ -2569,11 +5616,11 @@
"bundled": true,
"dev": true,
"requires": {
- "arrify": "^1.0.1",
- "lodash.assign": "^4.0.9",
- "micromatch": "^2.3.8",
- "read-pkg-up": "^1.0.1",
- "require-main-filename": "^1.0.1"
+ "arrify": "1.0.1",
+ "lodash.assign": "4.0.9",
+ "micromatch": "2.3.11",
+ "read-pkg-up": "1.0.1",
+ "require-main-filename": "1.0.1"
}
},
"to-fast-properties": {
@@ -2587,10 +5634,10 @@
"dev": true,
"optional": true,
"requires": {
- "async": "~0.2.6",
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
+ "async": "0.2.10",
+ "source-map": "0.5.6",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
},
"dependencies": {
"async": {
@@ -2605,9 +5652,9 @@
"dev": true,
"optional": true,
"requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
"window-size": "0.1.0"
}
}
@@ -2624,8 +5671,8 @@
"bundled": true,
"dev": true,
"requires": {
- "spdx-correct": "~1.0.0",
- "spdx-expression-parse": "~1.0.0"
+ "spdx-correct": "1.0.2",
+ "spdx-expression-parse": "1.0.2"
}
},
"which": {
@@ -2633,7 +5680,7 @@
"bundled": true,
"dev": true,
"requires": {
- "isexe": "^1.1.1"
+ "isexe": "1.1.2"
}
},
"which-module": {
@@ -2657,7 +5704,7 @@
"bundled": true,
"dev": true,
"requires": {
- "string-width": "^1.0.1"
+ "string-width": "1.0.1"
}
},
"wrappy": {
@@ -2670,9 +5717,9 @@
"bundled": true,
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "imurmurhash": "^0.1.4",
- "slide": "^1.1.5"
+ "graceful-fs": "4.1.4",
+ "imurmurhash": "0.1.4",
+ "slide": "1.1.6"
}
},
"y18n": {
@@ -2690,20 +5737,20 @@
"bundled": true,
"dev": true,
"requires": {
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "lodash.assign": "^4.0.3",
- "os-locale": "^1.4.0",
- "read-pkg-up": "^1.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^1.0.1",
- "which-module": "^1.0.0",
- "window-size": "^0.2.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^2.4.1"
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.1",
+ "lodash.assign": "4.0.9",
+ "os-locale": "1.4.0",
+ "read-pkg-up": "1.0.1",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "1.0.1",
+ "which-module": "1.0.0",
+ "window-size": "0.2.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "2.4.1"
},
"dependencies": {
"cliui": {
@@ -2711,9 +5758,9 @@
"bundled": true,
"dev": true,
"requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
+ "string-width": "1.0.1",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.0.0"
}
},
"window-size": {
@@ -2728,8 +5775,8 @@
"bundled": true,
"dev": true,
"requires": {
- "camelcase": "^3.0.0",
- "lodash.assign": "^4.0.6"
+ "camelcase": "3.0.0",
+ "lodash.assign": "4.0.9"
},
"dependencies": {
"camelcase": {
@@ -2743,28 +5790,28 @@
},
"oauth-sign": {
"version": "0.8.2",
- "resolved": "https://npm.bmtrip.io/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz",
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
"dev": true
},
"object-assign": {
"version": "4.1.1",
- "resolved": "https://npm.bmtrip.io/object-assign/-/object-assign-4.1.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
"once": {
"version": "1.4.0",
- "resolved": "https://npm.bmtrip.io/once/-/once-1.4.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
- "wrappy": "1"
+ "wrappy": "1.0.2"
}
},
"only-shallow": {
"version": "1.2.0",
- "resolved": "https://npm.bmtrip.io/only-shallow/-/only-shallow-1.2.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/only-shallow/download/only-shallow-1.2.0.tgz",
"integrity": "sha1-cc7O26kyS8BRiu8Q7AgNMkncJGU=",
"dev": true
},
@@ -2776,40 +5823,40 @@
},
"os-homedir": {
"version": "1.0.1",
- "resolved": "https://npm.bmtrip.io/os-homedir/-/os-homedir-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.1.tgz",
"integrity": "sha1-DWK99EuRb9O73PLKsZGUj7CU8Ac=",
"dev": true
},
"pako": {
"version": "0.2.9",
- "resolved": "https://npm.bmtrip.io/pako/-/pako-0.2.9.tgz",
+ "resolved": "http://registry.npm.taobao.org/pako/download/pako-0.2.9.tgz",
"integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
"dev": true
},
"path-is-absolute": {
"version": "1.0.1",
- "resolved": "https://npm.bmtrip.io/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"pinkie": {
"version": "2.0.4",
- "resolved": "https://npm.bmtrip.io/pinkie/-/pinkie-2.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
"dev": true
},
"pinkie-promise": {
"version": "2.0.1",
- "resolved": "https://npm.bmtrip.io/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
"requires": {
- "pinkie": "^2.0.0"
+ "pinkie": "2.0.4"
}
},
"pretty-bytes": {
"version": "0.1.2",
- "resolved": "https://npm.bmtrip.io/pretty-bytes/-/pretty-bytes-0.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-0.1.2.tgz",
"integrity": "sha1-zZApTVihyk6KXQ+5yCJZmIgazwA=",
"dev": true
},
@@ -2821,80 +5868,80 @@
},
"pseudomap": {
"version": "1.0.2",
- "resolved": "https://npm.bmtrip.io/pseudomap/-/pseudomap-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
"punycode": {
"version": "1.4.1",
- "resolved": "https://npm.bmtrip.io/punycode/-/punycode-1.4.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
},
"qs": {
"version": "6.3.2",
- "resolved": "https://npm.bmtrip.io/qs/-/qs-6.3.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.3.2.tgz",
"integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=",
"dev": true
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://npm.bmtrip.io/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
"isarray": "0.0.1",
- "string_decoder": "~0.10.x"
+ "string_decoder": "0.10.31"
}
},
"repeat-string": {
"version": "1.6.1",
- "resolved": "https://npm.bmtrip.io/repeat-string/-/repeat-string-1.6.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
},
"request": {
"version": "2.79.0",
- "resolved": "https://npm.bmtrip.io/request/-/request-2.79.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/request/download/request-2.79.0.tgz",
"integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
"dev": true,
"requires": {
- "aws-sign2": "~0.6.0",
- "aws4": "^1.2.1",
- "caseless": "~0.11.0",
- "combined-stream": "~1.0.5",
- "extend": "~3.0.0",
- "forever-agent": "~0.6.1",
- "form-data": "~2.1.1",
- "har-validator": "~2.0.6",
- "hawk": "~3.1.3",
- "http-signature": "~1.1.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.7",
- "oauth-sign": "~0.8.1",
- "qs": "~6.3.0",
- "stringstream": "~0.0.4",
- "tough-cookie": "~2.3.0",
- "tunnel-agent": "~0.4.1",
- "uuid": "^3.0.0"
+ "aws-sign2": "0.6.0",
+ "aws4": "1.8.0",
+ "caseless": "0.11.0",
+ "combined-stream": "1.0.7",
+ "extend": "3.0.2",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "2.0.6",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.22",
+ "oauth-sign": "0.8.2",
+ "qs": "6.3.2",
+ "stringstream": "0.0.6",
+ "tough-cookie": "2.3.4",
+ "tunnel-agent": "0.4.3",
+ "uuid": "3.3.2"
}
},
"right-align": {
"version": "0.1.3",
- "resolved": "https://npm.bmtrip.io/right-align/-/right-align-0.1.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz",
"integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
"dev": true,
"requires": {
- "align-text": "^0.1.1"
+ "align-text": "0.1.4"
}
},
"rimraf": {
"version": "2.2.8",
- "resolved": "https://npm.bmtrip.io/rimraf/-/rimraf-2.2.8.tgz",
+ "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.2.8.tgz",
"integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
"dev": true
},
@@ -2912,40 +5959,40 @@
},
"shelljs": {
"version": "0.3.0",
- "resolved": "https://npm.bmtrip.io/shelljs/-/shelljs-0.3.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/shelljs/download/shelljs-0.3.0.tgz",
"integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=",
"dev": true
},
"sigmund": {
"version": "1.0.1",
- "resolved": "https://npm.bmtrip.io/sigmund/-/sigmund-1.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz",
"integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
"dev": true
},
"signal-exit": {
"version": "3.0.2",
- "resolved": "https://npm.bmtrip.io/signal-exit/-/signal-exit-3.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz",
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
"sntp": {
"version": "1.0.9",
- "resolved": "https://npm.bmtrip.io/sntp/-/sntp-1.0.9.tgz",
+ "resolved": "http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"dev": true,
"requires": {
- "hoek": "2.x.x"
+ "hoek": "2.16.3"
}
},
"source-map": {
"version": "0.5.7",
- "resolved": "https://npm.bmtrip.io/source-map/-/source-map-0.5.7.tgz",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"sprintf-js": {
"version": "1.0.3",
- "resolved": "https://npm.bmtrip.io/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
@@ -2955,15 +6002,15 @@
"integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
"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"
+ "asn1": "0.2.4",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.2",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.2",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "safer-buffer": "2.1.2",
+ "tweetnacl": "0.14.5"
},
"dependencies": {
"assert-plus": {
@@ -2976,13 +6023,13 @@
},
"stack-utils": {
"version": "0.4.0",
- "resolved": "https://npm.bmtrip.io/stack-utils/-/stack-utils-0.4.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/stack-utils/download/stack-utils-0.4.0.tgz",
"integrity": "sha1-lAy4L8z6hOj/Lz/fKT/ngBa+zNE=",
"dev": true
},
"string_decoder": {
"version": "0.10.31",
- "resolved": "https://npm.bmtrip.io/string_decoder/-/string_decoder-0.10.31.tgz",
+ "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
@@ -2994,50 +6041,50 @@
},
"strip-ansi": {
"version": "3.0.1",
- "resolved": "https://npm.bmtrip.io/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "2.1.1"
}
},
"strip-json-comments": {
"version": "1.0.4",
- "resolved": "https://npm.bmtrip.io/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
+ "resolved": "http://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-1.0.4.tgz",
"integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
"dev": true
},
"supports-color": {
"version": "2.0.0",
- "resolved": "https://npm.bmtrip.io/supports-color/-/supports-color-2.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
},
"tap": {
"version": "7.1.2",
- "resolved": "https://npm.bmtrip.io/tap/-/tap-7.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/tap/download/tap-7.1.2.tgz",
"integrity": "sha1-36w+zxSshUe7rSW70Wzyw3Q/Zc8=",
"dev": true,
"requires": {
- "bluebird": "^3.3.1",
- "clean-yaml-object": "^0.1.0",
- "color-support": "^1.1.0",
- "coveralls": "^2.11.2",
- "deeper": "^2.1.0",
- "foreground-child": "^1.3.3",
- "glob": "^7.0.0",
- "isexe": "^1.0.0",
- "js-yaml": "^3.3.1",
- "nyc": "^7.1.0",
- "only-shallow": "^1.0.2",
- "opener": "^1.4.1",
+ "bluebird": "3.5.3",
+ "clean-yaml-object": "0.1.0",
+ "color-support": "1.1.3",
+ "coveralls": "2.13.3",
+ "deeper": "2.1.0",
+ "foreground-child": "1.5.6",
+ "glob": "7.1.3",
+ "isexe": "1.1.2",
+ "js-yaml": "3.12.2",
+ "nyc": "7.1.0",
+ "only-shallow": "1.2.0",
+ "opener": "1.5.1",
"os-homedir": "1.0.1",
- "readable-stream": "^2.0.2",
- "signal-exit": "^3.0.0",
- "stack-utils": "^0.4.0",
- "tap-mocha-reporter": "^2.0.0",
- "tap-parser": "^2.2.0",
- "tmatch": "^2.0.1"
+ "readable-stream": "2.3.6",
+ "signal-exit": "3.0.2",
+ "stack-utils": "0.4.0",
+ "tap-mocha-reporter": "2.0.1",
+ "tap-parser": "2.2.3",
+ "tmatch": "2.0.1"
},
"dependencies": {
"argparse": {
@@ -3046,7 +6093,7 @@
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"requires": {
- "sprintf-js": "~1.0.2"
+ "sprintf-js": "1.0.3"
}
},
"esprima": {
@@ -3061,17 +6108,17 @@
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"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"
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
}
},
"isarray": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/isarray/-/isarray-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
@@ -3081,8 +6128,8 @@
"integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==",
"dev": true,
"requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "argparse": "1.0.10",
+ "esprima": "4.0.1"
}
},
"minimatch": {
@@ -3091,7 +6138,7 @@
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
- "brace-expansion": "^1.1.7"
+ "brace-expansion": "1.1.11"
}
},
"readable-stream": {
@@ -3100,13 +6147,13 @@
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"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"
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
}
},
"string_decoder": {
@@ -3115,26 +6162,26 @@
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
- "safe-buffer": "~5.1.0"
+ "safe-buffer": "5.1.2"
}
}
}
},
"tap-mocha-reporter": {
"version": "2.0.1",
- "resolved": "https://npm.bmtrip.io/tap-mocha-reporter/-/tap-mocha-reporter-2.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/tap-mocha-reporter/download/tap-mocha-reporter-2.0.1.tgz",
"integrity": "sha1-xwMWFz1uOhbFjhupLV1s2N5YoS4=",
"dev": true,
"requires": {
- "color-support": "^1.1.0",
- "debug": "^2.1.3",
- "diff": "^1.3.2",
- "escape-string-regexp": "^1.0.3",
- "glob": "^7.0.5",
- "js-yaml": "^3.3.1",
- "readable-stream": "^2.1.5",
- "tap-parser": "^2.0.0",
- "unicode-length": "^1.0.0"
+ "color-support": "1.1.3",
+ "debug": "2.6.9",
+ "diff": "1.4.0",
+ "escape-string-regexp": "1.0.5",
+ "glob": "7.1.3",
+ "js-yaml": "3.12.2",
+ "readable-stream": "2.3.6",
+ "tap-parser": "2.2.3",
+ "unicode-length": "1.0.3"
},
"dependencies": {
"argparse": {
@@ -3143,7 +6190,7 @@
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"requires": {
- "sprintf-js": "~1.0.2"
+ "sprintf-js": "1.0.3"
}
},
"esprima": {
@@ -3158,17 +6205,17 @@
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"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"
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
}
},
"isarray": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/isarray/-/isarray-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true,
"optional": true
@@ -3179,8 +6226,8 @@
"integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==",
"dev": true,
"requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "argparse": "1.0.10",
+ "esprima": "4.0.1"
}
},
"minimatch": {
@@ -3189,7 +6236,7 @@
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
- "brace-expansion": "^1.1.7"
+ "brace-expansion": "1.1.11"
}
},
"readable-stream": {
@@ -3199,13 +6246,13 @@
"dev": true,
"optional": 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"
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
}
},
"string_decoder": {
@@ -3215,20 +6262,20 @@
"dev": true,
"optional": true,
"requires": {
- "safe-buffer": "~5.1.0"
+ "safe-buffer": "5.1.2"
}
}
}
},
"tap-parser": {
"version": "2.2.3",
- "resolved": "https://npm.bmtrip.io/tap-parser/-/tap-parser-2.2.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/tap-parser/download/tap-parser-2.2.3.tgz",
"integrity": "sha1-rebpbje/04zg8WLaBn80A08GiwE=",
"dev": true,
"requires": {
- "events-to-array": "^1.0.1",
- "js-yaml": "^3.2.7",
- "readable-stream": "^2"
+ "events-to-array": "1.1.2",
+ "js-yaml": "3.12.2",
+ "readable-stream": "2.3.6"
},
"dependencies": {
"argparse": {
@@ -3237,7 +6284,7 @@
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"requires": {
- "sprintf-js": "~1.0.2"
+ "sprintf-js": "1.0.3"
}
},
"esprima": {
@@ -3248,7 +6295,7 @@
},
"isarray": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/isarray/-/isarray-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true,
"optional": true
@@ -3259,8 +6306,8 @@
"integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==",
"dev": true,
"requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "argparse": "1.0.10",
+ "esprima": "4.0.1"
}
},
"readable-stream": {
@@ -3270,13 +6317,13 @@
"dev": true,
"optional": 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"
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
}
},
"string_decoder": {
@@ -3286,14 +6333,14 @@
"dev": true,
"optional": true,
"requires": {
- "safe-buffer": "~5.1.0"
+ "safe-buffer": "5.1.2"
}
}
}
},
"tmatch": {
"version": "2.0.1",
- "resolved": "https://npm.bmtrip.io/tmatch/-/tmatch-2.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/tmatch/download/tmatch-2.0.1.tgz",
"integrity": "sha1-DFYkbzPzDaG409colauvFmYPOM8=",
"dev": true
},
@@ -3303,70 +6350,70 @@
"integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
"dev": true,
"requires": {
- "punycode": "^1.4.1"
+ "punycode": "1.4.1"
}
},
"tunnel-agent": {
"version": "0.4.3",
- "resolved": "https://npm.bmtrip.io/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.4.3.tgz",
"integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
"dev": true
},
"tweetnacl": {
"version": "0.14.5",
- "resolved": "https://npm.bmtrip.io/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true
},
"typedarray": {
"version": "0.0.6",
- "resolved": "https://npm.bmtrip.io/typedarray/-/typedarray-0.0.6.tgz",
+ "resolved": "http://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
"uglify-js": {
"version": "2.8.29",
- "resolved": "https://npm.bmtrip.io/uglify-js/-/uglify-js-2.8.29.tgz",
+ "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz",
"integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"dev": true,
"requires": {
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
}
},
"uglify-to-browserify": {
"version": "1.0.2",
- "resolved": "https://npm.bmtrip.io/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz",
"integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
"dev": true,
"optional": true
},
"underscore": {
"version": "1.7.0",
- "resolved": "https://npm.bmtrip.io/underscore/-/underscore-1.7.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/underscore/download/underscore-1.7.0.tgz",
"integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
"dev": true
},
"underscore.string": {
"version": "2.2.1",
- "resolved": "https://npm.bmtrip.io/underscore.string/-/underscore.string-2.2.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/underscore.string/download/underscore.string-2.2.1.tgz",
"integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=",
"dev": true
},
"unicode-length": {
"version": "1.0.3",
- "resolved": "https://npm.bmtrip.io/unicode-length/-/unicode-length-1.0.3.tgz",
+ "resolved": "http://registry.npm.taobao.org/unicode-length/download/unicode-length-1.0.3.tgz",
"integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=",
"dev": true,
"requires": {
- "punycode": "^1.3.2",
- "strip-ansi": "^3.0.1"
+ "punycode": "1.4.1",
+ "strip-ansi": "3.0.1"
}
},
"util-deprecate": {
"version": "1.0.2",
- "resolved": "https://npm.bmtrip.io/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
@@ -3378,18 +6425,18 @@
},
"verror": {
"version": "1.10.0",
- "resolved": "https://npm.bmtrip.io/verror/-/verror-1.10.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
"requires": {
- "assert-plus": "^1.0.0",
+ "assert-plus": "1.0.0",
"core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
+ "extsprintf": "1.3.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
- "resolved": "https://npm.bmtrip.io/assert-plus/-/assert-plus-1.0.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
@@ -3397,49 +6444,49 @@
},
"which": {
"version": "1.0.9",
- "resolved": "https://npm.bmtrip.io/which/-/which-1.0.9.tgz",
+ "resolved": "http://registry.npm.taobao.org/which/download/which-1.0.9.tgz",
"integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=",
"dev": true
},
"window-size": {
"version": "0.1.0",
- "resolved": "https://npm.bmtrip.io/window-size/-/window-size-0.1.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz",
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
"dev": true
},
"wordwrap": {
"version": "0.0.2",
- "resolved": "https://npm.bmtrip.io/wordwrap/-/wordwrap-0.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz",
"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
"dev": true
},
"wrappy": {
"version": "1.0.2",
- "resolved": "https://npm.bmtrip.io/wrappy/-/wrappy-1.0.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"xtend": {
"version": "4.0.1",
- "resolved": "https://npm.bmtrip.io/xtend/-/xtend-4.0.1.tgz",
+ "resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
"dev": true
},
"yallist": {
"version": "2.1.2",
- "resolved": "https://npm.bmtrip.io/yallist/-/yallist-2.1.2.tgz",
+ "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
"yargs": {
"version": "3.10.0",
- "resolved": "https://npm.bmtrip.io/yargs/-/yargs-3.10.0.tgz",
+ "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz",
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
"dev": true,
"requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
"window-size": "0.1.0"
}
}
diff --git a/package.json b/package.json
index a26859c..28a63a6 100644
--- a/package.json
+++ b/package.json
@@ -27,5 +27,8 @@
"bugs": {
"url": "https://github.com/wangerzi/layui-excel/issues"
},
- "homepage": "https://github.com/wangerzi/layui-excel#readme"
+ "homepage": "https://github.com/wangerzi/layui-excel#readme",
+ "dependencies": {
+ "npm": "^6.11.3"
+ }
}