From 3f4a1430380e05f8fb0f72840038d6e596827b0c Mon Sep 17 00:00:00 2001 From: tackchen Date: Mon, 14 Dec 2020 17:53:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20draw=20ts=20=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 886 ++++++++++---------- public/index.js | 5 +- src/main/index.d.ts | 2 - src/main/ts/compareSpell.ts | 6 +- src/main/ts/config.ts | 15 +- src/main/ts/{types => }/extend.d.ts | 0 src/main/ts/index.d.ts | 5 + src/main/ts/index.ts | 4 +- src/main/ts/package-lock.json | 5 + src/main/ts/package.json | 29 + src/main/ts/sort.ts | 8 +- src/main/ts/spellToWord.ts | 13 +- src/main/ts/strokeToWord.ts | 7 +- src/main/ts/tool.ts | 40 +- src/main/ts/types/common.d.ts | 25 +- src/main/ts/types/index.d.ts | 54 +- src/main/ts/types/tool.d.ts | 77 ++ src/main/ts/util.ts | 26 +- src/plugin/draw/default-option.js | 1 + src/plugin/draw/index.d.ts | 18 +- src/plugin/draw/ts/default-option.ts | 17 +- src/plugin/draw/ts/hanzi-writer.d.ts | 3 + src/plugin/draw/ts/index.d.ts | 98 +-- src/plugin/draw/ts/{index.js => index.ts} | 14 +- src/plugin/draw/ts/{line.js => line.ts} | 13 +- src/plugin/draw/ts/{stroke.js => stroke.ts} | 40 +- src/plugin/draw/ts/types/common.d.ts | 118 +++ src/plugin/draw/ts/types/hanzi-writer.d.ts | 24 + src/plugin/draw/ts/types/index.d.ts | 35 + src/plugin/draw/ts/{util.js => util.ts} | 11 +- src/plugin/draw/ts/{writer.js => writer.ts} | 82 +- 31 files changed, 955 insertions(+), 726 deletions(-) rename src/main/ts/{types => }/extend.d.ts (100%) create mode 100644 src/main/ts/index.d.ts create mode 100644 src/main/ts/package-lock.json create mode 100644 src/main/ts/package.json create mode 100644 src/main/ts/types/tool.d.ts create mode 100644 src/plugin/draw/ts/hanzi-writer.d.ts rename src/plugin/draw/ts/{index.js => index.ts} (62%) rename src/plugin/draw/ts/{line.js => line.ts} (87%) rename src/plugin/draw/ts/{stroke.js => stroke.ts} (60%) create mode 100644 src/plugin/draw/ts/types/common.d.ts create mode 100644 src/plugin/draw/ts/types/hanzi-writer.d.ts create mode 100644 src/plugin/draw/ts/types/index.d.ts rename src/plugin/draw/ts/{util.js => util.ts} (69%) rename src/plugin/draw/ts/{writer.js => writer.ts} (72%) diff --git a/package-lock.json b/package-lock.json index 65b6483..cdbbc41 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1369,7 +1369,7 @@ }, "@marionebl/sander": { "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/@marionebl/sander/download/@marionebl/sander-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/@marionebl/sander/-/sander-0.6.1.tgz", "integrity": "sha1-GViWWHTyS8Ub5Ih1/rUNZC/EH3s=", "dev": true, "requires": { @@ -2155,7 +2155,7 @@ }, "agentkeepalive": { "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/agentkeepalive/download/agentkeepalive-2.2.0.tgz?cache=0&sync_timestamp=1570869777482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagentkeepalive%2Fdownload%2Fagentkeepalive-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz", "integrity": "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=", "dev": true }, @@ -2237,7 +2237,7 @@ }, "alphanum-sort": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", "dev": true }, @@ -2286,7 +2286,7 @@ }, "ansi-cyan": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-cyan/download/ansi-cyan-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", "dev": true, "requires": { @@ -2312,7 +2312,7 @@ }, "ansi-gray": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-gray/download/ansi-gray-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", "dev": true, "requires": { @@ -2321,13 +2321,13 @@ }, "ansi-html": { "version": "0.0.7", - "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", "dev": true }, "ansi-red": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-red/download/ansi-red-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", "dev": true, "requires": { @@ -2351,7 +2351,7 @@ }, "ansi-wrap": { "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-wrap/download/ansi-wrap-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", "dev": true }, @@ -2367,7 +2367,7 @@ }, "append-buffer": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/append-buffer/download/append-buffer-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", "dev": true, "requires": { @@ -2382,7 +2382,7 @@ }, "archy": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/archy/download/archy-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, @@ -2397,13 +2397,13 @@ }, "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, "arr-filter": { "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/arr-filter/download/arr-filter-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", "dev": true, "requires": { @@ -2418,7 +2418,7 @@ }, "arr-map": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/arr-map/download/arr-map-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", "dev": true, "requires": { @@ -2427,19 +2427,19 @@ }, "arr-union": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-each": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/array-each/download/array-each-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", "dev": true }, "array-find-index": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", "dev": true }, @@ -2451,13 +2451,13 @@ }, "array-ify": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/array-ify/download/array-ify-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", "dev": true }, "array-initial": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/array-initial/download/array-initial-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", "dev": true, "requires": { @@ -2517,7 +2517,7 @@ }, "array-union": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { @@ -2526,25 +2526,25 @@ }, "array-uniq": { "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "dev": true }, "array-unique": { "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "arrify": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "asap": { "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true, "optional": true @@ -2608,13 +2608,13 @@ }, "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, @@ -2650,7 +2650,7 @@ }, "async-settle": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/async-settle/download/async-settle-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", "dev": true, "requires": { @@ -2668,7 +2668,7 @@ }, "asynckit": { "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, @@ -2689,7 +2689,7 @@ }, "autolinker": { "version": "0.28.1", - "resolved": "https://registry.npm.taobao.org/autolinker/download/autolinker-0.28.1.tgz", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", "integrity": "sha1-BlK0kYgYefB3XazgzcoyM5QqTkc=", "dev": true, "requires": { @@ -2732,7 +2732,7 @@ }, "aws-sign2": { "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, @@ -2794,7 +2794,7 @@ }, "babel-polyfill": { "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-polyfill/download/babel-polyfill-6.26.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-polyfill%2Fdownload%2Fbabel-polyfill-6.26.0.tgz", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", "dev": true, "requires": { @@ -2805,7 +2805,7 @@ "dependencies": { "regenerator-runtime": { "version": "0.10.5", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.10.5.tgz", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", "dev": true } @@ -2813,7 +2813,7 @@ }, "babel-runtime": { "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { @@ -2831,7 +2831,7 @@ }, "bach": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/bach/download/bach-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", "dev": true, "requires": { @@ -2860,7 +2860,7 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, @@ -2921,7 +2921,7 @@ }, "base64-arraybuffer": { "version": "0.1.5", - "resolved": "https://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.1.5.tgz", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", "dev": true }, @@ -2933,13 +2933,13 @@ }, "batch": { "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { @@ -3060,7 +3060,7 @@ }, "bonjour": { "version": "3.5.0", - "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, "requires": { @@ -3074,7 +3074,7 @@ }, "boolbase": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, @@ -3143,7 +3143,7 @@ }, "brorand": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, @@ -3186,7 +3186,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -3196,7 +3196,7 @@ }, "browserify-sign": { "version": "4.0.4", - "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.0.4.tgz", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { @@ -3243,7 +3243,7 @@ }, "buffer-equal": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/buffer-equal/download/buffer-equal-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", "dev": true }, @@ -3267,13 +3267,13 @@ }, "buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, "builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, @@ -3423,13 +3423,13 @@ }, "call-me-maybe": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", "dev": true }, "caller-callsite": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, "requires": { @@ -3438,7 +3438,7 @@ "dependencies": { "callsites": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true } @@ -3446,7 +3446,7 @@ }, "caller-path": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, "requires": { @@ -3461,7 +3461,7 @@ }, "camel-case": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "dev": true, "requires": { @@ -3471,13 +3471,13 @@ }, "camelcase": { "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "camelcase-keys": { "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-4.2.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", "dev": true, "requires": { @@ -3506,7 +3506,7 @@ }, "caseless": { "version": "0.12.0", - "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, @@ -3711,7 +3711,7 @@ }, "cli-width": { "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", "dev": true }, @@ -3729,7 +3729,7 @@ }, "cliui": { "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz?cache=0&sync_timestamp=1573942320052&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { @@ -3740,13 +3740,13 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { @@ -3755,7 +3755,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1573488535785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { @@ -3766,7 +3766,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -3777,19 +3777,19 @@ }, "clone": { "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", "dev": true }, "clone-buffer": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/clone-buffer/download/clone-buffer-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", "dev": true }, "clone-response": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/clone-response/download/clone-response-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { @@ -3798,7 +3798,7 @@ }, "clone-stats": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/clone-stats/download/clone-stats-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", "dev": true }, @@ -3839,7 +3839,7 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, @@ -3851,7 +3851,7 @@ }, "collection-map": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/collection-map/download/collection-map-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", "dev": true, "requires": { @@ -3862,7 +3862,7 @@ }, "collection-visit": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { @@ -3891,7 +3891,7 @@ }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, @@ -3934,13 +3934,13 @@ }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "compare-func": { "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/compare-func/download/compare-func-1.3.2.tgz", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", "dev": true, "requires": { @@ -4003,7 +4003,7 @@ }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, @@ -4111,7 +4111,7 @@ }, "constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, @@ -4177,7 +4177,7 @@ }, "cookie-signature": { "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, @@ -4203,7 +4203,7 @@ }, "copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, @@ -4344,7 +4344,7 @@ }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, @@ -4481,7 +4481,7 @@ }, "css-color-names": { "version": "0.0.4", - "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", "dev": true }, @@ -4547,7 +4547,7 @@ }, "css-parse": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/css-parse/download/css-parse-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", "dev": true, "requires": { @@ -4660,13 +4660,13 @@ }, "cssnano-util-get-arguments": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", "dev": true }, "cssnano-util-get-match": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", "dev": true }, @@ -4720,7 +4720,7 @@ }, "currently-unhandled": { "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { @@ -4729,7 +4729,7 @@ }, "cyclist": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "dev": true }, @@ -4745,7 +4745,7 @@ }, "dargs": { "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/dargs/download/dargs-4.1.0.tgz", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", "dev": true, "requires": { @@ -4754,7 +4754,7 @@ }, "dashdash": { "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { @@ -4763,7 +4763,7 @@ }, "de-indent": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", "dev": true }, @@ -4778,13 +4778,13 @@ }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1580010393599&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, "decamelize-keys": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/decamelize-keys/download/decamelize-keys-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", "dev": true, "requires": { @@ -4794,7 +4794,7 @@ "dependencies": { "map-obj": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true } @@ -4802,13 +4802,13 @@ }, "decode-uri-component": { "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "decompress-response": { "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", "dev": true, "requires": { @@ -4837,7 +4837,7 @@ }, "deep-is": { "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, @@ -4876,7 +4876,7 @@ }, "default-resolution": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/default-resolution/download/default-resolution-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", "dev": true }, @@ -4982,7 +4982,7 @@ }, "delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, @@ -4995,7 +4995,7 @@ }, "depd": { "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, @@ -5011,19 +5011,19 @@ }, "destroy": { "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, "detect-file": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/detect-file/download/detect-file-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", "dev": true }, "detect-indent": { "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/detect-indent/download/detect-indent-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", "dev": true }, @@ -5035,13 +5035,13 @@ }, "diacritics": { "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/diacritics/download/diacritics-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/diacritics/-/diacritics-1.3.0.tgz", "integrity": "sha1-PvqHMj67hj5mls67AILUj/PW96E=", "dev": true }, "diacritics-map": { "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/diacritics-map/download/diacritics-map-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", "integrity": "sha1-bfwP+dAQAKLt8oZTccrDFulJd68=", "dev": true }, @@ -5067,7 +5067,7 @@ }, "dns-equal": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", "dev": true }, @@ -5083,7 +5083,7 @@ }, "dns-txt": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "dev": true, "requires": { @@ -5186,7 +5186,7 @@ }, "dot-prop": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-3.0.0.tgz?cache=0&sync_timestamp=1572620767955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", "dev": true, "requires": { @@ -5195,7 +5195,7 @@ }, "duplexer3": { "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, @@ -5229,7 +5229,7 @@ }, "ecc-jsbn": { "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { @@ -5239,7 +5239,7 @@ }, "ee-first": { "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, @@ -5304,7 +5304,7 @@ }, "encodeurl": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, @@ -5423,7 +5423,7 @@ }, "es6-iterator": { "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { @@ -5468,13 +5468,13 @@ }, "escape-html": { "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, @@ -5702,7 +5702,7 @@ }, "etag": { "version": "1.8.1", - "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, @@ -5754,7 +5754,7 @@ }, "expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { @@ -5778,7 +5778,7 @@ }, "define-property": { "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { @@ -5787,7 +5787,7 @@ }, "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { @@ -5796,7 +5796,7 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } @@ -5804,7 +5804,7 @@ }, "expand-range": { "version": "1.8.2", - "resolved": "https://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { @@ -5832,7 +5832,7 @@ }, "is-number": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { @@ -5841,7 +5841,7 @@ }, "isobject": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { @@ -5850,7 +5850,7 @@ }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { @@ -5861,7 +5861,7 @@ }, "expand-tilde": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/expand-tilde/download/expand-tilde-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "dev": true, "requires": { @@ -6028,7 +6028,7 @@ }, "extend-shallow": { "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { @@ -6125,7 +6125,7 @@ }, "extsprintf": { "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, @@ -6192,7 +6192,7 @@ }, "fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, @@ -6204,7 +6204,7 @@ }, "faye-websocket": { "version": "0.10.0", - "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { @@ -6267,7 +6267,7 @@ }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { @@ -6279,7 +6279,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { @@ -6301,7 +6301,7 @@ }, "find-up": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { @@ -6414,13 +6414,13 @@ }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "for-own": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/for-own/download/for-own-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { @@ -6429,13 +6429,13 @@ }, "foreach": { "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/foreach/download/foreach-2.0.5.tgz", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", "dev": true }, "forever-agent": { "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, @@ -6458,13 +6458,13 @@ }, "forwarded": { "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", "dev": true }, "fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { @@ -6473,13 +6473,13 @@ }, "fresh": { "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, "from2": { "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { @@ -6500,7 +6500,7 @@ }, "fs-mkdirp-stream": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/fs-mkdirp-stream/download/fs-mkdirp-stream-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", "dev": true, "requires": { @@ -6522,7 +6522,7 @@ }, "fs-write-stream-atomic": { "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { @@ -6534,7 +6534,7 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, @@ -6557,7 +6557,7 @@ }, "functional-red-black-tree": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, @@ -6602,13 +6602,13 @@ }, "get-value": { "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, "getpass": { "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { @@ -6752,7 +6752,7 @@ }, "glob-stream": { "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/glob-stream/download/glob-stream-6.1.0.tgz", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", "dev": true, "requires": { @@ -6770,7 +6770,7 @@ "dependencies": { "glob-parent": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { @@ -6780,7 +6780,7 @@ }, "is-glob": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { @@ -6791,7 +6791,7 @@ }, "glob-to-regexp": { "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", "dev": true }, @@ -6821,7 +6821,7 @@ }, "global-dirs": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/global-dirs/download/global-dirs-0.1.1.tgz?cache=0&sync_timestamp=1573230916593&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobal-dirs%2Fdownload%2Fglobal-dirs-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { @@ -6841,7 +6841,7 @@ }, "global-prefix": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/global-prefix/download/global-prefix-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "dev": true, "requires": { @@ -6899,7 +6899,7 @@ }, "good-listener": { "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/good-listener/download/good-listener-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", "dev": true, "optional": true, @@ -7113,7 +7113,7 @@ }, "gulplog": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/gulplog/download/gulplog-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", "dev": true, "requires": { @@ -7128,7 +7128,7 @@ }, "har-schema": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, @@ -7153,7 +7153,7 @@ }, "has-ansi": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { @@ -7162,7 +7162,7 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true } @@ -7170,7 +7170,7 @@ }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, @@ -7182,7 +7182,7 @@ }, "has-value": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { @@ -7193,7 +7193,7 @@ }, "has-values": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { @@ -7209,7 +7209,7 @@ }, "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { @@ -7226,7 +7226,7 @@ }, "hash-base": { "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.0.4.tgz", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { @@ -7236,7 +7236,7 @@ }, "hash-sum": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", "dev": true }, @@ -7270,7 +7270,7 @@ }, "hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { @@ -7281,7 +7281,7 @@ }, "hogan.js": { "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/hogan.js/download/hogan.js-3.0.2.tgz", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", "integrity": "sha1-TNnhq9QpQUbnZ55B14mHMrAse/0=", "dev": true, "requires": { @@ -7291,7 +7291,7 @@ "dependencies": { "mkdirp": { "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", "dev": true } @@ -7314,7 +7314,7 @@ }, "hpack.js": { "version": "2.1.6", - "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "dev": true, "requires": { @@ -7326,13 +7326,13 @@ }, "hsl-regex": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", "dev": true }, "hsla-regex": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", "dev": true }, @@ -7344,7 +7344,7 @@ }, "html-entities": { "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", "dev": true }, @@ -7373,7 +7373,7 @@ }, "html-tags": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", "dev": true }, @@ -7412,7 +7412,7 @@ }, "http-deceiver": { "version": "1.2.7", - "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", "dev": true }, @@ -7439,7 +7439,7 @@ }, "http-parser-js": { "version": "0.4.10", - "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.4.10.tgz", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, @@ -7476,7 +7476,7 @@ }, "http-signature": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1585807874533&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { @@ -7487,7 +7487,7 @@ }, "https-browserify": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, @@ -7628,7 +7628,7 @@ }, "icss-replace-symbols": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", "dev": true }, @@ -7649,7 +7649,7 @@ }, "iferr": { "version": "0.1.5", - "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true }, @@ -7661,14 +7661,14 @@ }, "image-size": { "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", "dev": true, "optional": true }, "immediate": { "version": "3.2.3", - "resolved": "https://registry.npm.taobao.org/immediate/download/immediate-3.2.3.tgz", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=", "dev": true }, @@ -7683,7 +7683,7 @@ }, "import-cwd": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", "dev": true, "requires": { @@ -7710,7 +7710,7 @@ }, "import-from": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", "dev": true, "requires": { @@ -7719,7 +7719,7 @@ "dependencies": { "resolve-from": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true } @@ -7727,7 +7727,7 @@ }, "import-lazy": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/import-lazy/download/import-lazy-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", "dev": true }, @@ -7743,19 +7743,19 @@ }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "indent-string": { "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", "dev": true }, "indexes-of": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", "dev": true }, @@ -7767,7 +7767,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { @@ -7846,19 +7846,19 @@ }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "ip": { "version": "1.1.5", - "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, "ip-regex": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", "dev": true }, @@ -7880,13 +7880,13 @@ }, "is-absolute-url": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { @@ -7901,7 +7901,7 @@ }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { @@ -7918,13 +7918,13 @@ }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-binary-path": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { @@ -7948,7 +7948,7 @@ }, "is-color-stop": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", "dev": true, "requires": { @@ -7962,7 +7962,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { @@ -7977,7 +7977,7 @@ }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { @@ -8013,19 +8013,19 @@ }, "is-directory": { "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, "is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, "is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, @@ -8073,7 +8073,7 @@ }, "is-negated-glob": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-negated-glob/download/is-negated-glob-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", "dev": true }, @@ -8085,7 +8085,7 @@ }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { @@ -8100,7 +8100,7 @@ }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { @@ -8111,7 +8111,7 @@ }, "is-obj": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, @@ -8141,7 +8141,7 @@ }, "is-plain-obj": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true }, @@ -8156,7 +8156,7 @@ }, "is-promise": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, @@ -8186,7 +8186,7 @@ }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, @@ -8210,7 +8210,7 @@ }, "is-text-path": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-text-path/download/is-text-path-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", "dev": true, "requires": { @@ -8219,7 +8219,7 @@ }, "is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, @@ -8234,13 +8234,13 @@ }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, "is-valid-glob": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-valid-glob/download/is-valid-glob-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", "dev": true }, @@ -8252,7 +8252,7 @@ }, "is-wsl": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz?cache=0&sync_timestamp=1569219483525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-wsl%2Fdownload%2Fis-wsl-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", "dev": true }, @@ -8264,25 +8264,25 @@ }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz?cache=0&sync_timestamp=1562592125418&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "isstream": { "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, @@ -8294,7 +8294,7 @@ }, "javascript-stringify": { "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-1.6.0.tgz?cache=0&sync_timestamp=1572948916758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjavascript-stringify%2Fdownload%2Fjavascript-stringify-1.6.0.tgz", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz", "integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=", "dev": true }, @@ -8316,7 +8316,7 @@ }, "jsbn": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, @@ -8328,7 +8328,7 @@ }, "json-buffer": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", "dev": true }, @@ -8340,7 +8340,7 @@ }, "json-schema": { "version": "0.2.3", - "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1567740732347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, @@ -8352,13 +8352,13 @@ }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, @@ -8379,7 +8379,7 @@ }, "jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { @@ -8388,13 +8388,13 @@ }, "jsonparse": { "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/jsonparse/download/jsonparse-1.3.1.tgz", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, "jsprim": { "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { @@ -8406,7 +8406,7 @@ }, "just-debounce": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/just-debounce/download/just-debounce-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", "dev": true }, @@ -8443,7 +8443,7 @@ }, "last-run": { "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/last-run/download/last-run-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", "dev": true, "requires": { @@ -8462,7 +8462,7 @@ }, "lazy-cache": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", "dev": true, "requires": { @@ -8471,7 +8471,7 @@ }, "lazystream": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/lazystream/download/lazystream-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "dev": true, "requires": { @@ -8480,7 +8480,7 @@ }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { @@ -8489,7 +8489,7 @@ }, "lead": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/lead/download/lead-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", "dev": true, "requires": { @@ -8645,7 +8645,7 @@ }, "levn": { "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz?cache=0&sync_timestamp=1585966018210&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flevn%2Fdownload%2Flevn-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { @@ -8671,7 +8671,7 @@ }, "lines-and-columns": { "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", "dev": true }, @@ -8686,7 +8686,7 @@ }, "list-item": { "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/list-item/download/list-item-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", "integrity": "sha1-DGXQDih8tmPMs8s4Sad+iewmilY=", "dev": true, "requires": { @@ -8698,7 +8698,7 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { @@ -8713,7 +8713,7 @@ }, "is-number": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { @@ -8722,7 +8722,7 @@ }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { @@ -8733,7 +8733,7 @@ }, "load-json-file": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { @@ -8745,7 +8745,7 @@ }, "load-script": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/load-script/download/load-script-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=", "dev": true }, @@ -8836,7 +8836,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { @@ -8852,31 +8852,31 @@ }, "lodash._reinterpolate": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", "dev": true }, "lodash.clonedeep": { "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, "lodash.debounce": { "version": "4.0.8", - "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, "lodash.kebabcase": { "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", "dev": true }, "lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, @@ -8907,7 +8907,7 @@ }, "lodash.uniq": { "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, @@ -8934,7 +8934,7 @@ }, "loud-rejection": { "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floud-rejection%2Fdownload%2Floud-rejection-1.6.0.tgz", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { @@ -8944,7 +8944,7 @@ }, "lower-case": { "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", "dev": true }, @@ -9001,19 +9001,19 @@ }, "map-cache": { "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, "map-obj": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", "dev": true }, "map-visit": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { @@ -9062,13 +9062,13 @@ }, "markdown-it-container": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/markdown-it-container/download/markdown-it-container-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-2.0.0.tgz", "integrity": "sha1-ABm0P9Au7+zi8ZYKKJX7qBpARpU=", "dev": true }, "markdown-it-emoji": { "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/markdown-it-emoji/download/markdown-it-emoji-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz", "integrity": "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw=", "dev": true }, @@ -9080,7 +9080,7 @@ }, "markdown-link": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/markdown-link/download/markdown-link-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=", "dev": true }, @@ -9136,7 +9136,7 @@ }, "matchdep": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/matchdep/download/matchdep-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", "dev": true, "requires": { @@ -9148,7 +9148,7 @@ "dependencies": { "findup-sync": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/findup-sync/download/findup-sync-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", "dev": true, "requires": { @@ -9160,7 +9160,7 @@ }, "is-glob": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { @@ -9213,13 +9213,13 @@ }, "mdurl": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/mdurl/download/mdurl-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", "dev": true }, "media-typer": { "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, @@ -9242,7 +9242,7 @@ }, "memory-fs": { "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { @@ -9269,7 +9269,7 @@ }, "merge-descriptors": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, @@ -9298,7 +9298,7 @@ }, "methods": { "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true }, @@ -9368,7 +9368,7 @@ }, "min-document": { "version": "2.19.0", - "resolved": "https://registry.npm.taobao.org/min-document/download/min-document-2.19.0.tgz", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "dev": true, "requires": { @@ -9408,7 +9408,7 @@ }, "minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", "dev": true }, @@ -9515,7 +9515,7 @@ }, "move-concurrently": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { @@ -9545,7 +9545,7 @@ }, "multicast-dns-service-types": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, @@ -9589,7 +9589,7 @@ }, "natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, @@ -9607,7 +9607,7 @@ }, "next-tick": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, @@ -9691,7 +9691,7 @@ }, "nopt": { "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-1.0.10.tgz", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", "dev": true, "requires": { @@ -9712,7 +9712,7 @@ }, "normalize-path": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { @@ -9721,7 +9721,7 @@ }, "normalize-range": { "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, @@ -9738,7 +9738,7 @@ }, "normalize-wheel": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=", "dev": true }, @@ -13728,7 +13728,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { @@ -13737,7 +13737,7 @@ }, "nprogress": { "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/nprogress/download/nprogress-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=", "dev": true }, @@ -13752,13 +13752,13 @@ }, "num2fraction": { "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", "dev": true }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, @@ -13770,13 +13770,13 @@ }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "object-copy": { "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { @@ -13787,7 +13787,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { @@ -13802,7 +13802,7 @@ }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { @@ -13837,7 +13837,7 @@ }, "object-visit": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { @@ -13858,7 +13858,7 @@ }, "object.defaults": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/object.defaults/download/object.defaults-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", "dev": true, "requires": { @@ -13880,7 +13880,7 @@ }, "object.map": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/object.map/download/object.map-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", "dev": true, "requires": { @@ -13890,7 +13890,7 @@ }, "object.pick": { "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { @@ -13899,7 +13899,7 @@ }, "object.reduce": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/object.reduce/download/object.reduce-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", "dev": true, "requires": { @@ -13927,7 +13927,7 @@ }, "on-finished": { "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, "requires": { @@ -13942,7 +13942,7 @@ }, "once": { "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { @@ -13996,7 +13996,7 @@ }, "ordered-read-streams": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/ordered-read-streams/download/ordered-read-streams-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", "dev": true, "requires": { @@ -14014,13 +14014,13 @@ }, "os-browserify": { "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, "os-locale": { "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fos-locale%2Fdownload%2Fos-locale-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { @@ -14029,7 +14029,7 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, @@ -14041,13 +14041,13 @@ }, "p-defer": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", "dev": true }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, @@ -14068,7 +14068,7 @@ }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { @@ -14092,7 +14092,7 @@ }, "p-try": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, @@ -14135,7 +14135,7 @@ }, "param-case": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "dev": true, "requires": { @@ -14167,7 +14167,7 @@ }, "parse-filepath": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/parse-filepath/download/parse-filepath-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", "dev": true, "requires": { @@ -14178,7 +14178,7 @@ }, "parse-json": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { @@ -14194,7 +14194,7 @@ }, "parse-passwd": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/parse-passwd/download/parse-passwd-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, @@ -14206,7 +14206,7 @@ }, "pascalcase": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, @@ -14218,31 +14218,31 @@ }, "path-dirname": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", "dev": true }, "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-is-inside": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1574441322626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, @@ -14254,7 +14254,7 @@ }, "path-root": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/path-root/download/path-root-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", "dev": true, "requires": { @@ -14263,13 +14263,13 @@ }, "path-root-regex": { "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/path-root-regex/download/path-root-regex-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", "dev": true }, "path-to-regexp": { "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&sync_timestamp=1574278262588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, @@ -14297,7 +14297,7 @@ }, "performance-now": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, @@ -14309,19 +14309,19 @@ }, "pify": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { @@ -14384,7 +14384,7 @@ }, "pkg-up": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", "dev": true, "requires": { @@ -14445,7 +14445,7 @@ }, "posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, @@ -15143,13 +15143,13 @@ }, "prelude-ls": { "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, "prepend-http": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", "dev": true }, @@ -15161,7 +15161,7 @@ }, "pretty-error": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", "dev": true, "requires": { @@ -15177,7 +15177,7 @@ }, "pretty-hrtime": { "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/pretty-hrtime/download/pretty-hrtime-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", "dev": true }, @@ -15204,7 +15204,7 @@ }, "process": { "version": "0.11.10", - "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", "dev": true }, @@ -15232,7 +15232,7 @@ }, "promise-inflight": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, @@ -15341,13 +15341,13 @@ }, "prr": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, @@ -15409,7 +15409,7 @@ }, "q": { "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, @@ -15432,13 +15432,13 @@ }, "querystring": { "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "dev": true }, "querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, @@ -15450,7 +15450,7 @@ }, "quick-lru": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/quick-lru/download/quick-lru-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", "dev": true }, @@ -15532,7 +15532,7 @@ }, "read-pkg": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { @@ -15543,7 +15543,7 @@ }, "read-pkg-up": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { @@ -15579,7 +15579,7 @@ }, "rechoir": { "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { @@ -15588,7 +15588,7 @@ }, "redent": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/redent/download/redent-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", "dev": true, "requires": { @@ -15719,7 +15719,7 @@ }, "relateurl": { "version": "0.2.7", - "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", "dev": true }, @@ -15753,7 +15753,7 @@ }, "remove-bom-stream": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/remove-bom-stream/download/remove-bom-stream-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", "dev": true, "requires": { @@ -15776,7 +15776,7 @@ }, "remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, @@ -15846,19 +15846,19 @@ }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, "replace-ext": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", "dev": true }, "replace-homedir": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/replace-homedir/download/replace-homedir-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", "dev": true, "requires": { @@ -15905,19 +15905,19 @@ }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, "requires-port": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, @@ -15938,7 +15938,7 @@ }, "resolve-cwd": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { @@ -15947,7 +15947,7 @@ "dependencies": { "resolve-from": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true } @@ -15955,7 +15955,7 @@ }, "resolve-dir": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/resolve-dir/download/resolve-dir-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "dev": true, "requires": { @@ -15980,7 +15980,7 @@ }, "resolve-options": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/resolve-options/download/resolve-options-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", "dev": true, "requires": { @@ -15989,13 +15989,13 @@ }, "resolve-url": { "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, "responselike": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz?cache=0&sync_timestamp=1570573217730&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresponselike%2Fdownload%2Fresponselike-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", "dev": true, "requires": { @@ -16020,19 +16020,19 @@ }, "retry": { "version": "0.12.0", - "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", "dev": true }, "rgb-regex": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", "dev": true }, "rgba-regex": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", "dev": true }, @@ -16072,7 +16072,7 @@ }, "run-queue": { "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { @@ -16096,7 +16096,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { @@ -16148,14 +16148,14 @@ }, "select": { "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/select/download/select-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", "dev": true, "optional": true }, "select-hose": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", "dev": true }, @@ -16176,7 +16176,7 @@ }, "semver-compare": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/semver-compare/download/semver-compare-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", "dev": true }, @@ -16199,7 +16199,7 @@ }, "semver-greatest-satisfied-range": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/semver-greatest-satisfied-range/download/semver-greatest-satisfied-range-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", "dev": true, "requires": { @@ -16214,7 +16214,7 @@ }, "serve-index": { "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, "requires": { @@ -16238,7 +16238,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { @@ -16250,13 +16250,13 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, @@ -16268,7 +16268,7 @@ }, "statuses": { "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true } @@ -16276,13 +16276,13 @@ }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "set-getter": { "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/set-getter/download/set-getter-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", "dev": true, "requires": { @@ -16314,7 +16314,7 @@ }, "setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", "dev": true }, @@ -16336,7 +16336,7 @@ }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { @@ -16345,7 +16345,7 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, @@ -16357,7 +16357,7 @@ }, "simple-swizzle": { "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", "dev": true, "requires": { @@ -16577,7 +16577,7 @@ }, "sort-keys": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { @@ -16592,7 +16592,7 @@ }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, @@ -16629,7 +16629,7 @@ }, "source-map-url": { "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, @@ -16743,7 +16743,7 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, @@ -16781,7 +16781,7 @@ }, "stack-trace": { "version": "0.0.10", - "resolved": "https://registry.npm.taobao.org/stack-trace/download/stack-trace-0.0.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstack-trace%2Fdownload%2Fstack-trace-0.0.10.tgz", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", "dev": true }, @@ -16799,7 +16799,7 @@ }, "static-extend": { "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { @@ -16809,7 +16809,7 @@ "dependencies": { "define-property": { "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { @@ -16888,7 +16888,7 @@ }, "strict-uri-encode": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, @@ -16995,31 +16995,31 @@ }, "strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, "strip-bom-string": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/strip-bom-string/download/strip-bom-string-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", "dev": true }, "strip-color": { "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/strip-color/download/strip-color-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=", "dev": true }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, "strip-indent": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", "dev": true }, @@ -17164,7 +17164,7 @@ }, "sver-compat": { "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/sver-compat/download/sver-compat-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", "dev": true, "requires": { @@ -17174,7 +17174,7 @@ }, "svg-tags": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", "dev": true }, @@ -17324,7 +17324,7 @@ }, "text-table": { "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, @@ -17336,7 +17336,7 @@ }, "through": { "version": "2.3.8", - "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -17379,7 +17379,7 @@ }, "time-stamp": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/time-stamp/download/time-stamp-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true }, @@ -17394,7 +17394,7 @@ }, "timsort": { "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", "dev": true }, @@ -17416,7 +17416,7 @@ }, "to-absolute-glob": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/to-absolute-glob/download/to-absolute-glob-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", "dev": true, "requires": { @@ -17426,25 +17426,25 @@ }, "to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "dev": true }, "to-factory": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/to-factory/download/to-factory-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/to-factory/-/to-factory-1.0.0.tgz", "integrity": "sha1-hzivi9lxIK0dQEeXKtpVY7+UebE=", "dev": true }, "to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1580550296062&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, "to-object-path": { "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { @@ -17459,7 +17459,7 @@ }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { @@ -17488,7 +17488,7 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { @@ -17498,7 +17498,7 @@ }, "to-through": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/to-through/download/to-through-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", "dev": true, "requires": { @@ -17531,7 +17531,7 @@ }, "toposort": { "version": "1.0.7", - "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", "dev": true }, @@ -17547,13 +17547,13 @@ }, "trim-newlines": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", "dev": true }, "trim-off-newlines": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/trim-off-newlines/download/trim-off-newlines-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", "dev": true }, @@ -17649,13 +17649,13 @@ }, "tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, "tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { @@ -17664,7 +17664,7 @@ }, "tweetnacl": { "version": "0.14.5", - "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1581365004105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, @@ -17676,7 +17676,7 @@ }, "type-check": { "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { @@ -17701,7 +17701,7 @@ }, "typedarray": { "version": "0.0.6", - "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, @@ -17752,7 +17752,7 @@ }, "unc-path-regex": { "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/unc-path-regex/download/unc-path-regex-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", "dev": true }, @@ -17781,7 +17781,7 @@ }, "undertaker-registry": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/undertaker-registry/download/undertaker-registry-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", "dev": true }, @@ -17827,13 +17827,13 @@ }, "uniq": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, "uniqs": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", "dev": true }, @@ -17882,19 +17882,19 @@ }, "unpipe": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, "unquote": { "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", "dev": true }, "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { @@ -17904,7 +17904,7 @@ "dependencies": { "has-value": { "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { @@ -17915,7 +17915,7 @@ "dependencies": { "isobject": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { @@ -17926,7 +17926,7 @@ }, "has-values": { "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true } @@ -17961,7 +17961,7 @@ }, "upper-case": { "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz?cache=0&sync_timestamp=1575601671982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupper-case%2Fdownload%2Fupper-case-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", "dev": true }, @@ -17976,13 +17976,13 @@ }, "urix": { "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "url": { "version": "0.11.0", - "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "dev": true, "requires": { @@ -17992,7 +17992,7 @@ "dependencies": { "punycode": { "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", "dev": true } @@ -18040,7 +18040,7 @@ }, "url-parse-lax": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-parse-lax%2Fdownload%2Furl-parse-lax-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", "dev": true, "requires": { @@ -18072,7 +18072,7 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, @@ -18090,13 +18090,13 @@ }, "utila": { "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "dev": true }, "utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true }, @@ -18147,13 +18147,13 @@ }, "value-or-function": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/value-or-function/download/value-or-function-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", "dev": true }, "vary": { "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, @@ -18165,7 +18165,7 @@ }, "verror": { "version": "1.10.0", - "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { @@ -18227,7 +18227,7 @@ }, "vinyl-sourcemap": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/vinyl-sourcemap/download/vinyl-sourcemap-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", "dev": true, "requires": { @@ -18242,7 +18242,7 @@ }, "vinyl-sourcemaps-apply": { "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/vinyl-sourcemaps-apply/download/vinyl-sourcemaps-apply-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", "dev": true, "requires": { @@ -18277,7 +18277,7 @@ }, "vue-highlight.js": { "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/vue-highlight.js/download/vue-highlight.js-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/vue-highlight.js/-/vue-highlight.js-2.2.0.tgz", "integrity": "sha1-lFdbJrFkvz2H3kqJi32ewNbvMhQ=", "dev": true, "requires": { @@ -19326,7 +19326,7 @@ }, "when": { "version": "3.6.4", - "resolved": "https://registry.npm.taobao.org/when/download/when-3.6.4.tgz", + "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", "dev": true }, @@ -19341,7 +19341,7 @@ }, "which-module": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", "dev": true }, @@ -19371,7 +19371,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -19381,13 +19381,13 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { @@ -19396,7 +19396,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1573488535785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { @@ -19407,7 +19407,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -19418,7 +19418,7 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, @@ -19467,7 +19467,7 @@ }, "y18n": { "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, @@ -19479,7 +19479,7 @@ }, "yargs": { "version": "7.1.0", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-7.1.0.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "dev": true, "requires": { @@ -19500,19 +19500,19 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "camelcase": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", "dev": true }, "find-up": { "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { @@ -19522,7 +19522,7 @@ }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { @@ -19531,7 +19531,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -19544,7 +19544,7 @@ }, "parse-json": { "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { @@ -19553,7 +19553,7 @@ }, "path-exists": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { @@ -19562,7 +19562,7 @@ }, "path-type": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { @@ -19573,13 +19573,13 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "read-pkg": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { @@ -19590,7 +19590,7 @@ }, "read-pkg-up": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { @@ -19600,7 +19600,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1573488535785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { @@ -19611,7 +19611,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -19620,7 +19620,7 @@ }, "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { @@ -19629,7 +19629,7 @@ }, "yargs-parser": { "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "dev": true, "requires": { @@ -19649,7 +19649,7 @@ }, "zepto": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/zepto/download/zepto-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz", "integrity": "sha1-4Se9nmb9hGvl6rSME5SIL3wOT5g=", "dev": true } diff --git a/public/index.js b/public/index.js index dfc3572..b9b660f 100644 --- a/public/index.js +++ b/public/index.js @@ -1,8 +1,9 @@ -import cnchar from '../src/main/index'; +// import cnchar from '../src/main/index'; +import cnchar from '../src/main/ts/index'; import '../src/plugin/order'; import '../src/plugin/trad'; import '../src/plugin/poly'; -import '../src/plugin/draw'; +import '../src/plugin/draw/ts'; import '../src/plugin/idiom'; import '../src/plugin/xhy'; import '../src/plugin/radical'; diff --git a/src/main/index.d.ts b/src/main/index.d.ts index ac45e6b..7e642cb 100644 --- a/src/main/index.d.ts +++ b/src/main/index.d.ts @@ -1,5 +1,3 @@ -import './extend'; - declare type spellArg = 'array' | 'low' | 'up' | 'first' | 'poly' | 'tone' | 'simple' | 'trad'; declare type strokeArg = 'letter' | 'shape' | 'count' | 'name' | 'detail' | 'array' | 'order' | 'simple' | 'trad'; declare type spellToWordArg = 'poly' | 'alltone' | 'array' | 'simple' | 'trad'; diff --git a/src/main/ts/compareSpell.ts b/src/main/ts/compareSpell.ts index 9add789..cb10b41 100644 --- a/src/main/ts/compareSpell.ts +++ b/src/main/ts/compareSpell.ts @@ -1,9 +1,9 @@ -import {CnCharInterface} from './types'; +import {ICnChar} from './types'; -let _cnchar: CnCharInterface; +let _cnchar: ICnChar; const toneCodes: Array = []; -export function initToneCodes (__cnchar: CnCharInterface): void { +export function initToneCodes (__cnchar: ICnChar): void { _cnchar = __cnchar; 'aoeiuvn'.split('').forEach(item => { const code = item.charCodeAt(0); diff --git a/src/main/ts/config.ts b/src/main/ts/config.ts index 371310b..3c61159 100644 --- a/src/main/ts/config.ts +++ b/src/main/ts/config.ts @@ -5,6 +5,7 @@ import infoDict from './dict/info-dict.json'; import {mapJson} from './util'; import {transformTone, spell, arg, shapeSpell, stroke} from './tool'; import {Json, ITransformReturn} from './types/common'; +import {ISetIntoJson} from './types/tool'; const strokeDict = originStrokeDict as Json; // 设置多音字默认拼音 @@ -16,24 +17,18 @@ export function setSpellDefault (word: string | Json, spell?: string): v isSpell: true }); } - -export function setIntoJson ({ +export const setIntoJson: ISetIntoJson = ({ target, key, value, - isSpell = false -} : { - target: Json, - key: string | Json, - value?: string, - isSpell: boolean -}): void { + isSpell = false, +}): void => { mapJson(key, value, (k, v) => { if (k && v) { target[k] = isSpell ? shapeSpell(v) : v; } }); -} +}; function setIntoSpellBase ( dict: Json, diff --git a/src/main/ts/types/extend.d.ts b/src/main/ts/extend.d.ts similarity index 100% rename from src/main/ts/types/extend.d.ts rename to src/main/ts/extend.d.ts diff --git a/src/main/ts/index.d.ts b/src/main/ts/index.d.ts new file mode 100644 index 0000000..6a7b8a5 --- /dev/null +++ b/src/main/ts/index.d.ts @@ -0,0 +1,5 @@ +import {ICnChar} from './types/index'; + +declare const cnchar: ICnChar; + +export default cnchar; \ No newline at end of file diff --git a/src/main/ts/index.ts b/src/main/ts/index.ts index 5fae51e..713b4f9 100644 --- a/src/main/ts/index.ts +++ b/src/main/ts/index.ts @@ -9,7 +9,7 @@ import {setSpellDefault, setIntoJson, setSpell, setStrokeCount} from './config'; import {initSpellToWord, spellToWord, spellInfo} from './spellToWord'; import {initStrokeToWord, strokeToWord} from './strokeToWord'; import {compareSpell, sortSpell, compareStroke, sortStroke, initSort} from './sort'; -import {CnCharInterface, SpellArg, StrokeArg} from './types'; +import {ICnChar, SpellArg, StrokeArg} from './types'; import {IPlugin} from './types/common'; function _spell (...args: Array): string | Array { @@ -28,7 +28,7 @@ function initStrProto () { }; } -const cnchar: CnCharInterface = { +const cnchar: ICnChar = { version, spell: _spell, stroke: _stroke, diff --git a/src/main/ts/package-lock.json b/src/main/ts/package-lock.json new file mode 100644 index 0000000..4a0ef13 --- /dev/null +++ b/src/main/ts/package-lock.json @@ -0,0 +1,5 @@ +{ + "name": "cnchar", + "version": "2.2.8", + "lockfileVersion": 1 +} diff --git a/src/main/ts/package.json b/src/main/ts/package.json new file mode 100644 index 0000000..6a0edfd --- /dev/null +++ b/src/main/ts/package.json @@ -0,0 +1,29 @@ +{ + "name": "cnchar", + "version": "2.2.8", + "description": "功能全面、多端支持的汉字拼音笔画js库,支持多音字、繁体字、火星文", + "main": "index.js", + "scripts": {}, + "unpkg": "cnchar.min.js", + "jsdelivr": "cnchar.min.js", + "typings": "index.d.ts", + "repository": { + "type": "git", + "url": "git+https://github.com/theajack/cnchar.git" + }, + "keywords": [ + "汉字拼音", + "汉字笔画数", + "汉字笔画顺序", + "繁体字", + "火星文", + "js库", + "theajack" + ], + "author": "theajack", + "license": "MIT", + "bugs": { + "url": "https://github.com/theajack/cnchar/issues" + }, + "homepage": "https://www.theajack.com/cnchar/" +} diff --git a/src/main/ts/sort.ts b/src/main/ts/sort.ts index 871fa8c..4e41b92 100644 --- a/src/main/ts/sort.ts +++ b/src/main/ts/sort.ts @@ -1,7 +1,7 @@ import {initToneCodes, getCharCode} from './compareSpell'; -import {CnCharInterface, CompareType, SortSpellArg} from './types'; +import {ICnChar, CompareType, SortSpellArg, SpellArg} from './types'; -let _cnchar: CnCharInterface; +let _cnchar: ICnChar; const arg:{ [prop in SortSpellArg]: SortSpellArg @@ -10,7 +10,7 @@ const arg:{ 'desc': 'desc', }; -export function initSort (__cnchar: CnCharInterface) { +export function initSort (__cnchar: ICnChar) { _cnchar = __cnchar; initToneCodes(__cnchar); } @@ -25,7 +25,7 @@ const TYPE:{ }; function pretreat (spell: string, tone: boolean): string { - const arr: Array = ['low']; + const arr: Array = ['low']; if (tone) {arr.push('tone');} if (_cnchar.isCnChar(spell)) { return _cnchar.spell(spell, ...arr) as string; diff --git a/src/main/ts/spellToWord.ts b/src/main/ts/spellToWord.ts index e663851..ba8bd90 100644 --- a/src/main/ts/spellToWord.ts +++ b/src/main/ts/spellToWord.ts @@ -1,18 +1,19 @@ import originDict from './dict/spell-dict-jian.json'; import {initial as initialDict} from './dict/info-dict.json'; -import {CnCharInterface, CncharToolInterface, ToneType, TypeValueObject, SpellToWordArg} from './types/index'; -import {SpellInfoInterface, Json, spellInfoReturnInterface} from './types/common'; +import {ICnChar, ToneType, TypeValueObject, SpellToWordArg} from './types/index'; +import {ICncharTool} from './types/tool'; +import {ISpellInfo, Json, ISpellInfoReturn} from './types/common'; const dict = originDict as Json; const arg: { [prop in SpellToWordArg]: SpellToWordArg } = {simple: 'simple', trad: 'trad', poly: 'poly', alltone: 'alltone', array: 'array'}; -let _: CncharToolInterface;// 工具方法 +let _: ICncharTool;// 工具方法 // 获取拼音信息 spell,tone,index,initial,final -export const spellInfo = ((spell: string): spellInfoReturnInterface => { +export const spellInfo = ((spell: string): ISpellInfoReturn => { spell = spell.toLowerCase(); const info = _.removeTone(spell, false); if (info.index === -1) { @@ -37,9 +38,9 @@ export const spellInfo = ((spell: string): spellInfoReturnInterface => { initial, final, }; -}) as unknown as SpellInfoInterface; +}) as unknown as ISpellInfo; -export function initSpellToWord (cnchar: CnCharInterface): void { +export function initSpellToWord (cnchar: ICnChar): void { _ = cnchar._; spellInfo.tones = _.tones.split(''); spellInfo.initials = initialDict; diff --git a/src/main/ts/strokeToWord.ts b/src/main/ts/strokeToWord.ts index 11ef3ac..7db7215 100644 --- a/src/main/ts/strokeToWord.ts +++ b/src/main/ts/strokeToWord.ts @@ -1,12 +1,13 @@ import dict from './dict/stroke-count-jian.json'; import {Json} from './types/common'; -import {CnCharInterface, CncharToolInterface, StrokeToWordArg, TypeValueObject} from './types/index'; +import {ICnChar, StrokeToWordArg, TypeValueObject} from './types/index'; +import {ICncharTool} from './types/tool'; const arg: { [prop in StrokeToWordArg]: StrokeToWordArg } = {simple: 'simple', trad: 'trad', array: 'array'}; -let _: CncharToolInterface;// 工具方法 +let _: ICncharTool;// 工具方法 -export function initStrokeToWord (cnchar: CnCharInterface): void { +export function initStrokeToWord (cnchar: ICnChar): void { cnchar.strokeToWord = strokeToWord; cnchar.type.strokeToWord = arg as TypeValueObject; _ = cnchar._; diff --git a/src/main/ts/tool.ts b/src/main/ts/tool.ts index 316ada9..a98943d 100644 --- a/src/main/ts/tool.ts +++ b/src/main/ts/tool.ts @@ -1,17 +1,17 @@ import {spellInfo} from './spellToWord'; import {_warn, isCnChar, has} from './util'; import defultDict from './dict/spell-default.json'; -import {AllArgs, CnCharInterface, TypeProp, ToneType, SpellArg, StrokeArg, TypeValueObject} from './types/index'; +import {AllArgs, ICnChar, TypeProp, ToneType, SpellArg, StrokeArg, TypeValueObject} from './types/index'; import {Json, ITransformReturn} from './types/common'; +import {TSpellArg, IDealUpLowFirst, IRemoveTone, IFunc, ICheckArgs, ITransformTone} from './types/tool'; const defDict = defultDict as Json; export const tones: string = 'āáǎàōóǒòēéěèīíǐìūúǔùǖǘǚǜ*ńňǹ'; // * 表示n的一声 + const noTones: string = 'aoeiuün'; -export const arg: { - [prop in SpellArg]: SpellArg -} = { +export const arg: TSpellArg = { array: 'array', low: 'low', up: 'up', @@ -22,8 +22,8 @@ export const arg: { trad: 'trad', }; -let _cnchar: CnCharInterface; -export function initCnchar (cnchar: CnCharInterface): void { +let _cnchar: ICnChar; +export function initCnchar (cnchar: ICnChar): void { _cnchar = cnchar; } @@ -95,10 +95,10 @@ export function spell (dict: Json, originArgs: Array): string | return result; } -export function dealUpLowFirst ( +export const dealUpLowFirst: IDealUpLowFirst = ( res: Array> | Array, args: Array -): void { +): void => { if (_cnchar._.poly) { dealResCase(res, low); // 当启用了 多音词时 需要强制默认小写 @@ -112,7 +112,7 @@ export function dealUpLowFirst ( } else if (!has(args, arg.low)) { dealResCase(res, upFirst); } -} +}; function dealResCase ( res: Array> | Array, @@ -175,9 +175,9 @@ function getSpell ( // tone=false : 根据有音调的拼音获得无音调的拼音和音调 // tone=true : 返回原拼音 -export function removeTone (spell: string, tone: boolean): { +export const removeTone: IRemoveTone = (spell: string, tone: boolean): { spell: string, tone?: ToneType, index?: number -} { +} => { if (tone) { return {spell}; } @@ -192,7 +192,7 @@ export function removeTone (spell: string, tone: boolean): { } } return {spell, tone: 0, index: -1}; -} +}; function setTone (spell: string, index: number, tone: ToneType): string { if (tone === 0) { // 轻声 @@ -233,13 +233,13 @@ export function stroke ( } return strokes; } -export function sumStroke (strs: Array): number { +export const sumStroke: IFunc> = (strs: Array): number => { let sum: number = 0; strs.forEach(function (c) { sum += c; }); return sum; -} +}; // spell 所有参数 ["array", "low", "up", "first", "poly", "tone", "simple"] // simple 禁用繁体字 @@ -247,11 +247,11 @@ export function sumStroke (strs: Array): number { // stroke 所有参数 ["letter", "shape", "count", "name", "detail", "array", "order", "simple"] // let _hasCheck: boolean = false; -export function checkArgs ( +export const checkArgs: ICheckArgs = ( type: TypeProp, args: Array, jumpNext?: boolean -): void { +): void => { if (!_cnchar.check) { return; } @@ -337,7 +337,7 @@ export function checkArgs ( warnArgs(useless, '无效', type, args); warnArgs(ignore, '被忽略', type, args); warnArgs(redunt, '冗余', type, args); -} +}; function warnArgs ( arr: Array, txt: string, @@ -366,11 +366,11 @@ export function shapeSpell (spell: string): string { // lv2 => {spell:'lü', tone: 2, index: 2, isTrans: true} // lǘ => {spell:'lü', tone: 2, index: 2, isTrans: false} // needTone = true: lv2 => {spell:'lǘ', tone: 2, index: 2, isTrans: true} -export function transformTone ( +export const transformTone: ITransformTone = ( spell: string, needTone: boolean = false, type: 'low' | 'up' = 'low' -): ITransformReturn { +): ITransformReturn => { if (spell.indexOf('v') !== -1) { spell = spell.replace('v', 'ü'); } @@ -402,4 +402,4 @@ export function transformTone ( spell = spell.toUpperCase(); } return {spell, tone, index, isTrans}; -} \ No newline at end of file +}; \ No newline at end of file diff --git a/src/main/ts/types/common.d.ts b/src/main/ts/types/common.d.ts index 3c3eabe..c692a81 100644 --- a/src/main/ts/types/common.d.ts +++ b/src/main/ts/types/common.d.ts @@ -1,10 +1,10 @@ -import {CnCharInterface, ToneType} from '.'; +import {ICnChar, ToneType} from '.'; export declare interface Json { [prop: string]: T } -export declare interface spellInfoReturnInterface { +export declare interface ISpellInfoReturn { spell: string; initial: string; final: string; @@ -12,8 +12,8 @@ export declare interface spellInfoReturnInterface { index: number; } -export declare interface SpellInfoInterface extends Function { - (spell: string): spellInfoReturnInterface; +export declare interface ISpellInfo extends Function { + (spell: string): ISpellInfoReturn; tones: Array, initials: Array } @@ -26,13 +26,20 @@ export declare interface ITransformReturn { } export declare interface IPlugin { - (cnchar: CnCharInterface): void; - init?(cnchar: CnCharInterface): void; + (cnchar: ICnChar): void; + init?(cnchar: ICnChar): void; +} +export declare interface ConvertInterface { + simpleToSpark(sentence: string): string; + simpleToTrad(sentence: string): string; + sparkToSimple(sentence: string): string; + sparkToTrad(sentence: string): string; + tradToSimple(sentence: string): string; + tradToSpark(sentence: string): string; } - declare global { interface Window { - cnchar: CnCharInterface, - CnChar: CnCharInterface, + cnchar: ICnChar, + CnChar: ICnChar, } } diff --git a/src/main/ts/types/index.d.ts b/src/main/ts/types/index.d.ts index b372aa5..363f22e 100644 --- a/src/main/ts/types/index.d.ts +++ b/src/main/ts/types/index.d.ts @@ -1,13 +1,4 @@ -import './extend'; -import {has, _throw, _warn, isCnChar, mapJson} from '../util'; -import { - arg, removeTone, tones, checkArgs, transformTone, - sumStroke, dealUpLowFirst -} from '../tool'; -import {ConvertInterface} from '../../../plugin/trad/index'; -import {Json} from './common'; -import {setIntoJson} from '../config'; - +import {ICncharTool} from './tool'; export declare type SpellArg = 'array' | 'low' | 'up' | 'first' | 'poly' | 'tone' | 'simple' | 'trad'; export declare type StrokeArg = 'letter' | 'shape' | 'count' | 'name' | 'detail' | 'array' | 'order' | 'simple' | 'trad'; @@ -26,7 +17,7 @@ export declare type ToneType = 0 | 1 | 2 | 3 | 4; export declare type CompareType = 'more' | 'less' | 'even' | 'error'; -export declare interface spellInfoReturnInterface { +export declare interface ISpellInfoReturn { spell: string; initial: string; final: string; @@ -34,43 +25,22 @@ export declare interface spellInfoReturnInterface { index: number; } -export declare interface CncharToolInterface { - arg: typeof arg, - has: typeof has, - _throw: typeof _throw, - tones: typeof tones, - setIntoJson: typeof setIntoJson, - _warn: typeof _warn, - dealUpLowFirst: typeof dealUpLowFirst, - removeTone: typeof removeTone, - sumStroke: typeof sumStroke, - isCnChar: typeof isCnChar, - checkArgs: typeof checkArgs, - transformTone: typeof transformTone, - convert?: ConvertInterface, // - dict: { - getTradOrders?(): Json; - getTradCount?(): Json; - }, - mapJson: typeof mapJson, - poly?: boolean, -} - export declare type TypeProp = 'spell' | 'stroke' | 'spellToWord' | 'strokeToWord' | 'orderToWord' | 'idiom' | 'xhy' | 'radical'; export declare type TypeValueObject = { [prop in AllArgs]?: AllArgs; }; -export declare interface CnCharInterface { - [x: string]: any; - spell(sentence: string, ...args: Array): string | Array; - stroke(sentence: string, ...args: Array): number | Array; +declare interface ISpell {(sentence: string, ...args: Array): string | Array;} +declare interface IStroke {(sentence: string, ...args: Array): number | Array;} +export declare interface ICnChar { + spell: ISpell; + stroke: IStroke; use(...plugins: Array): void; spellToWord(spell: string, ...args: Array): string | Array; strokeToWord(stroke: number, ...args: Array): string | Array; spellInfo: { - (spell: string): spellInfoReturnInterface; + (spell: string): ISpellInfoReturn; tones: Array; initials: Array; }; @@ -101,9 +71,13 @@ export declare interface CnCharInterface { setStrokeCount(json: {[key: string]: number}): void; shapeSpell(spell: string): string; - _: CncharToolInterface; + _: ICncharTool; + _origin: { + spell: ISpell; + stroke: IStroke; + }; } -declare const cnchar: CnCharInterface; +declare const cnchar: ICnChar; export default cnchar; \ No newline at end of file diff --git a/src/main/ts/types/tool.d.ts b/src/main/ts/types/tool.d.ts new file mode 100644 index 0000000..06373b1 --- /dev/null +++ b/src/main/ts/types/tool.d.ts @@ -0,0 +1,77 @@ +import {Json, ConvertInterface, ITransformReturn} from './common'; +import {AllArgs, SpellArg, ToneType, TypeProp} from '.'; + +export declare interface ISetIntoJson { + (option: { + target: Json, + key: string | Json, + value?: string, + isSpell: boolean + }): void +} + +export declare type TSpellArg = { + [prop in SpellArg]: SpellArg +} + +export declare interface IHas {(args: Array, name: AllArgs): boolean;} + +export declare interface IFunc {(arg: A): T;} + +export declare interface IDealUpLowFirst { + ( + res: Array> | Array, + args: Array + ): void; +} + +export declare interface IRemoveTone { + (spell: string, tone: boolean): {spell: string, tone?: ToneType, index?: number}; +} + +export declare interface IMapJson { + ( + key: Json | string, + value: undefined | any, + cb: (key: string, value: any) => void + ): void; +} + +export declare interface ICheckArgs { + ( + type: TypeProp, + args: Array, + jumpNext?: boolean + ): void; +} + +export declare interface ITransformTone { + ( + spell: string, + needTone?: boolean, + type?: 'low' | 'up' + ): ITransformReturn; +} + +export declare interface ICncharTool { + arg: TSpellArg; + has: IHas; + _throw: IFunc; + tones: string; + setIntoJson: ISetIntoJson; + _warn: IFunc; + dealUpLowFirst: IDealUpLowFirst; + removeTone: IRemoveTone; + sumStroke: IFunc>; + isCnChar: IFunc; + checkArgs: ICheckArgs; + transformTone: ITransformTone; + convert?: ConvertInterface; + dict: { + getTradOrders?(): Json; + getTradCount?(): Json; + }; + mapJson: IMapJson; + poly?: boolean; +} + diff --git a/src/main/ts/util.ts b/src/main/ts/util.ts index 0fabf89..2eb4853 100644 --- a/src/main/ts/util.ts +++ b/src/main/ts/util.ts @@ -1,12 +1,13 @@ import infoDict from './dict/info-dict.json'; import {AllArgs} from './types'; import {Json} from './types/common'; +import {IHas, IFunc, IMapJson} from './types/tool'; -export function mapJson ( +export const mapJson: IMapJson = ( key: Json | string, value: undefined | any, cb: (key: string, value: any) => void -): void { +): void => { if (typeof key === 'object') { for (const k in key) { cb(k, key[k]); @@ -14,16 +15,16 @@ export function mapJson ( return; } cb(key, value); -} +}; -export function isCnChar (word: string): boolean { +export const isCnChar: IFunc = (word: string): boolean => { const unicode: number = word.charCodeAt(0); return unicode >= 19968 && unicode <= 40869; -} +}; -export function has (args: Array, name: AllArgs): boolean { +export const has: IHas = (args: Array, name: AllArgs): boolean => { return args.indexOf(name) !== -1; -} +}; export function isPolyWord (word: string): boolean { if (word === '') { @@ -38,11 +39,12 @@ export function isPolyWord (word: string): boolean { return infoDict.polyWord.indexOf(word) !== -1; } -export function _throw (err: string): never { +export const _throw: IFunc = (err: string): never => { throw new Error('CnChar Error:' + err); -} -export function _warn (err: string): void { - console.warn('CnChar Warning:' + err); -} +}; + +export const _warn: IFunc = (info: string): void => { + console.warn('CnChar Warning:' + info); +}; diff --git a/src/plugin/draw/default-option.js b/src/plugin/draw/default-option.js index 3aa8a51..deac3b5 100644 --- a/src/plugin/draw/default-option.js +++ b/src/plugin/draw/default-option.js @@ -67,6 +67,7 @@ function merge (type, args) { const json = {}; for (const key in args) { const arg = args[key]; + debugger; for (const k in arg) { if (!isUd(arg[k])) { json[k] = arg[k]; diff --git a/src/plugin/draw/index.d.ts b/src/plugin/draw/index.d.ts index ef43a87..e17df60 100644 --- a/src/plugin/draw/index.d.ts +++ b/src/plugin/draw/index.d.ts @@ -32,15 +32,15 @@ declare interface DrawOption { clear?: boolean; // 绘制前是否清空容器 默认为true style?: { // 样式类 backgroundColor?: string, // 默认为#fff - showOutline?: boolean;//: true, - showCharacter?: boolean;//: true, - currentColor?: string;//: '#b44', // 仅在stroke模式下有效 - length?: number;//: 60, - padding?: number;//: 5, // 数值, 默认 20。 画布的汉字和边缘之间的填充 - outlineColor?: string;//: '#ddd', // 十六进制字符, 默认 '#DDD'。 - strokeColor?: string;//: '#555', // 十六进制字符, 默认 '#555'。绘制每个笔划的颜色。 - radicalColor?: string;//: null, // 十六进制字符, 默认 null。 如果存在偏旁部首数据,则在笔划中绘制偏旁部首的颜色。 如果没有设置,激光将绘制与其他笔划相同的颜色。 - strokeFadeDuration?: number; //400 + showOutline?: boolean;// : true, + showCharacter?: boolean;// : true, + currentColor?: string;// : '#b44', // 仅在stroke模式下有效 + length?: number;// : 60, + padding?: number;// : 5, // 数值, 默认 20。 画布的汉字和边缘之间的填充 + outlineColor?: string;// : '#ddd', // 十六进制字符, 默认 '#DDD'。 + strokeColor?: string;// : '#555', // 十六进制字符, 默认 '#555'。绘制每个笔划的颜色。 + radicalColor?: string;// : null, // 十六进制字符, 默认 null。 如果存在偏旁部首数据,则在笔划中绘制偏旁部首的颜色。 如果没有设置,激光将绘制与其他笔划相同的颜色。 + strokeFadeDuration?: number; // 400 }, line?: { // 背景线条类 lineStraight?: boolean;// : true, diff --git a/src/plugin/draw/ts/default-option.ts b/src/plugin/draw/ts/default-option.ts index d4314c2..57a2022 100644 --- a/src/plugin/draw/ts/default-option.ts +++ b/src/plugin/draw/ts/default-option.ts @@ -1,18 +1,20 @@ +import {IDrawOption, IDrawClassOption, TDrawType, TTestStatusType} from './types/common'; +import {Json} from 'cnchar/types/common'; -export const TYPE = { +export const TYPE: Json = { NORMAL: 'normal', ANIMATION: 'animation', STROKE: 'stroke', TEST: 'test' }; -export const TEST_STATUS = { +export const TEST_STATUS: Json = { MISTAKE: 'mistake', CORRECT: 'correct', COMPLETE: 'complete' }; -const DrawOption = { +export const DrawOption: IDrawOption = { showOutline: true, showCharacter: true, currentColor: '#b44', @@ -64,9 +66,8 @@ function isUd (v: any): boolean { return typeof v === 'undefined'; } -// 使用npm link配置本地开发目录 -export function merge (type, args) { - const json = {}; +export function merge (type: TDrawType, args: IDrawClassOption): IDrawOption { + const json: IDrawOption = {}; for (const key in args) { const arg = args[key]; for (const k in arg) { @@ -83,7 +84,7 @@ export function merge (type, args) { return json; } -function checkTypeDefault (type, args, json) { +function checkTypeDefault (type: IDrawOption, args: IDrawClassOption, json: IDrawOption): void { if (type === TYPE.ANIMATION) { if (!args.animation || isUd(args.animation.showCharacter)) { json.showCharacter = false; @@ -93,7 +94,7 @@ function checkTypeDefault (type, args, json) { } } -function check (json, attrs) { +function check (json: IDrawOption, attrs?: Array): IDrawOption { attrs = attrs || Object.keys(DrawOption); attrs.forEach(attr => { if (isUd(json[attr])) { diff --git a/src/plugin/draw/ts/hanzi-writer.d.ts b/src/plugin/draw/ts/hanzi-writer.d.ts new file mode 100644 index 0000000..e2a9927 --- /dev/null +++ b/src/plugin/draw/ts/hanzi-writer.d.ts @@ -0,0 +1,3 @@ +import HanziWriter from './types/hanzi-writer'; + +export default HanziWriter; \ No newline at end of file diff --git a/src/plugin/draw/ts/index.d.ts b/src/plugin/draw/ts/index.d.ts index e17df60..554dd37 100644 --- a/src/plugin/draw/ts/index.d.ts +++ b/src/plugin/draw/ts/index.d.ts @@ -1,100 +1,8 @@ -declare type DrawType = 'normal' | 'animation' | 'stroke' | 'test'; -declare type TestStatusType = 'mistake' | 'correct' | 'complete'; -declare class Writer { - constructor(); - option: object; - el: HTMLElement; - type: DrawType; - text: Array; - writer: Array; - animateStart():void; -} - -declare interface TestStatus { - index: number, - status: TestStatusType, - data: { - character: string; - totalMistakes: number;// 到目前为止在测验期间犯的总错误。 - strokeNum?: number;// 当前笔画数。 - mistakesOnStroke?: number;// 到目前为止用户绘制此笔划所犯的错误数。 - strokesRemaining?: number;// 测验完成前剩余的笔画数。 - drawnPath?: { - pathString: string; - points: Array<{x:number;y:number}> - };// 对象包含用户绘制的 pathString ,用于评分的分数。 - } -} - -declare interface DrawOption { - el?: string | HTMLElement; // 绘制的容器,支持选择器或dom,若是不填,会在body后append一个dom作为容器 - type?: DrawType; // 绘制模式,默认为normal - clear?: boolean; // 绘制前是否清空容器 默认为true - style?: { // 样式类 - backgroundColor?: string, // 默认为#fff - showOutline?: boolean;// : true, - showCharacter?: boolean;// : true, - currentColor?: string;// : '#b44', // 仅在stroke模式下有效 - length?: number;// : 60, - padding?: number;// : 5, // 数值, 默认 20。 画布的汉字和边缘之间的填充 - outlineColor?: string;// : '#ddd', // 十六进制字符, 默认 '#DDD'。 - strokeColor?: string;// : '#555', // 十六进制字符, 默认 '#555'。绘制每个笔划的颜色。 - radicalColor?: string;// : null, // 十六进制字符, 默认 null。 如果存在偏旁部首数据,则在笔划中绘制偏旁部首的颜色。 如果没有设置,激光将绘制与其他笔划相同的颜色。 - strokeFadeDuration?: number; // 400 - }, - line?: { // 背景线条类 - lineStraight?: boolean;// : true, - lineCross?: boolean;// : true, - lineWidth?: number;// : 1, - lineColor?: string;// : '#ddd', - lineDash?: boolean;// : true, - border?: boolean;// : true, - borderWidth?: number;// : 1, - borderColor?: string;// : '#ccc', - borderDash?: boolean;// : false, - }, - animation?: { - strokeAnimationSpeed?: number;// : 1, // 数值, 默认 1。 绘制每个笔划的速度必须大于0。增加此数字可以更快地绘制笔划,减少绘制笔划的速度更慢。 - delayBetweenStrokes?: number;// : 1000, // 数值, 默认 1000。 动画进行中每个笔画之间的间隔时间(以毫秒为单位)。 - delayBetweenLoops?: number;// : 200, // 数值, 默认 2000。 循环动画时每个动画循环之间的时间(以毫秒为单位)。 - autoAnimate?: boolean;// : true, - animateComplete?: Function;// : () => {}, - stepByStep?: boolean;// : true, - loopAnimate?: boolean;// : false, - }, - test?: { - strokeHighlightSpeed?: number;// : 20, // 数值, 默认 20。 在测验中给出提示时突出显示每个笔划的速度必须大于0。增加此数字以突出显示更快,减少以突出显示更慢。 - highlightColor?: number;// : '#aaf', // 十六进制字符, 默认 '#AAF'。 用于在测验中突出显示的颜色。 - drawingColor?: number;// : '#333', // 十六进制字符, 默认 '#333'。 测验期间绘制的线条颜色。 - drawingWidth?: number;// : 4, // 数值, 默认 4。 进行测验时绘制的线条宽度。 - showHintAfterMisses?: number;// : 3, // 整数, 默认 3 中风高亮提示之前的未命中数被给予用户。 设置为 false 以禁用。 创建测验时也可以设置此项。 - highlightOnComplete?: number;// : true, // 布尔值, 默认 true。 控制当用户完成绘制整个字符时,测验是否会短暂突出显示字符。 创建测验时也可以设置此项。 - highlightCompleteColor?: number;// : null, // 十六进制字符, 默认 null。 在测验中突出显示字符时使用的颜色。 如果未设置,则将使用highlightColor。 仅当highlightOnComplete为true时才相关。 - onTestStatus?(args: TestStatus):void;// : null, // ({index, status, data})=>{} - } -} - -export declare interface Draw { - (text:string, option?:DrawOption):Writer; - TYPE: { - ANIMATION: 'animation', - NORMAL: 'normal', - STROKE: 'stroke', - TEST: 'test' - }, - TEST_STATUS: { - MISTAKE: 'mistake', - CORRECT: 'correct', - COMPLETE: 'complete' - } -} - -declare const draw: Draw; - +import {IDraw} from './types/common'; +declare const draw: IDraw; declare module 'cnchar' { interface CnCharStatic { - draw: Draw; + draw: IDraw; } } - export default draw; \ No newline at end of file diff --git a/src/plugin/draw/ts/index.js b/src/plugin/draw/ts/index.ts similarity index 62% rename from src/plugin/draw/ts/index.js rename to src/plugin/draw/ts/index.ts index a46a657..d9fd4d8 100644 --- a/src/plugin/draw/ts/index.js +++ b/src/plugin/draw/ts/index.ts @@ -1,9 +1,11 @@ // powerd by hanzi-writer v2.2.2 -require('./promise-polyfill'); -const draw = require('./writer'); +import {ICnChar} from 'cnchar/types'; +import './promise-polyfill'; +import {IDraw} from './types/common'; +import draw from './writer'; -function main (cnchar) { +export default function main (cnchar: ICnChar & {draw?: IDraw}): void { if (cnchar.plugins.indexOf('draw') !== -1) { return; } @@ -11,7 +13,7 @@ function main (cnchar) { cnchar.draw = draw; } -function init (cnchar) { +function init (cnchar?: ICnChar): void { if (typeof window === 'object') { window.CncharDraw = draw; } @@ -24,6 +26,4 @@ function init (cnchar) { draw.init = init; -init(); - -module.exports = draw; +init(); \ No newline at end of file diff --git a/src/plugin/draw/ts/line.js b/src/plugin/draw/ts/line.ts similarity index 87% rename from src/plugin/draw/ts/line.js rename to src/plugin/draw/ts/line.ts index 496fbb1..f7ed1b2 100644 --- a/src/plugin/draw/ts/line.js +++ b/src/plugin/draw/ts/line.ts @@ -1,6 +1,6 @@ -/* eslint-disable no-unused-vars */ +import {IBuildLineStr} from './types/common'; -function buildLinesStr ({ +export function buildLinesStr ({ width, lineStraight, lineCross, @@ -11,7 +11,10 @@ function buildLinesStr ({ borderWidth, borderColor, borderDash, -}) { +}: IBuildLineStr): { + lineHTML: string, + border: string +} { let str = ''; let attr = ''; if (lineDash) { @@ -34,6 +37,4 @@ function buildLinesStr ({ _border = `${borderWidth}px ${borderDash ? 'dashed' : 'solid'} ${borderColor}`; } return {lineHTML: str, border: _border}; -} - -module.exports = {buildLinesStr}; \ No newline at end of file +} \ No newline at end of file diff --git a/src/plugin/draw/ts/stroke.js b/src/plugin/draw/ts/stroke.ts similarity index 60% rename from src/plugin/draw/ts/stroke.js rename to src/plugin/draw/ts/stroke.ts index bea72b5..a51a32b 100644 --- a/src/plugin/draw/ts/stroke.js +++ b/src/plugin/draw/ts/stroke.ts @@ -1,8 +1,10 @@ -const HanziWriter = require('./hanzi-writer'); +import HanziWriter from './hanzi-writer'; +import {Writer} from './writer'; +import {ICloneSvg, IDrawOption} from './types/common'; -function stroke (writer, cloneSvg) { +export function stroke (writer: Writer, cloneSvg: ICloneSvg): void { writer.text.forEach((s) => { - const target = document.createElement('div'); + const target: HTMLElement = document.createElement('div'); writer.el.appendChild(target); HanziWriter.loadCharacterData(s).then(function (charData) { for (var i = 0; i < charData.strokes.length; i++) { @@ -21,13 +23,29 @@ function stroke (writer, cloneSvg) { } -function renderFanningStrokes ({option, target, strokes, radStrokes, cloneSvg, current, width}) { +function renderFanningStrokes ({ + option, + target, + strokes, + radStrokes, + cloneSvg, + current, + width +}: { + option: IDrawOption; + target: HTMLElement, + strokes: Array; + radStrokes: Array; + cloneSvg: ICloneSvg, + current: number; + width: number; +}): void { const radicalColor = (radStrokes.length > 0 && option.radicalColor) ? option.radicalColor : null; - var svg = cloneSvg(option); + const svg = cloneSvg(option); target.appendChild(svg); - var group = document.createElementNS('http://www.w3.org/2000/svg', 'g'); + const group: SVGGElement = document.createElementNS('http://www.w3.org/2000/svg', 'g'); - var transformData = HanziWriter.getScalingTransform(width, width, option.padding); + const transformData = HanziWriter.getScalingTransform(width, width, option.padding); group.setAttributeNS(null, 'transform', transformData.transform); svg.appendChild(group); for (let i = 0; i <= current; i++) { @@ -46,12 +64,10 @@ function renderFanningStrokes ({option, target, strokes, radStrokes, cloneSvg, c } } -function renderPath (strokePath, group, color) { - var path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); +function renderPath (strokePath: string, group: SVGGElement, color: string): void { + const path: SVGPathElement = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttributeNS(null, 'd', strokePath); // style the character paths path.style.fill = color; group.appendChild(path); -} - -module.exports = {stroke}; \ No newline at end of file +} \ No newline at end of file diff --git a/src/plugin/draw/ts/types/common.d.ts b/src/plugin/draw/ts/types/common.d.ts new file mode 100644 index 0000000..cc0f154 --- /dev/null +++ b/src/plugin/draw/ts/types/common.d.ts @@ -0,0 +1,118 @@ +import {IWriter} from './index'; +import {Json} from 'cnchar/types/common'; +import {ICnChar} from 'cnchar/types'; + +export declare type TDrawType = 'normal' | 'animation' | 'stroke' | 'test'; +export declare type TTestStatusType = 'mistake' | 'correct' | 'complete'; + +export declare interface ITestStatusData { + character: string; + totalMistakes: number;// 到目前为止在测验期间犯的总错误。 + strokeNum?: number;// 当前笔画数。 + mistakesOnStroke?: number;// 到目前为止用户绘制此笔划所犯的错误数。 + strokesRemaining?: number;// 测验完成前剩余的笔画数。 + drawnPath?: { + pathString: string; + points: Array<{x:number;y:number}>; + };// 对象包含用户绘制的 pathString ,用于评分的分数。 +} + +declare interface ITestStatus { + index: number; + status: TTestStatusType; + data: ITestStatusData; +} + +export declare interface IDrawStyleOption { // 样式类 + backgroundColor?: string, // 默认为#fff + showOutline?: boolean;// : true, + showCharacter?: boolean;// : true, + currentColor?: string;// : '#b44', // 仅在stroke模式下有效 + length?: number;// : 60, + padding?: number;// : 5, // 数值, 默认 20。 画布的汉字和边缘之间的填充 + outlineColor?: string;// : '#ddd', // 十六进制字符, 默认 '#DDD'。 + strokeColor?: string;// : '#555', // 十六进制字符, 默认 '#555'。绘制每个笔划的颜色。 + radicalColor?: string;// : null, // 十六进制字符, 默认 null。 如果存在偏旁部首数据,则在笔划中绘制偏旁部首的颜色。 如果没有设置,激光将绘制与其他笔划相同的颜色。 + strokeFadeDuration?: number; // 400 +} + +export declare interface IDrawLineOption { // 背景线条类 + lineStraight?: boolean;// : true, + lineCross?: boolean;// : true, + lineWidth?: number;// : 1, + lineColor?: string;// : '#ddd', + lineDash?: boolean;// : true, + border?: boolean;// : true, + borderWidth?: number;// : 1, + borderColor?: string;// : '#ccc', + borderDash?: boolean;// : false, +} + +export declare interface IDrawAnimationOption { + strokeAnimationSpeed?: number;// : 1, // 数值, 默认 1。 绘制每个笔划的速度必须大于0。增加此数字可以更快地绘制笔划,减少绘制笔划的速度更慢。 + delayBetweenStrokes?: number;// : 1000, // 数值, 默认 1000。 动画进行中每个笔画之间的间隔时间(以毫秒为单位)。 + delayBetweenLoops?: number;// : 200, // 数值, 默认 2000。 循环动画时每个动画循环之间的时间(以毫秒为单位)。 + autoAnimate?: boolean;// : true, + animateComplete?: Function;// : () => {}, + stepByStep?: boolean;// : true, + loopAnimate?: boolean;// : false, + showCharacter?: boolean;// : true, +} +export declare interface IDrawTestOption { + strokeHighlightSpeed?: number;// : 20, // 数值, 默认 20。 在测验中给出提示时突出显示每个笔划的速度必须大于0。增加此数字以突出显示更快,减少以突出显示更慢。 + highlightColor?: string;// : '#aaf', // 十六进制字符, 默认 '#AAF'。 用于在测验中突出显示的颜色。 + drawingColor?: string;// : '#333', // 十六进制字符, 默认 '#333'。 测验期间绘制的线条颜色。 + drawingWidth?: number;// : 4, // 数值, 默认 4。 进行测验时绘制的线条宽度。 + showHintAfterMisses?: number;// : 3, // 整数, 默认 3 中风高亮提示之前的未命中数被给予用户。 设置为 false 以禁用。 创建测验时也可以设置此项。 + highlightOnComplete?: boolean;// : true, // 布尔值, 默认 true。 控制当用户完成绘制整个字符时,测验是否会短暂突出显示字符。 创建测验时也可以设置此项。 + highlightCompleteColor?: number;// : null, // 十六进制字符, 默认 null。 在测验中突出显示字符时使用的颜色。 如果未设置,则将使用highlightColor。 仅当highlightOnComplete为true时才相关。 + onTestStatus?(args: ITestStatus):void;// : null, // ({index, status, data})=>{} +} + +export declare interface IDrawClassOption { + el?: string | HTMLElement; // 绘制的容器,支持选择器或dom,若是不填,会在body后append一个dom作为容器 + type?: TDrawType; // 绘制模式,默认为normal + clear?: boolean; // 绘制前是否清空容器 默认为true + style?: IDrawStyleOption; + line?: IDrawLineOption; + animation?: IDrawAnimationOption; + test?: IDrawTestOption; +} + +export declare interface IDrawStrokeOption { + +} + +export declare interface IDrawOption extends IDrawStyleOption, IDrawLineOption, IDrawAnimationOption, IDrawTestOption { + clear?: boolean; + width?: number; + height?: number; + text?: string; +} + +export declare interface IBuildLineStr extends IDrawLineOption { + width: number; +} + +export declare interface ICloneSvg{ + (option: IDrawOption): Node; +} + +export declare interface IDraw { + (text: string, options: IDrawOption): IWriter; + TYPE: Json; + TEST_STATUS: Json; + init?(cnchar?: ICnChar): void; +} + +declare global { + interface Window { + CncharDraw: IDraw, + } +} + +declare module 'cnchar' { + interface ICnChar { + draw: IDraw; + } +} \ No newline at end of file diff --git a/src/plugin/draw/ts/types/hanzi-writer.d.ts b/src/plugin/draw/ts/types/hanzi-writer.d.ts new file mode 100644 index 0000000..8cf0a67 --- /dev/null +++ b/src/plugin/draw/ts/types/hanzi-writer.d.ts @@ -0,0 +1,24 @@ +import {IDrawOption, ITestStatusData} from './common'; + +declare type TDrawType = 'normal' | 'animation' | 'stroke' | 'test'; + +declare interface ICharData { + strokes: Array; + radStrokes: Array; + medians: Array>>; +} + +export default class HanziWriter { + quiz(options: { + onMistake (strokeData: ITestStatusData): void; + onCorrectStroke (strokeData: ITestStatusData): void; + onComplete (strokeData: ITestStatusData): void; + }): void; + hideCharacter(): void; + animateCharacter(option: { + onComplete(): void; + }): void; + static create(node: Node, text: string, option: IDrawOption): HanziWriter; + static loadCharacterData(str: string): Promise; + static getScalingTransform(width: number, height: number, padding: number); +} \ No newline at end of file diff --git a/src/plugin/draw/ts/types/index.d.ts b/src/plugin/draw/ts/types/index.d.ts new file mode 100644 index 0000000..3cc1f0e --- /dev/null +++ b/src/plugin/draw/ts/types/index.d.ts @@ -0,0 +1,35 @@ +import { + IDrawAnimationOption, + IDrawLineOption, + IDrawStyleOption, + IDrawTestOption, + IDrawStrokeOption, + IDrawOption, + TDrawType, +} from './common'; +import HanziWriter from './hanzi-writer'; + +export declare interface IWriterOption { + el?: string | HTMLElement; + text?: string; + clear?: boolean; + type?: TDrawType; + style?: IDrawStyleOption, + line?: IDrawLineOption, + animation?: IDrawAnimationOption, + stroke?: IDrawStrokeOption, + test?: IDrawTestOption, +} +export declare interface IWriter { + option: IDrawOption; + el: HTMLElement; + type: TDrawType; + text: Array; + writers: Array; + init (): void; + animate (complete: Function): void; + animateStart(): void; + loopAnimate(): void; + _animateSingle (index: number, complete: Function): void; + _animateStep (index: number, complete: Function): void; +} \ No newline at end of file diff --git a/src/plugin/draw/ts/util.js b/src/plugin/draw/ts/util.ts similarity index 69% rename from src/plugin/draw/ts/util.js rename to src/plugin/draw/ts/util.ts index 8bc3615..6dfbc73 100644 --- a/src/plugin/draw/ts/util.js +++ b/src/plugin/draw/ts/util.ts @@ -1,10 +1,9 @@ - -function isCnChar (word) { +export function isCnChar (word: string): boolean { const unicode = word.charCodeAt(0); return unicode >= 19968 && unicode <= 40869; } -function pickCnChar (text) { +export function pickCnChar (text: string): string { let v = ''; for (let i = 0; i < text.length; i++) { if (isCnChar(text[i])) { @@ -12,8 +11,4 @@ function pickCnChar (text) { } } return v; -} - -module.exports = { - isCnChar, pickCnChar -}; \ No newline at end of file +} \ No newline at end of file diff --git a/src/plugin/draw/ts/writer.js b/src/plugin/draw/ts/writer.ts similarity index 72% rename from src/plugin/draw/ts/writer.js rename to src/plugin/draw/ts/writer.ts index f2e920c..2c4e124 100644 --- a/src/plugin/draw/ts/writer.js +++ b/src/plugin/draw/ts/writer.ts @@ -1,8 +1,21 @@ -const HanziWriter = require('./hanzi-writer'); -const {TYPE, merge, TEST_STATUS} = require('./default-option'); -const {pickCnChar} = require('./util'); -const {buildLinesStr} = require('./line'); -const {stroke} = require('./stroke'); +import HanziWriter from './hanzi-writer'; +import {TYPE, merge, TEST_STATUS} from './default-option'; +import {pickCnChar} from './util'; +import {buildLinesStr} from './line'; +import {stroke} from './stroke'; +import {IWriter, IWriterOption} from './types/index'; +import { + TDrawType, + IDrawOption, + IDrawStyleOption, + IDrawAnimationOption, + IDrawLineOption, + IDrawTestOption, + IDrawStrokeOption, + IBuildLineStr, + ICloneSvg, + IDraw +} from './types/common'; const document = (typeof window === 'object') ? (window.document || null) : null; @@ -13,7 +26,13 @@ const svg = (() => { return document.createElementNS('http://www.w3.org/2000/svg', 'svg'); })(); -class Writer { +export class Writer implements IWriter { + option: IDrawOption; + el: HTMLElement; + type: TDrawType; + text: Array; + writers: Array; + animateStart: () => void; constructor ({ el = 'cnchar-draw', text = '', @@ -24,18 +43,28 @@ class Writer { animation = {}, stroke = {}, test = {}, - }) { + }: IWriterOption) { this.type = type; this.writers = []; this.text = text.split(''); - const opts = {style, line}; + const opts: { + style: IDrawStyleOption; + line: IDrawLineOption; + animation?: IDrawAnimationOption; + test?: IDrawTestOption; + stroke?: IDrawStrokeOption; + } = {style, line}; switch (type) { case TYPE.ANIMATION: opts.animation = animation; break; case TYPE.STROKE: opts.stroke = stroke; break; case TYPE.TEST: opts.test = test; break; } this.option = merge(type, opts); - this.el = typeof el === 'string' ? document.querySelector(el) : el; + if (typeof el === 'string') { + this.el = document.querySelector(el) || document.body; + } else { + this.el = el; + } if (this.el && clear) { this.el.innerHTML = ''; } @@ -45,12 +74,12 @@ class Writer { } this.init(); } - init () { - const {lineHTML, border} = buildLinesStr(this.option); - const cloneSvg = (option) => { - const node = svg.cloneNode(); - node.setAttribute('width', this.option.width); - node.setAttribute('height', this.option.height); + init (): void { + const {lineHTML, border} = buildLinesStr(this.option as IBuildLineStr); + const cloneSvg: ICloneSvg = (option: IDrawOption) => { + const node = svg.cloneNode() as HTMLElement; + node.setAttribute('width', this.option.width.toString()); + node.setAttribute('height', this.option.height.toString()); if (border) { node.style.border = border; } @@ -93,10 +122,10 @@ class Writer { this.el.addEventListener('click', start, false); } } else if (this.type === TYPE.TEST) { - let opt = () => {return {};}; + let opt: Function; const fn = this.option.onTestStatus; if (typeof fn === 'function') { - opt = (index) => { + opt = (index: number) => { return { onMistake (strokeData) { fn({index, status: TEST_STATUS.MISTAKE, data: strokeData}); @@ -109,6 +138,8 @@ class Writer { } }; }; + } else { + opt = () => {return {};}; } this.writers.forEach((writer, index) => { writer.quiz(opt(index)); @@ -116,7 +147,7 @@ class Writer { } } } - animate (complete) { + animate (complete: Function) { const opt = this.option; if (opt.stepByStep) { // 汉字之间连续绘制 if (opt.showCharacter === false) { @@ -147,18 +178,18 @@ class Writer { }); } // animate单个汉字 - _animateSingle (i, complete) { - if (i >= this.writers.length) { + _animateSingle (index: number, complete: Function): void { + if (index >= this.writers.length) { complete(true); return; } - this.writers[i].animateCharacter({ + this.writers[index].animateCharacter({ onComplete: () => { complete(false); } }); } - _animateStep (index, complete) { + _animateStep (index: number, complete: Function): void { this._animateSingle(index, (end) => { if (!end) { setTimeout(() => { @@ -171,8 +202,7 @@ class Writer { } } -// eslint-disable-next-line no-unused-vars -function draw (text = '', options = {}) { +const draw: IDraw = (text: string = '', options: IDrawOption = {}): IWriter => { if (typeof window === 'undefined') { console.error('Draw 方法仅支持在浏览器环境下使用'); return null; @@ -184,7 +214,9 @@ function draw (text = '', options = {}) { options.text = text; return new Writer(options); }; + draw.TYPE = TYPE; draw.TEST_STATUS = TEST_STATUS; +draw.init = null; -module.exports = draw; \ No newline at end of file +export default draw; \ No newline at end of file