Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Vanishing597
NeteaseCloudMusicApi
提交
2bccab0e
N
NeteaseCloudMusicApi
项目概览
Vanishing597
/
NeteaseCloudMusicApi
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
NeteaseCloudMusicApi
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2bccab0e
编写于
8月 17, 2017
作者:
B
binaryify
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
加入随机 userAgent 机制
上级
5e4f410f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
1722 addition
and
60 deletion
+1722
-60
package-lock.json
package-lock.json
+1621
-0
package.json
package.json
+1
-1
util/util.js
util/util.js
+100
-59
未找到文件。
package-lock.json
0 → 100644
浏览文件 @
2bccab0e
{
"name"
:
"NeteaseCloudMusicApi"
,
"version"
:
"2.6.3"
,
"lockfileVersion"
:
1
,
"requires"
:
true
,
"dependencies"
:
{
"accepts"
:
{
"version"
:
"1.3.3"
,
"resolved"
:
"http://registry.npm.taobao.org/accepts/download/accepts-1.3.3.tgz"
,
"integrity"
:
"sha1-w8p0NJOGSMPg2cHjKN1otiLChMo="
,
"requires"
:
{
"mime-types"
:
"2.1.16"
,
"negotiator"
:
"0.6.1"
}
},
"acorn"
:
{
"version"
:
"5.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/acorn/download/acorn-5.1.1.tgz"
,
"integrity"
:
"sha1-U/4WERH5EquZnuiHqQoLxSgi/XU="
,
"dev"
:
true
},
"acorn-es7-plugin"
:
{
"version"
:
"1.1.7"
,
"resolved"
:
"http://registry.npm.taobao.org/acorn-es7-plugin/download/acorn-es7-plugin-1.1.7.tgz"
,
"integrity"
:
"sha1-8u4fMiipDurRJF+asZIusucdM2s="
,
"dev"
:
true
},
"ajv"
:
{
"version"
:
"4.11.8"
,
"resolved"
:
"http://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz"
,
"integrity"
:
"sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY="
,
"requires"
:
{
"co"
:
"4.6.0"
,
"json-stable-stringify"
:
"1.0.1"
}
},
"amdefine"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz"
,
"integrity"
:
"sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
,
"dev"
:
true
},
"array-filter"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/array-filter/download/array-filter-1.0.0.tgz"
,
"integrity"
:
"sha1-uveeYubvTCpMC4MSMtr/7CUfnYM="
,
"dev"
:
true
},
"array-find"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/array-find/download/array-find-1.0.0.tgz"
,
"integrity"
:
"sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg="
,
"dev"
:
true
},
"array-flatten"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz"
,
"integrity"
:
"sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"asn1"
:
{
"version"
:
"0.2.3"
,
"resolved"
:
"http://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz"
,
"integrity"
:
"sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
},
"assert-plus"
:
{
"version"
:
"0.2.0"
,
"resolved"
:
"http://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz"
,
"integrity"
:
"sha1-104bh+ev/A24qttwIfP+SBAasjQ="
},
"asynckit"
:
{
"version"
:
"0.4.0"
,
"resolved"
:
"http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz"
,
"integrity"
:
"sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"aws-sign2"
:
{
"version"
:
"0.6.0"
,
"resolved"
:
"http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz"
,
"integrity"
:
"sha1-FDQt0428yU0OW4fXY81jYSwOeU8="
},
"aws4"
:
{
"version"
:
"1.6.0"
,
"resolved"
:
"http://registry.npm.taobao.org/aws4/download/aws4-1.6.0.tgz"
,
"integrity"
:
"sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
},
"balanced-match"
:
{
"version"
:
"1.0.0"
,
"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.1"
,
"resolved"
:
"http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz"
,
"integrity"
:
"sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40="
,
"optional"
:
true
,
"requires"
:
{
"tweetnacl"
:
"0.14.5"
}
},
"big-integer"
:
{
"version"
:
"1.6.23"
,
"resolved"
:
"http://registry.npm.taobao.org/big-integer/download/big-integer-1.6.23.tgz"
,
"integrity"
:
"sha1-6F1QgiDHTj9DpM5y7tUfPaTblNE="
},
"boom"
:
{
"version"
:
"2.10.1"
,
"resolved"
:
"http://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz"
,
"integrity"
:
"sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8="
,
"requires"
:
{
"hoek"
:
"2.16.3"
}
},
"brace-expansion"
:
{
"version"
:
"1.1.8"
,
"resolved"
:
"http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.8.tgz"
,
"integrity"
:
"sha1-wHshHHyVLsH479Uad+8NHTmQopI="
,
"dev"
:
true
,
"requires"
:
{
"balanced-match"
:
"1.0.0"
,
"concat-map"
:
"0.0.1"
}
},
"browser-stdout"
:
{
"version"
:
"1.3.0"
,
"resolved"
:
"http://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.0.tgz"
,
"integrity"
:
"sha1-81HTKWnTL6XXpVZxVCY9korjvR8="
,
"dev"
:
true
},
"call-matcher"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/call-matcher/download/call-matcher-1.0.1.tgz"
,
"integrity"
:
"sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg="
,
"dev"
:
true
,
"requires"
:
{
"core-js"
:
"2.5.0"
,
"deep-equal"
:
"1.0.1"
,
"espurify"
:
"1.7.0"
,
"estraverse"
:
"4.2.0"
}
},
"call-signature"
:
{
"version"
:
"0.0.2"
,
"resolved"
:
"http://registry.npm.taobao.org/call-signature/download/call-signature-0.0.2.tgz"
,
"integrity"
:
"sha1-qEq8glpV70yysCi9dOIFpluaSZY="
,
"dev"
:
true
},
"caseless"
:
{
"version"
:
"0.12.0"
,
"resolved"
:
"http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz"
,
"integrity"
:
"sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"co"
:
{
"version"
:
"4.6.0"
,
"resolved"
:
"http://registry.npm.taobao.org/co/download/co-4.6.0.tgz"
,
"integrity"
:
"sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
},
"combined-stream"
:
{
"version"
:
"1.0.5"
,
"resolved"
:
"http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.5.tgz"
,
"integrity"
:
"sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk="
,
"requires"
:
{
"delayed-stream"
:
"1.0.0"
}
},
"commander"
:
{
"version"
:
"2.9.0"
,
"resolved"
:
"http://registry.npm.taobao.org/commander/download/commander-2.9.0.tgz"
,
"integrity"
:
"sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q="
,
"dev"
:
true
,
"requires"
:
{
"graceful-readlink"
:
"1.0.1"
}
},
"concat-map"
:
{
"version"
:
"0.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz"
,
"integrity"
:
"sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
,
"dev"
:
true
},
"content-disposition"
:
{
"version"
:
"0.5.2"
,
"resolved"
:
"http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz"
,
"integrity"
:
"sha1-DPaLud318r55YcOoUXjLhdunjLQ="
},
"content-type"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"http://registry.npm.taobao.org/content-type/download/content-type-1.0.2.tgz"
,
"integrity"
:
"sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0="
},
"convert-source-map"
:
{
"version"
:
"1.5.0"
,
"resolved"
:
"http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.0.tgz"
,
"integrity"
:
"sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU="
,
"dev"
:
true
},
"cookie"
:
{
"version"
:
"0.3.1"
,
"resolved"
:
"http://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz"
,
"integrity"
:
"sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
},
"cookie-signature"
:
{
"version"
:
"1.0.6"
,
"resolved"
:
"http://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz"
,
"integrity"
:
"sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"core-js"
:
{
"version"
:
"2.5.0"
,
"resolved"
:
"http://registry.npm.taobao.org/core-js/download/core-js-2.5.0.tgz"
,
"integrity"
:
"sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY="
,
"dev"
:
true
},
"core-util-is"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz"
,
"integrity"
:
"sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cryptiles"
:
{
"version"
:
"2.0.5"
,
"resolved"
:
"http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz"
,
"integrity"
:
"sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g="
,
"requires"
:
{
"boom"
:
"2.10.1"
}
},
"d"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/d/download/d-1.0.0.tgz"
,
"integrity"
:
"sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8="
,
"dev"
:
true
,
"requires"
:
{
"es5-ext"
:
"0.10.27"
}
},
"dashdash"
:
{
"version"
:
"1.14.1"
,
"resolved"
:
"http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz"
,
"integrity"
:
"sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA="
,
"requires"
:
{
"assert-plus"
:
"1.0.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="
}
}
},
"debug"
:
{
"version"
:
"2.6.8"
,
"resolved"
:
"http://registry.npm.taobao.org/debug/download/debug-2.6.8.tgz"
,
"integrity"
:
"sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw="
,
"requires"
:
{
"ms"
:
"2.0.0"
}
},
"deep-equal"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz"
,
"integrity"
:
"sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
,
"dev"
:
true
},
"deep-is"
:
{
"version"
:
"0.1.3"
,
"resolved"
:
"http://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz"
,
"integrity"
:
"sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
,
"dev"
:
true
},
"define-properties"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"http://registry.npm.taobao.org/define-properties/download/define-properties-1.1.2.tgz"
,
"integrity"
:
"sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ="
,
"dev"
:
true
,
"requires"
:
{
"foreach"
:
"2.0.5"
,
"object-keys"
:
"1.0.11"
}
},
"delayed-stream"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz"
,
"integrity"
:
"sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"depd"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz"
,
"integrity"
:
"sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
},
"destroy"
:
{
"version"
:
"1.0.4"
,
"resolved"
:
"http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz"
,
"integrity"
:
"sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"diff"
:
{
"version"
:
"3.2.0"
,
"resolved"
:
"http://registry.npm.taobao.org/diff/download/diff-3.2.0.tgz"
,
"integrity"
:
"sha1-yc45Okt8vQsFinJck98pkCeGj/k="
,
"dev"
:
true
},
"diff-match-patch"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/diff-match-patch/download/diff-match-patch-1.0.0.tgz"
,
"integrity"
:
"sha1-HMPIOkkNZ/ldkeOfatHy4Ia2MEg="
,
"dev"
:
true
},
"eastasianwidth"
:
{
"version"
:
"0.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/eastasianwidth/download/eastasianwidth-0.1.1.tgz"
,
"integrity"
:
"sha1-RNZW3p2kFWlEZzNTZfsxR7hXK3w="
,
"dev"
:
true
},
"ecc-jsbn"
:
{
"version"
:
"0.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz"
,
"integrity"
:
"sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU="
,
"optional"
:
true
,
"requires"
:
{
"jsbn"
:
"0.1.1"
}
},
"ee-first"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz"
,
"integrity"
:
"sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"empower"
:
{
"version"
:
"1.2.3"
,
"resolved"
:
"http://registry.npm.taobao.org/empower/download/empower-1.2.3.tgz"
,
"integrity"
:
"sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs="
,
"dev"
:
true
,
"requires"
:
{
"core-js"
:
"2.5.0"
,
"empower-core"
:
"0.6.2"
}
},
"empower-assert"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/empower-assert/download/empower-assert-1.0.1.tgz"
,
"integrity"
:
"sha1-MeMQq8BluqfDoEh+a+W7zGXzwd4="
,
"dev"
:
true
,
"requires"
:
{
"estraverse"
:
"4.2.0"
}
},
"empower-core"
:
{
"version"
:
"0.6.2"
,
"resolved"
:
"http://registry.npm.taobao.org/empower-core/download/empower-core-0.6.2.tgz"
,
"integrity"
:
"sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ="
,
"dev"
:
true
,
"requires"
:
{
"call-signature"
:
"0.0.2"
,
"core-js"
:
"2.5.0"
}
},
"encodeurl"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.1.tgz"
,
"integrity"
:
"sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA="
},
"es5-ext"
:
{
"version"
:
"0.10.27"
,
"resolved"
:
"http://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.27.tgz"
,
"integrity"
:
"sha1-v5JrBYxisctd4aiHkwZztqptmmY="
,
"dev"
:
true
,
"requires"
:
{
"es6-iterator"
:
"2.0.1"
,
"es6-symbol"
:
"3.1.1"
}
},
"es6-iterator"
:
{
"version"
:
"2.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.1.tgz"
,
"integrity"
:
"sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI="
,
"dev"
:
true
,
"requires"
:
{
"d"
:
"1.0.0"
,
"es5-ext"
:
"0.10.27"
,
"es6-symbol"
:
"3.1.1"
}
},
"es6-map"
:
{
"version"
:
"0.1.5"
,
"resolved"
:
"http://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz"
,
"integrity"
:
"sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA="
,
"dev"
:
true
,
"requires"
:
{
"d"
:
"1.0.0"
,
"es5-ext"
:
"0.10.27"
,
"es6-iterator"
:
"2.0.1"
,
"es6-set"
:
"0.1.5"
,
"es6-symbol"
:
"3.1.1"
,
"event-emitter"
:
"0.3.5"
}
},
"es6-set"
:
{
"version"
:
"0.1.5"
,
"resolved"
:
"http://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz"
,
"integrity"
:
"sha1-0rPsXU2ADO2BjbU40ol02wpzzLE="
,
"dev"
:
true
,
"requires"
:
{
"d"
:
"1.0.0"
,
"es5-ext"
:
"0.10.27"
,
"es6-iterator"
:
"2.0.1"
,
"es6-symbol"
:
"3.1.1"
,
"event-emitter"
:
"0.3.5"
}
},
"es6-symbol"
:
{
"version"
:
"3.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz"
,
"integrity"
:
"sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc="
,
"dev"
:
true
,
"requires"
:
{
"d"
:
"1.0.0"
,
"es5-ext"
:
"0.10.27"
}
},
"es6-weak-map"
:
{
"version"
:
"2.0.2"
,
"resolved"
:
"http://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.2.tgz"
,
"integrity"
:
"sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8="
,
"dev"
:
true
,
"requires"
:
{
"d"
:
"1.0.0"
,
"es5-ext"
:
"0.10.27"
,
"es6-iterator"
:
"2.0.1"
,
"es6-symbol"
:
"3.1.1"
}
},
"escallmatch"
:
{
"version"
:
"1.5.0"
,
"resolved"
:
"http://registry.npm.taobao.org/escallmatch/download/escallmatch-1.5.0.tgz"
,
"integrity"
:
"sha1-UAmdhugJGwkt+N37w/mm+wWgJNA="
,
"dev"
:
true
,
"requires"
:
{
"call-matcher"
:
"1.0.1"
,
"esprima"
:
"2.7.3"
}
},
"escape-html"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz"
,
"integrity"
:
"sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"escape-string-regexp"
:
{
"version"
:
"1.0.5"
,
"resolved"
:
"http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz"
,
"integrity"
:
"sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
,
"dev"
:
true
},
"escodegen"
:
{
"version"
:
"1.8.1"
,
"resolved"
:
"http://registry.npm.taobao.org/escodegen/download/escodegen-1.8.1.tgz"
,
"integrity"
:
"sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg="
,
"dev"
:
true
,
"requires"
:
{
"esprima"
:
"2.7.3"
,
"estraverse"
:
"1.9.3"
,
"esutils"
:
"2.0.2"
,
"optionator"
:
"0.8.2"
,
"source-map"
:
"0.2.0"
},
"dependencies"
:
{
"estraverse"
:
{
"version"
:
"1.9.3"
,
"resolved"
:
"http://registry.npm.taobao.org/estraverse/download/estraverse-1.9.3.tgz"
,
"integrity"
:
"sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q="
,
"dev"
:
true
}
}
},
"escope"
:
{
"version"
:
"3.6.0"
,
"resolved"
:
"http://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz"
,
"integrity"
:
"sha1-4Bl16BJ4GhY6ba392AOY3GTIicM="
,
"dev"
:
true
,
"requires"
:
{
"es6-map"
:
"0.1.5"
,
"es6-weak-map"
:
"2.0.2"
,
"esrecurse"
:
"4.2.0"
,
"estraverse"
:
"4.2.0"
}
},
"espower"
:
{
"version"
:
"2.1.0"
,
"resolved"
:
"http://registry.npm.taobao.org/espower/download/espower-2.1.0.tgz"
,
"integrity"
:
"sha1-zh7bPZhwKEH99ZbRy46FvcSujkg="
,
"dev"
:
true
,
"requires"
:
{
"array-find"
:
"1.0.0"
,
"escallmatch"
:
"1.5.0"
,
"escodegen"
:
"1.8.1"
,
"escope"
:
"3.6.0"
,
"espower-location-detector"
:
"1.0.0"
,
"espurify"
:
"1.7.0"
,
"estraverse"
:
"4.2.0"
,
"source-map"
:
"0.5.6"
,
"type-name"
:
"2.0.2"
,
"xtend"
:
"4.0.1"
},
"dependencies"
:
{
"source-map"
:
{
"version"
:
"0.5.6"
,
"resolved"
:
"http://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz"
,
"integrity"
:
"sha1-dc449SvwczxafwwRjYEzSiu19BI="
,
"dev"
:
true
}
}
},
"espower-loader"
:
{
"version"
:
"1.2.2"
,
"resolved"
:
"http://registry.npm.taobao.org/espower-loader/download/espower-loader-1.2.2.tgz"
,
"integrity"
:
"sha1-7bRsPFmga6yOpzppXIblxaC8gto="
,
"dev"
:
true
,
"requires"
:
{
"convert-source-map"
:
"1.5.0"
,
"espower-source"
:
"2.2.0"
,
"minimatch"
:
"3.0.4"
,
"source-map-support"
:
"0.4.15"
,
"xtend"
:
"4.0.1"
}
},
"espower-location-detector"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/espower-location-detector/download/espower-location-detector-1.0.0.tgz"
,
"integrity"
:
"sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU="
,
"dev"
:
true
,
"requires"
:
{
"is-url"
:
"1.2.2"
,
"path-is-absolute"
:
"1.0.1"
,
"source-map"
:
"0.5.6"
,
"xtend"
:
"4.0.1"
},
"dependencies"
:
{
"source-map"
:
{
"version"
:
"0.5.6"
,
"resolved"
:
"http://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz"
,
"integrity"
:
"sha1-dc449SvwczxafwwRjYEzSiu19BI="
,
"dev"
:
true
}
}
},
"espower-source"
:
{
"version"
:
"2.2.0"
,
"resolved"
:
"http://registry.npm.taobao.org/espower-source/download/espower-source-2.2.0.tgz"
,
"integrity"
:
"sha1-fgBSVa5HtcE2RIZEs/PYAtUD91I="
,
"dev"
:
true
,
"requires"
:
{
"acorn"
:
"5.1.1"
,
"acorn-es7-plugin"
:
"1.1.7"
,
"convert-source-map"
:
"1.5.0"
,
"empower-assert"
:
"1.0.1"
,
"escodegen"
:
"1.8.1"
,
"espower"
:
"2.1.0"
,
"estraverse"
:
"4.2.0"
,
"merge-estraverse-visitors"
:
"1.0.0"
,
"multi-stage-sourcemap"
:
"0.2.1"
,
"path-is-absolute"
:
"1.0.1"
,
"xtend"
:
"4.0.1"
}
},
"esprima"
:
{
"version"
:
"2.7.3"
,
"resolved"
:
"http://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz"
,
"integrity"
:
"sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE="
,
"dev"
:
true
},
"espurify"
:
{
"version"
:
"1.7.0"
,
"resolved"
:
"http://registry.npm.taobao.org/espurify/download/espurify-1.7.0.tgz"
,
"integrity"
:
"sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY="
,
"dev"
:
true
,
"requires"
:
{
"core-js"
:
"2.5.0"
}
},
"esrecurse"
:
{
"version"
:
"4.2.0"
,
"resolved"
:
"http://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.0.tgz"
,
"integrity"
:
"sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM="
,
"dev"
:
true
,
"requires"
:
{
"estraverse"
:
"4.2.0"
,
"object-assign"
:
"4.1.1"
}
},
"estraverse"
:
{
"version"
:
"4.2.0"
,
"resolved"
:
"http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz"
,
"integrity"
:
"sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
,
"dev"
:
true
},
"esutils"
:
{
"version"
:
"2.0.2"
,
"resolved"
:
"http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz"
,
"integrity"
:
"sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
,
"dev"
:
true
},
"etag"
:
{
"version"
:
"1.8.0"
,
"resolved"
:
"http://registry.npm.taobao.org/etag/download/etag-1.8.0.tgz"
,
"integrity"
:
"sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE="
},
"event-emitter"
:
{
"version"
:
"0.3.5"
,
"resolved"
:
"http://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz"
,
"integrity"
:
"sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk="
,
"dev"
:
true
,
"requires"
:
{
"d"
:
"1.0.0"
,
"es5-ext"
:
"0.10.27"
}
},
"express"
:
{
"version"
:
"4.15.4"
,
"resolved"
:
"http://registry.npm.taobao.org/express/download/express-4.15.4.tgz"
,
"integrity"
:
"sha1-Ay4iU0ic+PzgJma+yj0R7XotrtE="
,
"requires"
:
{
"accepts"
:
"1.3.3"
,
"array-flatten"
:
"1.1.1"
,
"content-disposition"
:
"0.5.2"
,
"content-type"
:
"1.0.2"
,
"cookie"
:
"0.3.1"
,
"cookie-signature"
:
"1.0.6"
,
"debug"
:
"2.6.8"
,
"depd"
:
"1.1.1"
,
"encodeurl"
:
"1.0.1"
,
"escape-html"
:
"1.0.3"
,
"etag"
:
"1.8.0"
,
"finalhandler"
:
"1.0.4"
,
"fresh"
:
"0.5.0"
,
"merge-descriptors"
:
"1.0.1"
,
"methods"
:
"1.1.2"
,
"on-finished"
:
"2.3.0"
,
"parseurl"
:
"1.3.1"
,
"path-to-regexp"
:
"0.1.7"
,
"proxy-addr"
:
"1.1.5"
,
"qs"
:
"6.5.0"
,
"range-parser"
:
"1.2.0"
,
"send"
:
"0.15.4"
,
"serve-static"
:
"1.12.4"
,
"setprototypeof"
:
"1.0.3"
,
"statuses"
:
"1.3.1"
,
"type-is"
:
"1.6.15"
,
"utils-merge"
:
"1.0.0"
,
"vary"
:
"1.1.1"
}
},
"extend"
:
{
"version"
:
"3.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/extend/download/extend-3.0.1.tgz"
,
"integrity"
:
"sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
},
"extsprintf"
:
{
"version"
:
"1.3.0"
,
"resolved"
:
"http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz"
,
"integrity"
:
"sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-levenshtein"
:
{
"version"
:
"2.0.6"
,
"resolved"
:
"http://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz"
,
"integrity"
:
"sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
,
"dev"
:
true
},
"finalhandler"
:
{
"version"
:
"1.0.4"
,
"resolved"
:
"http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.0.4.tgz"
,
"integrity"
:
"sha1-GFdPLnxLmLiuOyMMIfIB8xvbP7c="
,
"requires"
:
{
"debug"
:
"2.6.8"
,
"encodeurl"
:
"1.0.1"
,
"escape-html"
:
"1.0.3"
,
"on-finished"
:
"2.3.0"
,
"parseurl"
:
"1.3.1"
,
"statuses"
:
"1.3.1"
,
"unpipe"
:
"1.0.0"
}
},
"foreach"
:
{
"version"
:
"2.0.5"
,
"resolved"
:
"http://registry.npm.taobao.org/foreach/download/foreach-2.0.5.tgz"
,
"integrity"
:
"sha1-C+4AUBiusmDQo6865ljdATbsG5k="
,
"dev"
:
true
},
"forever-agent"
:
{
"version"
:
"0.6.1"
,
"resolved"
:
"http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz"
,
"integrity"
:
"sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"form-data"
:
{
"version"
:
"2.1.4"
,
"resolved"
:
"http://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz"
,
"integrity"
:
"sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE="
,
"requires"
:
{
"asynckit"
:
"0.4.0"
,
"combined-stream"
:
"1.0.5"
,
"mime-types"
:
"2.1.16"
}
},
"forwarded"
:
{
"version"
:
"0.1.0"
,
"resolved"
:
"http://registry.npm.taobao.org/forwarded/download/forwarded-0.1.0.tgz"
,
"integrity"
:
"sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M="
},
"fresh"
:
{
"version"
:
"0.5.0"
,
"resolved"
:
"http://registry.npm.taobao.org/fresh/download/fresh-0.5.0.tgz"
,
"integrity"
:
"sha1-9HTKXmqSRtb9jglTz6m5yAWvp44="
},
"fs.realpath"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz"
,
"integrity"
:
"sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
,
"dev"
:
true
},
"getpass"
:
{
"version"
:
"0.1.7"
,
"resolved"
:
"http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz"
,
"integrity"
:
"sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo="
,
"requires"
:
{
"assert-plus"
:
"1.0.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="
}
}
},
"glob"
:
{
"version"
:
"7.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/glob/download/glob-7.1.1.tgz"
,
"integrity"
:
"sha1-gFIR3wT6rxxjo2ADBs31reULLsg="
,
"dev"
:
true
,
"requires"
:
{
"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"
}
},
"graceful-readlink"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz"
,
"integrity"
:
"sha1-TK+tdrxi8C+gObL5Tpo906ORpyU="
,
"dev"
:
true
},
"growl"
:
{
"version"
:
"1.9.2"
,
"resolved"
:
"http://registry.npm.taobao.org/growl/download/growl-1.9.2.tgz"
,
"integrity"
:
"sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8="
,
"dev"
:
true
},
"har-schema"
:
{
"version"
:
"1.0.5"
,
"resolved"
:
"http://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz"
,
"integrity"
:
"sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4="
},
"har-validator"
:
{
"version"
:
"4.2.1"
,
"resolved"
:
"http://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz"
,
"integrity"
:
"sha1-M0gdDxu/9gDdID11gSpqX7oALio="
,
"requires"
:
{
"ajv"
:
"4.11.8"
,
"har-schema"
:
"1.0.5"
}
},
"has-flag"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz"
,
"integrity"
:
"sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
,
"dev"
:
true
},
"hawk"
:
{
"version"
:
"3.1.3"
,
"resolved"
:
"http://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz"
,
"integrity"
:
"sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ="
,
"requires"
:
{
"boom"
:
"2.10.1"
,
"cryptiles"
:
"2.0.5"
,
"hoek"
:
"2.16.3"
,
"sntp"
:
"1.0.9"
}
},
"hoek"
:
{
"version"
:
"2.16.3"
,
"resolved"
:
"http://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz"
,
"integrity"
:
"sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
},
"http-errors"
:
{
"version"
:
"1.6.2"
,
"resolved"
:
"http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.2.tgz"
,
"integrity"
:
"sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY="
,
"requires"
:
{
"depd"
:
"1.1.1"
,
"inherits"
:
"2.0.3"
,
"setprototypeof"
:
"1.0.3"
,
"statuses"
:
"1.3.1"
}
},
"http-signature"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz"
,
"integrity"
:
"sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8="
,
"requires"
:
{
"assert-plus"
:
"0.2.0"
,
"jsprim"
:
"1.4.1"
,
"sshpk"
:
"1.13.1"
}
},
"indexof"
:
{
"version"
:
"0.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz"
,
"integrity"
:
"sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
,
"dev"
:
true
},
"inflight"
:
{
"version"
:
"1.0.6"
,
"resolved"
:
"http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz"
,
"integrity"
:
"sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
,
"dev"
:
true
,
"requires"
:
{
"once"
:
"1.4.0"
,
"wrappy"
:
"1.0.2"
}
},
"inherits"
:
{
"version"
:
"2.0.3"
,
"resolved"
:
"http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz"
,
"integrity"
:
"sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"intelli-espower-loader"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/intelli-espower-loader/download/intelli-espower-loader-1.0.1.tgz"
,
"integrity"
:
"sha1-LHsDFGvB1GvyENCgOXxckatMorA="
,
"dev"
:
true
,
"requires"
:
{
"espower-loader"
:
"1.2.2"
}
},
"ipaddr.js"
:
{
"version"
:
"1.4.0"
,
"resolved"
:
"http://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.4.0.tgz"
,
"integrity"
:
"sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA="
},
"is-typedarray"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz"
,
"integrity"
:
"sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-url"
:
{
"version"
:
"1.2.2"
,
"resolved"
:
"http://registry.npm.taobao.org/is-url/download/is-url-1.2.2.tgz"
,
"integrity"
:
"sha1-SYkFpZO/R8wtnn9zg3K792lsfyY="
,
"dev"
:
true
},
"isstream"
:
{
"version"
:
"0.1.2"
,
"resolved"
:
"http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz"
,
"integrity"
:
"sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"jsbn"
:
{
"version"
:
"0.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz"
,
"integrity"
:
"sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
,
"optional"
:
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="
},
"json-stable-stringify"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz"
,
"integrity"
:
"sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8="
,
"requires"
:
{
"jsonify"
:
"0.0.0"
}
},
"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="
},
"json3"
:
{
"version"
:
"3.3.2"
,
"resolved"
:
"http://registry.npm.taobao.org/json3/download/json3-3.3.2.tgz"
,
"integrity"
:
"sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE="
,
"dev"
:
true
},
"jsonify"
:
{
"version"
:
"0.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz"
,
"integrity"
:
"sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
},
"jsprim"
:
{
"version"
:
"1.4.1"
,
"resolved"
:
"http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz"
,
"integrity"
:
"sha1-MT5mvB5cwG5Di8G3SZwuXFastqI="
,
"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="
}
}
},
"levn"
:
{
"version"
:
"0.3.0"
,
"resolved"
:
"http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz"
,
"integrity"
:
"sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4="
,
"dev"
:
true
,
"requires"
:
{
"prelude-ls"
:
"1.1.2"
,
"type-check"
:
"0.3.2"
}
},
"lodash._baseassign"
:
{
"version"
:
"3.2.0"
,
"resolved"
:
"http://registry.npm.taobao.org/lodash._baseassign/download/lodash._baseassign-3.2.0.tgz"
,
"integrity"
:
"sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4="
,
"dev"
:
true
,
"requires"
:
{
"lodash._basecopy"
:
"3.0.1"
,
"lodash.keys"
:
"3.1.2"
}
},
"lodash._basecopy"
:
{
"version"
:
"3.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/lodash._basecopy/download/lodash._basecopy-3.0.1.tgz"
,
"integrity"
:
"sha1-jaDmqHbPNEwK2KVIghEd08XHyjY="
,
"dev"
:
true
},
"lodash._basecreate"
:
{
"version"
:
"3.0.3"
,
"resolved"
:
"http://registry.npm.taobao.org/lodash._basecreate/download/lodash._basecreate-3.0.3.tgz"
,
"integrity"
:
"sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE="
,
"dev"
:
true
},
"lodash._getnative"
:
{
"version"
:
"3.9.1"
,
"resolved"
:
"http://registry.npm.taobao.org/lodash._getnative/download/lodash._getnative-3.9.1.tgz"
,
"integrity"
:
"sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U="
,
"dev"
:
true
},
"lodash._isiterateecall"
:
{
"version"
:
"3.0.9"
,
"resolved"
:
"http://registry.npm.taobao.org/lodash._isiterateecall/download/lodash._isiterateecall-3.0.9.tgz"
,
"integrity"
:
"sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw="
,
"dev"
:
true
},
"lodash.create"
:
{
"version"
:
"3.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/lodash.create/download/lodash.create-3.1.1.tgz"
,
"integrity"
:
"sha1-1/KEnw29p+BGgruM1yqwIkYd6+c="
,
"dev"
:
true
,
"requires"
:
{
"lodash._baseassign"
:
"3.2.0"
,
"lodash._basecreate"
:
"3.0.3"
,
"lodash._isiterateecall"
:
"3.0.9"
}
},
"lodash.isarguments"
:
{
"version"
:
"3.1.0"
,
"resolved"
:
"http://registry.npm.taobao.org/lodash.isarguments/download/lodash.isarguments-3.1.0.tgz"
,
"integrity"
:
"sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo="
,
"dev"
:
true
},
"lodash.isarray"
:
{
"version"
:
"3.0.4"
,
"resolved"
:
"http://registry.npm.taobao.org/lodash.isarray/download/lodash.isarray-3.0.4.tgz"
,
"integrity"
:
"sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U="
,
"dev"
:
true
},
"lodash.keys"
:
{
"version"
:
"3.1.2"
,
"resolved"
:
"http://registry.npm.taobao.org/lodash.keys/download/lodash.keys-3.1.2.tgz"
,
"integrity"
:
"sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo="
,
"dev"
:
true
,
"requires"
:
{
"lodash._getnative"
:
"3.9.1"
,
"lodash.isarguments"
:
"3.1.0"
,
"lodash.isarray"
:
"3.0.4"
}
},
"media-typer"
:
{
"version"
:
"0.3.0"
,
"resolved"
:
"http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz"
,
"integrity"
:
"sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"merge-descriptors"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz"
,
"integrity"
:
"sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"merge-estraverse-visitors"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/merge-estraverse-visitors/download/merge-estraverse-visitors-1.0.0.tgz"
,
"integrity"
:
"sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ="
,
"dev"
:
true
,
"requires"
:
{
"estraverse"
:
"4.2.0"
}
},
"methods"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz"
,
"integrity"
:
"sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
},
"mime"
:
{
"version"
:
"1.3.4"
,
"resolved"
:
"http://registry.npm.taobao.org/mime/download/mime-1.3.4.tgz"
,
"integrity"
:
"sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM="
},
"mime-db"
:
{
"version"
:
"1.29.0"
,
"resolved"
:
"http://registry.npm.taobao.org/mime-db/download/mime-db-1.29.0.tgz"
,
"integrity"
:
"sha1-SNJtI1WJZRcErFkWygYAGRQmaHg="
},
"mime-types"
:
{
"version"
:
"2.1.16"
,
"resolved"
:
"http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.16.tgz"
,
"integrity"
:
"sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM="
,
"requires"
:
{
"mime-db"
:
"1.29.0"
}
},
"minimatch"
:
{
"version"
:
"3.0.4"
,
"resolved"
:
"http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz"
,
"integrity"
:
"sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM="
,
"dev"
:
true
,
"requires"
:
{
"brace-expansion"
:
"1.1.8"
}
},
"minimist"
:
{
"version"
:
"0.0.8"
,
"resolved"
:
"http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz"
,
"integrity"
:
"sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
,
"dev"
:
true
},
"mkdirp"
:
{
"version"
:
"0.5.1"
,
"resolved"
:
"http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz"
,
"integrity"
:
"sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM="
,
"dev"
:
true
,
"requires"
:
{
"minimist"
:
"0.0.8"
}
},
"mocha"
:
{
"version"
:
"3.5.0"
,
"resolved"
:
"http://registry.npm.taobao.org/mocha/download/mocha-3.5.0.tgz"
,
"integrity"
:
"sha1-EyhWfScX+ZcDD4AGI0vOm4zXJGU="
,
"dev"
:
true
,
"requires"
:
{
"browser-stdout"
:
"1.3.0"
,
"commander"
:
"2.9.0"
,
"debug"
:
"2.6.8"
,
"diff"
:
"3.2.0"
,
"escape-string-regexp"
:
"1.0.5"
,
"glob"
:
"7.1.1"
,
"growl"
:
"1.9.2"
,
"json3"
:
"3.3.2"
,
"lodash.create"
:
"3.1.1"
,
"mkdirp"
:
"0.5.1"
,
"supports-color"
:
"3.1.2"
}
},
"ms"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz"
,
"integrity"
:
"sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"multi-stage-sourcemap"
:
{
"version"
:
"0.2.1"
,
"resolved"
:
"http://registry.npm.taobao.org/multi-stage-sourcemap/download/multi-stage-sourcemap-0.2.1.tgz"
,
"integrity"
:
"sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU="
,
"dev"
:
true
,
"requires"
:
{
"source-map"
:
"0.1.43"
},
"dependencies"
:
{
"source-map"
:
{
"version"
:
"0.1.43"
,
"resolved"
:
"http://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz"
,
"integrity"
:
"sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y="
,
"dev"
:
true
,
"requires"
:
{
"amdefine"
:
"1.0.1"
}
}
}
},
"negotiator"
:
{
"version"
:
"0.6.1"
,
"resolved"
:
"http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz"
,
"integrity"
:
"sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
},
"oauth-sign"
:
{
"version"
:
"0.8.2"
,
"resolved"
:
"http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz"
,
"integrity"
:
"sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
},
"object-assign"
:
{
"version"
:
"4.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz"
,
"integrity"
:
"sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
,
"dev"
:
true
},
"object-keys"
:
{
"version"
:
"1.0.11"
,
"resolved"
:
"http://registry.npm.taobao.org/object-keys/download/object-keys-1.0.11.tgz"
,
"integrity"
:
"sha1-xUYBd4rVYPEULODgG8yotW0TQm0="
,
"dev"
:
true
},
"on-finished"
:
{
"version"
:
"2.3.0"
,
"resolved"
:
"http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz"
,
"integrity"
:
"sha1-IPEzZIGwg811M3mSoWlxqi2QaUc="
,
"requires"
:
{
"ee-first"
:
"1.1.1"
}
},
"once"
:
{
"version"
:
"1.4.0"
,
"resolved"
:
"http://registry.npm.taobao.org/once/download/once-1.4.0.tgz"
,
"integrity"
:
"sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
,
"dev"
:
true
,
"requires"
:
{
"wrappy"
:
"1.0.2"
}
},
"optionator"
:
{
"version"
:
"0.8.2"
,
"resolved"
:
"http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz"
,
"integrity"
:
"sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q="
,
"dev"
:
true
,
"requires"
:
{
"deep-is"
:
"0.1.3"
,
"fast-levenshtein"
:
"2.0.6"
,
"levn"
:
"0.3.0"
,
"prelude-ls"
:
"1.1.2"
,
"type-check"
:
"0.3.2"
,
"wordwrap"
:
"1.0.0"
}
},
"parseurl"
:
{
"version"
:
"1.3.1"
,
"resolved"
:
"http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.1.tgz"
,
"integrity"
:
"sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY="
},
"path-is-absolute"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz"
,
"integrity"
:
"sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
,
"dev"
:
true
},
"path-to-regexp"
:
{
"version"
:
"0.1.7"
,
"resolved"
:
"http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz"
,
"integrity"
:
"sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"performance-now"
:
{
"version"
:
"0.2.0"
,
"resolved"
:
"http://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz"
,
"integrity"
:
"sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU="
},
"power-assert"
:
{
"version"
:
"1.4.4"
,
"resolved"
:
"http://registry.npm.taobao.org/power-assert/download/power-assert-1.4.4.tgz"
,
"integrity"
:
"sha1-kpXqdDcZb1pgH95CDwQmMRhtdRc="
,
"dev"
:
true
,
"requires"
:
{
"define-properties"
:
"1.1.2"
,
"empower"
:
"1.2.3"
,
"power-assert-formatter"
:
"1.4.1"
,
"universal-deep-strict-equal"
:
"1.2.2"
,
"xtend"
:
"4.0.1"
}
},
"power-assert-context-formatter"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/power-assert-context-formatter/download/power-assert-context-formatter-1.1.1.tgz"
,
"integrity"
:
"sha1-7bo1LT7YpgMRTWZyZazOYNaJzN8="
,
"dev"
:
true
,
"requires"
:
{
"core-js"
:
"2.5.0"
,
"power-assert-context-traversal"
:
"1.1.1"
}
},
"power-assert-context-reducer-ast"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"http://registry.npm.taobao.org/power-assert-context-reducer-ast/download/power-assert-context-reducer-ast-1.1.2.tgz"
,
"integrity"
:
"sha1-SEqZ4m9Jc/+IMuXFzHVnAuYJQXQ="
,
"dev"
:
true
,
"requires"
:
{
"acorn"
:
"4.0.13"
,
"acorn-es7-plugin"
:
"1.1.7"
,
"core-js"
:
"2.5.0"
,
"espurify"
:
"1.7.0"
,
"estraverse"
:
"4.2.0"
},
"dependencies"
:
{
"acorn"
:
{
"version"
:
"4.0.13"
,
"resolved"
:
"http://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz"
,
"integrity"
:
"sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
,
"dev"
:
true
}
}
},
"power-assert-context-traversal"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/power-assert-context-traversal/download/power-assert-context-traversal-1.1.1.tgz"
,
"integrity"
:
"sha1-iMq8oNE7Y1nwfT0+ivppkmRXftk="
,
"dev"
:
true
,
"requires"
:
{
"core-js"
:
"2.5.0"
,
"estraverse"
:
"4.2.0"
}
},
"power-assert-formatter"
:
{
"version"
:
"1.4.1"
,
"resolved"
:
"http://registry.npm.taobao.org/power-assert-formatter/download/power-assert-formatter-1.4.1.tgz"
,
"integrity"
:
"sha1-XcEl7VCj37HdomwZNH879Y7CiEo="
,
"dev"
:
true
,
"requires"
:
{
"core-js"
:
"2.5.0"
,
"power-assert-context-formatter"
:
"1.1.1"
,
"power-assert-context-reducer-ast"
:
"1.1.2"
,
"power-assert-renderer-assertion"
:
"1.1.1"
,
"power-assert-renderer-comparison"
:
"1.1.1"
,
"power-assert-renderer-diagram"
:
"1.1.2"
,
"power-assert-renderer-file"
:
"1.1.1"
}
},
"power-assert-renderer-assertion"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/power-assert-renderer-assertion/download/power-assert-renderer-assertion-1.1.1.tgz"
,
"integrity"
:
"sha1-y/wOd+AIao+Wrz8djme57n4ozpg="
,
"dev"
:
true
,
"requires"
:
{
"power-assert-renderer-base"
:
"1.1.1"
,
"power-assert-util-string-width"
:
"1.1.1"
}
},
"power-assert-renderer-base"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/power-assert-renderer-base/download/power-assert-renderer-base-1.1.1.tgz"
,
"integrity"
:
"sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s="
,
"dev"
:
true
},
"power-assert-renderer-comparison"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/power-assert-renderer-comparison/download/power-assert-renderer-comparison-1.1.1.tgz"
,
"integrity"
:
"sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg="
,
"dev"
:
true
,
"requires"
:
{
"core-js"
:
"2.5.0"
,
"diff-match-patch"
:
"1.0.0"
,
"power-assert-renderer-base"
:
"1.1.1"
,
"stringifier"
:
"1.3.0"
,
"type-name"
:
"2.0.2"
}
},
"power-assert-renderer-diagram"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"http://registry.npm.taobao.org/power-assert-renderer-diagram/download/power-assert-renderer-diagram-1.1.2.tgz"
,
"integrity"
:
"sha1-ZV+PcRk1qbbVQbhjJ2VHF8Y3qYY="
,
"dev"
:
true
,
"requires"
:
{
"core-js"
:
"2.5.0"
,
"power-assert-renderer-base"
:
"1.1.1"
,
"power-assert-util-string-width"
:
"1.1.1"
,
"stringifier"
:
"1.3.0"
}
},
"power-assert-renderer-file"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/power-assert-renderer-file/download/power-assert-renderer-file-1.1.1.tgz"
,
"integrity"
:
"sha1-o34rvReMys0E5427eckv40kzxec="
,
"dev"
:
true
,
"requires"
:
{
"power-assert-renderer-base"
:
"1.1.1"
}
},
"power-assert-util-string-width"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/power-assert-util-string-width/download/power-assert-util-string-width-1.1.1.tgz"
,
"integrity"
:
"sha1-vmWet5N/3S5smncmjar2S9W3xZI="
,
"dev"
:
true
,
"requires"
:
{
"eastasianwidth"
:
"0.1.1"
}
},
"prelude-ls"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"http://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz"
,
"integrity"
:
"sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
,
"dev"
:
true
},
"proxy-addr"
:
{
"version"
:
"1.1.5"
,
"resolved"
:
"http://registry.npm.taobao.org/proxy-addr/download/proxy-addr-1.1.5.tgz"
,
"integrity"
:
"sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg="
,
"requires"
:
{
"forwarded"
:
"0.1.0"
,
"ipaddr.js"
:
"1.4.0"
}
},
"punycode"
:
{
"version"
:
"1.4.1"
,
"resolved"
:
"http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz"
,
"integrity"
:
"sha1-wNWmOycYgArY4esPpSachN1BhF4="
},
"qs"
:
{
"version"
:
"6.5.0"
,
"resolved"
:
"http://registry.npm.taobao.org/qs/download/qs-6.5.0.tgz"
,
"integrity"
:
"sha1-jQSVTTZN7z78VbWgeT4eLIsebkk="
},
"range-parser"
:
{
"version"
:
"1.2.0"
,
"resolved"
:
"http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz"
,
"integrity"
:
"sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
},
"request"
:
{
"version"
:
"2.81.0"
,
"resolved"
:
"http://registry.npm.taobao.org/request/download/request-2.81.0.tgz"
,
"integrity"
:
"sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA="
,
"requires"
:
{
"aws-sign2"
:
"0.6.0"
,
"aws4"
:
"1.6.0"
,
"caseless"
:
"0.12.0"
,
"combined-stream"
:
"1.0.5"
,
"extend"
:
"3.0.1"
,
"forever-agent"
:
"0.6.1"
,
"form-data"
:
"2.1.4"
,
"har-validator"
:
"4.2.1"
,
"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.16"
,
"oauth-sign"
:
"0.8.2"
,
"performance-now"
:
"0.2.0"
,
"qs"
:
"6.4.0"
,
"safe-buffer"
:
"5.1.1"
,
"stringstream"
:
"0.0.5"
,
"tough-cookie"
:
"2.3.2"
,
"tunnel-agent"
:
"0.6.0"
,
"uuid"
:
"3.1.0"
},
"dependencies"
:
{
"qs"
:
{
"version"
:
"6.4.0"
,
"resolved"
:
"http://registry.npm.taobao.org/qs/download/qs-6.4.0.tgz"
,
"integrity"
:
"sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
}
}
},
"safe-buffer"
:
{
"version"
:
"5.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz"
,
"integrity"
:
"sha1-iTMSr2myEj3vcfV4iQAWce6yyFM="
},
"send"
:
{
"version"
:
"0.15.4"
,
"resolved"
:
"http://registry.npm.taobao.org/send/download/send-0.15.4.tgz"
,
"integrity"
:
"sha1-mF+qPihLAnPHkzZKNcZze9k5Bbk="
,
"requires"
:
{
"debug"
:
"2.6.8"
,
"depd"
:
"1.1.1"
,
"destroy"
:
"1.0.4"
,
"encodeurl"
:
"1.0.1"
,
"escape-html"
:
"1.0.3"
,
"etag"
:
"1.8.0"
,
"fresh"
:
"0.5.0"
,
"http-errors"
:
"1.6.2"
,
"mime"
:
"1.3.4"
,
"ms"
:
"2.0.0"
,
"on-finished"
:
"2.3.0"
,
"range-parser"
:
"1.2.0"
,
"statuses"
:
"1.3.1"
}
},
"serve-static"
:
{
"version"
:
"1.12.4"
,
"resolved"
:
"http://registry.npm.taobao.org/serve-static/download/serve-static-1.12.4.tgz"
,
"integrity"
:
"sha1-m2qpjutyU8Tu3Ewfb9vKYJkBqWE="
,
"requires"
:
{
"encodeurl"
:
"1.0.1"
,
"escape-html"
:
"1.0.3"
,
"parseurl"
:
"1.3.1"
,
"send"
:
"0.15.4"
}
},
"setprototypeof"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.3.tgz"
,
"integrity"
:
"sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
},
"sntp"
:
{
"version"
:
"1.0.9"
,
"resolved"
:
"http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz"
,
"integrity"
:
"sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg="
,
"requires"
:
{
"hoek"
:
"2.16.3"
}
},
"source-map"
:
{
"version"
:
"0.2.0"
,
"resolved"
:
"http://registry.npm.taobao.org/source-map/download/source-map-0.2.0.tgz"
,
"integrity"
:
"sha1-2rc/vPwrqBm03gO9b26qSBZLP50="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"amdefine"
:
"1.0.1"
}
},
"source-map-support"
:
{
"version"
:
"0.4.15"
,
"resolved"
:
"http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.15.tgz"
,
"integrity"
:
"sha1-AyAt9lwG0r2MfsI2KhkwVv7407E="
,
"dev"
:
true
,
"requires"
:
{
"source-map"
:
"0.5.6"
},
"dependencies"
:
{
"source-map"
:
{
"version"
:
"0.5.6"
,
"resolved"
:
"http://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz"
,
"integrity"
:
"sha1-dc449SvwczxafwwRjYEzSiu19BI="
,
"dev"
:
true
}
}
},
"sshpk"
:
{
"version"
:
"1.13.1"
,
"resolved"
:
"http://registry.npm.taobao.org/sshpk/download/sshpk-1.13.1.tgz"
,
"integrity"
:
"sha1-US322mKHFEMW3EwY/hzx2UBzm+M="
,
"requires"
:
{
"asn1"
:
"0.2.3"
,
"assert-plus"
:
"1.0.0"
,
"bcrypt-pbkdf"
:
"1.0.1"
,
"dashdash"
:
"1.14.1"
,
"ecc-jsbn"
:
"0.1.1"
,
"getpass"
:
"0.1.7"
,
"jsbn"
:
"0.1.1"
,
"tweetnacl"
:
"0.14.5"
},
"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="
}
}
},
"statuses"
:
{
"version"
:
"1.3.1"
,
"resolved"
:
"http://registry.npm.taobao.org/statuses/download/statuses-1.3.1.tgz"
,
"integrity"
:
"sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
},
"stringifier"
:
{
"version"
:
"1.3.0"
,
"resolved"
:
"http://registry.npm.taobao.org/stringifier/download/stringifier-1.3.0.tgz"
,
"integrity"
:
"sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk="
,
"dev"
:
true
,
"requires"
:
{
"core-js"
:
"2.5.0"
,
"traverse"
:
"0.6.6"
,
"type-name"
:
"2.0.2"
}
},
"stringstream"
:
{
"version"
:
"0.0.5"
,
"resolved"
:
"http://registry.npm.taobao.org/stringstream/download/stringstream-0.0.5.tgz"
,
"integrity"
:
"sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
},
"supports-color"
:
{
"version"
:
"3.1.2"
,
"resolved"
:
"http://registry.npm.taobao.org/supports-color/download/supports-color-3.1.2.tgz"
,
"integrity"
:
"sha1-cqJiiU2dQIuVbKBf83su2KbiotU="
,
"dev"
:
true
,
"requires"
:
{
"has-flag"
:
"1.0.0"
}
},
"tough-cookie"
:
{
"version"
:
"2.3.2"
,
"resolved"
:
"http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.2.tgz"
,
"integrity"
:
"sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo="
,
"requires"
:
{
"punycode"
:
"1.4.1"
}
},
"traverse"
:
{
"version"
:
"0.6.6"
,
"resolved"
:
"http://registry.npm.taobao.org/traverse/download/traverse-0.6.6.tgz"
,
"integrity"
:
"sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc="
,
"dev"
:
true
},
"tunnel-agent"
:
{
"version"
:
"0.6.0"
,
"resolved"
:
"http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz"
,
"integrity"
:
"sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0="
,
"requires"
:
{
"safe-buffer"
:
"5.1.1"
}
},
"tweetnacl"
:
{
"version"
:
"0.14.5"
,
"resolved"
:
"http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz"
,
"integrity"
:
"sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
,
"optional"
:
true
},
"type-check"
:
{
"version"
:
"0.3.2"
,
"resolved"
:
"http://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz"
,
"integrity"
:
"sha1-WITKtRLPHTVeP7eE8wgEsrUg23I="
,
"dev"
:
true
,
"requires"
:
{
"prelude-ls"
:
"1.1.2"
}
},
"type-is"
:
{
"version"
:
"1.6.15"
,
"resolved"
:
"http://registry.npm.taobao.org/type-is/download/type-is-1.6.15.tgz"
,
"integrity"
:
"sha1-yrEPtJCeRByChC6v4a1kbIGARBA="
,
"requires"
:
{
"media-typer"
:
"0.3.0"
,
"mime-types"
:
"2.1.16"
}
},
"type-name"
:
{
"version"
:
"2.0.2"
,
"resolved"
:
"http://registry.npm.taobao.org/type-name/download/type-name-2.0.2.tgz"
,
"integrity"
:
"sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q="
,
"dev"
:
true
},
"universal-deep-strict-equal"
:
{
"version"
:
"1.2.2"
,
"resolved"
:
"http://registry.npm.taobao.org/universal-deep-strict-equal/download/universal-deep-strict-equal-1.2.2.tgz"
,
"integrity"
:
"sha1-DaSsL3PP95JMgfpN4BjKViyisKc="
,
"dev"
:
true
,
"requires"
:
{
"array-filter"
:
"1.0.0"
,
"indexof"
:
"0.0.1"
,
"object-keys"
:
"1.0.11"
}
},
"unpipe"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz"
,
"integrity"
:
"sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"utils-merge"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.0.tgz"
,
"integrity"
:
"sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
},
"uuid"
:
{
"version"
:
"3.1.0"
,
"resolved"
:
"http://registry.npm.taobao.org/uuid/download/uuid-3.1.0.tgz"
,
"integrity"
:
"sha1-PdPT55Crwk17DToDT/q6vijrvAQ="
},
"vary"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npm.taobao.org/vary/download/vary-1.1.1.tgz"
,
"integrity"
:
"sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc="
},
"verror"
:
{
"version"
:
"1.10.0"
,
"resolved"
:
"http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz"
,
"integrity"
:
"sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA="
,
"requires"
:
{
"assert-plus"
:
"1.0.0"
,
"core-util-is"
:
"1.0.2"
,
"extsprintf"
:
"1.3.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="
}
}
},
"wordwrap"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"http://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz"
,
"integrity"
:
"sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
,
"dev"
:
true
},
"wrappy"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz"
,
"integrity"
:
"sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
,
"dev"
:
true
},
"xtend"
:
{
"version"
:
"4.0.1"
,
"resolved"
:
"http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz"
,
"integrity"
:
"sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
,
"dev"
:
true
}
}
}
package.json
浏览文件 @
2bccab0e
{
{
"name"
:
"NeteaseCloudMusicApi"
,
"name"
:
"NeteaseCloudMusicApi"
,
"version"
:
"2.6.
2
"
,
"version"
:
"2.6.
3
"
,
"description"
:
"网易云音乐 NodeJS 版 API"
,
"description"
:
"网易云音乐 NodeJS 版 API"
,
"scripts"
:
{
"scripts"
:
{
"start"
:
"node app.js"
,
"start"
:
"node app.js"
,
...
...
util/util.js
浏览文件 @
2bccab0e
const
Encrypt
=
require
(
'
./crypto.js
'
)
const
Encrypt
=
require
(
'
./crypto.js
'
)
const
http
=
require
(
'
http
'
)
const
http
=
require
(
'
http
'
)
function
createWebAPIRequest
(
host
,
path
,
method
,
data
,
cookie
,
callback
,
errorcallback
)
{
function
randomUserAgent
()
{
const
userAgentList
=
[
'
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
'
,
'
Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1
'
,
'
Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1
'
,
'
Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Mobile Safari/537.36
'
,
'
Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Mobile Safari/537.36
'
,
'
Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Mobile Safari/537.36
'
,
'
Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Mobile/14F89;GameHelper
'
,
'
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4
'
,
'
Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1
'
,
'
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
'
,
'
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:46.0) Gecko/20100101 Firefox/46.0
'
,
'
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:46.0) Gecko/20100101 Firefox/46.0
'
,
'
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
'
,
'
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)
'
,
'
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
'
,
'
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)
'
,
'
Mozilla/5.0 (Windows NT 6.3; Win64, x64; Trident/7.0; rv:11.0) like Gecko
'
,
'
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/13.10586
'
,
'
Mozilla/5.0 (iPad; CPU OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1
'
]
const
num
=
Math
.
floor
(
Math
.
random
()
*
userAgentList
.
length
)
return
userAgentList
[
num
]
}
function
createWebAPIRequest
(
host
,
path
,
method
,
data
,
cookie
,
callback
,
errorcallback
)
{
let
music_req
=
''
let
music_req
=
''
const
cryptoreq
=
Encrypt
(
data
)
const
cryptoreq
=
Encrypt
(
data
)
const
http_client
=
http
.
request
({
const
http_client
=
http
.
request
(
hostname
:
host
,
{
method
:
method
,
hostname
:
host
,
path
:
path
,
method
:
method
,
headers
:
{
path
:
path
,
'
Accept
'
:
'
*/*
'
,
headers
:
{
'
Accept-Language
'
:
'
zh-CN,zh;q=0.8,gl;q=0.6,zh-TW;q=0.4
'
,
Accept
:
'
*/*
'
,
'
Connection
'
:
'
keep-alive
'
,
'
Accept-Language
'
:
'
zh-CN,zh;q=0.8,gl;q=0.6,zh-TW;q=0.4
'
,
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
,
Connection
:
'
keep-alive
'
,
'
Referer
'
:
'
http://music.163.com
'
,
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
,
'
Host
'
:
'
music.163.com
'
,
Referer
:
'
http://music.163.com
'
,
'
Cookie
'
:
cookie
,
Host
:
'
music.163.com
'
,
'
User-Agent
'
:
'
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36
'
,
Cookie
:
cookie
,
'
User-Agent
'
:
randomUserAgent
()
}
},
},
},
function
(
res
)
{
function
(
res
)
{
res
.
on
(
'
error
'
,
function
(
err
)
{
res
.
on
(
'
error
'
,
function
(
err
)
{
errorcallback
(
err
)
errorcallback
(
err
)
})
res
.
setEncoding
(
'
utf8
'
)
if
(
res
.
statusCode
!=
200
)
{
createWebAPIRequest
(
host
,
path
,
method
,
data
,
cookie
,
callback
)
return
}
else
{
res
.
on
(
'
data
'
,
function
(
chunk
)
{
music_req
+=
chunk
})
res
.
on
(
'
end
'
,
function
()
{
if
(
music_req
==
''
)
{
createWebAPIRequest
(
host
,
path
,
method
,
data
,
cookie
,
callback
)
return
}
if
(
res
.
headers
[
'
set-cookie
'
])
{
callback
(
music_req
,
res
.
headers
[
'
set-cookie
'
])
}
else
{
callback
(
music_req
)
}
})
})
res
.
setEncoding
(
'
utf8
'
)
if
(
res
.
statusCode
!=
200
)
{
createWebAPIRequest
(
host
,
path
,
method
,
data
,
cookie
,
callback
)
return
}
else
{
res
.
on
(
'
data
'
,
function
(
chunk
)
{
music_req
+=
chunk
})
res
.
on
(
'
end
'
,
function
()
{
if
(
music_req
==
''
)
{
createWebAPIRequest
(
host
,
path
,
method
,
data
,
cookie
,
callback
)
return
}
if
(
res
.
headers
[
'
set-cookie
'
])
{
callback
(
music_req
,
res
.
headers
[
'
set-cookie
'
])
}
else
{
callback
(
music_req
)
}
})
}
}
}
})
)
http_client
.
write
(
'
params=
'
+
cryptoreq
.
params
+
'
&encSecKey=
'
+
cryptoreq
.
encSecKey
)
http_client
.
write
(
'
params=
'
+
cryptoreq
.
params
+
'
&encSecKey=
'
+
cryptoreq
.
encSecKey
)
http_client
.
end
()
http_client
.
end
()
}
}
function
createRequest
(
path
,
method
,
data
,
callback
,
errorcallback
)
{
function
createRequest
(
path
,
method
,
data
,
callback
,
errorcallback
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
let
ne_req
=
''
let
ne_req
=
''
const
http_client
=
http
.
request
({
const
http_client
=
http
.
request
(
hostname
:
'
music.163.com
'
,
{
method
:
method
,
hostname
:
'
music.163.com
'
,
path
:
path
,
method
:
method
,
headers
:
{
path
:
path
,
'
Referer
'
:
'
http://music.163.com
'
,
headers
:
{
'
Cookie
'
:
'
appver=1.5.2
'
,
Referer
:
'
http://music.163.com
'
,
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
,
Cookie
:
'
appver=1.5.2
'
,
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
,
'
User-Agent
'
:
randomUserAgent
()
}
},
},
},
res
=>
{
res
=>
{
res
.
setEncoding
(
'
utf8
'
)
res
.
setEncoding
(
'
utf8
'
)
res
.
on
(
'
error
'
,
err
=>
{
res
.
on
(
'
error
'
,
err
=>
{
reject
(
err
)
reject
(
err
)
})
})
res
.
on
(
'
data
'
,
chunk
=>
{
res
.
on
(
'
data
'
,
chunk
=>
{
ne_req
+=
chunk
ne_req
+=
chunk
})
})
res
.
on
(
'
end
'
,
()
=>
{
res
.
on
(
'
end
'
,
()
=>
{
resolve
(
ne_req
)
resolve
(
ne_req
)
})
})
})
}
)
if
(
method
==
'
POST
'
)
{
if
(
method
==
'
POST
'
)
{
http_client
.
write
(
data
)
http_client
.
write
(
data
)
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录