This is an automated email from the ASF dual-hosted git repository.
wuzhiguo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/bigtop-manager.git
The following commit(s) were added to refs/heads/main by this push:
new e32813a BIGTOP-4175: Improve the start/stop/restart operations for
services (#30)
e32813a is described below
commit e32813a365dcdf794b42a6768b88912dd9bb8356
Author: Fdefined <[email protected]>
AuthorDate: Wed Jul 31 13:56:57 2024 +0800
BIGTOP-4175: Improve the start/stop/restart operations for services (#30)
---
bigtop-manager-ui/package.json | 1 +
bigtop-manager-ui/pnpm-lock.yaml | 1625 +++++++++++++++++++-
bigtop-manager-ui/src/api/service/types.ts | 8 +
bigtop-manager-ui/src/assets/images/svg/plus.svg | 29 +
.../src/assets/images/svg/restart.svg | 26 +
bigtop-manager-ui/src/assets/images/svg/start.svg | 26 +
bigtop-manager-ui/src/assets/images/svg/stop.svg | 26 +
.../src/components/dashboard/index.vue | 6 +-
bigtop-manager-ui/src/components/job-info/task.vue | 8 +-
.../src/components/service/service-dropdown.vue | 111 +-
.../src/components/svg-icon/svg-icon.vue | 58 +
bigtop-manager-ui/src/locales/en_US/service.ts | 10 +
bigtop-manager-ui/src/locales/zh_CN/service.ts | 10 +
bigtop-manager-ui/src/main.ts | 4 +-
bigtop-manager-ui/src/pages/service/index.vue | 428 +++---
bigtop-manager-ui/src/vite-env.d.ts | 5 +-
bigtop-manager-ui/tsconfig.json | 11 +-
bigtop-manager-ui/vite.config.ts | 6 +
18 files changed, 2184 insertions(+), 214 deletions(-)
diff --git a/bigtop-manager-ui/package.json b/bigtop-manager-ui/package.json
index 9eb1623..199e5ee 100644
--- a/bigtop-manager-ui/package.json
+++ b/bigtop-manager-ui/package.json
@@ -40,6 +40,7 @@
"sass-loader": "^13.3.2",
"typescript": "^5.0.2",
"vite": "^4.4.5",
+ "vite-plugin-svg-icons": "^2.0.1",
"vue-tsc": "^1.8.5"
}
}
\ No newline at end of file
diff --git a/bigtop-manager-ui/pnpm-lock.yaml b/bigtop-manager-ui/pnpm-lock.yaml
index 3a23bb7..850c5e9 100644
--- a/bigtop-manager-ui/pnpm-lock.yaml
+++ b/bigtop-manager-ui/pnpm-lock.yaml
@@ -94,6 +94,9 @@ devDependencies:
vite:
specifier: ^4.4.5
version: 4.4.5(@types/[email protected])([email protected])
+ vite-plugin-svg-icons:
+ specifier: ^2.0.1
+ version: 2.0.1([email protected])
vue-tsc:
specifier: ^1.8.5
version: 1.8.5([email protected])
@@ -537,6 +540,11 @@ packages:
nanopop: 2.3.0
dev: false
+ /@trysound/[email protected]:
+ resolution: {integrity:
sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
+ engines: {node: '>=10.13.0'}
+ dev: true
+
/@types/[email protected]:
resolution: {integrity:
sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==}
dependencies:
@@ -575,6 +583,12 @@ packages:
resolution: {integrity:
sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
dev: true
+ /@types/[email protected]:
+ resolution: {integrity:
sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==}
+ dependencies:
+ '@types/node': 20.5.3
+ dev: true
+
/@types/[email protected]:
resolution: {integrity:
sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==}
dev: false
@@ -1022,11 +1036,21 @@ packages:
uri-js: 4.4.1
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
@@ -1077,6 +1101,29 @@ packages:
resolution: {integrity:
sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ is-array-buffer: 3.0.4
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==}
dev: false
@@ -1086,6 +1133,30 @@ packages:
engines: {node: '>=8'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ is-array-buffer: 3.0.4
+ is-shared-array-buffer: 1.0.3
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
dev: false
@@ -1094,6 +1165,19 @@ packages:
resolution: {integrity:
sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
+ engines: {node: '>= 4.5.0'}
+ hasBin: true
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ possible-typed-array-names: 1.0.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==}
dependencies:
@@ -1108,16 +1192,37 @@ packages:
resolution: {integrity:
sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ cache-base: 1.0.1
+ class-utils: 0.3.6
+ component-emitter: 1.3.1
+ define-property: 1.0.0
+ isobject: 3.0.1
+ mixin-deep: 1.3.2
+ pascalcase: 0.1.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==}
engines: {node: '>=0.6'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
engines: {node: '>=8'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
dev: true
@@ -1142,6 +1247,24 @@ packages:
balanced-match: 1.0.2
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ arr-flatten: 1.1.0
+ array-unique: 0.3.2
+ extend-shallow: 2.0.1
+ fill-range: 4.0.0
+ isobject: 3.0.1
+ repeat-element: 1.1.4
+ snapdragon: 0.8.2
+ snapdragon-node: 2.1.1
+ split-string: 3.1.0
+ to-regex: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
engines: {node: '>=8'}
@@ -1171,6 +1294,32 @@ packages:
run-applescript: 5.0.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ collection-visit: 1.0.0
+ component-emitter: 1.3.1
+ get-value: 2.0.6
+ has-value: 1.0.0
+ isobject: 3.0.1
+ set-value: 2.0.1
+ to-object-path: 0.3.0
+ union-value: 1.0.1
+ unset-value: 1.0.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ set-function-length: 1.2.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
@@ -1180,6 +1329,17 @@ packages:
resolution: {integrity:
sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ ansi-styles: 2.2.1
+ escape-string-regexp: 1.0.5
+ has-ansi: 2.0.0
+ strip-ansi: 3.0.1
+ supports-color: 2.0.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
@@ -1212,6 +1372,16 @@ packages:
engines: {node: '>=6.0'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ arr-union: 3.1.0
+ define-property: 0.2.5
+ isobject: 3.0.1
+ static-extend: 0.1.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==}
dependencies:
@@ -1220,6 +1390,19 @@ packages:
tiny-emitter: 2.1.0
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
+ engines: {node: '>=0.8'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ map-visit: 1.0.0
+ object-visit: 1.0.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
engines: {node: '>=7.0.0'}
@@ -1242,6 +1425,15 @@ packages:
resolution: {integrity:
sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==}
dev: false
@@ -1250,11 +1442,24 @@ packages:
resolution: {integrity:
sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-lqufgNn9NLnESg5mQeYsxQP5w7wrViSj0jr/kv6ECQiByzQkrn1MKvV0L3acttpDqfQrHLwr2KCMgX5b8X+lyQ==}
requiresBuild: true
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
+ engines: {node: '>= 0.10'}
+ dependencies:
+ object-assign: 4.1.1
+ vary: 1.1.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
@@ -1268,15 +1473,72 @@ packages:
resolution: {integrity:
sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ mdn-data: 2.0.14
+ source-map: 0.6.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
hasBin: true
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ css-tree: 1.1.3
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
+ /[email protected]:
+ resolution: {integrity:
sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==}
dev: false
@@ -1285,6 +1547,17 @@ packages:
resolution: {integrity:
sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.0.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'}
@@ -1297,6 +1570,11 @@ packages:
ms: 2.1.2
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
+ engines: {node: '>=0.10'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
@@ -1319,11 +1597,51 @@ packages:
titleize: 3.0.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ gopd: 1.0.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
engines: {node: '>=12'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.4
+ has-property-descriptors: 1.0.2
+ object-keys: 1.1.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-descriptor: 0.1.7
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-descriptor: 1.0.3
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-descriptor: 1.0.3
+ isobject: 3.0.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
@@ -1355,6 +1673,57 @@ packages:
resolution: {integrity:
sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==}
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==}
+ dependencies:
+ domelementtype: 2.3.0
+ entities: 2.2.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==}
+ dependencies:
+ domelementtype: 1.3.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+ dependencies:
+ domelementtype: 2.3.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==}
+ dependencies:
+ dom-serializer: 0.2.2
+ domelementtype: 1.3.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==}
dependencies:
@@ -1366,6 +1735,11 @@ packages:
resolution: {integrity:
sha512-0NmjlYBLKVHva4GABWAaHuPJolnDuL0AhV3h1hES6rcLCWEIbRL6/8TghfsVwkx6TEroQVdliX7+aLysUpKvjw==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
engines: {node: '>=10.13.0'}
@@ -1374,10 +1748,107 @@ packages:
tapable: 2.2.1
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ arraybuffer.prototype.slice: 1.0.3
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ data-view-buffer: 1.0.1
+ data-view-byte-length: 1.0.1
+ data-view-byte-offset: 1.0.0
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-set-tostringtag: 2.0.3
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.4
+ get-symbol-description: 1.0.2
+ globalthis: 1.0.4
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+ internal-slot: 1.0.7
+ is-array-buffer: 3.0.4
+ is-callable: 1.2.7
+ is-data-view: 1.0.1
+ is-negative-zero: 2.0.3
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.3
+ is-string: 1.0.7
+ is-typed-array: 1.1.13
+ is-weakref: 1.0.2
+ object-inspect: 1.13.2
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.2
+ safe-array-concat: 1.1.2
+ safe-regex-test: 1.0.3
+ string.prototype.trim: 1.2.9
+ string.prototype.trimend: 1.0.8
+ string.prototype.trimstart: 1.0.8
+ typed-array-buffer: 1.0.2
+ typed-array-byte-length: 1.0.1
+ typed-array-byte-offset: 1.0.2
+ typed-array-length: 1.0.6
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.15
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.4
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
engines: {node: '>=12'}
@@ -1413,6 +1884,11 @@ packages:
engines: {node: '>=6'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
@@ -1574,6 +2050,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
engines: {node: '>=0.8.x'}
@@ -1609,6 +2090,52 @@ packages:
strip-final-newline: 3.0.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ debug: 2.6.9
+ define-property: 0.2.5
+ extend-shallow: 2.0.1
+ posix-character-classes: 0.1.1
+ regex-not: 1.0.2
+ snapdragon: 0.8.2
+ to-regex: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extendable: 0.1.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ assign-symbols: 1.0.0
+ is-extendable: 1.0.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ array-unique: 0.3.2
+ define-property: 1.0.0
+ expand-brackets: 2.1.4
+ extend-shallow: 2.0.1
+ fragment-cache: 0.2.1
+ regex-not: 1.0.2
+ snapdragon: 0.8.2
+ to-regex: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
dev: true
@@ -1649,6 +2176,16 @@ packages:
flat-cache: 3.0.4
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ extend-shallow: 2.0.1
+ is-number: 3.0.0
+ repeat-string: 1.6.1
+ to-regex-range: 2.1.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
engines: {node: '>=8'}
@@ -1686,6 +2223,17 @@ packages:
optional: true
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ dependencies:
+ is-callable: 1.2.7
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
engines: {node: '>= 6'}
@@ -1695,6 +2243,22 @@ packages:
mime-types: 2.1.35
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ map-cache: 0.2.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true
@@ -1707,11 +2271,54 @@ packages:
dev: true
optional: true
+ /[email protected]:
+ resolution: {integrity:
sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ functions-have-names: 1.2.3
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
@@ -1748,6 +2355,14 @@ packages:
type-fest: 0.20.2
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-properties: 1.2.1
+ gopd: 1.0.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
@@ -1766,6 +2381,12 @@ packages:
delegate: 3.2.0
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.2.4
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
dev: true
@@ -1774,14 +2395,102 @@ packages:
resolution: {integrity:
sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ ansi-regex: 2.1.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
dev: true
- /[email protected]:
- resolution: {integrity:
sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
- hasBin: true
+ /[email protected]:
+ resolution: {integrity:
sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+ dependencies:
+ es-define-property: 1.0.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ get-value: 2.0.6
+ has-values: 0.1.4
+ isobject: 2.1.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ get-value: 2.0.6
+ has-values: 1.0.0
+ isobject: 3.0.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-number: 3.0.0
+ kind-of: 4.0.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==}
+ dependencies:
+ domelementtype: 1.3.1
+ domhandler: 2.4.2
+ domutils: 1.7.0
+ entities: 1.1.2
+ inherits: 2.0.4
+ readable-stream: 3.6.2
dev: true
/[email protected]:
@@ -1799,6 +2508,12 @@ packages:
engines: {node: '>= 4'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA==}
dev: true
@@ -1827,6 +2542,36 @@ packages:
resolution: {integrity:
sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ hasown: 2.0.2
+ side-channel: 1.0.6
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==}
+ engines: {node: '>= 0.10'}
+ dependencies:
+ hasown: 2.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ dependencies:
+ has-bigints: 1.0.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
@@ -1834,9 +2579,58 @@ packages:
binary-extensions: 2.2.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
- dev: false
+
+ /[email protected]:
+ resolution: {integrity:
sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ hasown: 2.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-typed-array: 1.1.13
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-accessor-descriptor: 1.0.1
+ is-data-descriptor: 1.0.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-accessor-descriptor: 1.0.1
+ is-data-descriptor: 1.0.1
+ dev: true
/[email protected]:
resolution: {integrity:
sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
@@ -1850,6 +2644,18 @@ packages:
hasBin: true
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-plain-object: 2.0.4
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -1870,6 +2676,25 @@ packages:
is-docker: 3.0.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ kind-of: 3.2.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
@@ -1880,11 +2705,38 @@ packages:
engines: {node: '>=8'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ isobject: 3.0.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==}
engines: {node: '>=0.10.0'}
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
engines: {node: '>=8'}
@@ -1895,6 +2747,38 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ which-typed-array: 1.1.15
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ dependencies:
+ call-bind: 1.0.7
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
engines: {node: '>=8'}
@@ -1902,10 +2786,30 @@ packages:
is-docker: 2.2.1
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ isarray: 1.0.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
@@ -1915,6 +2819,10 @@ packages:
supports-color: 8.1.1
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
dev: false
@@ -1938,6 +2846,45 @@ packages:
resolution: {integrity:
sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-buffer: 1.1.6
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-buffer: 1.1.6
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
@@ -1951,6 +2898,15 @@ packages:
engines: {node: '>=6.11.5'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==}
+ engines: {node: '>=4.0.0'}
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 1.0.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
@@ -1989,6 +2945,18 @@ packages:
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
+ /[email protected]:
+ resolution: {integrity:
sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ object-visit: 1.0.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==}
dependencies:
@@ -1997,6 +2965,17 @@ packages:
is-buffer: 1.1.6
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==}
+ engines: {node: '>=4'}
+ dependencies:
+ is-plain-obj: 1.1.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
dev: true
@@ -2006,6 +2985,27 @@ packages:
engines: {node: '>= 8'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ arr-diff: 4.0.0
+ array-unique: 0.3.2
+ braces: 2.3.2
+ define-property: 1.0.0
+ extend-shallow: 2.0.1
+ extglob: 2.0.4
+ fragment-cache: 0.2.1
+ kind-of: 5.1.0
+ nanomatch: 1.2.13
+ object.pick: 1.3.0
+ regex-not: 1.0.2
+ snapdragon: 0.8.2
+ to-regex: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
@@ -2047,6 +3047,22 @@ packages:
brace-expansion: 2.0.1
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ for-in: 1.0.2
+ is-extendable: 1.0.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
dev: true
@@ -2060,6 +3076,25 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ /[email protected]:
+ resolution: {integrity:
sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ arr-diff: 4.0.0
+ array-unique: 0.3.2
+ define-property: 2.0.2
+ extend-shallow: 3.0.2
+ fragment-cache: 0.2.1
+ is-windows: 1.0.2
+ kind-of: 6.0.3
+ object.pick: 1.3.0
+ regex-not: 1.0.2
+ snapdragon: 0.8.2
+ to-regex: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-fzN+T2K7/Ah25XU02MJkPZ5q4Tj5FpjmIYq4rvoHX4yb16HzFdCO6JxFFn5Y/oBhQ8no8fUZavnyIv9/+xkBBw==}
dev: false
@@ -2101,6 +3136,54 @@ packages:
boolbase: 1.0.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ copy-descriptor: 0.1.1
+ define-property: 0.2.5
+ kind-of: 3.2.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ isobject: 3.0.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ isobject: 3.0.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
@@ -2164,6 +3247,11 @@ packages:
callsites: 3.1.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
@@ -2189,6 +3277,10 @@ packages:
engines: {node: '>=8'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
@@ -2223,6 +3315,24 @@ packages:
vue-demi: 0.14.5([email protected])
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==}
+ peerDependencies:
+ postcss: '>4 <9'
+ dependencies:
+ postcss: 5.2.18
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
engines: {node: '>=4'}
@@ -2231,6 +3341,16 @@ packages:
util-deprecate: 1.0.2
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==}
+ engines: {node: '>=0.12'}
+ dependencies:
+ chalk: 1.1.3
+ js-base64: 2.6.4
+ source-map: 0.5.7
+ supports-color: 3.2.3
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==}
engines: {node: ^10 || ^12 || >=14}
@@ -2239,6 +3359,41 @@ packages:
picocolors: 1.0.0
source-map-js: 1.0.2
+ /[email protected]:
+ resolution: {integrity:
sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==}
+ dependencies:
+ htmlparser2: 3.10.1
+ isobject: 2.1.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==}
+ dependencies:
+ escape-string-regexp: 1.0.5
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==}
+ dependencies:
+ merge-options: 1.0.1
+ posthtml: 0.9.2
+ posthtml-parser: 0.2.1
+ posthtml-render: 1.4.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ posthtml-parser: 0.2.1
+ posthtml-render: 1.4.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -2266,6 +3421,14 @@ packages:
engines: {node: '>=6'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ object-assign: 4.1.1
+ strict-uri-encode: 1.1.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
dev: true
@@ -2276,6 +3439,15 @@ packages:
safe-buffer: 5.2.1
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
@@ -2287,6 +3459,34 @@ packages:
resolution: {integrity:
sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ extend-shallow: 3.0.2
+ safe-regex: 1.1.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-errors: 1.3.0
+ set-function-name: 2.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
+ engines: {node: '>=0.10'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
dev: false
@@ -2296,6 +3496,16 @@ packages:
engines: {node: '>=4'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==}
+ deprecated: https://github.com/lydell/resolve-url#deprecated
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==}
+ engines: {node: '>=0.12'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
@@ -2329,10 +3539,35 @@ packages:
queue-microtask: 1.2.3
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
+ engines: {node: '>=0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ isarray: 2.0.5
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-regex: 1.1.4
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==}
+ dependencies:
+ ret: 0.1.15
+ dev: true
+
/[email protected]([email protected])([email protected]):
resolution: {integrity:
sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==}
engines: {node: '>= 14.15.0'}
@@ -2400,6 +3635,38 @@ packages:
randombytes: 2.1.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ extend-shallow: 2.0.1
+ is-extendable: 0.1.1
+ is-plain-object: 2.0.4
+ split-string: 3.1.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==}
dev: false
@@ -2416,6 +3683,16 @@ packages:
engines: {node: '>=8'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ object-inspect: 1.13.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
dev: true
@@ -2425,10 +3702,53 @@ packages:
engines: {node: '>=8'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ define-property: 1.0.0
+ isobject: 3.0.1
+ snapdragon-util: 3.0.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ kind-of: 3.2.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ base: 0.11.2
+ debug: 2.6.9
+ define-property: 0.2.5
+ extend-shallow: 2.0.1
+ map-cache: 0.2.2
+ source-map: 0.5.7
+ source-map-resolve: 0.5.3
+ use: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
+ /[email protected]:
+ resolution: {integrity:
sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==}
+ deprecated: See https://github.com/lydell/source-map-resolve#deprecated
+ dependencies:
+ atob: 2.1.2
+ decode-uri-component: 0.2.2
+ resolve-url: 0.2.1
+ source-map-url: 0.4.1
+ urix: 0.1.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
dependencies:
@@ -2436,10 +3756,85 @@ packages:
source-map: 0.6.1
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==}
+ deprecated: See https://github.com/lydell/source-map-url#deprecated
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
+ /[email protected]:
+ resolution: {integrity:
sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ extend-shallow: 3.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
+ deprecated: 'Modern JS already guarantees Array#sort() is a stable sort,
so this library is deprecated. See the compatibility table on MDN:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ define-property: 0.2.5
+ object-copy: 0.1.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ ansi-regex: 2.1.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -2466,6 +3861,18 @@ packages:
resolution: {integrity:
sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==}
dev: false
+ /[email protected]:
+ resolution: {integrity:
sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
+ engines: {node: '>=0.8.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==}
+ engines: {node: '>=0.8.0'}
+ dependencies:
+ has-flag: 1.0.0
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
@@ -2480,6 +3887,40 @@ packages:
has-flag: 4.0.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==}
+ dependencies:
+ bluebird: 3.7.2
+ clone: 2.1.2
+ he: 1.2.0
+ image-size: 0.5.5
+ loader-utils: 1.4.2
+ merge-options: 1.0.1
+ micromatch: 3.1.0
+ postcss: 5.2.18
+ postcss-prefix-selector: 1.16.1([email protected])
+ posthtml-rename-id: 1.0.12
+ posthtml-svg-mode: 1.0.3
+ query-string: 4.3.4
+ traverse: 0.6.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 4.3.0
+ css-tree: 1.1.3
+ csso: 4.2.0
+ picocolors: 1.0.0
+ stable: 0.1.8
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==}
engines: {node: ^14.18.0 || >=16.0.0}
@@ -2550,6 +3991,21 @@ packages:
resolution: {integrity:
sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
+ /[email protected]:
+ resolution: {integrity:
sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ kind-of: 3.2.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-number: 3.0.0
+ repeat-string: 1.6.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
@@ -2557,6 +4013,25 @@ packages:
is-number: 7.0.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ define-property: 2.0.2
+ extend-shallow: 3.0.2
+ regex-not: 1.0.2
+ safe-regex: 1.1.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ gopd: 1.0.1
+ typedarray.prototype.slice: 1.0.3
+ which-typed-array: 1.1.15
+ dev: true
+
/[email protected]([email protected]):
resolution: {integrity:
sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==}
engines: {node: '>=16.13.0'}
@@ -2586,11 +4061,99 @@ packages:
engines: {node: '>=10'}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-typed-array: 1.1.13
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+ possible-typed-array-names: 1.0.0
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ typed-array-buffer: 1.0.2
+ typed-array-byte-offset: 1.0.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==}
engines: {node: '>=12.20'}
hasBin: true
+ /[email protected]:
+ resolution: {integrity:
sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ dependencies:
+ call-bind: 1.0.7
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ arr-union: 3.1.0
+ get-value: 2.0.6
+ is-extendable: 0.1.1
+ set-value: 2.0.1
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ has-value: 0.3.1
+ isobject: 3.0.1
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
engines: {node: '>=8'}
@@ -2613,10 +4176,43 @@ packages:
punycode: 2.3.0
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==}
+ deprecated: Please see https://github.com/lydell/urix#deprecated
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /[email protected]([email protected]):
+ resolution: {integrity:
sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==}
+ peerDependencies:
+ vite: '>=2.0.0'
+ dependencies:
+ '@types/svgo': 2.6.4
+ cors: 2.8.5
+ debug: 4.3.4
+ etag: 1.8.1
+ fs-extra: 10.1.0
+ pathe: 0.2.0
+ svg-baker: 1.7.0
+ svgo: 2.8.0
+ vite: 4.4.5(@types/[email protected])([email protected])
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/[email protected](@types/[email protected])([email protected]):
resolution: {integrity:
sha512-4m5kEtAWHYr0O1Fu7rZp64CfO1PsRGZlD3TAB32UmQlpd7qg15VF7ROqGN5CyqN7HFuwr7ICNM2+fDWRqFEKaA==}
engines: {node: ^14.18.0 || >=16.0.0}
@@ -2821,6 +4417,27 @@ packages:
- uglify-js
dev: true
+ /[email protected]:
+ resolution: {integrity:
sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+ dev: true
+
+ /[email protected]:
+ resolution: {integrity:
sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.2
+ dev: true
+
/[email protected]:
resolution: {integrity:
sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
diff --git a/bigtop-manager-ui/src/api/service/types.ts
b/bigtop-manager-ui/src/api/service/types.ts
index d6a5d0d..cd7996a 100644
--- a/bigtop-manager-ui/src/api/service/types.ts
+++ b/bigtop-manager-ui/src/api/service/types.ts
@@ -35,3 +35,11 @@ export interface QuickLinkVO {
displayName: string
url: string
}
+
+export enum StateColor {
+ Installed = '#2196F3',
+ Started = '#52c41a',
+ Maintained = '#d9d9d9',
+ Uninstalled = '#f0f964',
+ Stopped = '#ff4d4f'
+}
diff --git a/bigtop-manager-ui/src/assets/images/svg/plus.svg
b/bigtop-manager-ui/src/assets/images/svg/plus.svg
new file mode 100644
index 0000000..b464b3f
--- /dev/null
+++ b/bigtop-manager-ui/src/assets/images/svg/plus.svg
@@ -0,0 +1,29 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, 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 svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1722394248439"
+ class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1160"
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
+ <path
+ d="M512 853.333333c-25.6
0-42.666667-17.066667-42.666667-42.666666V213.333333c0-25.6 17.066667-42.666667
42.666667-42.666666s42.666667 17.066667 42.666667 42.666666v597.333334c0
25.6-17.066667 42.666667-42.666667 42.666666z"
+ p-id="1161"></path>
+ <path
+ d="M810.666667 554.666667H213.333333c-25.6
0-42.666667-17.066667-42.666666-42.666667s17.066667-42.666667
42.666666-42.666667h597.333334c25.6 0 42.666667 17.066667 42.666666
42.666667s-17.066667 42.666667-42.666666 42.666667z"
+ p-id="1162"></path>
+</svg>
\ No newline at end of file
diff --git a/bigtop-manager-ui/src/assets/images/svg/restart.svg
b/bigtop-manager-ui/src/assets/images/svg/restart.svg
new file mode 100644
index 0000000..1a23acd
--- /dev/null
+++ b/bigtop-manager-ui/src/assets/images/svg/restart.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, 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 svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1722394200089"
+ class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1652"
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
+ <path
+ d="M512 213.333333V42.666667L298.666667 256l213.333333
213.333333V298.666667c141.226667 0 256 114.773333 256 256s-114.773333 256-256
256-256-114.773333-256-256H170.666667c0 188.586667 152.746667 341.333333
341.333333 341.333333s341.333333-152.746667
341.333333-341.333333-152.746667-341.333333-341.333333-341.333334z"
+ fill="#333333" p-id="1653"></path>
+</svg>
\ No newline at end of file
diff --git a/bigtop-manager-ui/src/assets/images/svg/start.svg
b/bigtop-manager-ui/src/assets/images/svg/start.svg
new file mode 100644
index 0000000..0366b3a
--- /dev/null
+++ b/bigtop-manager-ui/src/assets/images/svg/start.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, 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 svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1722396617369"
+ class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1344"
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
+ <path
+ d="M810.4 465.8 253.6 134.4c-6.8-4-13.8-6.4-21.8-6.4-21.8 0-39.6 18-39.6
40L192 168l0 688 0.2 0c0 22 17.8 40 39.6 40 8.2 0 15-2.8
22.4-6.8l556.2-331c13.2-11 21.6-27.6 21.6-46.2C832 493.4 823.6 477 810.4 465.8z"
+ p-id="1345"></path>
+</svg>
\ No newline at end of file
diff --git a/bigtop-manager-ui/src/assets/images/svg/stop.svg
b/bigtop-manager-ui/src/assets/images/svg/stop.svg
new file mode 100644
index 0000000..477e203
--- /dev/null
+++ b/bigtop-manager-ui/src/assets/images/svg/stop.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, 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 svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1722394157011"
+ class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1130"
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
+ <path
+ d="M256 192h512c35.392 0 64 28.608 64 64v512c0 35.392-28.608 64-64
64H256c-35.392 0-64-28.608-64-64V256c0-35.392 28.608-64 64-64z"
+ fill="#333333" p-id="1131"></path>
+</svg>
\ No newline at end of file
diff --git a/bigtop-manager-ui/src/components/dashboard/index.vue
b/bigtop-manager-ui/src/components/dashboard/index.vue
index f660c4a..9b6eff3 100644
--- a/bigtop-manager-ui/src/components/dashboard/index.vue
+++ b/bigtop-manager-ui/src/components/dashboard/index.vue
@@ -272,15 +272,15 @@
</template>
<template #bodyCell="{ column, text }">
<template v-if="column.dataIndex === 'state'">
- <CheckCircleTwoTone
+ <check-circle-two-tone
v-if="text === 'INSTALLED'"
two-tone-color="#52c41a"
/>
- <MinusCircleTwoTone
+ <minus-circle-two-tone
v-else-if="text === 'MAINTAINED'"
two-tone-color="orange"
/>
- <CloseCircleTwoTone v-else two-tone-color="red" />
+ <close-circle-two-tone v-else two-tone-color="red" />
</template>
</template>
</a-table>
diff --git a/bigtop-manager-ui/src/components/job-info/task.vue
b/bigtop-manager-ui/src/components/job-info/task.vue
index 79d01a3..084c607 100644
--- a/bigtop-manager-ui/src/components/job-info/task.vue
+++ b/bigtop-manager-ui/src/components/job-info/task.vue
@@ -65,19 +65,19 @@
</a>
</template>
<template v-if="column.dataIndex === 'state'">
- <CheckCircleTwoTone
+ <check-circle-two-tone
v-if="text === 'Successful'"
:two-tone-color="State[text as keyof typeof State]"
/>
- <CloseCircleTwoTone
+ <close-circle-two-tone
v-else-if="text === 'Failed'"
:two-tone-color="State[text as keyof typeof State]"
/>
- <MinusCircleTwoTone
+ <minus-circle-two-tone
v-else-if="text === 'Canceled'"
:two-tone-color="State[text as keyof typeof State]"
/>
- <LoadingOutlined v-else />
+ <loading-outlined v-else />
</template>
</template>
</a-table>
diff --git a/bigtop-manager-ui/src/components/service/service-dropdown.vue
b/bigtop-manager-ui/src/components/service/service-dropdown.vue
index 7d8f3f2..1a3a0c6 100644
--- a/bigtop-manager-ui/src/components/service/service-dropdown.vue
+++ b/bigtop-manager-ui/src/components/service/service-dropdown.vue
@@ -18,36 +18,117 @@
-->
<script setup lang="ts">
- import { ref } from 'vue'
- import { PlusOutlined, CaretRightOutlined } from '@ant-design/icons-vue'
- import SquareFilled from '@/components/icons/square-filled.vue'
+ import { useI18n } from 'vue-i18n'
+ import { storeToRefs } from 'pinia'
+ import { ref, createVNode } from 'vue'
+ import { type MenuProps, Modal } from 'ant-design-vue'
+ import { QuestionCircleOutlined } from '@ant-design/icons-vue'
+
+ import { useClusterStore } from '@/store/cluster'
+ import { useServiceStore } from '@/store/service'
+
+ import { type ServiceVO } from '@/api/service/types.ts'
+ import { execCommand } from '@/api/command'
+
import ServiceAdd from '@/components/service-add/index.vue'
+ import Job from '@/components/job-info/job.vue'
+ interface Menu {
+ key: string
+ action: string
+ dicText: string
+ }
+
+ const menuOps: Menu[] = [
+ {
+ key: '1',
+ action: 'start',
+ dicText: 'service.start_all'
+ },
+ {
+ key: '2',
+ action: 'stop',
+ dicText: 'service.stop_all'
+ },
+ {
+ key: '3',
+ action: 'restart',
+ dicText: 'service.restart_all'
+ }
+ ]
+
+ const { t } = useI18n()
+ const clusterStore = useClusterStore()
+ const serviceStore = useServiceStore()
+ const { clusterId } = storeToRefs(clusterStore)
+ const { installedServices } = storeToRefs(serviceStore)
+ const menuClicked = ref<Menu>()
const addWindowOpened = ref(false)
+ const jobWindowOpened = ref(false)
+
+ const handleMenuClick: MenuProps['onClick'] = (e) => {
+ if (e.key === '4') {
+ addWindowOpened.value = true
+ return
+ }
+ const menu = menuOps.find((menu) => menu.key == e.key)
+ const text = `${menu?.dicText}_services`
+ menuClicked.value = menu
+ Modal.confirm({
+ title: t('common.confirm'),
+ icon: createVNode(QuestionCircleOutlined),
+ content: t(text),
+ centered: true,
+ okText: t('common.confirm'),
+ cancelText: t('common.cancel'),
+ onOk: onOk
+ })
+ }
+
+ const onOk = async () => {
+ try {
+ if (!menuClicked.value) {
+ return
+ }
+ await execCommand({
+ command: menuClicked.value.action,
+ clusterId: clusterId.value,
+ commandLevel: 'service',
+ serviceCommands: getServiceCommands()
+ })
+ jobWindowOpened.value = true
+ } catch (error) {
+ console.log('error :>> ', error)
+ }
+ }
+
+ const getServiceCommands = () => {
+ return installedServices.value.map((service: ServiceVO) => {
+ return {
+ serviceName: service?.serviceName
+ }
+ })
+ }
</script>
<template>
<a-dropdown trigger="click" @click.stop>
<a class="dropdown-text">···</a>
<template #overlay>
- <a-menu>
- <a-menu-item key="start">
- <caret-right-outlined />
- {{ $t('service.start_all') }}
- </a-menu-item>
- <a-menu-item key="stop">
- <square-filled />
- {{ $t('service.stop_all') }}
+ <a-menu @click="handleMenuClick">
+ <a-menu-item v-for="menu in menuOps" :key="menu.key">
+ <svg-icon :name="menu.action" />
+ <span>{{ $t(menu.dicText) }}</span>
</a-menu-item>
<a-menu-divider />
- <a-menu-item key="add" @click="() => (addWindowOpened = true)">
- <plus-outlined />
- {{ $t('service.add') }}
+ <a-menu-item key="4">
+ <svg-icon name="plus" />
+ <span> {{ $t('service.add') }}</span>
</a-menu-item>
</a-menu>
</template>
</a-dropdown>
-
+ <job v-model:visible="jobWindowOpened" />
<suspense>
<service-add v-model:open="addWindowOpened" />
</suspense>
diff --git a/bigtop-manager-ui/src/components/svg-icon/svg-icon.vue
b/bigtop-manager-ui/src/components/svg-icon/svg-icon.vue
new file mode 100644
index 0000000..d8656c8
--- /dev/null
+++ b/bigtop-manager-ui/src/components/svg-icon/svg-icon.vue
@@ -0,0 +1,58 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, 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.
+-->
+
+<script setup lang="ts">
+ import { computed } from 'vue'
+
+ interface SvgIconProps {
+ prefix: string
+ name: string
+ color: string
+ className: string
+ }
+
+ const props = withDefaults(defineProps<SvgIconProps>(), {
+ prefix: 'icon',
+ color: '#000'
+ })
+
+ const symbolId = computed(() => `#${props.prefix}-${props.name}`)
+ const svgClass = computed(() => {
+ if (props.className) {
+ return `svg-icon ${props.className}`
+ }
+ return 'svg-icon'
+ })
+</script>
+
+<template>
+ <svg :class="svgClass" aria-hidden="true">
+ <use :xlink:href="symbolId" :fill="color" />
+ </svg>
+</template>
+
+<style lang="scss" scoped>
+ .svg-icon {
+ height: 1.2em;
+ width: 1.2em;
+ margin-right: 6px;
+ vertical-align: -0.25em;
+ overflow: hidden;
+ }
+</style>
diff --git a/bigtop-manager-ui/src/locales/en_US/service.ts
b/bigtop-manager-ui/src/locales/en_US/service.ts
index 06cb845..010138d 100644
--- a/bigtop-manager-ui/src/locales/en_US/service.ts
+++ b/bigtop-manager-ui/src/locales/en_US/service.ts
@@ -20,6 +20,16 @@
export default {
start_all: 'Start All',
stop_all: 'Stop All',
+ restart_all: 'Restart All',
+ start_service: 'Start Service',
+ stop_service: 'Stop Service',
+ restart_service: 'Restart Service',
+ start_all_services: 'Are you sure you want to start all services?',
+ stop_all_services: 'Are you sure you want to stop all services?',
+ restart_all_services: 'Are you sure you want to restart all services?',
+ start_service_warn: 'Are you sure you want to start {0} service?',
+ stop_service_warn: 'Are you sure you want to stop {0} service?',
+ restart_service_warn: 'Are you sure you want to restart {0} service?',
add: 'Add service',
service: 'Service',
service_name: 'Service Name',
diff --git a/bigtop-manager-ui/src/locales/zh_CN/service.ts
b/bigtop-manager-ui/src/locales/zh_CN/service.ts
index dee4c8a..c69dc7e 100644
--- a/bigtop-manager-ui/src/locales/zh_CN/service.ts
+++ b/bigtop-manager-ui/src/locales/zh_CN/service.ts
@@ -20,6 +20,16 @@
export default {
start_all: '启动所有',
stop_all: '停止所有',
+ restart_all: '重启所有',
+ start_service: '启动服务',
+ stop_service: '停止服务',
+ restart_service: '重启服务',
+ start_all_services: '是否确认启动所有服务?',
+ stop_all_services: '是否确认停止所有服务?',
+ restart_all_services: '是否确认重启所有服务?',
+ start_service_warn: '是否确认启动 {0} ?',
+ stop_service_warn: '是否确认停止 {0} ?',
+ restart_service_warn: '是否确认重启 {0}?',
add: '新增服务',
service: '服务',
service_name: '服务名称',
diff --git a/bigtop-manager-ui/src/main.ts b/bigtop-manager-ui/src/main.ts
index d95192a..119e53a 100644
--- a/bigtop-manager-ui/src/main.ts
+++ b/bigtop-manager-ui/src/main.ts
@@ -26,6 +26,8 @@ import i18n from '@/locales'
import '@/assets/styles/default.scss'
import 'ant-design-vue/dist/reset.css'
+import 'virtual:svg-icons-register'
+import SvgIcon from '@/components/svg-icon/svg-icon.vue'
const app = createApp(App)
@@ -35,5 +37,5 @@ app.use(pinia)
app.use(i18n)
message.config({ maxCount: 1 })
-
+app.component('svg-icon', SvgIcon)
app.mount('#app')
diff --git a/bigtop-manager-ui/src/pages/service/index.vue
b/bigtop-manager-ui/src/pages/service/index.vue
index a1e843d..fc0fbfe 100644
--- a/bigtop-manager-ui/src/pages/service/index.vue
+++ b/bigtop-manager-ui/src/pages/service/index.vue
@@ -18,107 +18,136 @@
-->
<script setup lang="ts">
- import { computed, onMounted, ref, watch } from 'vue'
+ import { storeToRefs } from 'pinia'
import { useRoute } from 'vue-router'
- import type { SelectProps, MenuProps } from 'ant-design-vue'
- import { DownOutlined, UserOutlined } from '@ant-design/icons-vue'
+ import { computed, onMounted, ref, watch, createVNode } from 'vue'
+
+ import { useI18n } from 'vue-i18n'
+ import { type SelectProps, type MenuProps, Modal } from 'ant-design-vue'
+ import { DownOutlined, QuestionCircleOutlined } from '@ant-design/icons-vue'
+
import { useConfigStore } from '@/store/config'
- import { storeToRefs } from 'pinia'
- import { ServiceConfigVO, TypeConfigVO } from '@/api/config/types.ts'
import { useComponentStore } from '@/store/component'
+ import { useServiceStore } from '@/store/service'
+ import { useClusterStore } from '@/store/cluster'
+
+ import { type ServiceVO, StateColor } from '@/api/service/types.ts'
+ import { ServiceConfigVO, TypeConfigVO } from '@/api/config/types.ts'
import { HostComponentVO } from '@/api/component/types.ts'
+ import { execCommand } from '@/api/command'
+
import DotState from '@/components/dot-state/index.vue'
- import { useServiceStore } from '@/store/service'
- import { ServiceVO } from '@/api/service/types.ts'
+ import Job from '@/components/job-info/job.vue'
- const menuOps = [
+ interface Menu {
+ key: string
+ action: string
+ dicText: string
+ }
+
+ const menuOps: Menu[] = [
{
key: '1',
- dicText: 'Start'
+ action: 'start',
+ dicText: 'service.start_service'
},
{
key: '2',
- dicText: 'Stop'
+ action: 'stop',
+ dicText: 'service.stop_service'
},
{
key: '3',
- dicText: 'Restart'
+ action: 'restart',
+ dicText: 'service.restart_service'
}
]
- // #52c41a green
- // #ff4d4f red
- // #d9d9d9 gray
- // #f0f964 yellow
- const stateColor = {
- Installed: '#52c41a',
- Started: '#52c41a',
- Maintained: '#d9d9d9',
- Uninstalled: '#f0f964',
- Stopped: '#ff4d4f'
- }
-
+ const { t } = useI18n()
const route = useRoute()
const configStore = useConfigStore()
- const { allConfigs } = storeToRefs(configStore)
const componentStore = useComponentStore()
- const { hostComponents } = storeToRefs(componentStore)
const serviceStore = useServiceStore()
+ const clusterStore = useClusterStore()
+
+ const { allConfigs } = storeToRefs(configStore)
+ const { hostComponents } = storeToRefs(componentStore)
const { installedServices } = storeToRefs(serviceStore)
+ const { clusterId } = storeToRefs(clusterStore)
+
+ const serviceConfigDesc = ref<SelectProps['options']>([])
+ const activeSelect = ref()
+ const currentConfigs = ref<TypeConfigVO[]>([])
+ const currentHostComponent = ref<HostComponentVO[]>([])
+ const serviceName = ref<string>(route.params.serviceName as string)
+ const currentConfigVersion = ref<number>()
+ const initConfigVersion = ref<number>()
+ const showConfigTip = ref<boolean>(false)
+ const activeConfig = ref()
+ const menuClicked = ref<Menu>()
+ const jobWindowOpened = ref(false)
+
const selectedService = computed(() => {
return installedServices.value.filter(
(service: ServiceVO) => service.serviceName === serviceName.value
)[0]
})
- const serviceName = ref<string>(route.params.serviceName as string)
-
- // summary model start
- const currentHostComponent = ref<HostComponentVO[]>([])
watch(hostComponents, (newVal) => {
currentHostComponent.value = newVal.filter(
(hc: HostComponentVO) => hc.serviceName === serviceName.value
)
})
- // summary model end
-
- // config model start
- const serviceConfigDesc = ref<SelectProps['options']>([])
- const activeSelect = ref()
- const currentConfigs = ref<TypeConfigVO[]>([])
- const currentConfigVersion = ref<number>()
- const initConfigVersion = ref<number>()
- const showConfigTip = ref<boolean>(false)
+ watch(currentConfigs, (newVal) => {
+ activeConfig.value = newVal.length > 0 ? newVal[0].typeName : null
+ })
watch(allConfigs, (newVal) => {
allConfigs.value = newVal
loadCurrentConfigs()
})
- const loadCurrentConfigs = () => {
- serviceConfigDesc.value = allConfigs.value
- .filter((sc: ServiceConfigVO) => sc.serviceName === serviceName.value)
- .map((sc: ServiceConfigVO) => ({
- value: sc.version,
- label: `Version: ${sc.version}`,
- title: `${sc.configDesc}
- \n${sc.createTime}`
- }))
+ watch(
+ () => route.params,
+ (params) => {
+ serviceName.value = params.serviceName as string
+ initServiceMeta()
+ }
+ )
+ const loadCurrentConfigs = () => {
+ serviceConfigDesc.value = allConfigs.value.reduce(
+ (pre, sc: ServiceConfigVO) => {
+ if (sc.serviceName === serviceName.value) {
+ pre?.push({
+ value: sc.version,
+ label: `Version: ${sc.version}`,
+ title: `${sc.configDesc}
+ \n${sc.createTime}`
+ })
+ }
+ return pre
+ },
+ [] as SelectProps['options']
+ )
currentConfigVersion.value = serviceConfigDesc.value?.[0].value as number
-
- currentConfigs.value = allConfigs.value
- .filter(
- (sc: ServiceConfigVO) =>
+ currentConfigs.value = allConfigs.value.reduce(
+ (pre, sc: ServiceConfigVO) => {
+ if (
sc.serviceName === serviceName.value &&
currentConfigVersion.value === sc.version
- )
- .flatMap((sc: ServiceConfigVO) => sc.configs)
- .map((cd: TypeConfigVO) => ({
- typeName: cd.typeName,
- properties: cd.properties
- }))
+ ) {
+ const typeConfigs = sc.configs.map(({ typeName, properties }) => ({
+ typeName,
+ properties
+ }))
+ pre.push(...typeConfigs)
+ }
+ return pre
+ },
+ [] as TypeConfigVO[]
+ )
}
const handleChange: SelectProps['onChange'] = (value) => {
@@ -126,18 +155,43 @@
currentConfigVersion.value = Number(value.key)
}
showConfigTip.value = currentConfigVersion.value !==
initConfigVersion.value
-
loadCurrentConfigs()
}
- const activeConfig = ref()
-
- watch(currentConfigs, (newVal) => {
- activeConfig.value = newVal.length > 0 ? newVal[0].typeName : null
- })
- // config model end
const handleMenuClick: MenuProps['onClick'] = (e) => {
- console.log('click', e)
+ const menu = menuOps.find((menu) => menu.key == e.key)
+ const text = `${menu?.dicText}_warn`
+ menuClicked.value = menu
+ Modal.confirm({
+ title: t('common.confirm'),
+ icon: createVNode(QuestionCircleOutlined),
+ content: t(text, [selectedService.value.displayName]),
+ centered: true,
+ okText: t('common.confirm'),
+ cancelText: t('common.cancel'),
+ onOk: onOk
+ })
+ }
+
+ const onOk = async () => {
+ try {
+ if (!menuClicked.value) {
+ return
+ }
+ await execCommand({
+ command: menuClicked.value.action,
+ clusterId: clusterId.value,
+ commandLevel: 'service',
+ serviceCommands: [
+ {
+ serviceName: serviceName.value
+ }
+ ]
+ })
+ jobWindowOpened.value = true
+ } catch (error) {
+ console.log('error :>> ', error)
+ }
}
const initServiceMeta = async () => {
@@ -153,144 +207,148 @@
initServiceMeta()
componentStore.resumeIntervalFn()
})
-
- watch(
- () => route.params,
- (params) => {
- serviceName.value = params.serviceName as string
- initServiceMeta()
- }
- )
</script>
<template>
- <a-tabs>
- <template #rightExtra>
- <a-dropdown>
- <template #overlay>
- <a-menu @click="handleMenuClick">
- <a-menu-item v-for="item in menuOps" :key="item.key">
- <UserOutlined />
- <span>{{ item.dicText }}</span>
- </a-menu-item>
- </a-menu>
- </template>
- <a-button type="primary">
- {{ $t('common.action') }}
- <DownOutlined />
- </a-button>
- </a-dropdown>
- </template>
- <a-tab-pane key="summary">
- <template #tab>{{ $t('service.summary') }}</template>
- <a-layout-content class="summary-layout">
- <div class="left-section">
- <h2>{{ $t('service.components') }}</h2>
- <div v-if="currentHostComponent.length > 0" class="summary-ctx">
- <template v-for="item in currentHostComponent" :key="`${item.id}`">
- <div class="card">
- <div class="service-name">
- <router-link :to="'/services/' + serviceName">
- {{ item.displayName }}
- </router-link>
- <a-tag
- :bordered="false"
- style="color: rgb(145 134 134 / 90%)"
- >
- {{ item.category }}
- </a-tag>
- </div>
- <div class="comp-info">
- <div class="host-name">{{ item.hostname }}</div>
- </div>
- <footer>
- <div class="comp-state">
- <dot-state :color="stateColor[item.state]"
class="dot-rest">
- <span class="comp-state-text">{{ item.state }}</span>
- </dot-state>
+ <div>
+ <a-tabs>
+ <template #rightExtra>
+ <a-dropdown :trigger="['click']" placement="bottomRight">
+ <template #overlay>
+ <a-menu @click="handleMenuClick">
+ <a-menu-item v-for="item in menuOps" :key="item.key">
+ <svg-icon :name="item.action" />
+ <span>{{ $t(item.dicText) }}</span>
+ </a-menu-item>
+ </a-menu>
+ </template>
+ <a-button type="primary">
+ {{ $t('common.action') }}
+ <down-outlined />
+ </a-button>
+ </a-dropdown>
+ </template>
+ <a-tab-pane key="summary">
+ <template #tab>{{ $t('service.summary') }}</template>
+ <a-layout-content class="summary-layout">
+ <div class="left-section">
+ <h2>{{ $t('service.components') }}</h2>
+ <div v-if="currentHostComponent.length > 0" class="summary-ctx">
+ <template
+ v-for="item in currentHostComponent"
+ :key="`${item.id}`"
+ >
+ <div class="card">
+ <div class="service-name">
+ <router-link :to="'/services/' + serviceName">
+ {{ item.displayName }}
+ </router-link>
+ <a-tag
+ :bordered="false"
+ style="color: rgb(145 134 134 / 90%)"
+ >
+ {{ item.category }}
+ </a-tag>
</div>
- </footer>
- </div>
- </template>
+ <div class="comp-info">
+ <div class="host-name">{{ item.hostname }}</div>
+ </div>
+ <footer>
+ <div class="comp-state">
+ <dot-state
+ :color="StateColor[item.state]"
+ class="dot-rest"
+ >
+ <span class="comp-state-text">{{ item.state }}</span>
+ </dot-state>
+ </div>
+ </footer>
+ </div>
+ </template>
+ </div>
</div>
- </div>
- <div class="right-section">
- <h2>{{ $t('service.quick_links') }}</h2>
- <ul
- v-if="
- selectedService.quickLinks &&
- selectedService.quickLinks.length > 0
- "
+ <div class="right-section">
+ <h2>{{ $t('service.quick_links') }}</h2>
+ <ul
+ v-if="
+ selectedService.quickLinks &&
+ selectedService.quickLinks.length > 0
+ "
+ >
+ <li v-for="link in selectedService.quickLinks" :key="link.url">
+ <a :href="link.url" target="_blank">{{ link.displayName }}</a>
+ </li>
+ </ul>
+ <div v-else class="no-link-text">{{ $t('service.no_link') }}</div>
+ </div>
+ </a-layout-content>
+ </a-tab-pane>
+
+ <a-tab-pane key="config" force-render>
+ <template #tab>{{ $t('service.config') }}</template>
+ <a-space>
+ <a-select
+ v-model:value="activeSelect"
+ label-in-value
+ :options="serviceConfigDesc"
+ @change="handleChange"
+ ></a-select>
+ <template v-if="showConfigTip">
+ <a-button type="primary">Not Current Config</a-button></template
>
- <li v-for="link in selectedService.quickLinks" :key="link.url">
- <a :href="link.url" target="_blank">{{ link.displayName }}</a>
- </li>
- </ul>
- <div v-else class="no-link-text">{{ $t('service.no_link') }}</div>
- </div>
- </a-layout-content>
- </a-tab-pane>
-
- <a-tab-pane key="config" force-render>
- <template #tab>{{ $t('service.config') }}</template>
- <a-space>
- <a-select
- v-model:value="activeSelect"
- label-in-value
- :options="serviceConfigDesc"
- @change="handleChange"
- ></a-select>
- <template v-if="showConfigTip">
- <a-button type="primary">Not Current Config</a-button></template
- >
- </a-space>
-
- <a-divider />
- <a-collapse v-model:active-key="activeConfig" ghost accordion>
- <a-collapse-panel
- v-for="config in currentConfigs"
- :key="config.typeName"
- class="panel"
- :header="config.typeName"
- >
- <div
- v-for="property in config.properties"
- :key="property.name"
- class="config-item"
+ </a-space>
+
+ <a-divider />
+ <a-collapse v-model:active-key="activeConfig" ghost accordion>
+ <a-collapse-panel
+ v-for="config in currentConfigs"
+ :key="config.typeName"
+ class="panel"
+ :header="config.typeName"
>
- <div class="config-item-key">
- {{ property.displayName ?? property.name }}
+ <div
+ v-for="property in config.properties"
+ :key="property.name"
+ class="config-item"
+ >
+ <div class="config-item-key">
+ {{ property.displayName ?? property.name }}
+ </div>
+ <a-tooltip class="config-item-value">
+ <template #title>
+ {{ property.desc }}
+ </template>
+ <a-textarea
+ v-if="property.attrs && property.attrs.type === 'longtext'"
+ v-model:value="property.value"
+ :rows="10"
+ />
+ <a-input v-else v-model:value="property.value" />
+ </a-tooltip>
</div>
- <a-tooltip class="config-item-value">
- <template #title>
- {{ property.desc }}
- </template>
- <a-textarea
- v-if="property.attrs && property.attrs.type === 'longtext'"
- v-model:value="property.value"
- :rows="10"
- />
- <a-input v-else v-model:value="property.value" />
- </a-tooltip>
- </div>
- </a-collapse-panel>
- </a-collapse>
- </a-tab-pane>
- </a-tabs>
+ </a-collapse-panel>
+ </a-collapse>
+ </a-tab-pane>
+ </a-tabs>
+ <job v-model:visible="jobWindowOpened" />
+ </div>
</template>
<style scoped lang="scss">
.dot-rest {
@include flex(center, center);
}
+
.summary-layout {
display: flex;
.left-section {
width: 82%;
+
.a-card {
background-color: rgb(128, 171, 209);
}
+
border-right: 2px solid #eee;
}
@@ -311,6 +369,7 @@
list-style: none;
margin: 0;
padding: 0;
+
li {
a {
display: flex;
@@ -334,20 +393,24 @@
min-width: calc((100% / 3) - 1.5rem);
box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
overflow: auto;
+
&:hover {
box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
transform: scale(1.002);
transition: all 0.3s;
}
+
.service-name {
font-size: 1.06rem;
font-weight: 600;
margin-bottom: 0.375rem;
@include flex(space-between, center);
}
+
.comp-info {
@include flex(center);
margin-bottom: 1.25rem;
+
.host-name {
width: 80%;
font-size: 0.8rem;
@@ -356,11 +419,14 @@
flex: 1;
}
}
+
footer {
@include flex(space-between, center);
+
.comp-state {
font-size: 1rem;
align-items: flex-end;
+
&-text {
color: #888;
}
diff --git a/bigtop-manager-ui/src/vite-env.d.ts
b/bigtop-manager-ui/src/vite-env.d.ts
index c0b76e5..c138492 100644
--- a/bigtop-manager-ui/src/vite-env.d.ts
+++ b/bigtop-manager-ui/src/vite-env.d.ts
@@ -17,10 +17,9 @@
* under the License.
*/
-import { DefineComponent } from 'vue'
-
declare module '*.vue' {
- const component: DefineComponent<{}, {}, any>
+ import { defineComponent } from 'vue'
+ const component: ReturnType<typeof defineComponent>
export default component
}
diff --git a/bigtop-manager-ui/tsconfig.json b/bigtop-manager-ui/tsconfig.json
index 814a95d..40da22e 100644
--- a/bigtop-manager-ui/tsconfig.json
+++ b/bigtop-manager-ui/tsconfig.json
@@ -10,12 +10,17 @@
],
"baseUrl": "./",
"paths": {
- "@/*": ["src/*"]
+ "@/*": [
+ "src/*"
+ ]
},
"skipLibCheck": true,
- "types": ["vite/client"],
+ "types": [
+ "vite/client",
+ "vite-plugin-svg-icons/client"
+ ],
/* Bundler mode */
-// "moduleResolution": "Bundler",
+ // "moduleResolution": "Bundler",
"moduleResolution": "Node",
"allowImportingTsExtensions": true,
"allowSyntheticDefaultImports": true,
diff --git a/bigtop-manager-ui/vite.config.ts b/bigtop-manager-ui/vite.config.ts
index 933e624..f310ea9 100644
--- a/bigtop-manager-ui/vite.config.ts
+++ b/bigtop-manager-ui/vite.config.ts
@@ -19,6 +19,7 @@
import { loadEnv, defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
+import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import path from 'path'
// https://vitejs.dev/config/
@@ -31,6 +32,11 @@ export default defineConfig(({ mode }) => {
script: {
defineModel: true
}
+ }),
+ createSvgIconsPlugin({
+ iconDirs: [path.resolve(process.cwd(), 'src/assets/images/svg')],
+ symbolId: 'icon-[dir]-[name]',
+ customDomId: '__svg__icons__dom__'
})
],
resolve: {