├── .gitignore ├── README.md ├── index.html ├── package.json ├── server.js ├── src ├── App.vue ├── Hello.vue └── main.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | node_modules -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # mini-vite 3 | 4 | 实现 mini-vite 学习 vite 原理 -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mini-vite", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "scripts": { 7 | "dev": "nodemon server.js" 8 | }, 9 | "dependencies": { 10 | "@vue/compiler-dom": "^3.2.12", 11 | "@vue/compiler-sfc": "^3.2.12", 12 | "koa": "^2.13.1", 13 | "koa-send": "^5.0.1", 14 | "vue": "^3.2.12" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | const Koa = require("koa"); 2 | const app = new Koa(); 3 | 4 | const fs = require("fs"); 5 | const path = require("path"); 6 | 7 | const { parse } = require("@vue/compiler-sfc"); 8 | const { compile } = require("@vue/compiler-dom"); 9 | 10 | function rewriteImport(content) { 11 | return content 12 | .replace(/(from\s+['"])(?![\.\/])/g, "$1/@modules/") 13 | .replace(/process\.env\.NODE_ENV/g, '"development"'); 14 | } 15 | 16 | app.use(async (ctx) => { 17 | // ctx.body = 'kkb vite' 18 | const url = ctx.request.url; 19 | if (url === "/") { 20 | ctx.type = "text/html"; 21 | console.log(ctx.path) 22 | ctx.body = fs.readFileSync("./index.html", "utf-8"); 23 | } else if (url.endsWith(".js")) { 24 | const p = path.resolve(__dirname, url.slice(1)); 25 | ctx.type = "text/javascript"; 26 | const ret = fs.readFileSync(p, "utf-8"); 27 | ctx.body = rewriteImport(ret); 28 | } else if (url.startsWith("/@modules")) { 29 | const moduleName = url.replace("/@modules/", ""); 30 | const prefix = path.resolve(__dirname, "node_modules", moduleName); 31 | const module = require(prefix + "/package.json").module; 32 | const filePath = path.join(prefix, module); 33 | const ret = fs.readFileSync(filePath, "utf8"); 34 | ctx.type = "text/javascript"; 35 | ctx.body = rewriteImport(ret); 36 | } else if (url.endsWith(".vue")) { 37 | // 解析单文件组件相当于vue-loader做的事情 38 | // 转换script部分:将默认导出的组件对象转换为常量 39 | const p = path.resolve(__dirname, url.slice(1)); 40 | const ret = parse(fs.readFileSync(p, "utf-8")); 41 | const scriptContent = ret.descriptor.script.content; 42 | const script = scriptContent.replace( 43 | "export default ", 44 | "const __script = " 45 | ); 46 | 47 | // 转换template为模板请求 48 | // 将转换获得的渲染函数设置到__script上 49 | // 最后重新导出__script 50 | ctx.type = "text/javascript"; 51 | 52 | // 如果我在这一步就对 url 做解析会怎么样? 53 | // 因为使用 compile 得到的 render 并不是只有一个 render 函数,还有其中的导入依赖的代码逻辑 54 | // 不方便直接拼到 __script.render = 上, 所以在利用一个请求单独来处理 55 | 56 | ctx.body = ` 57 | ${rewriteImport(script)} 58 | import { render as __render } from '${url}?type=template' 59 | __script.render = __render 60 | export default __script 61 | `; 62 | } else if (url.endsWith("?type=template")) { 63 | // 模板编译请求 64 | const p = path.resolve(__dirname, url.split("?")[0].slice(1)); 65 | const ret = parse(fs.readFileSync(p, "utf-8")); 66 | const template = ret.descriptor.template.content; 67 | // 使用编译该模板 68 | const render = compile(template, { mode: "module" }).code; 69 | ctx.type = "text/javascript"; 70 | ctx.body = rewriteImport(render); 71 | } else if (url.endsWith(".png")) { 72 | ctx.body = fs.readFileSync("src" + url); 73 | } 74 | }); 75 | 76 | app.listen(3000, () => { 77 | console.log("vite start"); 78 | }); 79 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/Hello.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import App from "./App.vue"; 3 | 4 | console.log(createApp) 5 | console.log("main.js"); 6 | 7 | createApp(App).mount("#app"); 8 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/helper-validator-identifier@^7.14.9": 6 | version "7.15.7" 7 | resolved "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" 8 | integrity sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k= 9 | 10 | "@babel/parser@^7.15.0": 11 | version "7.15.7" 12 | resolved "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.15.7.tgz?cache=0&sync_timestamp=1631920112644&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.15.7.tgz#0c3ed4a2eb07b165dfa85b3cc45c727334c4edae" 13 | integrity sha1-DD7UousHsWXfqFs8xFxyczTE7a4= 14 | 15 | "@babel/types@^7.15.0": 16 | version "7.15.6" 17 | resolved "https://registry.nlark.com/@babel/types/download/@babel/types-7.15.6.tgz?cache=0&sync_timestamp=1631216362613&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f" 18 | integrity sha1-mavcSCGLKIHAWN0KerBbmcm+dY8= 19 | dependencies: 20 | "@babel/helper-validator-identifier" "^7.14.9" 21 | to-fast-properties "^2.0.0" 22 | 23 | "@types/estree@^0.0.48": 24 | version "0.0.48" 25 | resolved "https://registry.nlark.com/@types/estree/download/@types/estree-0.0.48.tgz#18dc8091b285df90db2f25aa7d906cfc394b7f74" 26 | integrity sha1-GNyAkbKF35DbLyWqfZBs/DlLf3Q= 27 | 28 | "@vue/compiler-core@3.2.12": 29 | version "3.2.12" 30 | resolved "https://registry.nlark.com/@vue/compiler-core/download/@vue/compiler-core-3.2.12.tgz#23998d6986a45e1ab0424130cc0ad00e33da1101" 31 | integrity sha1-I5mNaYakXhqwQkEwzArQDjPaEQE= 32 | dependencies: 33 | "@babel/parser" "^7.15.0" 34 | "@babel/types" "^7.15.0" 35 | "@vue/shared" "3.2.12" 36 | estree-walker "^2.0.2" 37 | source-map "^0.6.1" 38 | 39 | "@vue/compiler-dom@3.2.12", "@vue/compiler-dom@^3.2.12": 40 | version "3.2.12" 41 | resolved "https://registry.nlark.com/@vue/compiler-dom/download/@vue/compiler-dom-3.2.12.tgz#d6ba00114e73adb8b18940c3ff18797cc2b0514f" 42 | integrity sha1-1roAEU5zrbixiUDD/xh5fMKwUU8= 43 | dependencies: 44 | "@vue/compiler-core" "3.2.12" 45 | "@vue/shared" "3.2.12" 46 | 47 | "@vue/compiler-sfc@^3.2.12": 48 | version "3.2.12" 49 | resolved "https://registry.nlark.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.2.12.tgz?cache=0&sync_timestamp=1631890702874&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcompiler-sfc%2Fdownload%2F%40vue%2Fcompiler-sfc-3.2.12.tgz#39555550d96051508753ba934f7260dc5ee5211e" 50 | integrity sha1-OVVVUNlgUVCHU7qTT3Jg3F7lIR4= 51 | dependencies: 52 | "@babel/parser" "^7.15.0" 53 | "@babel/types" "^7.15.0" 54 | "@types/estree" "^0.0.48" 55 | "@vue/compiler-core" "3.2.12" 56 | "@vue/compiler-dom" "3.2.12" 57 | "@vue/compiler-ssr" "3.2.12" 58 | "@vue/ref-transform" "3.2.12" 59 | "@vue/shared" "3.2.12" 60 | consolidate "^0.16.0" 61 | estree-walker "^2.0.2" 62 | hash-sum "^2.0.0" 63 | lru-cache "^5.1.1" 64 | magic-string "^0.25.7" 65 | merge-source-map "^1.1.0" 66 | postcss "^8.1.10" 67 | postcss-modules "^4.0.0" 68 | postcss-selector-parser "^6.0.4" 69 | source-map "^0.6.1" 70 | 71 | "@vue/compiler-ssr@3.2.12": 72 | version "3.2.12" 73 | resolved "https://registry.nlark.com/@vue/compiler-ssr/download/@vue/compiler-ssr-3.2.12.tgz?cache=0&sync_timestamp=1631890704961&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcompiler-ssr%2Fdownload%2F%40vue%2Fcompiler-ssr-3.2.12.tgz#32e5d4bc31c371c125b43e9d07b8a8f70442b080" 74 | integrity sha1-MuXUvDHDccEltD6dB7io9wRCsIA= 75 | dependencies: 76 | "@vue/compiler-dom" "3.2.12" 77 | "@vue/shared" "3.2.12" 78 | 79 | "@vue/reactivity@3.2.12": 80 | version "3.2.12" 81 | resolved "https://registry.nlark.com/@vue/reactivity/download/@vue/reactivity-3.2.12.tgz?cache=0&sync_timestamp=1631890713344&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Freactivity%2Fdownload%2F%40vue%2Freactivity-3.2.12.tgz#b482a737cbdc891f9b1ec3100f3c1804b56d080b" 82 | integrity sha1-tIKnN8vciR+bHsMQDzwYBLVtCAs= 83 | dependencies: 84 | "@vue/shared" "3.2.12" 85 | 86 | "@vue/ref-transform@3.2.12": 87 | version "3.2.12" 88 | resolved "https://registry.nlark.com/@vue/ref-transform/download/@vue/ref-transform-3.2.12.tgz?cache=0&sync_timestamp=1631890704557&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fref-transform%2Fdownload%2F%40vue%2Fref-transform-3.2.12.tgz#6f7fa46dd84447ddcf54adfb1b689b1cf4243de0" 89 | integrity sha1-b3+kbdhER93PVK37G2ibHPQkPeA= 90 | dependencies: 91 | "@babel/parser" "^7.15.0" 92 | "@vue/compiler-core" "3.2.12" 93 | "@vue/shared" "3.2.12" 94 | estree-walker "^2.0.2" 95 | magic-string "^0.25.7" 96 | 97 | "@vue/runtime-core@3.2.12": 98 | version "3.2.12" 99 | resolved "https://registry.nlark.com/@vue/runtime-core/download/@vue/runtime-core-3.2.12.tgz?cache=0&sync_timestamp=1631890716144&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fruntime-core%2Fdownload%2F%40vue%2Fruntime-core-3.2.12.tgz#422662fd5b85f787222d2aea840264ba97e84a13" 100 | integrity sha1-QiZi/VuF94ciLSrqhAJkupfoShM= 101 | dependencies: 102 | "@vue/reactivity" "3.2.12" 103 | "@vue/shared" "3.2.12" 104 | 105 | "@vue/runtime-dom@3.2.12": 106 | version "3.2.12" 107 | resolved "https://registry.nlark.com/@vue/runtime-dom/download/@vue/runtime-dom-3.2.12.tgz?cache=0&sync_timestamp=1631890706703&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fruntime-dom%2Fdownload%2F%40vue%2Fruntime-dom-3.2.12.tgz#d9fe865dca36f9ca33ba327afdeb89ae2aa03f4c" 108 | integrity sha1-2f6GXco2+cozujJ6/euJriqgP0w= 109 | dependencies: 110 | "@vue/runtime-core" "3.2.12" 111 | "@vue/shared" "3.2.12" 112 | csstype "^2.6.8" 113 | 114 | "@vue/shared@3.2.12": 115 | version "3.2.12" 116 | resolved "https://registry.nlark.com/@vue/shared/download/@vue/shared-3.2.12.tgz#304064a4b56fc6c7b9169d80e9ee62ecb4bf0a1c" 117 | integrity sha1-MEBkpLVvxse5Fp2A6e5i7LS/Chw= 118 | 119 | accepts@^1.3.5: 120 | version "1.3.7" 121 | resolved "https://registry.nlark.com/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" 122 | integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80= 123 | dependencies: 124 | mime-types "~2.1.24" 125 | negotiator "0.6.2" 126 | 127 | any-promise@^1.1.0: 128 | version "1.3.0" 129 | resolved "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" 130 | integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= 131 | 132 | big.js@^5.2.2: 133 | version "5.2.2" 134 | resolved "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" 135 | integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= 136 | 137 | bluebird@^3.7.2: 138 | version "3.7.2" 139 | resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz?cache=0&sync_timestamp=1602657218976&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbluebird%2Fdownload%2Fbluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" 140 | integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28= 141 | 142 | cache-content-type@^1.0.0: 143 | version "1.0.1" 144 | resolved "https://registry.nlark.com/cache-content-type/download/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c" 145 | integrity sha1-A1zeKwjuISn0qDFeqPAKANuhRTw= 146 | dependencies: 147 | mime-types "^2.1.18" 148 | ylru "^1.2.0" 149 | 150 | co@^4.6.0: 151 | version "4.6.0" 152 | resolved "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 153 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= 154 | 155 | colorette@^1.2.2: 156 | version "1.4.0" 157 | resolved "https://registry.nlark.com/colorette/download/colorette-1.4.0.tgz?cache=0&sync_timestamp=1631964901390&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolorette%2Fdownload%2Fcolorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" 158 | integrity sha1-UZD7uHJ2JZqGrXAL/yxtb6o/ykA= 159 | 160 | consolidate@^0.16.0: 161 | version "0.16.0" 162 | resolved "https://registry.npm.taobao.org/consolidate/download/consolidate-0.16.0.tgz#a11864768930f2f19431660a65906668f5fbdc16" 163 | integrity sha1-oRhkdokw8vGUMWYKZZBmaPX73BY= 164 | dependencies: 165 | bluebird "^3.7.2" 166 | 167 | content-disposition@~0.5.2: 168 | version "0.5.3" 169 | resolved "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" 170 | integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= 171 | dependencies: 172 | safe-buffer "5.1.2" 173 | 174 | content-type@^1.0.4: 175 | version "1.0.4" 176 | resolved "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 177 | integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= 178 | 179 | cookies@~0.8.0: 180 | version "0.8.0" 181 | resolved "https://registry.npm.taobao.org/cookies/download/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" 182 | integrity sha1-EpPOSzkXQKhAbjyYcOgoxLVPP5A= 183 | dependencies: 184 | depd "~2.0.0" 185 | keygrip "~1.1.0" 186 | 187 | cssesc@^3.0.0: 188 | version "3.0.0" 189 | resolved "https://registry.nlark.com/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 190 | integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4= 191 | 192 | csstype@^2.6.8: 193 | version "2.6.18" 194 | resolved "https://registry.nlark.com/csstype/download/csstype-2.6.18.tgz?cache=0&sync_timestamp=1631540782346&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.18.tgz#980a8b53085f34af313410af064f2bd241784218" 195 | integrity sha1-mAqLUwhfNK8xNBCvBk8r0kF4Qhg= 196 | 197 | debug@^4.1.1: 198 | version "4.3.2" 199 | resolved "https://registry.nlark.com/debug/download/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" 200 | integrity sha1-8KScGKyHeeMdSgxgKd+3aHPHQos= 201 | dependencies: 202 | ms "2.1.2" 203 | 204 | debug@~3.1.0: 205 | version "3.1.0" 206 | resolved "https://registry.nlark.com/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 207 | integrity sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE= 208 | dependencies: 209 | ms "2.0.0" 210 | 211 | deep-equal@~1.0.1: 212 | version "1.0.1" 213 | resolved "https://registry.nlark.com/deep-equal/download/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" 214 | integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= 215 | 216 | delegates@^1.0.0: 217 | version "1.0.0" 218 | resolved "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 219 | integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= 220 | 221 | depd@^2.0.0, depd@~2.0.0: 222 | version "2.0.0" 223 | resolved "https://registry.npm.taobao.org/depd/download/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" 224 | integrity sha1-tpYWPMdXVg0JzyLMj60Vcbeedt8= 225 | 226 | depd@~1.1.2: 227 | version "1.1.2" 228 | resolved "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 229 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 230 | 231 | destroy@^1.0.4: 232 | version "1.0.4" 233 | resolved "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 234 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= 235 | 236 | ee-first@1.1.1: 237 | version "1.1.1" 238 | resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 239 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= 240 | 241 | emojis-list@^3.0.0: 242 | version "3.0.0" 243 | resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" 244 | integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= 245 | 246 | encodeurl@^1.0.2: 247 | version "1.0.2" 248 | resolved "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 249 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= 250 | 251 | escape-html@^1.0.3: 252 | version "1.0.3" 253 | resolved "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 254 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 255 | 256 | estree-walker@^2.0.2: 257 | version "2.0.2" 258 | resolved "https://registry.npm.taobao.org/estree-walker/download/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 259 | integrity sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw= 260 | 261 | fresh@~0.5.2: 262 | version "0.5.2" 263 | resolved "https://registry.nlark.com/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 264 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= 265 | 266 | generic-names@^2.0.1: 267 | version "2.0.1" 268 | resolved "https://registry.npm.taobao.org/generic-names/download/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872" 269 | integrity sha1-+KN46tLMqno08DF7BVVIMq5BuHI= 270 | dependencies: 271 | loader-utils "^1.1.0" 272 | 273 | has-symbols@^1.0.2: 274 | version "1.0.2" 275 | resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443577352&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 276 | integrity sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM= 277 | 278 | has-tostringtag@^1.0.0: 279 | version "1.0.0" 280 | resolved "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz?cache=0&sync_timestamp=1628197490246&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-tostringtag%2Fdownload%2Fhas-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 281 | integrity sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU= 282 | dependencies: 283 | has-symbols "^1.0.2" 284 | 285 | hash-sum@^2.0.0: 286 | version "2.0.0" 287 | resolved "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" 288 | integrity sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo= 289 | 290 | http-assert@^1.3.0: 291 | version "1.5.0" 292 | resolved "https://registry.nlark.com/http-assert/download/http-assert-1.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhttp-assert%2Fdownload%2Fhttp-assert-1.5.0.tgz#c389ccd87ac16ed2dfa6246fd73b926aa00e6b8f" 293 | integrity sha1-w4nM2HrBbtLfpiRv1zuSaqAOa48= 294 | dependencies: 295 | deep-equal "~1.0.1" 296 | http-errors "~1.8.0" 297 | 298 | http-errors@^1.6.3, http-errors@^1.7.3, http-errors@~1.8.0: 299 | version "1.8.0" 300 | resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507" 301 | integrity sha1-ddG75JfhBE9R5O6ecEpi8o0zZQc= 302 | dependencies: 303 | depd "~1.1.2" 304 | inherits "2.0.4" 305 | setprototypeof "1.2.0" 306 | statuses ">= 1.5.0 < 2" 307 | toidentifier "1.0.0" 308 | 309 | http-errors@~1.6.2: 310 | version "1.6.3" 311 | resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" 312 | integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= 313 | dependencies: 314 | depd "~1.1.2" 315 | inherits "2.0.3" 316 | setprototypeof "1.1.0" 317 | statuses ">= 1.4.0 < 2" 318 | 319 | icss-replace-symbols@^1.1.0: 320 | version "1.1.0" 321 | resolved "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" 322 | integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= 323 | 324 | icss-utils@^5.0.0: 325 | version "5.1.0" 326 | resolved "https://registry.npm.taobao.org/icss-utils/download/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" 327 | integrity sha1-xr5oWKvQE9do6YNmrkfiXViHsa4= 328 | 329 | inherits@2.0.3: 330 | version "2.0.3" 331 | resolved "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 332 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 333 | 334 | inherits@2.0.4: 335 | version "2.0.4" 336 | resolved "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 337 | integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= 338 | 339 | is-generator-function@^1.0.7: 340 | version "1.0.10" 341 | resolved "https://registry.nlark.com/is-generator-function/download/is-generator-function-1.0.10.tgz?cache=0&sync_timestamp=1628227835267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-generator-function%2Fdownload%2Fis-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" 342 | integrity sha1-8VWLrxrBfg3up8BBXEODUf8rPHI= 343 | dependencies: 344 | has-tostringtag "^1.0.0" 345 | 346 | json5@^1.0.1: 347 | version "1.0.1" 348 | resolved "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 349 | integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= 350 | dependencies: 351 | minimist "^1.2.0" 352 | 353 | keygrip@~1.1.0: 354 | version "1.1.0" 355 | resolved "https://registry.nlark.com/keygrip/download/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" 356 | integrity sha1-hxsWgdXhWcYqRFsMdLYV4JF+ciY= 357 | dependencies: 358 | tsscmp "1.0.6" 359 | 360 | koa-compose@^3.0.0: 361 | version "3.2.1" 362 | resolved "https://registry.npm.taobao.org/koa-compose/download/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" 363 | integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= 364 | dependencies: 365 | any-promise "^1.1.0" 366 | 367 | koa-compose@^4.1.0: 368 | version "4.1.0" 369 | resolved "https://registry.npm.taobao.org/koa-compose/download/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" 370 | integrity sha1-UHMGuTcZAdtBEhyBLpI9DWfT6Hc= 371 | 372 | koa-convert@^1.2.0: 373 | version "1.2.0" 374 | resolved "https://registry.npm.taobao.org/koa-convert/download/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" 375 | integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= 376 | dependencies: 377 | co "^4.6.0" 378 | koa-compose "^3.0.0" 379 | 380 | koa-send@^5.0.1: 381 | version "5.0.1" 382 | resolved "https://registry.npm.taobao.org/koa-send/download/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79" 383 | integrity sha1-Odzuv6+zldDWC+r/ujpwtPVD/nk= 384 | dependencies: 385 | debug "^4.1.1" 386 | http-errors "^1.7.3" 387 | resolve-path "^1.4.0" 388 | 389 | koa@^2.13.1: 390 | version "2.13.1" 391 | resolved "https://registry.npm.taobao.org/koa/download/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051" 392 | integrity sha1-YnUXKHWye8/h1FQ1altrn1qbEFE= 393 | dependencies: 394 | accepts "^1.3.5" 395 | cache-content-type "^1.0.0" 396 | content-disposition "~0.5.2" 397 | content-type "^1.0.4" 398 | cookies "~0.8.0" 399 | debug "~3.1.0" 400 | delegates "^1.0.0" 401 | depd "^2.0.0" 402 | destroy "^1.0.4" 403 | encodeurl "^1.0.2" 404 | escape-html "^1.0.3" 405 | fresh "~0.5.2" 406 | http-assert "^1.3.0" 407 | http-errors "^1.6.3" 408 | is-generator-function "^1.0.7" 409 | koa-compose "^4.1.0" 410 | koa-convert "^1.2.0" 411 | on-finished "^2.3.0" 412 | only "~0.0.2" 413 | parseurl "^1.3.2" 414 | statuses "^1.5.0" 415 | type-is "^1.6.16" 416 | vary "^1.1.2" 417 | 418 | loader-utils@^1.1.0: 419 | version "1.4.0" 420 | resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" 421 | integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= 422 | dependencies: 423 | big.js "^5.2.2" 424 | emojis-list "^3.0.0" 425 | json5 "^1.0.1" 426 | 427 | lodash.camelcase@^4.3.0: 428 | version "4.3.0" 429 | resolved "https://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 430 | integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= 431 | 432 | lru-cache@^5.1.1: 433 | version "5.1.1" 434 | resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 435 | integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= 436 | dependencies: 437 | yallist "^3.0.2" 438 | 439 | magic-string@^0.25.7: 440 | version "0.25.7" 441 | resolved "https://registry.npm.taobao.org/magic-string/download/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 442 | integrity sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE= 443 | dependencies: 444 | sourcemap-codec "^1.4.4" 445 | 446 | media-typer@0.3.0: 447 | version "0.3.0" 448 | resolved "https://registry.nlark.com/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 449 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= 450 | 451 | merge-source-map@^1.1.0: 452 | version "1.1.0" 453 | resolved "https://registry.nlark.com/merge-source-map/download/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" 454 | integrity sha1-L93n5gIJOfcJBqaPLXrmheTIxkY= 455 | dependencies: 456 | source-map "^0.6.1" 457 | 458 | mime-db@1.49.0: 459 | version "1.49.0" 460 | resolved "https://registry.nlark.com/mime-db/download/mime-db-1.49.0.tgz?cache=0&sync_timestamp=1631863111146&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-db%2Fdownload%2Fmime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" 461 | integrity sha1-89/eYMmenPO8lwHWh3ePU3ABy+0= 462 | 463 | mime-types@^2.1.18, mime-types@~2.1.24: 464 | version "2.1.32" 465 | resolved "https://registry.nlark.com/mime-types/download/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" 466 | integrity sha1-HQDonn3n/gIAjbYQAdngKFJnD9U= 467 | dependencies: 468 | mime-db "1.49.0" 469 | 470 | minimist@^1.2.0: 471 | version "1.2.5" 472 | resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1602337228360&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 473 | integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= 474 | 475 | ms@2.0.0: 476 | version "2.0.0" 477 | resolved "https://registry.nlark.com/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 478 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 479 | 480 | ms@2.1.2: 481 | version "2.1.2" 482 | resolved "https://registry.nlark.com/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 483 | integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= 484 | 485 | nanoid@^3.1.23: 486 | version "3.1.25" 487 | resolved "https://registry.nlark.com/nanoid/download/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" 488 | integrity sha1-CcoydHwOVD8OGBS303k0d/nI4VI= 489 | 490 | negotiator@0.6.2: 491 | version "0.6.2" 492 | resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" 493 | integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= 494 | 495 | on-finished@^2.3.0: 496 | version "2.3.0" 497 | resolved "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz?cache=0&sync_timestamp=1614930634590&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fon-finished%2Fdownload%2Fon-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 498 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= 499 | dependencies: 500 | ee-first "1.1.1" 501 | 502 | only@~0.0.2: 503 | version "0.0.2" 504 | resolved "https://registry.npm.taobao.org/only/download/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" 505 | integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= 506 | 507 | parseurl@^1.3.2: 508 | version "1.3.3" 509 | resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 510 | integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= 511 | 512 | path-is-absolute@1.0.1: 513 | version "1.0.1" 514 | resolved "https://registry.nlark.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 515 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 516 | 517 | postcss-modules-extract-imports@^3.0.0: 518 | version "3.0.0" 519 | resolved "https://registry.nlark.com/postcss-modules-extract-imports/download/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" 520 | integrity sha1-zaHwR8CugMl9vijD52pDuIAldB0= 521 | 522 | postcss-modules-local-by-default@^4.0.0: 523 | version "4.0.0" 524 | resolved "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-4.0.0.tgz?cache=0&sync_timestamp=1602587625149&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" 525 | integrity sha1-67tU+uFZjuz99pGgKz/zs5ClpRw= 526 | dependencies: 527 | icss-utils "^5.0.0" 528 | postcss-selector-parser "^6.0.2" 529 | postcss-value-parser "^4.1.0" 530 | 531 | postcss-modules-scope@^3.0.0: 532 | version "3.0.0" 533 | resolved "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" 534 | integrity sha1-nvMVFFbTu/oSDKRImN/Kby+gHwY= 535 | dependencies: 536 | postcss-selector-parser "^6.0.4" 537 | 538 | postcss-modules-values@^4.0.0: 539 | version "4.0.0" 540 | resolved "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-4.0.0.tgz?cache=0&sync_timestamp=1602586215124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" 541 | integrity sha1-18Xn5ow7s8myfL9Iyguz/7RgLJw= 542 | dependencies: 543 | icss-utils "^5.0.0" 544 | 545 | postcss-modules@^4.0.0: 546 | version "4.2.2" 547 | resolved "https://registry.nlark.com/postcss-modules/download/postcss-modules-4.2.2.tgz?cache=0&sync_timestamp=1627039417896&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-modules%2Fdownload%2Fpostcss-modules-4.2.2.tgz#5e7777c5a8964ea176919d90b2e54ef891321ce5" 548 | integrity sha1-Xnd3xaiWTqF2kZ2QsuVO+JEyHOU= 549 | dependencies: 550 | generic-names "^2.0.1" 551 | icss-replace-symbols "^1.1.0" 552 | lodash.camelcase "^4.3.0" 553 | postcss-modules-extract-imports "^3.0.0" 554 | postcss-modules-local-by-default "^4.0.0" 555 | postcss-modules-scope "^3.0.0" 556 | postcss-modules-values "^4.0.0" 557 | string-hash "^1.1.1" 558 | 559 | postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: 560 | version "6.0.6" 561 | resolved "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" 562 | integrity sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo= 563 | dependencies: 564 | cssesc "^3.0.0" 565 | util-deprecate "^1.0.2" 566 | 567 | postcss-value-parser@^4.1.0: 568 | version "4.1.0" 569 | resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" 570 | integrity sha1-RD9qIM7WSBor2k+oUypuVdeJoss= 571 | 572 | postcss@^8.1.10: 573 | version "8.3.6" 574 | resolved "https://registry.nlark.com/postcss/download/postcss-8.3.6.tgz?cache=0&sync_timestamp=1626882928473&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss%2Fdownload%2Fpostcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea" 575 | integrity sha1-JzDddql5afN/U7mmCWGXvjEcxOo= 576 | dependencies: 577 | colorette "^1.2.2" 578 | nanoid "^3.1.23" 579 | source-map-js "^0.6.2" 580 | 581 | resolve-path@^1.4.0: 582 | version "1.4.0" 583 | resolved "https://registry.npm.taobao.org/resolve-path/download/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7" 584 | integrity sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc= 585 | dependencies: 586 | http-errors "~1.6.2" 587 | path-is-absolute "1.0.1" 588 | 589 | safe-buffer@5.1.2: 590 | version "5.1.2" 591 | resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 592 | integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= 593 | 594 | setprototypeof@1.1.0: 595 | version "1.1.0" 596 | resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" 597 | integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= 598 | 599 | setprototypeof@1.2.0: 600 | version "1.2.0" 601 | resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 602 | integrity sha1-ZsmiSnP5/CjL5msJ/tPTPcrxtCQ= 603 | 604 | source-map-js@^0.6.2: 605 | version "0.6.2" 606 | resolved "https://registry.npm.taobao.org/source-map-js/download/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" 607 | integrity sha1-C7XeYxtBz72mz7qL0FqA79/SOF4= 608 | 609 | source-map@^0.6.1: 610 | version "0.6.1" 611 | resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 612 | integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= 613 | 614 | sourcemap-codec@^1.4.4: 615 | version "1.4.8" 616 | resolved "https://registry.nlark.com/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 617 | integrity sha1-6oBL2UhXQC5pktBaOO8a41qatMQ= 618 | 619 | "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0: 620 | version "1.5.0" 621 | resolved "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1609654066899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 622 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 623 | 624 | string-hash@^1.1.1: 625 | version "1.1.3" 626 | resolved "https://registry.npm.taobao.org/string-hash/download/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" 627 | integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= 628 | 629 | to-fast-properties@^2.0.0: 630 | version "2.0.0" 631 | resolved "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 632 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 633 | 634 | toidentifier@1.0.0: 635 | version "1.0.0" 636 | resolved "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 637 | integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= 638 | 639 | tsscmp@1.0.6: 640 | version "1.0.6" 641 | resolved "https://registry.npm.taobao.org/tsscmp/download/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" 642 | integrity sha1-hbmVg6w1iexL/vgltQAKqRHWBes= 643 | 644 | type-is@^1.6.16: 645 | version "1.6.18" 646 | resolved "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 647 | integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= 648 | dependencies: 649 | media-typer "0.3.0" 650 | mime-types "~2.1.24" 651 | 652 | util-deprecate@^1.0.2: 653 | version "1.0.2" 654 | resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 655 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 656 | 657 | vary@^1.1.2: 658 | version "1.1.2" 659 | resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 660 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= 661 | 662 | vue@^3.2.12: 663 | version "3.2.12" 664 | resolved "https://registry.nlark.com/vue/download/vue-3.2.12.tgz#b44f55506fb6a7c4b65635e609deb5f9368aa2ce" 665 | integrity sha1-tE9VUG+2p8S2VjXmCd61+TaKos4= 666 | dependencies: 667 | "@vue/compiler-dom" "3.2.12" 668 | "@vue/runtime-dom" "3.2.12" 669 | "@vue/shared" "3.2.12" 670 | 671 | yallist@^3.0.2: 672 | version "3.1.1" 673 | resolved "https://registry.nlark.com/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 674 | integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= 675 | 676 | ylru@^1.2.0: 677 | version "1.2.1" 678 | resolved "https://registry.npm.taobao.org/ylru/download/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" 679 | integrity sha1-9Xa2M0FUeYnB3nuiiHYJI7J/6E8= 680 | --------------------------------------------------------------------------------