增加粘贴富文本功能

This commit is contained in:
purocean
2019-05-20 13:06:45 +08:00
parent 17bf26d479
commit 68c7edaf51
4 changed files with 219 additions and 12 deletions
+1
View File
@@ -72,6 +72,7 @@
+ `Ctrl + K, Ctrl + U` 转换大写
+ `Ctrl + K, Ctrl + L` 转换小写
+ `Ctrl + Alt + R` 在内置终端里面运行选中内容
+ `Ctrl + B + V` 粘贴 html 富文本
## 特色功能
+ 同步预览滚动,实现得较粗糙
+1
View File
@@ -28,6 +28,7 @@
"normalize.css": "^8.0.1",
"socket.io-client": "^2.2.0",
"transliteration": "^2.1.3",
"turndown": "^5.0.3",
"vue": "^2.6.10",
"vue-bus": "^1.2.1",
"vue-router": "^3.0.3",
+32 -4
View File
@@ -5,6 +5,9 @@
<script>
import dayjs from 'dayjs'
import TurndownService from 'turndown'
const keys = {}
export default {
name: 'editor',
@@ -27,6 +30,8 @@ export default {
this.onGotAmdLoader()
}
window.addEventListener('resize', this.resize)
window.addEventListener('keydown', this.recordKeys, true)
window.addEventListener('keyup', this.recordKeys, true)
this.$bus.on('editor-insert-value', this.insert)
this.$bus.on('editor-replace-value', this.replaceValue)
this.$bus.on('editor-toggle-wrap', this.toggleWrap)
@@ -34,11 +39,20 @@ export default {
beforeDestroy () {
window.removeEventListener('paste', this.paste)
window.removeEventListener('resize', this.resize)
window.removeEventListener('keydown', this.recordKeys)
window.removeEventListener('keyup', this.recordKeys)
this.$bus.off('editor-insert-value', this.insert)
this.$bus.off('editor-replace-value', this.replaceValue)
this.$bus.off('editor-toggle-wrap', this.toggleWrap)
},
methods: {
recordKeys (e) {
if (e.type === 'keydown') {
keys[e.key] = true
} else {
keys[e.key] = false
}
},
resize () {
if (this.editor) {
this.editor.layout()
@@ -85,7 +99,7 @@ export default {
})
this.keyBind()
window.addEventListener('paste', this.paste)
window.addEventListener('paste', this.paste, true)
setTimeout(() => {
this.$emit('ready')
@@ -174,9 +188,23 @@ export default {
paste (e) {
if (this.editor.isFocused()) {
const items = e.clipboardData.items
for (let i = 0; i < items.length; i++) {
if (items[i].type.match(/^image\/(png|jpg|jpeg|gif)$/i)) {
this.$emit('paste-img', items[i].getAsFile())
if (keys['b'] || keys['B']) { // 粘贴 HTML 转为 markdown
for (let i = 0; i < items.length; i++) {
if (items[i].type.match(/^text\/html$/i)) {
items[i].getAsString(str => {
const md = new TurndownService({ headingStyle: 'atx', codeBlockStyle: 'fenced', bulletListMarker: '+' }).turndown(str)
this.insert(md)
})
}
}
e.preventDefault()
e.stopPropagation()
} else {
for (let i = 0; i < items.length; i++) {
if (items[i].type.match(/^image\/(png|jpg|jpeg|gif)$/i)) {
this.$emit('paste-img', items[i].getAsFile())
}
}
}
}
+185 -8
View File
@@ -986,6 +986,10 @@
version "4.2.1"
resolved "http://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8"
abab@^2.0.0:
version "2.0.0"
resolved "https://registry.npm.taobao.org/abab/download/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f"
abbrev@1:
version "1.1.1"
resolved "http://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
@@ -1003,6 +1007,13 @@ acorn-dynamic-import@^3.0.0:
dependencies:
acorn "^5.0.0"
acorn-globals@^4.1.0:
version "4.3.2"
resolved "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006"
dependencies:
acorn "^6.0.1"
acorn-walk "^6.0.1"
acorn-jsx@^3.0.0:
version "3.0.1"
resolved "http://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
@@ -1013,7 +1024,7 @@ acorn-jsx@^5.0.0:
version "5.0.1"
resolved "http://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
acorn-walk@^6.1.1:
acorn-walk@^6.0.1, acorn-walk@^6.1.1:
version "6.1.1"
resolved "http://registry.npm.taobao.org/acorn-walk/download/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
@@ -1021,11 +1032,11 @@ acorn@^3.0.4:
version "3.3.0"
resolved "http://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
acorn@^5.0.0, acorn@^5.5.0, acorn@^5.6.2:
acorn@^5.0.0, acorn@^5.5.0, acorn@^5.5.3, acorn@^5.6.2:
version "5.7.3"
resolved "http://registry.npm.taobao.org/acorn/download/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
acorn@^6.0.2, acorn@^6.0.7, acorn@^6.1.1:
acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.7, acorn@^6.1.1:
version "6.1.1"
resolved "http://registry.npm.taobao.org/acorn/download/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
@@ -1145,6 +1156,10 @@ arr-union@^3.1.0:
version "3.1.0"
resolved "http://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
array-equal@^1.0.0:
version "1.0.0"
resolved "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
array-filter@~0.0.0:
version "0.0.1"
resolved "http://registry.npm.taobao.org/array-filter/download/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
@@ -1432,6 +1447,10 @@ brorand@^1.0.1:
version "1.1.0"
resolved "http://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
browser-process-hrtime@^0.1.2:
version "0.1.3"
resolved "https://registry.npm.taobao.org/browser-process-hrtime/download/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4"
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.2.0"
resolved "http://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
@@ -2235,6 +2254,16 @@ csso@^3.5.1:
dependencies:
css-tree "1.0.0-alpha.29"
cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
version "0.3.6"
resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.3.6.tgz#f85206cee04efa841f3c5982a74ba96ab20d65ad"
cssstyle@^1.0.0:
version "1.2.2"
resolved "https://registry.npm.taobao.org/cssstyle/download/cssstyle-1.2.2.tgz#427ea4d585b18624f6fdbf9de7a2a1a3ba713077"
dependencies:
cssom "0.3.x"
current-script-polyfill@^1.0.0:
version "1.0.0"
resolved "http://registry.npm.taobao.org/current-script-polyfill/download/current-script-polyfill-1.0.0.tgz#f31cf7e4f3e218b0726e738ca92a02d3488ef615"
@@ -2249,6 +2278,14 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
data-urls@^1.0.0:
version "1.1.0"
resolved "https://registry.npm.taobao.org/data-urls/download/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe"
dependencies:
abab "^2.0.0"
whatwg-mimetype "^2.2.0"
whatwg-url "^7.0.0"
date-now@^0.1.4:
version "0.1.4"
resolved "http://registry.npm.taobao.org/date-now/download/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
@@ -2460,6 +2497,12 @@ domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1:
version "1.3.1"
resolved "http://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
domexception@^1.0.1:
version "1.0.1"
resolved "https://registry.npm.taobao.org/domexception/download/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
dependencies:
webidl-conversions "^4.0.2"
domhandler@^2.3.0:
version "2.4.2"
resolved "http://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
@@ -2649,6 +2692,17 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
escodegen@^1.9.1:
version "1.11.1"
resolved "https://registry.npm.taobao.org/escodegen/download/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510"
dependencies:
esprima "^3.1.3"
estraverse "^4.2.0"
esutils "^2.0.2"
optionator "^0.8.1"
optionalDependencies:
source-map "~0.6.1"
eslint-config-standard@^12.0.0:
version "12.0.0"
resolved "http://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-12.0.0.tgz#638b4c65db0bd5a41319f96bba1f15ddad2107d9"
@@ -2867,6 +2921,10 @@ espree@^5.0.1:
acorn-jsx "^5.0.0"
eslint-visitor-keys "^1.0.0"
esprima@^3.1.3:
version "3.1.3"
resolved "https://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
esprima@^4.0.0:
version "4.0.1"
resolved "http://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
@@ -2883,7 +2941,7 @@ esrecurse@^4.1.0:
dependencies:
estraverse "^4.1.0"
estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
version "4.2.0"
resolved "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -3566,6 +3624,12 @@ html-comment-regex@^1.1.0:
version "1.1.2"
resolved "http://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
html-encoding-sniffer@^1.0.2:
version "1.0.2"
resolved "https://registry.npm.taobao.org/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
dependencies:
whatwg-encoding "^1.0.1"
html-entities@^1.2.1:
version "1.2.1"
resolved "http://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f"
@@ -3661,7 +3725,7 @@ iconv-lite@0.4.23:
dependencies:
safer-buffer ">= 2.1.2 < 3"
iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
version "0.4.24"
resolved "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
dependencies:
@@ -4119,6 +4183,37 @@ jsbn@~0.1.0:
version "0.1.1"
resolved "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
jsdom@^11.9.0:
version "11.12.0"
resolved "https://registry.npm.taobao.org/jsdom/download/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8"
dependencies:
abab "^2.0.0"
acorn "^5.5.3"
acorn-globals "^4.1.0"
array-equal "^1.0.0"
cssom ">= 0.3.2 < 0.4.0"
cssstyle "^1.0.0"
data-urls "^1.0.0"
domexception "^1.0.1"
escodegen "^1.9.1"
html-encoding-sniffer "^1.0.2"
left-pad "^1.3.0"
nwsapi "^2.0.7"
parse5 "4.0.0"
pn "^1.1.0"
request "^2.87.0"
request-promise-native "^1.0.5"
sax "^1.2.4"
symbol-tree "^3.2.2"
tough-cookie "^2.3.4"
w3c-hr-time "^1.0.1"
webidl-conversions "^4.0.2"
whatwg-encoding "^1.0.3"
whatwg-mimetype "^2.1.0"
whatwg-url "^6.4.1"
ws "^5.2.0"
xml-name-validator "^3.0.0"
jsesc@^2.5.1:
version "2.5.2"
resolved "http://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
@@ -4245,6 +4340,10 @@ lcid@^2.0.0:
dependencies:
invert-kv "^2.0.0"
left-pad@^1.3.0:
version "1.3.0"
resolved "https://registry.npm.taobao.org/left-pad/download/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
less-loader@^4.1.0:
version "4.1.0"
resolved "http://registry.npm.taobao.org/less-loader/download/less-loader-4.1.0.tgz#2c1352c5b09a4f84101490274fd51674de41363e"
@@ -4354,6 +4453,10 @@ lodash.memoize@^4.1.2:
version "4.1.2"
resolved "http://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
lodash.sortby@^4.7.0:
version "4.7.0"
resolved "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
lodash.transform@^4.6.0:
version "4.6.0"
resolved "http://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0"
@@ -4920,6 +5023,10 @@ number-is-nan@^1.0.0:
version "1.0.1"
resolved "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
nwsapi@^2.0.7:
version "2.1.4"
resolved "https://registry.npm.taobao.org/nwsapi/download/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f"
oauth-sign@~0.9.0:
version "0.9.0"
resolved "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
@@ -5021,7 +5128,7 @@ opn@^5.3.0, opn@^5.5.0:
dependencies:
is-wsl "^1.1.0"
optionator@^0.8.2:
optionator@^0.8.1, optionator@^0.8.2:
version "0.8.2"
resolved "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
dependencies:
@@ -5172,6 +5279,10 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
parse5@4.0.0:
version "4.0.0"
resolved "https://registry.npm.taobao.org/parse5/download/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
parseqs@0.0.5:
version "0.0.5"
resolved "http://registry.npm.taobao.org/parseqs/download/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
@@ -5300,6 +5411,10 @@ pluralize@^7.0.0:
version "7.0.0"
resolved "http://registry.npm.taobao.org/pluralize/download/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
pn@^1.1.0:
version "1.1.0"
resolved "https://registry.npm.taobao.org/pn/download/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
portfinder@^1.0.20:
version "1.0.20"
resolved "http://registry.npm.taobao.org/portfinder/download/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a"
@@ -5944,7 +6059,7 @@ request-promise-core@1.1.2:
dependencies:
lodash "^4.17.11"
request-promise-native@^1.0.7:
request-promise-native@^1.0.5, request-promise-native@^1.0.7:
version "1.0.7"
resolved "http://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59"
dependencies:
@@ -6655,6 +6770,10 @@ svgo@^1.0.0:
unquote "~1.1.1"
util.promisify "~1.0.0"
symbol-tree@^3.2.2:
version "3.2.2"
resolved "https://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
table@4.0.2:
version "4.0.2"
resolved "http://registry.npm.taobao.org/table/download/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
@@ -6799,7 +6918,7 @@ toposort@^1.0.0:
version "1.0.7"
resolved "http://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"
tough-cookie@^2.3.3:
tough-cookie@^2.3.3, tough-cookie@^2.3.4:
version "2.5.0"
resolved "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
dependencies:
@@ -6813,6 +6932,12 @@ tough-cookie@~2.4.3:
psl "^1.1.24"
punycode "^1.4.1"
tr46@^1.0.1:
version "1.0.1"
resolved "https://registry.npm.taobao.org/tr46/download/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
dependencies:
punycode "^2.1.0"
transliteration@^2.1.3:
version "2.1.3"
resolved "https://registry.npm.taobao.org/transliteration/download/transliteration-2.1.3.tgz#1406f3d3038723c4720493f3c63ff0d85a8b9db7"
@@ -6841,6 +6966,12 @@ tunnel-agent@^0.6.0:
dependencies:
safe-buffer "^5.0.1"
turndown@^5.0.3:
version "5.0.3"
resolved "https://registry.npm.taobao.org/turndown/download/turndown-5.0.3.tgz#a1350b66155d7891f10e451432170b0f7cd7449a"
dependencies:
jsdom "^11.9.0"
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
@@ -7118,6 +7249,12 @@ vuex@^3.0.1:
version "3.1.0"
resolved "http://registry.npm.taobao.org/vuex/download/vuex-3.1.0.tgz#634b81515cf0cfe976bd1ffe9601755e51f843b9"
w3c-hr-time@^1.0.1:
version "1.0.1"
resolved "https://registry.npm.taobao.org/w3c-hr-time/download/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045"
dependencies:
browser-process-hrtime "^0.1.2"
watchpack@^1.5.0:
version "1.6.0"
resolved "http://registry.npm.taobao.org/watchpack/download/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
@@ -7138,6 +7275,10 @@ wcwidth@^1.0.1:
dependencies:
defaults "^1.0.3"
webidl-conversions@^4.0.2:
version "4.0.2"
resolved "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
webpack-bundle-analyzer@^3.3.0:
version "3.3.2"
resolved "http://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.3.2.tgz#3da733a900f515914e729fcebcd4c40dde71fc6f"
@@ -7267,6 +7408,32 @@ websocket-extensions@>=0.1.1:
version "0.1.3"
resolved "http://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29"
whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
version "1.0.5"
resolved "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
dependencies:
iconv-lite "0.4.24"
whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0:
version "2.3.0"
resolved "https://registry.npm.taobao.org/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
whatwg-url@^6.4.1:
version "6.5.0"
resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8"
dependencies:
lodash.sortby "^4.7.0"
tr46 "^1.0.1"
webidl-conversions "^4.0.2"
whatwg-url@^7.0.0:
version "7.0.0"
resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd"
dependencies:
lodash.sortby "^4.7.0"
tr46 "^1.0.1"
webidl-conversions "^4.0.2"
which-module@^2.0.0:
version "2.0.0"
resolved "http://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
@@ -7324,6 +7491,12 @@ write@^0.2.1:
dependencies:
mkdirp "^0.5.1"
ws@^5.2.0:
version "5.2.2"
resolved "https://registry.npm.taobao.org/ws/download/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
dependencies:
async-limiter "~1.0.0"
ws@^6.0.0:
version "6.2.1"
resolved "http://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
@@ -7336,6 +7509,10 @@ ws@~6.1.0:
dependencies:
async-limiter "~1.0.0"
xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
xmlhttprequest-ssl@~1.5.4:
version "1.5.5"
resolved "http://registry.npm.taobao.org/xmlhttprequest-ssl/download/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e"