This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-booster-ui.git
The following commit(s) were added to refs/heads/main by this push:
new 3b4c3cc build: split chunks, compress files, and auto import
components on demand (#60)
3b4c3cc is described below
commit 3b4c3cc4ea1aefe98dc72b67d880a313b63797f5
Author: Fine0830 <[email protected]>
AuthorDate: Mon Apr 11 22:36:16 2022 +0800
build: split chunks, compress files, and auto import components on demand
(#60)
---
.licenserc.yaml | 2 +
.licenserc.yaml => .prettierignore | 17 +-
package-lock.json | 831 ++++++++++++++++++++-
package.json | 10 +-
public/index.html | 2 +-
src/main.ts | 3 -
src/types/auto-imports.d.ts | 52 ++
src/types/components.d.ts | 47 ++
src/views/alarm/Header.vue | 1 +
src/views/components/ConditionTags.vue | 1 +
src/views/dashboard/List.vue | 8 +-
src/views/dashboard/related/log/Header.vue | 4 +-
src/views/dashboard/related/profile/Header.vue | 2 +-
.../related/profile/components/NewTask.vue | 9 +-
src/views/dashboard/related/trace/Filter.vue | 6 +-
vue.config.js | 63 +-
16 files changed, 995 insertions(+), 63 deletions(-)
diff --git a/.licenserc.yaml b/.licenserc.yaml
index c3dd653..ad2fabf 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -28,6 +28,8 @@ header:
- '.gitignore'
- '.prettierrc'
- '.browserslistrc'
+ - 'src/types/auto-imports.d.ts'
+ - 'src/types/components.d.ts'
- '**/*.md'
- '**/*.json'
diff --git a/.licenserc.yaml b/.prettierignore
similarity index 74%
copy from .licenserc.yaml
copy to .prettierignore
index c3dd653..ac02a94 100644
--- a/.licenserc.yaml
+++ b/.prettierignore
@@ -16,19 +16,6 @@
# specific language governing permissions and limitations
# under the License.
#
-header:
- license:
- spdx-id: Apache-2.0
- copyright-owner: Apache Software Foundation
- paths-ignore:
- - 'lib'
- - 'dist'
- - 'LICENSE'
- - '.gitignore'
- - '.prettierrc'
- - '.browserslistrc'
- - '**/*.md'
- - '**/*.json'
-
- comment: on-failure
+/src/types/auto-imports.d.ts
+/src/types/components.d.ts
diff --git a/package-lock.json b/package-lock.json
index c2b5554..dc50ee4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "skywalking-booster-ui",
- "version": "0.1.0",
+ "version": "9.1.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "skywalking-booster-ui",
- "version": "0.1.0",
+ "version": "9.1.0",
"dependencies": {
"axios": "^0.24.0",
"d3": "^7.3.0",
@@ -44,6 +44,7 @@
"@vue/eslint-config-typescript": "^7.0.0",
"@vue/test-utils": "^2.0.0-0",
"babel-jest": "^24.9.0",
+ "compression-webpack-plugin": "^6.1.1",
"eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-vue": "^7.0.0",
@@ -61,9 +62,20 @@
"stylelint-order": "^5.0.0",
"svg-sprite-loader": "^6.0.11",
"typescript": "~4.4.4",
+ "unplugin-auto-import": "^0.7.0",
+ "unplugin-vue-components": "^0.19.2",
"vue-jest": "^5.0.0-0"
}
},
+ "node_modules/@antfu/utils": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.5.1.tgz",
+ "integrity":
"sha512-8Afo0+xvYe1K8Wm4xHTymfTkpzy36aaqDvhXIayUwl+mecMG9Xzl3XjXa6swG6Bk8FBeQ646RyvmsYt6+2Be9g==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
"node_modules/@babel/code-frame": {
"version": "7.16.7",
"resolved":
"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
@@ -1807,6 +1819,12 @@
"vue": "^3.2.0"
}
},
+ "node_modules/@gar/promisify": {
+ "version": "1.1.3",
+ "resolved":
"https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+ "integrity":
"sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+ "dev": true
+ },
"node_modules/@hapi/address": {
"version": "2.1.4",
"resolved":
"https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
@@ -2789,6 +2807,80 @@
"node": ">= 8"
}
},
+ "node_modules/@npmcli/fs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
+ "integrity":
"sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "dev": true,
+ "dependencies": {
+ "@gar/promisify": "^1.0.1",
+ "semver": "^7.3.5"
+ }
+ },
+ "node_modules/@npmcli/fs/node_modules/lru-cache": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz",
+ "integrity":
"sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@npmcli/fs/node_modules/semver": {
+ "version": "7.3.6",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz",
+ "integrity":
"sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^7.4.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@npmcli/move-file": {
+ "version": "1.1.2",
+ "resolved":
"https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
+ "integrity":
"sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "dev": true,
+ "dependencies": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@npmcli/move-file/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity":
"sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true,
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@npmcli/move-file/node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity":
"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/@popperjs/core": {
"version": "2.11.2",
"resolved":
"https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz",
@@ -2798,6 +2890,19 @@
"url": "https://opencollective.com/popperjs"
}
},
+ "node_modules/@rollup/pluginutils": {
+ "version": "4.2.0",
+ "resolved":
"https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.0.tgz",
+ "integrity":
"sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA==",
+ "dev": true,
+ "dependencies": {
+ "estree-walker": "^2.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
"node_modules/@soda/friendly-errors-webpack-plugin": {
"version": "1.8.1",
"resolved":
"https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz",
@@ -7286,10 +7391,16 @@
"dev": true
},
"node_modules/chokidar": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
- "integrity":
"sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity":
"sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -7884,6 +7995,154 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/compression-webpack-plugin": {
+ "version": "6.1.1",
+ "resolved":
"https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-6.1.1.tgz",
+ "integrity":
"sha512-BEHft9M6lwOqVIQFMS/YJGmeCYXVOakC5KzQk05TFpMBlODByh1qNsZCWjUBxCQhUP9x0WfGidxTbGkjbWO/TQ==",
+ "dev": true,
+ "dependencies": {
+ "cacache": "^15.0.5",
+ "find-cache-dir": "^3.3.1",
+ "schema-utils": "^3.0.0",
+ "serialize-javascript": "^5.0.1",
+ "webpack-sources": "^1.4.3"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/compression-webpack-plugin/node_modules/cacache": {
+ "version": "15.3.0",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
+ "integrity":
"sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "dev": true,
+ "dependencies": {
+ "@npmcli/fs": "^1.0.0",
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.1",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/compression-webpack-plugin/node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity":
"sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/compression-webpack-plugin/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity":
"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/compression-webpack-plugin/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity":
"sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true,
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/compression-webpack-plugin/node_modules/p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity":
"sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/compression-webpack-plugin/node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity":
"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/compression-webpack-plugin/node_modules/schema-utils": {
+ "version": "3.1.1",
+ "resolved":
"https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity":
"sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+
"node_modules/compression-webpack-plugin/node_modules/serialize-javascript": {
+ "version": "5.0.1",
+ "resolved":
"https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
+ "integrity":
"sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+ "dev": true,
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/compression-webpack-plugin/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity":
"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
"node_modules/compression/node_modules/bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -9545,9 +9804,9 @@
}
},
"node_modules/debug": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
- "integrity":
"sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity":
"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
"ms": "2.1.2"
@@ -11509,9 +11768,9 @@
"dev": true
},
"node_modules/fast-glob": {
- "version": "3.2.10",
- "resolved":
"https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.10.tgz",
- "integrity":
"sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==",
+ "version": "3.2.11",
+ "resolved":
"https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
+ "integrity":
"sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
"dev": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
@@ -17450,6 +17709,18 @@
"json5": "lib/cli.js"
}
},
+ "node_modules/local-pkg": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.1.tgz",
+ "integrity":
"sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
"node_modules/locate-path": {
"version": "5.0.0",
"resolved":
"https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -18047,6 +18318,42 @@
"node": ">=8"
}
},
+ "node_modules/minipass-collect": {
+ "version": "1.0.2",
+ "resolved":
"https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+ "integrity":
"sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-flush": {
+ "version": "1.0.5",
+ "resolved":
"https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+ "integrity":
"sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-pipeline": {
+ "version": "1.2.4",
+ "resolved":
"https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+ "integrity":
"sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/minipass/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -22400,12 +22707,12 @@
"dev": true
},
"node_modules/resolve": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
- "integrity":
"sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==",
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+ "integrity":
"sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
"dev": true,
"dependencies": {
- "is-core-module": "^2.8.0",
+ "is-core-module": "^2.8.1",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -26397,6 +26704,156 @@
"node": ">= 0.8"
}
},
+ "node_modules/unplugin": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-0.6.1.tgz",
+ "integrity":
"sha512-cQqRCgQ2v/Q4fPIWNVZ6sNIDdl5v8JXOnlsUOsGzT4fblTONoPWaytiYSpu5qJ9lvSDZYAQN6BRVo3XQoZMfUQ==",
+ "dev": true,
+ "dependencies": {
+ "chokidar": "^3.5.3",
+ "webpack-sources": "^3.2.3",
+ "webpack-virtual-modules": "^0.4.3"
+ },
+ "peerDependencies": {
+ "esbuild": ">=0.13",
+ "rollup": "^2.50.0",
+ "vite": "^2.3.0",
+ "webpack": "4 || 5"
+ },
+ "peerDependenciesMeta": {
+ "esbuild": {
+ "optional": true
+ },
+ "rollup": {
+ "optional": true
+ },
+ "vite": {
+ "optional": true
+ },
+ "webpack": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin-auto-import": {
+ "version": "0.7.0",
+ "resolved":
"https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.7.0.tgz",
+ "integrity":
"sha512-40oC7bxzSyyvJI4mXmk8gDD7gKjR10gYkeWBu/UigK8TusXwUsJOjwvIr+REgzOMBGH/5pUiVMoBYEZrLejk3w==",
+ "dev": true,
+ "dependencies": {
+ "@antfu/utils": "^0.5.0",
+ "@rollup/pluginutils": "^4.2.0",
+ "local-pkg": "^0.4.1",
+ "magic-string": "^0.26.1",
+ "resolve": "^1.22.0",
+ "unplugin": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vueuse/core": "*"
+ },
+ "peerDependenciesMeta": {
+ "@vueuse/core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin-auto-import/node_modules/magic-string": {
+ "version": "0.26.1",
+ "resolved":
"https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz",
+ "integrity":
"sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==",
+ "dev": true,
+ "dependencies": {
+ "sourcemap-codec": "^1.4.8"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/unplugin-vue-components": {
+ "version": "0.19.2",
+ "resolved":
"https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.19.2.tgz",
+ "integrity":
"sha512-7DhQfTyHLyVIWR6VBQONLU6dDBOXtEYvZQYUpN9C+t11WOb5baIFoxfzDxkeFHTHGMhznyEOw6afHyV9JKWnig==",
+ "dev": true,
+ "dependencies": {
+ "@antfu/utils": "^0.5.0",
+ "@rollup/pluginutils": "^4.2.0",
+ "chokidar": "^3.5.3",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.2.11",
+ "local-pkg": "^0.4.1",
+ "magic-string": "^0.26.1",
+ "minimatch": "^5.0.1",
+ "resolve": "^1.22.0",
+ "unplugin": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@babel/parser": "^7.15.8",
+ "@babel/traverse": "^7.15.4",
+ "vue": "2 || 3"
+ },
+ "peerDependenciesMeta": {
+ "@babel/parser": {
+ "optional": true
+ },
+ "@babel/traverse": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved":
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity":
"sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/magic-string": {
+ "version": "0.26.1",
+ "resolved":
"https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz",
+ "integrity":
"sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==",
+ "dev": true,
+ "dependencies": {
+ "sourcemap-codec": "^1.4.8"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/minimatch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity":
"sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/unplugin/node_modules/webpack-sources": {
+ "version": "3.2.3",
+ "resolved":
"https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity":
"sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
"node_modules/unquote": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
@@ -28102,6 +28559,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.4.3",
+ "resolved":
"https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.3.tgz",
+ "integrity":
"sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==",
+ "dev": true
+ },
"node_modules/webpack/node_modules/acorn": {
"version": "6.4.2",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
@@ -28746,6 +29209,12 @@
}
},
"dependencies": {
+ "@antfu/utils": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.5.1.tgz",
+ "integrity":
"sha512-8Afo0+xvYe1K8Wm4xHTymfTkpzy36aaqDvhXIayUwl+mecMG9Xzl3XjXa6swG6Bk8FBeQ646RyvmsYt6+2Be9g==",
+ "dev": true
+ },
"@babel/code-frame": {
"version": "7.16.7",
"resolved":
"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
@@ -29965,6 +30434,12 @@
"integrity":
"sha512-S8kDbfVaWkQvbUYQE1ui448tzaHfUvyESCep9J6uPRlViyQPXjdIfwLBhV6AmQSOfFS8rL+xehJGhvzPXLrSBg==",
"requires": {}
},
+ "@gar/promisify": {
+ "version": "1.1.3",
+ "resolved":
"https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+ "integrity":
"sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+ "dev": true
+ },
"@hapi/address": {
"version": "2.1.4",
"resolved":
"https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
@@ -30750,11 +31225,75 @@
"fastq": "^1.6.0"
}
},
+ "@npmcli/fs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
+ "integrity":
"sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "dev": true,
+ "requires": {
+ "@gar/promisify": "^1.0.1",
+ "semver": "^7.3.5"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "7.8.1",
+ "resolved":
"https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz",
+ "integrity":
"sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==",
+ "dev": true
+ },
+ "semver": {
+ "version": "7.3.6",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz",
+ "integrity":
"sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^7.4.0"
+ }
+ }
+ }
+ },
+ "@npmcli/move-file": {
+ "version": "1.1.2",
+ "resolved":
"https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
+ "integrity":
"sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity":
"sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity":
"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
"@popperjs/core": {
"version": "2.11.2",
"resolved":
"https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz",
"integrity":
"sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA=="
},
+ "@rollup/pluginutils": {
+ "version": "4.2.0",
+ "resolved":
"https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.0.tgz",
+ "integrity":
"sha512-2WUyJNRkyH5p487pGnn4tWAsxhEFKN/pT8CMgHshd5H+IXkOnKvKZwsz5ZWz+YCXkleZRAU5kwbfgF8CPfDRqA==",
+ "dev": true,
+ "requires": {
+ "estree-walker": "^2.0.1",
+ "picomatch": "^2.2.2"
+ }
+ },
"@soda/friendly-errors-webpack-plugin": {
"version": "1.8.1",
"resolved":
"https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz",
@@ -34463,9 +35002,9 @@
"dev": true
},
"chokidar": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
- "integrity":
"sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity":
"sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
"requires": {
"anymatch": "~3.1.2",
@@ -34953,6 +35492,112 @@
}
}
},
+ "compression-webpack-plugin": {
+ "version": "6.1.1",
+ "resolved":
"https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-6.1.1.tgz",
+ "integrity":
"sha512-BEHft9M6lwOqVIQFMS/YJGmeCYXVOakC5KzQk05TFpMBlODByh1qNsZCWjUBxCQhUP9x0WfGidxTbGkjbWO/TQ==",
+ "dev": true,
+ "requires": {
+ "cacache": "^15.0.5",
+ "find-cache-dir": "^3.3.1",
+ "schema-utils": "^3.0.0",
+ "serialize-javascript": "^5.0.1",
+ "webpack-sources": "^1.4.3"
+ },
+ "dependencies": {
+ "cacache": {
+ "version": "15.3.0",
+ "resolved":
"https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
+ "integrity":
"sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "dev": true,
+ "requires": {
+ "@npmcli/fs": "^1.0.0",
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.1",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ }
+ },
+ "chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity":
"sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved":
"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity":
"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity":
"sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ },
+ "p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity":
"sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
+ "requires": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity":
"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "schema-utils": {
+ "version": "3.1.1",
+ "resolved":
"https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity":
"sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ },
+ "serialize-javascript": {
+ "version": "5.0.1",
+ "resolved":
"https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
+ "integrity":
"sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity":
"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
"concat-map": {
"version": "0.0.1",
"resolved":
"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -36241,9 +36886,9 @@
}
},
"debug": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
- "integrity":
"sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity":
"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"requires": {
"ms": "2.1.2"
@@ -37787,9 +38432,9 @@
"dev": true
},
"fast-glob": {
- "version": "3.2.10",
- "resolved":
"https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.10.tgz",
- "integrity":
"sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==",
+ "version": "3.2.11",
+ "resolved":
"https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
+ "integrity":
"sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
"dev": true,
"requires": {
"@nodelib/fs.stat": "^2.0.2",
@@ -42411,6 +43056,12 @@
}
}
},
+ "local-pkg": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.1.tgz",
+ "integrity":
"sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==",
+ "dev": true
+ },
"locate-path": {
"version": "5.0.0",
"resolved":
"https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -42901,6 +43552,33 @@
}
}
},
+ "minipass-collect": {
+ "version": "1.0.2",
+ "resolved":
"https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+ "integrity":
"sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-flush": {
+ "version": "1.0.5",
+ "resolved":
"https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+ "integrity":
"sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-pipeline": {
+ "version": "1.2.4",
+ "resolved":
"https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+ "integrity":
"sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
"minizlib": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
@@ -46271,12 +46949,12 @@
"dev": true
},
"resolve": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
- "integrity":
"sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==",
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+ "integrity":
"sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
"dev": true,
"requires": {
- "is-core-module": "^2.8.0",
+ "is-core-module": "^2.8.1",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
}
@@ -49480,6 +50158,97 @@
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"dev": true
},
+ "unplugin": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-0.6.1.tgz",
+ "integrity":
"sha512-cQqRCgQ2v/Q4fPIWNVZ6sNIDdl5v8JXOnlsUOsGzT4fblTONoPWaytiYSpu5qJ9lvSDZYAQN6BRVo3XQoZMfUQ==",
+ "dev": true,
+ "requires": {
+ "chokidar": "^3.5.3",
+ "webpack-sources": "^3.2.3",
+ "webpack-virtual-modules": "^0.4.3"
+ },
+ "dependencies": {
+ "webpack-sources": {
+ "version": "3.2.3",
+ "resolved":
"https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity":
"sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "dev": true
+ }
+ }
+ },
+ "unplugin-auto-import": {
+ "version": "0.7.0",
+ "resolved":
"https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.7.0.tgz",
+ "integrity":
"sha512-40oC7bxzSyyvJI4mXmk8gDD7gKjR10gYkeWBu/UigK8TusXwUsJOjwvIr+REgzOMBGH/5pUiVMoBYEZrLejk3w==",
+ "dev": true,
+ "requires": {
+ "@antfu/utils": "^0.5.0",
+ "@rollup/pluginutils": "^4.2.0",
+ "local-pkg": "^0.4.1",
+ "magic-string": "^0.26.1",
+ "resolve": "^1.22.0",
+ "unplugin": "^0.6.1"
+ },
+ "dependencies": {
+ "magic-string": {
+ "version": "0.26.1",
+ "resolved":
"https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz",
+ "integrity":
"sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==",
+ "dev": true,
+ "requires": {
+ "sourcemap-codec": "^1.4.8"
+ }
+ }
+ }
+ },
+ "unplugin-vue-components": {
+ "version": "0.19.2",
+ "resolved":
"https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.19.2.tgz",
+ "integrity":
"sha512-7DhQfTyHLyVIWR6VBQONLU6dDBOXtEYvZQYUpN9C+t11WOb5baIFoxfzDxkeFHTHGMhznyEOw6afHyV9JKWnig==",
+ "dev": true,
+ "requires": {
+ "@antfu/utils": "^0.5.0",
+ "@rollup/pluginutils": "^4.2.0",
+ "chokidar": "^3.5.3",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.2.11",
+ "local-pkg": "^0.4.1",
+ "magic-string": "^0.26.1",
+ "minimatch": "^5.0.1",
+ "resolve": "^1.22.0",
+ "unplugin": "^0.6.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved":
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity":
"sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "magic-string": {
+ "version": "0.26.1",
+ "resolved":
"https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz",
+ "integrity":
"sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==",
+ "dev": true,
+ "requires": {
+ "sourcemap-codec": "^1.4.8"
+ }
+ },
+ "minimatch": {
+ "version": "5.0.1",
+ "resolved":
"https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity":
"sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
+ }
+ },
"unquote": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
@@ -51025,6 +51794,12 @@
}
}
},
+ "webpack-virtual-modules": {
+ "version": "0.4.3",
+ "resolved":
"https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.3.tgz",
+ "integrity":
"sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==",
+ "dev": true
+ },
"websocket-driver": {
"version": "0.7.4",
"resolved":
"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
diff --git a/package.json b/package.json
index 1a496fe..86932e9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "skywalking-booster-ui",
- "version": "0.1.0",
+ "version": "9.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
@@ -46,6 +46,7 @@
"@vue/eslint-config-typescript": "^7.0.0",
"@vue/test-utils": "^2.0.0-0",
"babel-jest": "^24.9.0",
+ "compression-webpack-plugin": "^6.1.1",
"eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-vue": "^7.0.0",
@@ -63,6 +64,8 @@
"stylelint-order": "^5.0.0",
"svg-sprite-loader": "^6.0.11",
"typescript": "~4.4.4",
+ "unplugin-auto-import": "^0.7.0",
+ "unplugin-vue-components": "^0.19.2",
"vue-jest": "^5.0.0-0"
},
"eslintConfig": {
@@ -103,6 +106,9 @@
}
]
},
+ "eslintIgnore": [
+ "vue.config.js"
+ ],
"browserslist": [
"> 1%",
"last 2 versions",
@@ -133,7 +139,7 @@
"package.json": [
"prettier --write"
],
- "*.{scss,less,styl,html}": [
+ "*.{scss,less,styl}": [
"stylelint --fix",
"prettier --write"
],
diff --git a/public/index.html b/public/index.html
index 8da5ada..ace7544 100644
--- a/public/index.html
+++ b/public/index.html
@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied.
See the License for the specific language governing permissions and
limitations under the License. -->
<!DOCTYPE html>
-<html lang="">
+<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
diff --git a/src/main.ts b/src/main.ts
index 962c2f0..f9694ae 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -20,13 +20,10 @@ import router from "./router";
import { store } from "./store";
import components from "@/components";
import i18n from "./locales";
-import "element-plus/dist/index.css";
import "./styles/index.scss";
-import ElementPlus from "element-plus";
const app = createApp(App);
-app.use(ElementPlus, { size: "small", zIndex: 3000 });
app.use(components);
app.use(i18n);
app.use(store);
diff --git a/src/types/auto-imports.d.ts b/src/types/auto-imports.d.ts
new file mode 100644
index 0000000..753c275
--- /dev/null
+++ b/src/types/auto-imports.d.ts
@@ -0,0 +1,52 @@
+// Generated by 'unplugin-auto-import'
+// We suggest you to commit this file into source control
+declare global {
+ const computed: typeof import('vue')['computed']
+ const createApp: typeof import('vue')['createApp']
+ const customRef: typeof import('vue')['customRef']
+ const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
+ const defineComponent: typeof import('vue')['defineComponent']
+ const effectScope: typeof import('vue')['effectScope']
+ const EffectScope: typeof import('vue')['EffectScope']
+ const getCurrentInstance: typeof import('vue')['getCurrentInstance']
+ const getCurrentScope: typeof import('vue')['getCurrentScope']
+ const h: typeof import('vue')['h']
+ const inject: typeof import('vue')['inject']
+ const isReadonly: typeof import('vue')['isReadonly']
+ const isRef: typeof import('vue')['isRef']
+ const markRaw: typeof import('vue')['markRaw']
+ const nextTick: typeof import('vue')['nextTick']
+ const onActivated: typeof import('vue')['onActivated']
+ const onBeforeMount: typeof import('vue')['onBeforeMount']
+ const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
+ const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
+ const onDeactivated: typeof import('vue')['onDeactivated']
+ const onErrorCaptured: typeof import('vue')['onErrorCaptured']
+ const onMounted: typeof import('vue')['onMounted']
+ const onRenderTracked: typeof import('vue')['onRenderTracked']
+ const onRenderTriggered: typeof import('vue')['onRenderTriggered']
+ const onScopeDispose: typeof import('vue')['onScopeDispose']
+ const onServerPrefetch: typeof import('vue')['onServerPrefetch']
+ const onUnmounted: typeof import('vue')['onUnmounted']
+ const onUpdated: typeof import('vue')['onUpdated']
+ const provide: typeof import('vue')['provide']
+ const reactive: typeof import('vue')['reactive']
+ const readonly: typeof import('vue')['readonly']
+ const ref: typeof import('vue')['ref']
+ const resolveComponent: typeof import('vue')['resolveComponent']
+ const shallowReactive: typeof import('vue')['shallowReactive']
+ const shallowReadonly: typeof import('vue')['shallowReadonly']
+ const shallowRef: typeof import('vue')['shallowRef']
+ const toRaw: typeof import('vue')['toRaw']
+ const toRef: typeof import('vue')['toRef']
+ const toRefs: typeof import('vue')['toRefs']
+ const triggerRef: typeof import('vue')['triggerRef']
+ const unref: typeof import('vue')['unref']
+ const useAttrs: typeof import('vue')['useAttrs']
+ const useCssModule: typeof import('vue')['useCssModule']
+ const useCssVars: typeof import('vue')['useCssVars']
+ const useSlots: typeof import('vue')['useSlots']
+ const watch: typeof import('vue')['watch']
+ const watchEffect: typeof import('vue')['watchEffect']
+}
+export {}
diff --git a/src/types/components.d.ts b/src/types/components.d.ts
new file mode 100644
index 0000000..98d9902
--- /dev/null
+++ b/src/types/components.d.ts
@@ -0,0 +1,47 @@
+// generated by unplugin-vue-components
+// We suggest you to commit this file into source control
+// Read more: https://github.com/vuejs/vue-next/pull/3399
+
+declare module '@vue/runtime-core' {
+ export interface GlobalComponents {
+ DateCalendar: typeof import('./../components/DateCalendar.vue')['default']
+ ElButton: typeof import('element-plus/es')['ElButton']
+ ElCollapse: typeof import('element-plus/es')['ElCollapse']
+ ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
+ ElDialog: typeof import('element-plus/es')['ElDialog']
+ ElDropdown: typeof import('element-plus/es')['ElDropdown']
+ ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
+ ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
+ ElIcon: typeof import('element-plus/es')['ElIcon']
+ ElInput: typeof import('element-plus/es')['ElInput']
+ ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
+ ElMenu: typeof import('element-plus/es')['ElMenu']
+ ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
+ ElMenuItemGroup: typeof import('element-plus/es')['ElMenuItemGroup']
+ ElOption: typeof import('element-plus/es')['ElOption']
+ ElPagination: typeof import('element-plus/es')['ElPagination']
+ ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm']
+ ElPopover: typeof import('element-plus/es')['ElPopover']
+ ElProgress: typeof import('element-plus/es')['ElProgress']
+ ElRadio: typeof import('element-plus/es')['ElRadio']
+ ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
+ ElSelect: typeof import('element-plus/es')['ElSelect']
+ ElSlider: typeof import('element-plus/es')['ElSlider']
+ ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
+ ElSwitch: typeof import('element-plus/es')['ElSwitch']
+ ElTable: typeof import('element-plus/es')['ElTable']
+ ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
+ ElTooltip: typeof import('element-plus/es')['ElTooltip']
+ Graph: typeof import('./../components/Graph.vue')['default']
+ Icon: typeof import('./../components/Icon.vue')['default']
+ Loading: typeof import('element-plus/es')['ElLoadingDirective']
+ Radio: typeof import('./../components/Radio.vue')['default']
+ RouterLink: typeof import('vue-router')['RouterLink']
+ RouterView: typeof import('vue-router')['RouterView']
+ Selector: typeof import('./../components/Selector.vue')['default']
+ SelectSingle: typeof import('./../components/SelectSingle.vue')['default']
+ TimePicker: typeof import('./../components/TimePicker.vue')['default']
+ }
+}
+
+export { }
diff --git a/src/views/alarm/Header.vue b/src/views/alarm/Header.vue
index c1f2dd4..3b9bb4c 100644
--- a/src/views/alarm/Header.vue
+++ b/src/views/alarm/Header.vue
@@ -29,6 +29,7 @@ limitations under the License. -->
<div class="mr-10 ml-10">
<span class="grey">{{ t("searchKeyword") }}: </span>
<el-input
+ size="small"
v-model="keyword"
class="alarm-tool-input"
@change="refreshAlarms({ pageNum: 1 })"
diff --git a/src/views/components/ConditionTags.vue
b/src/views/components/ConditionTags.vue
index f85bae9..d4b1421 100644
--- a/src/views/components/ConditionTags.vue
+++ b/src/views/components/ConditionTags.vue
@@ -26,6 +26,7 @@ limitations under the License. -->
</span>
</span>
<el-input
+ size="small"
v-model="tags"
class="trace-new-tag"
@change="addLabels"
diff --git a/src/views/dashboard/List.vue b/src/views/dashboard/List.vue
index 74e654c..99f62b5 100644
--- a/src/views/dashboard/List.vue
+++ b/src/views/dashboard/List.vue
@@ -28,7 +28,7 @@ limitations under the License. -->
</el-button>
</template>
</el-input>
- <el-button class="ml-10" size="small" @click="reloadTemplates">
+ <el-button class="ml-10 reload-btn" size="small"
@click="reloadTemplates">
<Icon size="sm" iconName="retry" class="reload" />
{{ t("reloadDashboards") }}
</el-button>
@@ -47,6 +47,7 @@ limitations under the License. -->
:default-sort="{ prop: 'name' }"
@selection-change="handleSelectionChange"
height="637px"
+ size="small"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="name" label="Name">
@@ -457,4 +458,9 @@ function changePage(pageIndex: number) {
.reload {
margin-right: 3px;
}
+
+.reload-btn {
+ display: inline-block;
+ margin-left: 10px;
+}
</style>
diff --git a/src/views/dashboard/related/log/Header.vue
b/src/views/dashboard/related/log/Header.vue
index 9ba7987..05494e2 100644
--- a/src/views/dashboard/related/log/Header.vue
+++ b/src/views/dashboard/related/log/Header.vue
@@ -57,7 +57,7 @@ limitations under the License. -->
<div class="flex-h row">
<div class="mr-5 traceId" v-show="!isBrowser">
<span class="grey mr-5">{{ t("traceID") }}:</span>
- <el-input v-model="traceId" class="inputs-max" />
+ <el-input v-model="traceId" class="inputs-max" size="small" />
</div>
<ConditionTags :type="'LOG'" @update="updateTags" />
</div>
@@ -75,6 +75,7 @@ limitations under the License. -->
</span>
</span>
<el-input
+ size="small"
class="inputs-max"
:placeholder="t('addKeywordsOfContent')"
v-model="contentStr"
@@ -97,6 +98,7 @@ limitations under the License. -->
</span>
<el-input
class="inputs-max"
+ size="small"
:placeholder="t('addExcludingKeywordsOfContent')"
v-model="excludingContentStr"
@change="addLabels('excludingKeywordsOfContent')"
diff --git a/src/views/dashboard/related/profile/Header.vue
b/src/views/dashboard/related/profile/Header.vue
index 6fd3333..e221539 100644
--- a/src/views/dashboard/related/profile/Header.vue
+++ b/src/views/dashboard/related/profile/Header.vue
@@ -26,7 +26,7 @@ limitations under the License. -->
</div> -->
<div class="mr-10">
<span class="grey mr-5">{{ t("endpointName") }}:</span>
- <el-input v-model="endpointName" class="name" />
+ <el-input v-model="endpointName" class="name" size="small" />
</div>
<el-button
class="search-btn"
diff --git a/src/views/dashboard/related/profile/components/NewTask.vue
b/src/views/dashboard/related/profile/components/NewTask.vue
index 81ad909..f5c4401 100644
--- a/src/views/dashboard/related/profile/components/NewTask.vue
+++ b/src/views/dashboard/related/profile/components/NewTask.vue
@@ -17,7 +17,7 @@ limitations under the License. -->
<div class="profile-task">
<div>
<div class="label">{{ t("endpointName") }}</div>
- <el-input v-model="endpointName" class="profile-input" />
+ <el-input v-model="endpointName" class="profile-input" size="small" />
</div>
<div>
<div class="label">{{ t("monitorTime") }}</div>
@@ -49,7 +49,12 @@ limitations under the License. -->
</div>
<div>
<div class="label">{{ t("minThreshold") }} (ms)</div>
- <el-input-number class="profile-input" :min="0" v-model="minThreshold" />
+ <el-input-number
+ size="small"
+ class="profile-input"
+ :min="0"
+ v-model="minThreshold"
+ />
</div>
<div>
<div class="label">{{ t("dumpPeriod") }}</div>
diff --git a/src/views/dashboard/related/trace/Filter.vue
b/src/views/dashboard/related/trace/Filter.vue
index 82214c1..d527569 100644
--- a/src/views/dashboard/related/trace/Filter.vue
+++ b/src/views/dashboard/related/trace/Filter.vue
@@ -58,7 +58,7 @@ limitations under the License. -->
</div>
<div class="mr-5">
<span class="grey mr-5">{{ t("traceID") }}:</span>
- <el-input v-model="traceId" class="traceId" />
+ <el-input size="small" v-model="traceId" class="traceId" />
</div>
</div>
<div class="flex-h">
@@ -73,9 +73,9 @@ limitations under the License. -->
</div> -->
<div class="mr-5">
<span class="sm b grey mr-5">{{ t("duration") }}:</span>
- <el-input class="inputs mr-5" v-model="minTraceDuration" />
+ <el-input size="small" class="inputs mr-5" v-model="minTraceDuration" />
<span class="grey mr-5">-</span>
- <el-input class="inputs" v-model="maxTraceDuration" />
+ <el-input size="small" class="inputs" v-model="maxTraceDuration" />
</div>
<ConditionTags :type="'TRACE'" @update="updateTags" />
<el-button
diff --git a/vue.config.js b/vue.config.js
index 23116e2..e339955 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -14,6 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
+const CompressionWebpackPlugin = require("compression-webpack-plugin");
+const AutoImport = require("unplugin-auto-import/webpack");
+const Components = require("unplugin-vue-components/webpack");
+const { ElementPlusResolver } = require("unplugin-vue-components/resolvers");
+
module.exports = {
outputDir: "dist",
productionSourceMap: false,
@@ -25,6 +31,9 @@ module.exports = {
},
},
},
+ css: {
+ extract: { ignoreOrder: true },
+ },
chainWebpack: (config) => {
config.plugin("html").tap((args) => {
args[0].title = "Apache SkyWalking";
@@ -46,20 +55,62 @@ module.exports = {
splitChunks: {
chunks: "all",
minSize: 20000,
- maxSize: 2000000,
+ minChunks: 1,
+ maxAsyncRequests: 30,
+ maxInitialRequests: 30,
+ enforceSizeThreshold: 50000,
cacheGroups: {
echarts: {
name: "echarts",
- test: /[\\/]node_modules[\\/]echarts[\\/]/,
- priority: 20,
+ test: /[\\/]node_modules[\\/]echarts|zrender[\\/]/,
+ priority: 30,
},
elementPlus: {
- name: "elementPlus",
- test: /[\\/]node_modules[\\/]element-plus[\\/]/,
- priority: 19,
+ name: "element-plus",
+ test: /[\\/]node_modules[\\/]element-plus|@element-plus[\\/]/,
+ priority: 10,
+ },
+ defaultVendors: {
+ name: "chunk-vendors",
+ test: /[\\/]node_modules[\\/]/,
+ priority: -10,
+ chunks: "async",
+ },
+ default: {
+ name: "chunk-commons",
+ minSize: 0,
+ minChunks: 2,
+ priority: -20,
},
},
},
};
+ config.plugins.push(
+ AutoImport({
+ imports: ["vue"],
+ resolvers: [
+ ElementPlusResolver({
+ importStyle: "css",
+ exclude: new RegExp(/^(?!.*loading-directive).*$/),
+ }),
+ ],
+ dts: "./src/types/auto-imports.d.ts",
+ }),
+ Components({
+ resolvers: [ElementPlusResolver({ importStyle: "css" })],
+ dts: "./src/types/components.d.ts",
+ })
+ );
+ if (process.env.NODE_ENV === "production") {
+ const productionGzipExtensions = ["html", "js", "css"];
+ config.plugins.push(
+ new CompressionWebpackPlugin({
+ filename: "[path][base].gz",
+ algorithm: "gzip",
+ test: new RegExp("\\.(" + productionGzipExtensions.join("|") + ")$"),
+ threshold: 10240,
+ })
+ );
+ }
},
};