diff --git a/examples/js-example/package.json b/examples/js-example/package.json index 84dadea..1346e9c 100644 --- a/examples/js-example/package.json +++ b/examples/js-example/package.json @@ -8,12 +8,12 @@ "dependencies": { "axios": "^0.21.1", "mockjs": "^1.1.0", - "vue": "^3.0.7" + "vue": "^3.0.9" }, "devDependencies": { - "@vitejs/plugin-vue": "^1.1.5", - "@vue/compiler-sfc": "^3.0.7", + "@vitejs/plugin-vue": "^1.2.0", + "@vue/compiler-sfc": "^3.0.9", "cross-env": "^7.0.3", - "vite": "^2.1.2" + "vite": "^2.1.4" } } diff --git a/examples/js-example/yarn.lock b/examples/js-example/yarn.lock index 99ccc2f..8207182 100644 --- a/examples/js-example/yarn.lock +++ b/examples/js-example/yarn.lock @@ -7,11 +7,21 @@ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + "@babel/parser@^7.12.0": version "7.12.3" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== +"@babel/parser@^7.13.9": + version "7.13.13" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz#42f03862f4aed50461e543270916b47dd501f0df" + integrity sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw== + "@babel/types@^7.12.0": version "7.12.1" resolved "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" @@ -21,41 +31,50 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@vitejs/plugin-vue@^1.1.5": - version "1.1.5" - resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.1.5.tgz#fa1e8e5e049c35e213672e33f73fe81706ad5dbe" - integrity sha512-4DV8VPYo8/OR1YsnK39QN16xhKENt2XvcmJxqfRtyz75kvbjBYh1zTSHLp7XsXqv4R2I+fOZlbEBvxosMYLcPA== +"@babel/types@^7.13.0": + version "7.13.14" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz#c35a4abb15c7cd45a2746d78ab328e362cbace0d" + integrity sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@vitejs/plugin-vue@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.2.0.tgz#f0a92470b74761f90afc8cda204fa3bec9df09f4" + integrity sha512-IhSJfJH6IDNEAnhr91+2vhLLe/1SqkA/2BP19jwtn54DGI+cNbZIxiPhHIdKUpdRo0QwErOh6Jy1Maxk2uVo7A== -"@vue/compiler-core@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.7.tgz#421782a4c67cc3f2b7c30457ef446d74f8524f74" - integrity sha512-JFohgBXoyUc3mdeI2WxlhjQZ5fakfemJkZHX8Gu/nFbEg3+lKVUZmNKWmmnp9aOzJQZKoj77LjmFxiP+P+7lMQ== +"@vue/compiler-core@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.9.tgz#ec7efa676889aee006fc43739ee4a67a952ac623" + integrity sha512-bHAPwfVoLhGx8d6KV/OfGf/3gwpymVirgfmSyhgv5YuXDybLa6BwjSLvhNMAyDP+4q4pp0p6g248LuoOy5W6OA== dependencies: "@babel/parser" "^7.12.0" "@babel/types" "^7.12.0" - "@vue/shared" "3.0.7" + "@vue/shared" "3.0.9" estree-walker "^2.0.1" source-map "^0.6.1" -"@vue/compiler-dom@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.7.tgz#54d2e12fb9a7aff53abd19dac2c2679533f0c919" - integrity sha512-VnIH9EbWQm/Tkcp+8dCaNVsVvhm/vxCrIKWRkXY9215hTqOqQOvejT8IMjd2kc++nIsYMsdQk6H9qqBvoLe/Cw== - dependencies: - "@vue/compiler-core" "3.0.7" - "@vue/shared" "3.0.7" - -"@vue/compiler-sfc@^3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.7.tgz#900414750cc726553b870490f48073451fd14f07" - integrity sha512-37/QILpGE+J3V+bP9Slg9e6xGqfk+MmS2Yj8ChR4fS0/qWUU/YoYHE0GPIzjmBdH0JVOOmJqunxowIXmqNiHng== - dependencies: - "@babel/parser" "^7.12.0" - "@babel/types" "^7.12.0" - "@vue/compiler-core" "3.0.7" - "@vue/compiler-dom" "3.0.7" - "@vue/compiler-ssr" "3.0.7" - "@vue/shared" "3.0.7" +"@vue/compiler-dom@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.9.tgz#1fd554097d9ab36eca73bc6d0d9607fecf94e71c" + integrity sha512-tkq6umPSELaghvOExWfGNwrCRc7FTul3RLykKzBZWhb87sSESq0XxiKELfBOfEbzdhWg6BJ1WXKDeq+al/viEQ== + dependencies: + "@vue/compiler-core" "3.0.9" + "@vue/shared" "3.0.9" + +"@vue/compiler-sfc@^3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.9.tgz#0f993a6e159ca6ad351d8ee0c4734771d2590115" + integrity sha512-meneFRb9xIDgv/gYWCr9xKryvPi0tVffQzLjCkyN4RF1EndqLS71xugUX9wQsS4F1SAP+zlZbcgMFmTSC4OpHw== + dependencies: + "@babel/parser" "^7.13.9" + "@babel/types" "^7.13.0" + "@vue/compiler-core" "3.0.9" + "@vue/compiler-dom" "3.0.9" + "@vue/compiler-ssr" "3.0.9" + "@vue/shared" "3.0.9" consolidate "^0.16.0" estree-walker "^2.0.1" hash-sum "^2.0.0" @@ -67,42 +86,42 @@ postcss-selector-parser "^6.0.4" source-map "^0.6.1" -"@vue/compiler-ssr@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.7.tgz#28b85d497381d75fe44234057b140b0065ca9dbf" - integrity sha512-nHRbHeSpfXwjypettjrA16TjgfDcPEwq3m/zHnGyLC1QqdLtklXmpSM43/CPwwTCRa/qdt0pldJf22MiCEuTSQ== +"@vue/compiler-ssr@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.9.tgz#aebce25e573b9db34964b682bb1631a7240ba43d" + integrity sha512-99h5k6Up+s8AzTNH1ljtXE/QlnG8yaGLePwQ4XQaWfk23ESUnmGZWEC+y+ZXznf8pIfJ0uPeD9EVgQzQAyZ2aA== dependencies: - "@vue/compiler-dom" "3.0.7" - "@vue/shared" "3.0.7" + "@vue/compiler-dom" "3.0.9" + "@vue/shared" "3.0.9" -"@vue/reactivity@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.7.tgz#e6ccc7bef7fc10b0972e4d974bad71679d3b26ad" - integrity sha512-FotWcNNaKhqpFZrdgsUOZ1enlJ5lhTt01CNTtLSyK7jYFgZBTuw8vKsEutZKDYZ1XKotOfoeO8N3pZQqmM6Etw== +"@vue/reactivity@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.9.tgz#875f241b8c10262560b190ccdeff2d0ab7053e11" + integrity sha512-W1AbGhzphVjY+TL32lQDwLDNvLzZKOcUgaIaLOoALWMtjzN4ExOUJzrR1FC3ynlpMHIEfcUo8GPgfnNmvMGdgQ== dependencies: - "@vue/shared" "3.0.7" + "@vue/shared" "3.0.9" -"@vue/runtime-core@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.7.tgz#d44c0b0a57d7e392912a87362a4430ccf446ecea" - integrity sha512-DBAZAwVvdmMXuyd6/9qqj/kYr/GaLTmn1L2/QLxLwP+UfhIboiTSBc/tUUb8MRk7Bb98GzNeAWkkT6AfooS3dQ== +"@vue/runtime-core@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.9.tgz#9665f149468355a524a304cb8f260147a4d294e6" + integrity sha512-j94xZ/wRZTVhqpoUgmxBTlojnPFu6TTXNw1Vw8oQkW1ZTGD0IwiJe3ycsKd1bpleXEMVt55GzGlCopI33/Gdmg== dependencies: - "@vue/reactivity" "3.0.7" - "@vue/shared" "3.0.7" + "@vue/reactivity" "3.0.9" + "@vue/shared" "3.0.9" -"@vue/runtime-dom@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.7.tgz#b70668d729020bc4ad608c20367223f259576ba6" - integrity sha512-Oij4ruOtnpQpCj+/Q3JPzgpTJ1Q7+N67pA53A8KVITEtxfvKL46NN6dhAZ5NGqwX6RWZpYqWQNewITeF0pHr8g== +"@vue/runtime-dom@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.9.tgz#16a1d001dc746a9f346ee7fb9de90d52ad097b61" + integrity sha512-6NCjpwa5hNBFDdokquAgMl2tNEYyQD6kBy9Mh6M2776bxYLXZCqL4/e0UrpBuBiHTrkAlUGODD7PyYGaqH6fyA== dependencies: - "@vue/runtime-core" "3.0.7" - "@vue/shared" "3.0.7" + "@vue/runtime-core" "3.0.9" + "@vue/shared" "3.0.9" csstype "^2.6.8" -"@vue/shared@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.7.tgz#96d52988efc07444c108c7c6803ba7cc93e40045" - integrity sha512-dn5FyfSc4ky424jH4FntiHno7Ss5yLkqKNmM/NXwANRnlkmqu74pnGetexDFVG5phMk9/FhwovUZCWGxsotVKg== +"@vue/shared@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.9.tgz#09882d745ded52b07e4481d036659d733edd2a9a" + integrity sha512-lv20q1O5dybwro+V+vnxHCmSIxi9mvTORSgAbGrANGYK8zF4K1S9TOankIvdkcvfZ88IR95O2pTI2Pb3c3BaNg== axios@^0.21.1: version "0.21.1" @@ -455,10 +474,10 @@ util-deprecate@^1.0.2: resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -vite@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/vite/-/vite-2.1.2.tgz#0aecaf6d34112b24536df1a14cd8d74fdcab6e20" - integrity sha512-K96k5Nb1kywggFwZNGf/NQVZIrjMSvjebYWFIEQRu8AQWtzxatMF8/reExFXebmrfWAT3PTUk6l4zJBkpMtyVg== +vite@^2.1.4: + version "2.1.4" + resolved "https://registry.npmjs.org/vite/-/vite-2.1.4.tgz#66396823701e54cf3bfb9f73dbd386c9b4329c86" + integrity sha512-j/p0RZQvNY/auSPfazsDfo1PHtFp8ktwXPbzI6NqplzHcR3Cn/dfQWiMxL6zp8j9IWdcJP1Zfms7mxruBhStJw== dependencies: esbuild "^0.9.3" postcss "^8.2.1" @@ -467,14 +486,14 @@ vite@^2.1.2: optionalDependencies: fsevents "~2.3.1" -vue@^3.0.7: - version "3.0.7" - resolved "https://registry.npmjs.org/vue/-/vue-3.0.7.tgz#8bcff51f8be570f9e4ce8cc5f52e2ab0fe3c74a1" - integrity sha512-8h4TikD+JabbMK9aRlBO4laG0AtNHRPHynxYgWZ9sq1YUPfzynd9Jeeb27XNyZytC7aCQRX9xe1+TQJuc181Tw== +vue@^3.0.9: + version "3.0.9" + resolved "https://registry.npmjs.org/vue/-/vue-3.0.9.tgz#c68ffc0e4aa2b0f1905124a9037b6e352de469ad" + integrity sha512-MOvqDpvDslMWJo5kyGW1nTsTIPAuSzgVqmlzSQInIEqkHOu16pNbXuTjnG7jc/yIvQYFSQZqv6Pvad0iO5QkyQ== dependencies: - "@vue/compiler-dom" "3.0.7" - "@vue/runtime-dom" "3.0.7" - "@vue/shared" "3.0.7" + "@vue/compiler-dom" "3.0.9" + "@vue/runtime-dom" "3.0.9" + "@vue/shared" "3.0.9" which@^2.0.1: version "2.0.2" diff --git a/examples/ts-example/mock/role.ts b/examples/ts-example/mock/dep/role.ts similarity index 100% rename from examples/ts-example/mock/role.ts rename to examples/ts-example/mock/dep/role.ts diff --git a/examples/ts-example/package.json b/examples/ts-example/package.json index e9471d5..160879a 100644 --- a/examples/ts-example/package.json +++ b/examples/ts-example/package.json @@ -8,13 +8,13 @@ "dependencies": { "axios": "^0.21.1", "mockjs": "^1.1.0", - "vue": "^3.0.7" + "vue": "^3.0.9" }, "devDependencies": { - "@vitejs/plugin-vue": "^1.1.5", - "@vue/compiler-sfc": "^3.0.7", + "@vitejs/plugin-vue": "^1.2.0", + "@vue/compiler-sfc": "^3.0.9", "cross-env": "^7.0.3", "typescript": "^4.2.3", - "vite": "^2.1.2" + "vite": "^2.1.4" } } diff --git a/examples/ts-example/yarn.lock b/examples/ts-example/yarn.lock index 8df3d51..dffd087 100644 --- a/examples/ts-example/yarn.lock +++ b/examples/ts-example/yarn.lock @@ -12,6 +12,11 @@ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79" integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg== +"@babel/parser@^7.13.9": + version "7.13.13" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz#42f03862f4aed50461e543270916b47dd501f0df" + integrity sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw== + "@babel/types@^7.12.0": version "7.12.12" resolved "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" @@ -21,41 +26,50 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@vitejs/plugin-vue@^1.1.5": - version "1.1.5" - resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.1.5.tgz#fa1e8e5e049c35e213672e33f73fe81706ad5dbe" - integrity sha512-4DV8VPYo8/OR1YsnK39QN16xhKENt2XvcmJxqfRtyz75kvbjBYh1zTSHLp7XsXqv4R2I+fOZlbEBvxosMYLcPA== +"@babel/types@^7.13.0": + version "7.13.14" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz#c35a4abb15c7cd45a2746d78ab328e362cbace0d" + integrity sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@vitejs/plugin-vue@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.2.0.tgz#f0a92470b74761f90afc8cda204fa3bec9df09f4" + integrity sha512-IhSJfJH6IDNEAnhr91+2vhLLe/1SqkA/2BP19jwtn54DGI+cNbZIxiPhHIdKUpdRo0QwErOh6Jy1Maxk2uVo7A== -"@vue/compiler-core@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.7.tgz#421782a4c67cc3f2b7c30457ef446d74f8524f74" - integrity sha512-JFohgBXoyUc3mdeI2WxlhjQZ5fakfemJkZHX8Gu/nFbEg3+lKVUZmNKWmmnp9aOzJQZKoj77LjmFxiP+P+7lMQ== +"@vue/compiler-core@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.9.tgz#ec7efa676889aee006fc43739ee4a67a952ac623" + integrity sha512-bHAPwfVoLhGx8d6KV/OfGf/3gwpymVirgfmSyhgv5YuXDybLa6BwjSLvhNMAyDP+4q4pp0p6g248LuoOy5W6OA== dependencies: "@babel/parser" "^7.12.0" "@babel/types" "^7.12.0" - "@vue/shared" "3.0.7" + "@vue/shared" "3.0.9" estree-walker "^2.0.1" source-map "^0.6.1" -"@vue/compiler-dom@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.7.tgz#54d2e12fb9a7aff53abd19dac2c2679533f0c919" - integrity sha512-VnIH9EbWQm/Tkcp+8dCaNVsVvhm/vxCrIKWRkXY9215hTqOqQOvejT8IMjd2kc++nIsYMsdQk6H9qqBvoLe/Cw== - dependencies: - "@vue/compiler-core" "3.0.7" - "@vue/shared" "3.0.7" - -"@vue/compiler-sfc@^3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.7.tgz#900414750cc726553b870490f48073451fd14f07" - integrity sha512-37/QILpGE+J3V+bP9Slg9e6xGqfk+MmS2Yj8ChR4fS0/qWUU/YoYHE0GPIzjmBdH0JVOOmJqunxowIXmqNiHng== - dependencies: - "@babel/parser" "^7.12.0" - "@babel/types" "^7.12.0" - "@vue/compiler-core" "3.0.7" - "@vue/compiler-dom" "3.0.7" - "@vue/compiler-ssr" "3.0.7" - "@vue/shared" "3.0.7" +"@vue/compiler-dom@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.9.tgz#1fd554097d9ab36eca73bc6d0d9607fecf94e71c" + integrity sha512-tkq6umPSELaghvOExWfGNwrCRc7FTul3RLykKzBZWhb87sSESq0XxiKELfBOfEbzdhWg6BJ1WXKDeq+al/viEQ== + dependencies: + "@vue/compiler-core" "3.0.9" + "@vue/shared" "3.0.9" + +"@vue/compiler-sfc@^3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.9.tgz#0f993a6e159ca6ad351d8ee0c4734771d2590115" + integrity sha512-meneFRb9xIDgv/gYWCr9xKryvPi0tVffQzLjCkyN4RF1EndqLS71xugUX9wQsS4F1SAP+zlZbcgMFmTSC4OpHw== + dependencies: + "@babel/parser" "^7.13.9" + "@babel/types" "^7.13.0" + "@vue/compiler-core" "3.0.9" + "@vue/compiler-dom" "3.0.9" + "@vue/compiler-ssr" "3.0.9" + "@vue/shared" "3.0.9" consolidate "^0.16.0" estree-walker "^2.0.1" hash-sum "^2.0.0" @@ -67,42 +81,42 @@ postcss-selector-parser "^6.0.4" source-map "^0.6.1" -"@vue/compiler-ssr@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.7.tgz#28b85d497381d75fe44234057b140b0065ca9dbf" - integrity sha512-nHRbHeSpfXwjypettjrA16TjgfDcPEwq3m/zHnGyLC1QqdLtklXmpSM43/CPwwTCRa/qdt0pldJf22MiCEuTSQ== +"@vue/compiler-ssr@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.9.tgz#aebce25e573b9db34964b682bb1631a7240ba43d" + integrity sha512-99h5k6Up+s8AzTNH1ljtXE/QlnG8yaGLePwQ4XQaWfk23ESUnmGZWEC+y+ZXznf8pIfJ0uPeD9EVgQzQAyZ2aA== dependencies: - "@vue/compiler-dom" "3.0.7" - "@vue/shared" "3.0.7" + "@vue/compiler-dom" "3.0.9" + "@vue/shared" "3.0.9" -"@vue/reactivity@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.7.tgz#e6ccc7bef7fc10b0972e4d974bad71679d3b26ad" - integrity sha512-FotWcNNaKhqpFZrdgsUOZ1enlJ5lhTt01CNTtLSyK7jYFgZBTuw8vKsEutZKDYZ1XKotOfoeO8N3pZQqmM6Etw== +"@vue/reactivity@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.9.tgz#875f241b8c10262560b190ccdeff2d0ab7053e11" + integrity sha512-W1AbGhzphVjY+TL32lQDwLDNvLzZKOcUgaIaLOoALWMtjzN4ExOUJzrR1FC3ynlpMHIEfcUo8GPgfnNmvMGdgQ== dependencies: - "@vue/shared" "3.0.7" + "@vue/shared" "3.0.9" -"@vue/runtime-core@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.7.tgz#d44c0b0a57d7e392912a87362a4430ccf446ecea" - integrity sha512-DBAZAwVvdmMXuyd6/9qqj/kYr/GaLTmn1L2/QLxLwP+UfhIboiTSBc/tUUb8MRk7Bb98GzNeAWkkT6AfooS3dQ== +"@vue/runtime-core@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.9.tgz#9665f149468355a524a304cb8f260147a4d294e6" + integrity sha512-j94xZ/wRZTVhqpoUgmxBTlojnPFu6TTXNw1Vw8oQkW1ZTGD0IwiJe3ycsKd1bpleXEMVt55GzGlCopI33/Gdmg== dependencies: - "@vue/reactivity" "3.0.7" - "@vue/shared" "3.0.7" + "@vue/reactivity" "3.0.9" + "@vue/shared" "3.0.9" -"@vue/runtime-dom@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.7.tgz#b70668d729020bc4ad608c20367223f259576ba6" - integrity sha512-Oij4ruOtnpQpCj+/Q3JPzgpTJ1Q7+N67pA53A8KVITEtxfvKL46NN6dhAZ5NGqwX6RWZpYqWQNewITeF0pHr8g== +"@vue/runtime-dom@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.9.tgz#16a1d001dc746a9f346ee7fb9de90d52ad097b61" + integrity sha512-6NCjpwa5hNBFDdokquAgMl2tNEYyQD6kBy9Mh6M2776bxYLXZCqL4/e0UrpBuBiHTrkAlUGODD7PyYGaqH6fyA== dependencies: - "@vue/runtime-core" "3.0.7" - "@vue/shared" "3.0.7" + "@vue/runtime-core" "3.0.9" + "@vue/shared" "3.0.9" csstype "^2.6.8" -"@vue/shared@3.0.7": - version "3.0.7" - resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.7.tgz#96d52988efc07444c108c7c6803ba7cc93e40045" - integrity sha512-dn5FyfSc4ky424jH4FntiHno7Ss5yLkqKNmM/NXwANRnlkmqu74pnGetexDFVG5phMk9/FhwovUZCWGxsotVKg== +"@vue/shared@3.0.9": + version "3.0.9" + resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.9.tgz#09882d745ded52b07e4481d036659d733edd2a9a" + integrity sha512-lv20q1O5dybwro+V+vnxHCmSIxi9mvTORSgAbGrANGYK8zF4K1S9TOankIvdkcvfZ88IR95O2pTI2Pb3c3BaNg== axios@^0.21.1: version "0.21.1" @@ -460,10 +474,10 @@ util-deprecate@^1.0.2: resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -vite@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/vite/-/vite-2.1.2.tgz#0aecaf6d34112b24536df1a14cd8d74fdcab6e20" - integrity sha512-K96k5Nb1kywggFwZNGf/NQVZIrjMSvjebYWFIEQRu8AQWtzxatMF8/reExFXebmrfWAT3PTUk6l4zJBkpMtyVg== +vite@^2.1.4: + version "2.1.4" + resolved "https://registry.npmjs.org/vite/-/vite-2.1.4.tgz#66396823701e54cf3bfb9f73dbd386c9b4329c86" + integrity sha512-j/p0RZQvNY/auSPfazsDfo1PHtFp8ktwXPbzI6NqplzHcR3Cn/dfQWiMxL6zp8j9IWdcJP1Zfms7mxruBhStJw== dependencies: esbuild "^0.9.3" postcss "^8.2.1" @@ -472,14 +486,14 @@ vite@^2.1.2: optionalDependencies: fsevents "~2.3.1" -vue@^3.0.7: - version "3.0.7" - resolved "https://registry.npmjs.org/vue/-/vue-3.0.7.tgz#8bcff51f8be570f9e4ce8cc5f52e2ab0fe3c74a1" - integrity sha512-8h4TikD+JabbMK9aRlBO4laG0AtNHRPHynxYgWZ9sq1YUPfzynd9Jeeb27XNyZytC7aCQRX9xe1+TQJuc181Tw== +vue@^3.0.9: + version "3.0.9" + resolved "https://registry.npmjs.org/vue/-/vue-3.0.9.tgz#c68ffc0e4aa2b0f1905124a9037b6e352de469ad" + integrity sha512-MOvqDpvDslMWJo5kyGW1nTsTIPAuSzgVqmlzSQInIEqkHOu16pNbXuTjnG7jc/yIvQYFSQZqv6Pvad0iO5QkyQ== dependencies: - "@vue/compiler-dom" "3.0.7" - "@vue/runtime-dom" "3.0.7" - "@vue/shared" "3.0.7" + "@vue/compiler-dom" "3.0.9" + "@vue/runtime-dom" "3.0.9" + "@vue/shared" "3.0.9" which@^2.0.1: version "2.0.2" diff --git a/package.json b/package.json index fac31f6..4bdd9e9 100644 --- a/package.json +++ b/package.json @@ -39,17 +39,15 @@ }, "homepage": "https://github.com/anncwb/vite-plugin-mock/tree/master/#readme", "dependencies": { - "@rollup/plugin-node-resolve": "^11.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", "@types/mockjs": "^1.0.3", "chalk": "^4.1.0", "chokidar": "^3.5.1", "connect": "^3.7.0", "debug": "^4.3.2", - "esbuild": "^0.9.7", + "esbuild": "^0.11.1", "fast-glob": "^3.2.5", - "path-to-regexp": "^6.2.0", - "rollup": "^2.42.4", - "rollup-plugin-esbuild": "^3.0.2" + "path-to-regexp": "^6.2.0" }, "peerDependencies": { "mockjs": ">=1.1.0", @@ -60,16 +58,16 @@ "@commitlint/config-conventional": "^12.1.0", "@types/connect": "^3.4.34", "@types/debug": "^4.1.5", - "@types/jest": "^26.0.21", - "@types/node": "^14.14.35", - "@typescript-eslint/eslint-plugin": "^4.19.0", - "@typescript-eslint/parser": "^4.19.0", + "@types/jest": "^26.0.22", + "@types/node": "^14.14.37", + "@typescript-eslint/eslint-plugin": "^4.20.0", + "@typescript-eslint/parser": "^4.20.0", "commitizen": "^4.2.3", "conventional-changelog-cli": "^2.1.1", - "eslint": "^7.22.0", + "eslint": "^7.23.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-jest": "^24.3.2", - "husky": "^5.2.0", + "husky": "^6.0.0", "jest": "^26.6.3", "lint-staged": "^10.5.4", "mockjs": "^1.1.0", @@ -78,8 +76,8 @@ "pretty-quick": "^3.1.0", "rimraf": "^3.0.2", "ts-jest": "^26.5.4", - "tsup": "^4.8.19", + "tsup": "^4.8.21", "typescript": "^4.2.3", - "vite": "^2.1.2" + "vite": "^2.1.4" } } diff --git a/src/createMockServer.ts b/src/createMockServer.ts index fe1424e..7106dc6 100644 --- a/src/createMockServer.ts +++ b/src/createMockServer.ts @@ -1,22 +1,17 @@ -import type { ViteMockOptions, MockMethod } from './types'; +import type { ViteMockOptions, MockMethod, NodeModuleWithCompile } from './types'; -import { existsSync } from 'fs'; -import { join } from 'path'; +import path from 'path'; +import fs from 'fs'; import chokidar from 'chokidar'; import chalk from 'chalk'; import url from 'url'; import fg from 'fast-glob'; import Mock from 'mockjs'; -import { rollup } from 'rollup'; -import esbuildPlugin from 'rollup-plugin-esbuild'; +import { build } from 'esbuild'; import { pathToRegexp, match } from 'path-to-regexp'; - -import { isArray, isFunction, sleep, isRegExp, loadConfigFromBundledFile } from './utils'; - +import { isArray, isFunction, sleep, isRegExp } from './utils'; import { IncomingMessage, NextHandleFunction } from 'connect'; -const pathResolve = require('@rollup/plugin-node-resolve'); - export let mockData: MockMethod[] = []; export async function createMockServer( @@ -30,19 +25,14 @@ export async function createMockServer( logger: true, ...opt, }; - if (mockData.length > 0) return; + if (mockData.length > 0) return; mockData = await getMockConfig(opt); - - const { watchFiles = true } = opt; - if (watchFiles) { - const watch = await createWatch(opt); - watch && watch(); - } + await createWatch(opt); } // request match -export async function requestMiddle(opt: ViteMockOptions) { +export async function requestMiddleware(opt: ViteMockOptions) { const { logger = true } = opt; const middleware: NextHandleFunction = async (req, res, next) => { let queryParams: { @@ -58,14 +48,18 @@ export async function requestMiddle(opt: ViteMockOptions) { } const reqUrl = isGet ? queryParams.pathname : req.url; - const matchReq = mockData.find((item) => { - if (item.method && item.method.toUpperCase() !== req.method) return false; - if (!reqUrl) return false; + const matchRequest = mockData.find((item) => { + if (!reqUrl || !item || !item.url) { + return false; + } + if (item.method && item.method.toUpperCase() !== req.method) { + return false; + } return pathToRegexp(item.url).test(reqUrl); }); - if (matchReq) { - const { response, timeout, statusCode, url } = matchReq; + if (matchRequest) { + const { response, timeout, statusCode, url } = matchRequest; if (timeout) { await sleep(timeout); @@ -84,8 +78,8 @@ export async function requestMiddle(opt: ViteMockOptions) { } } - const body = (await parseJson(req)) as Record; - const mockRes = isFunction(response) + const body = await parseJson(req); + const mockResponse = isFunction(response) ? response({ body, query, headers: req.headers }) : response; @@ -94,7 +88,7 @@ export async function requestMiddle(opt: ViteMockOptions) { res.setHeader('Content-Type', 'application/json'); res.statusCode = statusCode || 200; - res.end(JSON.stringify(Mock.mock(mockRes))); + res.end(JSON.stringify(Mock.mock(mockResponse))); return; } next(); @@ -104,12 +98,20 @@ export async function requestMiddle(opt: ViteMockOptions) { // create watch mock function createWatch(opt: ViteMockOptions) { - const { configPath, logger } = opt; + const { configPath, logger, watchFiles } = opt; + + if (!watchFiles) { + return; + } + const { absConfigPath, absMockPath } = getPath(opt); - if (process.env.VITE_DISABLED_WATCH_MOCK === 'true') return; + + if (process.env.VITE_DISABLED_WATCH_MOCK === 'true') { + return; + } const watchDir = []; - const exitsConfigPath = existsSync(absConfigPath); + const exitsConfigPath = fs.existsSync(absConfigPath); exitsConfigPath && configPath ? watchDir.push(absConfigPath) : watchDir.push(absMockPath); @@ -117,14 +119,10 @@ function createWatch(opt: ViteMockOptions) { ignoreInitial: true, }); - const watch = () => { - watcher.on('all', async (event, file) => { - logger && loggerOutput(`mock file ${event}`, file); - - mockData = await getMockConfig(opt); - }); - }; - return watch; + watcher.on('all', async (event, file) => { + logger && loggerOutput(`mock file ${event}`, file); + mockData = await getMockConfig(opt); + }); } // clear cache @@ -137,7 +135,7 @@ function cleanRequireCache(opt: ViteMockOptions) { }); } -function parseJson(req: IncomingMessage) { +function parseJson(req: IncomingMessage): Promise> { return new Promise((resolve) => { let body = ''; let jsonStr = ''; @@ -150,7 +148,7 @@ function parseJson(req: IncomingMessage) { } catch (err) { jsonStr = ''; } - resolve(jsonStr); + resolve(jsonStr as any); return; }); }); @@ -161,49 +159,52 @@ async function getMockConfig(opt: ViteMockOptions) { cleanRequireCache(opt); const { absConfigPath, absMockPath } = getPath(opt); const { ignore, configPath, supportTs, logger } = opt; - let ret: any[] = []; - if (configPath && existsSync(absConfigPath)) { + + let ret: MockMethod[] = []; + + if (configPath && fs.existsSync(absConfigPath)) { logger && loggerOutput(`load mock data from`, absConfigPath); ret = await resolveModule(absConfigPath); - } else { - const mockFiles = fg - .sync(`**/*.${supportTs ? 'ts' : 'js'}`, { - cwd: absMockPath, - }) - .filter((item) => { - if (!ignore) { - return true; - } - if (isFunction(ignore)) { - return ignore(item); - } - if (isRegExp(ignore)) { - return !ignore.test(item); - } + return ret; + } + + const mockFiles = fg + .sync(`**/*.${supportTs ? 'ts' : 'js'}`, { + cwd: absMockPath, + }) + .filter((item) => { + if (!ignore) { return true; - }); - try { - ret = []; - const resolveModulePromiseList = []; - for (let index = 0; index < mockFiles.length; index++) { - const mockFile = mockFiles[index]; - resolveModulePromiseList.push(resolveModule(join(absMockPath, mockFile))); } + if (isFunction(ignore)) { + return ignore(item); + } + if (isRegExp(ignore)) { + return !ignore.test(item); + } + return true; + }); + try { + ret = []; + const resolveModulePromiseList = []; - const loadAllResult = await Promise.all(resolveModulePromiseList); + for (let index = 0; index < mockFiles.length; index++) { + const mockFile = mockFiles[index]; + resolveModulePromiseList.push(resolveModule(path.join(absMockPath, mockFile))); + } - for (const resultModule of loadAllResult) { - let mod = resultModule; + const loadAllResult = await Promise.all(resolveModulePromiseList); - if (!isArray(mod)) { - mod = [mod]; - } - ret = [...ret, ...mod]; + for (const resultModule of loadAllResult) { + let mod = resultModule; + if (!isArray(mod)) { + mod = [mod]; } - } catch (error) { - loggerOutput(`mock reload error`, error); - ret = []; + ret = [...ret, ...mod]; } + } catch (error) { + loggerOutput(`mock reload error`, error); + ret = []; } return ret; } @@ -211,39 +212,25 @@ async function getMockConfig(opt: ViteMockOptions) { // Inspired by vite // support mock .ts files async function resolveModule(path: string): Promise { - // use node-resolve to support .ts files - const nodeResolve = pathResolve.nodeResolve({ - extensions: ['.js', '.ts'], - }); - const bundle = await rollup({ - input: path, - treeshake: false, - plugins: [ - esbuildPlugin({ - include: /\.[jt]sx?$/, - exclude: /node_modules/, - sourceMap: false, - }), - nodeResolve, - ], - }); - - const { - output: [{ code }], - } = await bundle.generate({ - exports: 'named', + const result = await build({ + entryPoints: [path], + outfile: 'out.js', + write: false, + platform: 'node', + bundle: true, format: 'cjs', }); + const { text } = result.outputFiles[0]; - return await loadConfigFromBundledFile(path, code); + return await loadConfigFromBundledFile(path, text); } // get custom config file path and mock dir path function getPath(opt: ViteMockOptions) { const { mockPath, configPath } = opt; const cwd = process.cwd(); - const absMockPath = join(cwd, mockPath || ''); - const absConfigPath = join(cwd, configPath || ''); + const absMockPath = path.join(cwd, mockPath || ''); + const absConfigPath = path.join(cwd, configPath || ''); return { absMockPath, absConfigPath, @@ -257,3 +244,26 @@ function loggerOutput(title: string, msg: string, type: 'info' | 'error' = 'info `${chalk.dim(new Date().toLocaleTimeString())} ${tag} ${chalk.green(title)} ${chalk.dim(msg)}` ); } + +// Parse file content +export async function loadConfigFromBundledFile(fileName: string, bundledCode: string) { + const extension = path.extname(fileName); + const defaultLoader = require.extensions[extension]!; + require.extensions[extension] = (module: NodeModule, filename: string) => { + if (filename === fileName) { + (module as NodeModuleWithCompile)._compile(bundledCode, filename); + } else { + defaultLoader(module, filename); + } + }; + let config; + try { + delete require.cache[fileName]; + const raw = require(fileName); + config = raw.__esModule ? raw.default : raw; + require.extensions[extension] = defaultLoader; + // eslint-disable-next-line + } catch (error) {} + + return config; +} diff --git a/src/index.ts b/src/index.ts index a6023bd..5948080 100644 --- a/src/index.ts +++ b/src/index.ts @@ -9,10 +9,11 @@ import type { ViteMockOptions } from './types'; import type { Plugin } from 'vite'; -import { ResolvedConfig, normalizePath } from 'vite'; -import { createMockServer, requestMiddle } from './createMockServer'; import path from 'path'; +import { ResolvedConfig, normalizePath } from 'vite'; +import { createMockServer, requestMiddleware } from './createMockServer'; + export function viteMockServe(opt: ViteMockOptions): Plugin { const { supportTs = true } = opt; const { @@ -29,6 +30,7 @@ export function viteMockServe(opt: ViteMockOptions): Plugin { name: 'vite:mock', enforce: 'pre', configResolved(resolvedConfig) { + createMockServer(opt); config = resolvedConfig; isDev = config.command === 'serve' && !config.isProduction; needSourcemap = !!resolvedConfig.build.sourcemap; @@ -39,10 +41,7 @@ export function viteMockServe(opt: ViteMockOptions): Plugin { if (!localEnabled) { return; } - - createMockServer(opt); - - const middleware = await requestMiddle(opt); + const middleware = await requestMiddleware(opt); middlewares.use(middleware); }, diff --git a/src/utils.ts b/src/utils.ts index 73b2e6d..0724be6 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,6 +1,3 @@ -import path from 'path'; -import type { NodeModuleWithCompile } from './types'; - const toString = Object.prototype.toString; export function is(val: unknown, type: string) { @@ -20,14 +17,6 @@ export function isRegExp(val: unknown): val is RegExp { return is(val, 'RegExp'); } -export function isNumber(val: unknown): val is number { - return is(val, 'Number'); -} - -export function isBoolean(val: unknown): val is boolean { - return is(val, 'Boolean'); -} - export function sleep(time: number) { return new Promise((resolve) => { setTimeout(() => { @@ -35,25 +24,3 @@ export function sleep(time: number) { }, time); }); } - -export async function loadConfigFromBundledFile(fileName: string, bundledCode: string) { - const extension = path.extname(fileName); - const defaultLoader = require.extensions[extension]!; - require.extensions[extension] = (module: NodeModule, filename: string) => { - if (filename === fileName) { - (module as NodeModuleWithCompile)._compile(bundledCode, filename); - } else { - defaultLoader(module, filename); - } - }; - let config; - try { - delete require.cache[fileName]; - const raw = require(fileName); - config = raw.__esModule ? raw.default : raw; - require.extensions[extension] = defaultLoader; - // eslint-disable-next-line - } catch (error) {} - - return config; -} diff --git a/yarn.lock b/yarn.lock index 73350dc..c3acd78 100644 --- a/yarn.lock +++ b/yarn.lock @@ -689,10 +689,10 @@ "@nodelib/fs.scandir" "2.1.4" fastq "^1.6.0" -"@rollup/plugin-node-resolve@^11.2.0": - version "11.2.0" - resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.0.tgz#a5ab88c35bb7622d115f44984dee305112b6f714" - integrity sha512-qHjNIKYt5pCcn+5RUBQxK8krhRvf1HnyVgUCcFFcweDS7fhkOLZeYh0mhHK6Ery8/bb9tvN/ubPzmfF0qjDCTA== +"@rollup/plugin-node-resolve@^11.2.1": + version "11.2.1" + resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" + integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" @@ -710,14 +710,6 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rollup/pluginutils@^4.1.0": - version "4.1.0" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838" - integrity sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ== - dependencies: - estree-walker "^2.0.1" - picomatch "^2.2.2" - "@sinonjs/commons@^1.7.0": version "1.8.2" resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" @@ -808,10 +800,10 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^26.0.21": - version "26.0.21" - resolved "https://registry.npmjs.org/@types/jest/-/jest-26.0.21.tgz#3a73c2731e7e4f0fbaea56ce7ff8c79cf812bd24" - integrity sha512-ab9TyM/69yg7eew9eOwKMUmvIZAKEGZYlq/dhe5/0IMUd/QLJv5ldRMdddSn+u22N13FP3s5jYyktxuBwY0kDA== +"@types/jest@^26.0.22": + version "26.0.22" + resolved "https://registry.npmjs.org/@types/jest/-/jest-26.0.22.tgz#8308a1debdf1b807aa47be2838acdcd91e88fbe6" + integrity sha512-eeWwWjlqxvBxc4oQdkueW5OF/gtfSceKk4OnOAGlUSwS/liBRtZppbJuz1YkgbrbfGOoeBHun9fOvXnjNwrSOw== dependencies: jest-diff "^26.0.0" pretty-format "^26.0.0" @@ -841,10 +833,10 @@ resolved "https://registry.npmjs.org/@types/node/-/node-14.14.24.tgz#541c00e4f7c41c8f108bd5b045248b5224c62946" integrity sha512-6BAlkS4seVjszhrwN0W1WabqWwuJwcYF36Z1rPPyQm80LGRKsIeUPdzI51TezXenjetFNy1gRTpuDn1NBg33LA== -"@types/node@^14.14.35": - version "14.14.35" - resolved "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313" - integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag== +"@types/node@^14.14.37": + version "14.14.37" + resolved "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz#a3dd8da4eb84a996c36e331df98d82abd76b516e" + integrity sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -885,13 +877,13 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.19.0": - version "4.19.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.19.0.tgz#56f8da9ee118fe9763af34d6a526967234f6a7f0" - integrity sha512-CRQNQ0mC2Pa7VLwKFbrGVTArfdVDdefS+gTw0oC98vSI98IX5A8EVH4BzJ2FOB0YlCmm8Im36Elad/Jgtvveaw== +"@typescript-eslint/eslint-plugin@^4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.20.0.tgz#9d8794bd99aad9153092ad13c96164e3082e9a92" + integrity sha512-sw+3HO5aehYqn5w177z2D82ZQlqHCwcKSMboueo7oE4KU9QiC0SAgfS/D4z9xXvpTc8Bt41Raa9fBR8T2tIhoQ== dependencies: - "@typescript-eslint/experimental-utils" "4.19.0" - "@typescript-eslint/scope-manager" "4.19.0" + "@typescript-eslint/experimental-utils" "4.20.0" + "@typescript-eslint/scope-manager" "4.20.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" lodash "^4.17.15" @@ -899,15 +891,15 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.19.0": - version "4.19.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.19.0.tgz#9ca379919906dc72cb0fcd817d6cb5aa2d2054c6" - integrity sha512-9/23F1nnyzbHKuoTqFN1iXwN3bvOm/PRIXSBR3qFAYotK/0LveEOHr5JT1WZSzcD6BESl8kPOG3OoDRKO84bHA== +"@typescript-eslint/experimental-utils@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.20.0.tgz#a8ab2d7b61924f99042b7d77372996d5f41dc44b" + integrity sha512-sQNlf6rjLq2yB5lELl3gOE7OuoA/6IVXJUJ+Vs7emrQMva14CkOwyQwD7CW+TkmOJ4Q/YGmoDLmbfFrpGmbKng== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.19.0" - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/typescript-estree" "4.19.0" + "@typescript-eslint/scope-manager" "4.20.0" + "@typescript-eslint/types" "4.20.0" + "@typescript-eslint/typescript-estree" "4.20.0" eslint-scope "^5.0.0" eslint-utils "^2.0.0" @@ -923,14 +915,14 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^4.19.0": - version "4.19.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.19.0.tgz#4ae77513b39f164f1751f21f348d2e6cb2d11128" - integrity sha512-/uabZjo2ZZhm66rdAu21HA8nQebl3lAIDcybUoOxoI7VbZBYavLIwtOOmykKCJy+Xq6Vw6ugkiwn8Js7D6wieA== +"@typescript-eslint/parser@^4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.20.0.tgz#8dd403c8b4258b99194972d9799e201b8d083bdd" + integrity sha512-m6vDtgL9EABdjMtKVw5rr6DdeMCH3OA1vFb0dAyuZSa3e5yw1YRzlwFnm9knma9Lz6b2GPvoNSa8vOXrqsaglA== dependencies: - "@typescript-eslint/scope-manager" "4.19.0" - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/typescript-estree" "4.19.0" + "@typescript-eslint/scope-manager" "4.20.0" + "@typescript-eslint/types" "4.20.0" + "@typescript-eslint/typescript-estree" "4.20.0" debug "^4.1.1" "@typescript-eslint/scope-manager@4.17.0": @@ -941,23 +933,23 @@ "@typescript-eslint/types" "4.17.0" "@typescript-eslint/visitor-keys" "4.17.0" -"@typescript-eslint/scope-manager@4.19.0": - version "4.19.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.19.0.tgz#5e0b49eca4df7684205d957c9856f4e720717a4f" - integrity sha512-GGy4Ba/hLXwJXygkXqMzduqOMc+Na6LrJTZXJWVhRrSuZeXmu8TAnniQVKgj8uTRKe4igO2ysYzH+Np879G75g== +"@typescript-eslint/scope-manager@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.20.0.tgz#953ecbf3b00845ece7be66246608be9d126d05ca" + integrity sha512-/zm6WR6iclD5HhGpcwl/GOYDTzrTHmvf8LLLkwKqqPKG6+KZt/CfSgPCiybshmck66M2L5fWSF/MKNuCwtKQSQ== dependencies: - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/visitor-keys" "4.19.0" + "@typescript-eslint/types" "4.20.0" + "@typescript-eslint/visitor-keys" "4.20.0" "@typescript-eslint/types@4.17.0": version "4.17.0" resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.17.0.tgz#f57d8fc7f31b348db946498a43050083d25f40ad" integrity sha512-RN5z8qYpJ+kXwnLlyzZkiJwfW2AY458Bf8WqllkondQIcN2ZxQowAToGSd9BlAUZDB5Ea8I6mqL2quGYCLT+2g== -"@typescript-eslint/types@4.19.0": - version "4.19.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.19.0.tgz#5181d5d2afd02e5b8f149ebb37ffc8bd7b07a568" - integrity sha512-A4iAlexVvd4IBsSTNxdvdepW0D4uR/fwxDrKUa+iEY9UWvGREu2ZyB8ylTENM1SH8F7bVC9ac9+si3LWNxcBuA== +"@typescript-eslint/types@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.20.0.tgz#c6cf5ef3c9b1c8f699a9bbdafb7a1da1ca781225" + integrity sha512-cYY+1PIjei1nk49JAPnH1VEnu7OYdWRdJhYI5wiKOUMhLTG1qsx5cQxCUTuwWCmQoyriadz3Ni8HZmGSofeC+w== "@typescript-eslint/typescript-estree@4.17.0": version "4.17.0" @@ -972,13 +964,13 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/typescript-estree@4.19.0": - version "4.19.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.19.0.tgz#8a709ffa400284ab72df33376df085e2e2f61147" - integrity sha512-3xqArJ/A62smaQYRv2ZFyTA+XxGGWmlDYrsfZG68zJeNbeqRScnhf81rUVa6QG4UgzHnXw5VnMT5cg75dQGDkA== +"@typescript-eslint/typescript-estree@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.20.0.tgz#8b3b08f85f18a8da5d88f65cb400f013e88ab7be" + integrity sha512-Knpp0reOd4ZsyoEJdW8i/sK3mtZ47Ls7ZHvD8WVABNx5Xnn7KhenMTRGegoyMTx6TiXlOVgMz9r0pDgXTEEIHA== dependencies: - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/visitor-keys" "4.19.0" + "@typescript-eslint/types" "4.20.0" + "@typescript-eslint/visitor-keys" "4.20.0" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" @@ -993,12 +985,12 @@ "@typescript-eslint/types" "4.17.0" eslint-visitor-keys "^2.0.0" -"@typescript-eslint/visitor-keys@4.19.0": - version "4.19.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.19.0.tgz#cbea35109cbd9b26e597644556be4546465d8f7f" - integrity sha512-aGPS6kz//j7XLSlgpzU2SeTqHPsmRYxFztj2vPuMMFJXZudpRSehE3WCV+BaxwZFvfAqMoSd86TEuM0PQ59E/A== +"@typescript-eslint/visitor-keys@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.20.0.tgz#1e84db034da13f208325e6bfc995c3b75f7dbd62" + integrity sha512-NXKRM3oOVQL8yNFDNCZuieRIwZ5UtjNLYtmMx2PacEAGmbaEYtGgVHUHVyZvU/0rYZcizdrWjDo+WBtRPSgq+A== dependencies: - "@typescript-eslint/types" "4.19.0" + "@typescript-eslint/types" "4.20.0" eslint-visitor-keys "^2.0.0" JSONStream@^1.0.4: @@ -2200,16 +2192,21 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +esbuild@^0.10.2: + version "0.10.2" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.10.2.tgz#caa65a8f3096d547d89159918039df6c5c6c90be" + integrity sha512-/5vsZD7wTJJHC3yNXLUjXNvUDwqwNoIMvFvLd9tcDQ9el5l13pspYm3yufavjIeYvNtAbo+6N/6uoWx9dGA6ug== + +esbuild@^0.11.1: + version "0.11.1" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.11.1.tgz#8b11cda40909b8736466547718e453ee146f655a" + integrity sha512-aqhODgreee+PW3vFG96/jtVgzGYqDoUncOk2XEwEquJH/NrfvPtigqkth1QSAMrv/44Z/7pKxmcL6RTJm2L3Og== + esbuild@^0.9.3: version "0.9.3" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.9.3.tgz#09293a0b824159c6aa2488d1c6c22f57d8448f74" integrity sha512-G8k0olucZp3LJ7I/p8y388t+IEyb2Y78nHrLeIxuqZqh6TYqDYP/B/7drAvYKfh83CGwKal9txVP+FTypsPJug== -esbuild@^0.9.7: - version "0.9.7" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.9.7.tgz#ea0d639cbe4b88ec25fbed4d6ff00c8d788ef70b" - integrity sha512-VtUf6aQ89VTmMLKrWHYG50uByMF4JQlVysb8dmg6cOgW8JnFCipmz7p+HNBl+RR3LLCuBxFGVauAe2wfnF9bLg== - escalade@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -2279,10 +2276,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.22.0: - version "7.22.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.22.0.tgz#07ecc61052fec63661a2cab6bd507127c07adc6f" - integrity sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg== +eslint@^7.23.0: + version "7.23.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.23.0.tgz#8d029d252f6e8cf45894b4bee08f5493f8e94325" + integrity sha512-kqvNVbdkjzpFy0XOszNwjkKzZ+6TcwCQ/h+ozlcIWwaimBBuhlQ4nN6kbiM2L+OjDcznkTJxzYfRFH92sx4a0Q== dependencies: "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.4.0" @@ -2365,11 +2362,6 @@ estree-walker@^1.0.1: resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== -estree-walker@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - esutils@^2.0.2: version "2.0.3" resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -3092,10 +3084,10 @@ human-signals@^2.1.0: resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -husky@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/husky/-/husky-5.2.0.tgz#fc5e1c2300d34855d47de4753607d00943fc0802" - integrity sha512-AM8T/auHXRBxlrfPVLKP6jt49GCM2Zz47m8G3FOMsLmTv8Dj/fKVWE0Rh2d4Qrvmy131xEsdQnb3OXRib67PGg== +husky@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/husky/-/husky-6.0.0.tgz#810f11869adf51604c32ea577edbc377d7f9319e" + integrity sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ== iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" @@ -3960,11 +3952,6 @@ json5@2.x, json5@^2.1.2: dependencies: minimist "^1.2.5" -jsonc-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" - integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== - jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -5273,15 +5260,6 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rollup-plugin-esbuild@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-3.0.2.tgz#85a1afd59510ef143813b46f515e92a49779a60b" - integrity sha512-uq+oBCeLXF1m6g9V0qpqbPbgyq24aXBKF474BvqgxfNmTP6FZ+oVk5/pCWQ/2rfSNJs4IimNU/k0q8xMaa0iCA== - dependencies: - "@rollup/pluginutils" "^4.1.0" - joycon "^3.0.0" - jsonc-parser "^3.0.0" - rollup@^2.38.5: version "2.39.0" resolved "https://registry.npmjs.org/rollup/-/rollup-2.39.0.tgz#be4f98c9e421793a8fec82c854fb567c35e22ab6" @@ -5296,13 +5274,6 @@ rollup@^2.41.2: optionalDependencies: fsevents "~2.3.1" -rollup@^2.42.4: - version "2.42.4" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.42.4.tgz#97c910a48bd0db6aaa4271dd48745870cbbbf970" - integrity sha512-Zqv3EvNfcllBHyyEUM754npqsZw82VIjK34cDQMwrQ1d6aqxzeYu5yFb7smGkPU4C1Bj7HupIMeT6WU7uIdnMw== - optionalDependencies: - fsevents "~2.3.1" - rsvp@^4.8.4: version "4.8.5" resolved "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -6012,16 +5983,16 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tsup@^4.8.19: - version "4.8.19" - resolved "https://registry.npmjs.org/tsup/-/tsup-4.8.19.tgz#169293b49783819c33a233e4979bfac480833313" - integrity sha512-BkELaWTQqSV/+cbEl7/gQP0WerLXvkmFnMH9dX9KrZHFGqzDpdMosPZIC3UF2xvvZgmBuTTTwUJAwJsjJx3x9Q== +tsup@^4.8.21: + version "4.8.21" + resolved "https://registry.npmjs.org/tsup/-/tsup-4.8.21.tgz#15c3fc9552b3612f5ac29bc5c875d59e4cc300d8" + integrity sha512-8paK4Q0jvsbZE7v9ptsL1JxUSs83etaml2IrNBOsnTdgrHD/gq9dvxEcWU7rNdyCCh4UhUZ8RlEjRI3etZyfsw== dependencies: cac "^6.7.2" chalk "^4.1.0" chokidar "^3.5.1" debug "^4.3.1" - esbuild "^0.9.3" + esbuild "^0.10.2" execa "^5.0.0" globby "^11.0.2" joycon "^3.0.0" @@ -6211,10 +6182,10 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vite@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/vite/-/vite-2.1.2.tgz#0aecaf6d34112b24536df1a14cd8d74fdcab6e20" - integrity sha512-K96k5Nb1kywggFwZNGf/NQVZIrjMSvjebYWFIEQRu8AQWtzxatMF8/reExFXebmrfWAT3PTUk6l4zJBkpMtyVg== +vite@^2.1.4: + version "2.1.4" + resolved "https://registry.npmjs.org/vite/-/vite-2.1.4.tgz#66396823701e54cf3bfb9f73dbd386c9b4329c86" + integrity sha512-j/p0RZQvNY/auSPfazsDfo1PHtFp8ktwXPbzI6NqplzHcR3Cn/dfQWiMxL6zp8j9IWdcJP1Zfms7mxruBhStJw== dependencies: esbuild "^0.9.3" postcss "^8.2.1"