diff --git a/.vscode/settings.json b/.vscode/settings.json
index 2cc6c11..4fc60db 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -45,5 +45,14 @@
"VITE",
"vueuse",
"Zhao"
- ]
+ ],
+ "i18n-ally.enabledParsers": [
+ "ts"
+ ],
+ "i18n-ally.sortKeys": true,
+ "i18n-ally.keepFulfilled": true,
+ "i18n-ally.localesPaths": [
+ "src/locales"
+ ],
+ "i18n-ally.keystyle": "nested"
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0ed46f7..7d650a0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,19 @@
+## v2.9.1
+
+`2023-03-02`
+
+### Feature
+- 代码块添加当前代码语言显示和复制功能[#197][#196]
+- 完善多语言,现在可以切换中英文显示
+
+## Enhancement
+- 由[Zo3i](https://github.com/Chanzhaoyu/chatgpt-web/pull/187) 完善 `docker-compose` 部署文档
+
+### BugFix
+- 由 [ottocsb](https://github.com/Chanzhaoyu/chatgpt-web/pull/200) 修复头像修改不同步的问题
+## Other
+- 更新依赖至最新
+- 修改 `README` 内容
## v2.9.0
`2023-03-02`
diff --git a/README.md b/README.md
index 55e70fd..0612c1a 100644
--- a/README.md
+++ b/README.md
@@ -69,9 +69,9 @@ API_REVERSE_PROXY=
[✓] 对代码等消息类型的格式化美化处理
-[✗] 界面多语言
+[✓] 界面多语言
-[✗] 界面主题
+[✓] 界面主题
[✗] More...
@@ -174,7 +174,7 @@ version: '3'
services:
app:
- image: chenzhaoyu94/chatgpt-web # 总是使用latest,更新时重新pull该tag镜像即可
+ image: chenzhaoyu94/chatgpt-web # 总是使用 latest ,更新时重新 pull 该 tag 镜像即可
ports:
- 3002:3002
environment:
diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml
index 4a343b1..d891e1e 100644
--- a/docker-compose/docker-compose.yml
+++ b/docker-compose/docker-compose.yml
@@ -18,9 +18,9 @@ services:
build: nginx
image: chatgpt/nginx
ports:
- - "80:80"
+ - '80:80'
expose:
- - "80"
+ - '80'
volumes:
- ./nginx/html/:/etc/nginx/html/
links:
diff --git a/package.json b/package.json
index cc588a7..35ddaa9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "chatgpt-web",
- "version": "2.9.0",
+ "version": "2.9.1",
"private": false,
"description": "ChatGPT Web",
"author": "ChenZhaoYu ",
@@ -27,34 +27,34 @@
"highlight.js": "^11.7.0",
"marked": "^4.2.12",
"naive-ui": "^2.34.3",
- "pinia": "^2.0.30",
+ "pinia": "^2.0.32",
"vue": "^3.2.47",
+ "vue-i18n": "^9.2.2",
"vue-router": "^4.1.6"
},
"devDependencies": {
- "@antfu/eslint-config": "^0.35.2",
+ "@antfu/eslint-config": "^0.35.3",
"@commitlint/cli": "^17.4.4",
"@commitlint/config-conventional": "^17.4.4",
"@iconify/vue": "^4.1.0",
"@types/crypto-js": "^4.1.1",
"@types/marked": "^4.0.8",
- "@types/node": "^18.14.0",
- "@types/web-bluetooth": "^0.0.16",
+ "@types/node": "^18.14.4",
"@vitejs/plugin-vue": "^4.0.0",
"autoprefixer": "^10.4.13",
- "axios": "^1.3.3",
+ "axios": "^1.3.4",
"crypto-js": "^4.1.1",
- "eslint": "^8.34.0",
+ "eslint": "^8.35.0",
"husky": "^8.0.3",
"less": "^4.1.3",
"lint-staged": "^13.1.2",
"npm-run-all": "^4.1.5",
"postcss": "^8.4.21",
- "rimraf": "^4.1.2",
+ "rimraf": "^4.1.3",
"tailwindcss": "^3.2.7",
"typescript": "~4.9.5",
- "vite": "^4.1.2",
- "vue-tsc": "^1.1.4"
+ "vite": "^4.1.4",
+ "vue-tsc": "^1.2.0"
},
"lint-staged": {
"*.{ts,tsx,vue}": [
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f9191da..12b75b3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,20 +1,19 @@
lockfileVersion: 5.4
specifiers:
- '@antfu/eslint-config': ^0.35.2
+ '@antfu/eslint-config': ^0.35.3
'@commitlint/cli': ^17.4.4
'@commitlint/config-conventional': ^17.4.4
'@iconify/vue': ^4.1.0
'@types/crypto-js': ^4.1.1
'@types/marked': ^4.0.8
- '@types/node': ^18.14.0
- '@types/web-bluetooth': ^0.0.16
+ '@types/node': ^18.14.4
'@vitejs/plugin-vue': ^4.0.0
'@vueuse/core': ^9.13.0
autoprefixer: ^10.4.13
- axios: ^1.3.3
+ axios: ^1.3.4
crypto-js: ^4.1.1
- eslint: ^8.34.0
+ eslint: ^8.35.0
highlight.js: ^11.7.0
husky: ^8.0.3
less: ^4.1.3
@@ -22,70 +21,71 @@ specifiers:
marked: ^4.2.12
naive-ui: ^2.34.3
npm-run-all: ^4.1.5
- pinia: ^2.0.30
+ pinia: ^2.0.32
postcss: ^8.4.21
- rimraf: ^4.1.2
+ rimraf: ^4.1.3
tailwindcss: ^3.2.7
typescript: ~4.9.5
- vite: ^4.1.2
+ vite: ^4.1.4
vue: ^3.2.47
+ vue-i18n: ^9.2.2
vue-router: ^4.1.6
- vue-tsc: ^1.1.4
+ vue-tsc: ^1.2.0
dependencies:
'@vueuse/core': 9.13.0_vue@3.2.47
highlight.js: 11.7.0
marked: 4.2.12
naive-ui: 2.34.3_vue@3.2.47
- pinia: 2.0.30_hmuptsblhheur2tugfgucj7gc4
+ pinia: 2.0.32_hmuptsblhheur2tugfgucj7gc4
vue: 3.2.47
+ vue-i18n: 9.2.2_vue@3.2.47
vue-router: 4.1.6_vue@3.2.47
devDependencies:
- '@antfu/eslint-config': 0.35.2_7kw3g6rralp5ps6mg3uyzz6azm
+ '@antfu/eslint-config': 0.35.3_ycpbpc6yetojsgtrx3mwntkhsu
'@commitlint/cli': 17.4.4
'@commitlint/config-conventional': 17.4.4
'@iconify/vue': 4.1.0_vue@3.2.47
'@types/crypto-js': 4.1.1
'@types/marked': 4.0.8
- '@types/node': 18.14.0
- '@types/web-bluetooth': 0.0.16
- '@vitejs/plugin-vue': 4.0.0_vite@4.1.2+vue@3.2.47
+ '@types/node': 18.14.4
+ '@vitejs/plugin-vue': 4.0.0_vite@4.1.4+vue@3.2.47
autoprefixer: 10.4.13_postcss@8.4.21
- axios: 1.3.3
+ axios: 1.3.4
crypto-js: 4.1.1
- eslint: 8.34.0
+ eslint: 8.35.0
husky: 8.0.3
less: 4.1.3
lint-staged: 13.1.2
npm-run-all: 4.1.5
postcss: 8.4.21
- rimraf: 4.1.2
+ rimraf: 4.1.3
tailwindcss: 3.2.7_postcss@8.4.21
typescript: 4.9.5
- vite: 4.1.2_lxiyzdpogvsuukhx3wcpsdczbq
- vue-tsc: 1.1.4_typescript@4.9.5
+ vite: 4.1.4_752grm4nw4hff7lyew72esoj4m
+ vue-tsc: 1.2.0_typescript@4.9.5
packages:
- /@antfu/eslint-config-basic/0.35.2_khyrr7my4aaa3ssgqabkfgcc24:
- resolution: {integrity: sha512-2k7Ovkd8U/q0sgfjuT9KzAUV0q187yGxP7JzD2D4YifuJwL5Bh3JC49KpCv9PXMTeRUMJX2y/kOtGYPetocOug==}
+ /@antfu/eslint-config-basic/0.35.3_y46c5jzhegju5ppnhbs6d4llxi:
+ resolution: {integrity: sha512-NbWJKNgd3Ky3/ok2Z88cXNme/6I9otkiaB+FYLFgQE81sfMAhKpLKXtTSwzdcKMzhKDqUchAijt0BxjE/mcTJg==}
peerDependencies:
eslint: '>=7.4.0'
dependencies:
- eslint: 8.34.0
- eslint-plugin-antfu: 0.35.2_7kw3g6rralp5ps6mg3uyzz6azm
- eslint-plugin-eslint-comments: 3.2.0_eslint@8.34.0
+ eslint: 8.35.0
+ eslint-plugin-antfu: 0.35.3_ycpbpc6yetojsgtrx3mwntkhsu
+ eslint-plugin-eslint-comments: 3.2.0_eslint@8.35.0
eslint-plugin-html: 7.1.0
- eslint-plugin-import: 2.27.5_mcvs2y73sfmcxqzpjj5lr7a2m4
- eslint-plugin-jsonc: 2.6.0_eslint@8.34.0
- eslint-plugin-markdown: 3.0.0_eslint@8.34.0
- eslint-plugin-n: 15.6.1_eslint@8.34.0
+ eslint-plugin-import: 2.27.5_ajyizmi44oc3hrc35l6ndh7p4e
+ eslint-plugin-jsonc: 2.6.0_eslint@8.35.0
+ eslint-plugin-markdown: 3.0.0_eslint@8.35.0
+ eslint-plugin-n: 15.6.1_eslint@8.35.0
eslint-plugin-no-only-tests: 3.1.0
- eslint-plugin-promise: 6.1.1_eslint@8.34.0
- eslint-plugin-unicorn: 45.0.2_eslint@8.34.0
- eslint-plugin-unused-imports: 2.0.0_vqeavzxdzk2atb75l6fx3anzpi
- eslint-plugin-yml: 1.5.0_eslint@8.34.0
+ eslint-plugin-promise: 6.1.1_eslint@8.35.0
+ eslint-plugin-unicorn: 45.0.2_eslint@8.35.0
+ eslint-plugin-unused-imports: 2.0.0_hlu2tevvfejtijvruutuci6rky
+ eslint-plugin-yml: 1.5.0_eslint@8.35.0
jsonc-eslint-parser: 2.1.0
yaml-eslint-parser: 1.1.0
transitivePeerDependencies:
@@ -97,17 +97,17 @@ packages:
- typescript
dev: true
- /@antfu/eslint-config-ts/0.35.2_7kw3g6rralp5ps6mg3uyzz6azm:
- resolution: {integrity: sha512-GiJtTCQ83L/vMkJlWWg2l0buH/LIOXl5szrsqtr8/Hl6ssjAMXnug8sDZMCqCIZtztzQCewBPx8ufp/MpzA2cQ==}
+ /@antfu/eslint-config-ts/0.35.3_ycpbpc6yetojsgtrx3mwntkhsu:
+ resolution: {integrity: sha512-FS5hir2ghXYlJWAiB2bpT9oAr0kpSNmYbaJWWkztocJG95AORl4tWzxMTkLT+TxaOmhuwJszcrMTHy5RgHL8/w==}
peerDependencies:
eslint: '>=7.4.0'
typescript: '>=3.9'
dependencies:
- '@antfu/eslint-config-basic': 0.35.2_khyrr7my4aaa3ssgqabkfgcc24
- '@typescript-eslint/eslint-plugin': 5.52.0_6cfvjsbua5ptj65675bqcn6oza
- '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
- eslint: 8.34.0
- eslint-plugin-jest: 27.2.1_7hfwvekd5cgjoxqyvesymwuacm
+ '@antfu/eslint-config-basic': 0.35.3_y46c5jzhegju5ppnhbs6d4llxi
+ '@typescript-eslint/eslint-plugin': 5.54.0_6mj2wypvdnknez7kws2nfdgupi
+ '@typescript-eslint/parser': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
+ eslint: 8.35.0
+ eslint-plugin-jest: 27.2.1_aere4n7c7ynvp62ae3ihfxuwhu
typescript: 4.9.5
transitivePeerDependencies:
- eslint-import-resolver-typescript
@@ -116,15 +116,15 @@ packages:
- supports-color
dev: true
- /@antfu/eslint-config-vue/0.35.2_khyrr7my4aaa3ssgqabkfgcc24:
- resolution: {integrity: sha512-98k9D+n0bgr/9OqedAEOsflIWbXz4D92pejXqkUAtnRnB2Nq5dWrrFMJ59oJwTDKnEslpwANlgIXM11qdiTF0Q==}
+ /@antfu/eslint-config-vue/0.35.3_y46c5jzhegju5ppnhbs6d4llxi:
+ resolution: {integrity: sha512-BA3vGLyuzqtEUb9gfgE7YzBT+a4oUnQuUPasIUfN/BVXaEhRVYlMmUgxN4ekQLuzOgUjUH13lqplXtkLJ62t9g==}
peerDependencies:
eslint: '>=7.4.0'
dependencies:
- '@antfu/eslint-config-basic': 0.35.2_khyrr7my4aaa3ssgqabkfgcc24
- '@antfu/eslint-config-ts': 0.35.2_7kw3g6rralp5ps6mg3uyzz6azm
- eslint: 8.34.0
- eslint-plugin-vue: 9.9.0_eslint@8.34.0
+ '@antfu/eslint-config-basic': 0.35.3_y46c5jzhegju5ppnhbs6d4llxi
+ '@antfu/eslint-config-ts': 0.35.3_ycpbpc6yetojsgtrx3mwntkhsu
+ eslint: 8.35.0
+ eslint-plugin-vue: 9.9.0_eslint@8.35.0
local-pkg: 0.4.3
transitivePeerDependencies:
- '@typescript-eslint/eslint-plugin'
@@ -136,24 +136,24 @@ packages:
- typescript
dev: true
- /@antfu/eslint-config/0.35.2_7kw3g6rralp5ps6mg3uyzz6azm:
- resolution: {integrity: sha512-bbm7Yh7VgNI9ZaYs/L1oSTQwPMIdvlRtqxPfaBLpYdEvnsOuT4yX84TO0YaZ4RFjE4jqxQCSE/eioxydmWnl4w==}
+ /@antfu/eslint-config/0.35.3_ycpbpc6yetojsgtrx3mwntkhsu:
+ resolution: {integrity: sha512-wd0ry/TNqaZmniqkKtZKoCvpl55x9YbHgL5Ug3H9rVuUSqaNi9G9AjYlynQqn4/M1EhYYWO597Lu7f/fC+csrg==}
peerDependencies:
eslint: '>=7.4.0'
dependencies:
- '@antfu/eslint-config-vue': 0.35.2_khyrr7my4aaa3ssgqabkfgcc24
- '@typescript-eslint/eslint-plugin': 5.52.0_6cfvjsbua5ptj65675bqcn6oza
- '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
- eslint: 8.34.0
- eslint-plugin-eslint-comments: 3.2.0_eslint@8.34.0
+ '@antfu/eslint-config-vue': 0.35.3_y46c5jzhegju5ppnhbs6d4llxi
+ '@typescript-eslint/eslint-plugin': 5.54.0_6mj2wypvdnknez7kws2nfdgupi
+ '@typescript-eslint/parser': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
+ eslint: 8.35.0
+ eslint-plugin-eslint-comments: 3.2.0_eslint@8.35.0
eslint-plugin-html: 7.1.0
- eslint-plugin-import: 2.27.5_mcvs2y73sfmcxqzpjj5lr7a2m4
- eslint-plugin-jsonc: 2.6.0_eslint@8.34.0
- eslint-plugin-n: 15.6.1_eslint@8.34.0
- eslint-plugin-promise: 6.1.1_eslint@8.34.0
- eslint-plugin-unicorn: 45.0.2_eslint@8.34.0
- eslint-plugin-vue: 9.9.0_eslint@8.34.0
- eslint-plugin-yml: 1.5.0_eslint@8.34.0
+ eslint-plugin-import: 2.27.5_ajyizmi44oc3hrc35l6ndh7p4e
+ eslint-plugin-jsonc: 2.6.0_eslint@8.35.0
+ eslint-plugin-n: 15.6.1_eslint@8.35.0
+ eslint-plugin-promise: 6.1.1_eslint@8.35.0
+ eslint-plugin-unicorn: 45.0.2_eslint@8.35.0
+ eslint-plugin-vue: 9.9.0_eslint@8.35.0
+ eslint-plugin-yml: 1.5.0_eslint@8.35.0
jsonc-eslint-parser: 2.1.0
yaml-eslint-parser: 1.1.0
transitivePeerDependencies:
@@ -188,15 +188,15 @@ packages:
js-tokens: 4.0.0
dev: true
- /@babel/parser/7.20.15:
- resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==}
+ /@babel/parser/7.21.2:
+ resolution: {integrity: sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
- /@babel/types/7.20.7:
- resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==}
+ /@babel/types/7.21.2:
+ resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-string-parser': 7.19.4
@@ -217,7 +217,7 @@ packages:
lodash.isfunction: 3.0.9
resolve-from: 5.0.0
resolve-global: 1.0.0
- yargs: 17.6.2
+ yargs: 17.7.1
transitivePeerDependencies:
- '@swc/core'
- '@swc/wasm'
@@ -289,15 +289,15 @@ packages:
'@commitlint/execute-rule': 17.4.0
'@commitlint/resolve-extends': 17.4.4
'@commitlint/types': 17.4.4
- '@types/node': 18.14.0
+ '@types/node': 18.14.4
chalk: 4.1.2
- cosmiconfig: 8.0.0
- cosmiconfig-typescript-loader: 4.3.0_ipkhww4xc5z2tt2x53vp2mt2be
+ cosmiconfig: 8.1.0
+ cosmiconfig-typescript-loader: 4.3.0_nd25hbh3ectnnkbvturxnqqqfm
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
resolve-from: 5.0.0
- ts-node: 10.9.1_tncu2ai53lzgmizdedur7lbibe
+ ts-node: 10.9.1_oboltcrkaqheaa54woelu7cdsa
typescript: 4.9.5
transitivePeerDependencies:
- '@swc/core'
@@ -596,18 +596,18 @@ packages:
dev: true
optional: true
- /@eslint-community/eslint-utils/4.1.2_eslint@8.34.0:
+ /@eslint-community/eslint-utils/4.1.2_eslint@8.35.0:
resolution: {integrity: sha512-7qELuQWWjVDdVsFQ5+beUl+KPczrEDA7S3zM4QUd/bJl7oXgsmpXaEVqrRTnOBqenOV4rWf2kVZk2Ot085zPWA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- eslint: 8.34.0
+ eslint: 8.35.0
eslint-visitor-keys: 3.3.0
dev: true
- /@eslint/eslintrc/1.4.1:
- resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
+ /@eslint/eslintrc/2.0.0:
+ resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
@@ -623,6 +623,11 @@ packages:
- supports-color
dev: true
+ /@eslint/js/8.35.0:
+ resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
/@humanwhocodes/config-array/0.11.8:
resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==}
engines: {node: '>=10.10.0'}
@@ -656,6 +661,44 @@ packages:
vue: 3.2.47
dev: true
+ /@intlify/core-base/9.2.2:
+ resolution: {integrity: sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@intlify/devtools-if': 9.2.2
+ '@intlify/message-compiler': 9.2.2
+ '@intlify/shared': 9.2.2
+ '@intlify/vue-devtools': 9.2.2
+ dev: false
+
+ /@intlify/devtools-if/9.2.2:
+ resolution: {integrity: sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@intlify/shared': 9.2.2
+ dev: false
+
+ /@intlify/message-compiler/9.2.2:
+ resolution: {integrity: sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@intlify/shared': 9.2.2
+ source-map: 0.6.1
+ dev: false
+
+ /@intlify/shared/9.2.2:
+ resolution: {integrity: sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==}
+ engines: {node: '>= 14'}
+ dev: false
+
+ /@intlify/vue-devtools/9.2.2:
+ resolution: {integrity: sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==}
+ engines: {node: '>= 14'}
+ dependencies:
+ '@intlify/core-base': 9.2.2
+ '@intlify/shared': 9.2.2
+ dev: false
+
/@jridgewell/resolve-uri/3.1.0:
resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
engines: {node: '>=6.0.0'}
@@ -753,8 +796,8 @@ packages:
resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
dev: true
- /@types/node/18.14.0:
- resolution: {integrity: sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A==}
+ /@types/node/18.14.4:
+ resolution: {integrity: sha512-VhCw7I7qO2X49+jaKcAUwi3rR+hbxT5VcYF493+Z5kMLI0DL568b7JI4IDJaxWFH0D/xwmGJNoXisyX+w7GH/g==}
dev: true
/@types/normalize-package-data/2.4.1:
@@ -771,9 +814,10 @@ packages:
/@types/web-bluetooth/0.0.16:
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
+ dev: false
- /@typescript-eslint/eslint-plugin/5.52.0_6cfvjsbua5ptj65675bqcn6oza:
- resolution: {integrity: sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==}
+ /@typescript-eslint/eslint-plugin/5.54.0_6mj2wypvdnknez7kws2nfdgupi:
+ resolution: {integrity: sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
@@ -783,12 +827,12 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
- '@typescript-eslint/scope-manager': 5.52.0
- '@typescript-eslint/type-utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
- '@typescript-eslint/utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
+ '@typescript-eslint/parser': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
+ '@typescript-eslint/scope-manager': 5.54.0
+ '@typescript-eslint/type-utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
+ '@typescript-eslint/utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
debug: 4.3.4
- eslint: 8.34.0
+ eslint: 8.35.0
grapheme-splitter: 1.0.4
ignore: 5.2.4
natural-compare-lite: 1.4.0
@@ -800,8 +844,8 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/parser/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm:
- resolution: {integrity: sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==}
+ /@typescript-eslint/parser/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu:
+ resolution: {integrity: sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -810,26 +854,26 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/scope-manager': 5.52.0
- '@typescript-eslint/types': 5.52.0
- '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5
+ '@typescript-eslint/scope-manager': 5.54.0
+ '@typescript-eslint/types': 5.54.0
+ '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5
debug: 4.3.4
- eslint: 8.34.0
+ eslint: 8.35.0
typescript: 4.9.5
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/scope-manager/5.52.0:
- resolution: {integrity: sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==}
+ /@typescript-eslint/scope-manager/5.54.0:
+ resolution: {integrity: sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@typescript-eslint/types': 5.52.0
- '@typescript-eslint/visitor-keys': 5.52.0
+ '@typescript-eslint/types': 5.54.0
+ '@typescript-eslint/visitor-keys': 5.54.0
dev: true
- /@typescript-eslint/type-utils/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm:
- resolution: {integrity: sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==}
+ /@typescript-eslint/type-utils/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu:
+ resolution: {integrity: sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
@@ -838,23 +882,23 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5
- '@typescript-eslint/utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
+ '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5
+ '@typescript-eslint/utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
debug: 4.3.4
- eslint: 8.34.0
+ eslint: 8.35.0
tsutils: 3.21.0_typescript@4.9.5
typescript: 4.9.5
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/types/5.52.0:
- resolution: {integrity: sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==}
+ /@typescript-eslint/types/5.54.0:
+ resolution: {integrity: sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /@typescript-eslint/typescript-estree/5.52.0_typescript@4.9.5:
- resolution: {integrity: sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==}
+ /@typescript-eslint/typescript-estree/5.54.0_typescript@4.9.5:
+ resolution: {integrity: sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
@@ -862,8 +906,8 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/types': 5.52.0
- '@typescript-eslint/visitor-keys': 5.52.0
+ '@typescript-eslint/types': 5.54.0
+ '@typescript-eslint/visitor-keys': 5.54.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
@@ -874,68 +918,68 @@ packages:
- supports-color
dev: true
- /@typescript-eslint/utils/5.52.0_7kw3g6rralp5ps6mg3uyzz6azm:
- resolution: {integrity: sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==}
+ /@typescript-eslint/utils/5.54.0_ycpbpc6yetojsgtrx3mwntkhsu:
+ resolution: {integrity: sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
'@types/json-schema': 7.0.11
'@types/semver': 7.3.13
- '@typescript-eslint/scope-manager': 5.52.0
- '@typescript-eslint/types': 5.52.0
- '@typescript-eslint/typescript-estree': 5.52.0_typescript@4.9.5
- eslint: 8.34.0
+ '@typescript-eslint/scope-manager': 5.54.0
+ '@typescript-eslint/types': 5.54.0
+ '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5
+ eslint: 8.35.0
eslint-scope: 5.1.1
- eslint-utils: 3.0.0_eslint@8.34.0
+ eslint-utils: 3.0.0_eslint@8.35.0
semver: 7.3.8
transitivePeerDependencies:
- supports-color
- typescript
dev: true
- /@typescript-eslint/visitor-keys/5.52.0:
- resolution: {integrity: sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==}
+ /@typescript-eslint/visitor-keys/5.54.0:
+ resolution: {integrity: sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@typescript-eslint/types': 5.52.0
+ '@typescript-eslint/types': 5.54.0
eslint-visitor-keys: 3.3.0
dev: true
- /@vitejs/plugin-vue/4.0.0_vite@4.1.2+vue@3.2.47:
+ /@vitejs/plugin-vue/4.0.0_vite@4.1.4+vue@3.2.47:
resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
vite: ^4.0.0
vue: ^3.2.25
dependencies:
- vite: 4.1.2_lxiyzdpogvsuukhx3wcpsdczbq
+ vite: 4.1.4_752grm4nw4hff7lyew72esoj4m
vue: 3.2.47
dev: true
- /@volar/language-core/1.2.0-alpha.16:
- resolution: {integrity: sha512-aIktWe9Zg0M+u/RIXHCuL+IoLRHTrpsbTib8olrg4etlurHDXahoVhoEnH9wmlliray0iigIo2z5vwueYInp3g==}
+ /@volar/language-core/1.3.0-alpha.0:
+ resolution: {integrity: sha512-W3uMzecHPcbwddPu4SJpUcPakRBK/y/BP+U0U6NiPpUX1tONLC4yCawt+QBJqtgJ+sfD6ztf5PyvPL3hQRqfOA==}
dependencies:
- '@volar/source-map': 1.2.0-alpha.16
+ '@volar/source-map': 1.3.0-alpha.0
dev: true
- /@volar/source-map/1.2.0-alpha.16:
- resolution: {integrity: sha512-/AK3VqnFqONd221COI2ZnEvfgBulfoQkjA/ZjPOXpsOkWri99TLcfZY/NTQRytp7Hx6EP/1p1DDeyGuMCUYjgA==}
+ /@volar/source-map/1.3.0-alpha.0:
+ resolution: {integrity: sha512-jSdizxWFvDTvkPYZnO6ew3sBZUnS0abKCbuopkc0JrIlFbznWC/fPH3iPFIMS8/IIkRxq1Jh9VVG60SmtsdaMQ==}
dependencies:
muggle-string: 0.2.2
dev: true
- /@volar/typescript/1.2.0-alpha.16:
- resolution: {integrity: sha512-ltlTLHIkLxgmTVBZmOnhmnlNzEj2lpvlBmmaV2GWYTrBUMt0z1OgeCq0Utlj9HjjrGPhwWxZNkv86ZABgrMA3Q==}
+ /@volar/typescript/1.3.0-alpha.0:
+ resolution: {integrity: sha512-5UItyW2cdH2mBLu4RrECRNJRgtvvzKrSCn2y3v/D61QwIDkGx4aeil6x8RFuUL5TFtV6QvVHXnsOHxNgd+sCow==}
dependencies:
- '@volar/language-core': 1.2.0-alpha.16
+ '@volar/language-core': 1.3.0-alpha.0
dev: true
- /@volar/vue-language-core/1.1.4:
- resolution: {integrity: sha512-2C2CwHvaT5AzNzDbYZQ85lNr4jACZARoZMZBLuU5+JyIwhWeAfxvyAeoE3VbgfgycN5t6X4uBqx/Wzh1QLgD8Q==}
+ /@volar/vue-language-core/1.2.0:
+ resolution: {integrity: sha512-w7yEiaITh2WzKe6u8ZdeLKCUz43wdmY/OqAmsB/PGDvvhTcVhCJ6f0W/RprZL1IhqH8wALoWiwEh/Wer7ZviMQ==}
dependencies:
- '@volar/language-core': 1.2.0-alpha.16
- '@volar/source-map': 1.2.0-alpha.16
+ '@volar/language-core': 1.3.0-alpha.0
+ '@volar/source-map': 1.3.0-alpha.0
'@vue/compiler-dom': 3.2.47
'@vue/compiler-sfc': 3.2.47
'@vue/reactivity': 3.2.47
@@ -945,17 +989,17 @@ packages:
vue-template-compiler: 2.7.14
dev: true
- /@volar/vue-typescript/1.1.4:
- resolution: {integrity: sha512-x5i5TUUXb1PM0rM80Y8XUeMBUcoS3/TjR3WTxvvEUIol9uEOPp6uxxQQ67uSv7ocN6vB0LugJqS6FA7Z93oL0Q==}
+ /@volar/vue-typescript/1.2.0:
+ resolution: {integrity: sha512-zjmRi9y3J1EkG+pfuHp8IbHmibihrKK485cfzsHjiuvJMGrpkWvlO5WVEk8oslMxxeGC5XwBFE9AOlvh378EPA==}
dependencies:
- '@volar/typescript': 1.2.0-alpha.16
- '@volar/vue-language-core': 1.1.4
+ '@volar/typescript': 1.3.0-alpha.0
+ '@volar/vue-language-core': 1.2.0
dev: true
/@vue/compiler-core/3.2.47:
resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==}
dependencies:
- '@babel/parser': 7.20.15
+ '@babel/parser': 7.21.2
'@vue/shared': 3.2.47
estree-walker: 2.0.2
source-map: 0.6.1
@@ -969,7 +1013,7 @@ packages:
/@vue/compiler-sfc/3.2.47:
resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==}
dependencies:
- '@babel/parser': 7.20.15
+ '@babel/parser': 7.21.2
'@vue/compiler-core': 3.2.47
'@vue/compiler-dom': 3.2.47
'@vue/compiler-ssr': 3.2.47
@@ -993,7 +1037,7 @@ packages:
/@vue/reactivity-transform/3.2.47:
resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==}
dependencies:
- '@babel/parser': 7.20.15
+ '@babel/parser': 7.21.2
'@vue/compiler-core': 3.2.47
'@vue/shared': 3.2.47
estree-walker: 2.0.2
@@ -1248,7 +1292,7 @@ packages:
postcss: ^8.1.0
dependencies:
browserslist: 4.21.5
- caniuse-lite: 1.0.30001452
+ caniuse-lite: 1.0.30001458
fraction.js: 4.2.0
normalize-range: 0.1.2
picocolors: 1.0.0
@@ -1261,8 +1305,8 @@ packages:
engines: {node: '>= 0.4'}
dev: true
- /axios/1.3.3:
- resolution: {integrity: sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA==}
+ /axios/1.3.4:
+ resolution: {integrity: sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==}
dependencies:
follow-redirects: 1.15.2
form-data: 4.0.0
@@ -1309,8 +1353,8 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
- caniuse-lite: 1.0.30001452
- electron-to-chromium: 1.4.296
+ caniuse-lite: 1.0.30001458
+ electron-to-chromium: 1.4.315
node-releases: 2.0.10
update-browserslist-db: 1.0.10_browserslist@4.21.5
dev: true
@@ -1357,8 +1401,8 @@ packages:
engines: {node: '>=6'}
dev: true
- /caniuse-lite/1.0.30001452:
- resolution: {integrity: sha512-Lkp0vFjMkBB3GTpLR8zk4NwW5EdRdnitwYJHDOOKIU85x4ckYCPQ+9WlVvSVClHxVReefkUMtWZH2l9KGlD51w==}
+ /caniuse-lite/1.0.30001458:
+ resolution: {integrity: sha512-lQ1VlUUq5q9ro9X+5gOEyH7i3vm+AYVT1WDCVB69XOZ17KZRhnZ9J0Sqz7wTHQaLBJccNCHq8/Ww5LlOIZbB0w==}
dev: true
/chalk/2.4.2:
@@ -1538,7 +1582,7 @@ packages:
is-what: 3.14.1
dev: true
- /cosmiconfig-typescript-loader/4.3.0_ipkhww4xc5z2tt2x53vp2mt2be:
+ /cosmiconfig-typescript-loader/4.3.0_nd25hbh3ectnnkbvturxnqqqfm:
resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==}
engines: {node: '>=12', npm: '>=6'}
peerDependencies:
@@ -1547,14 +1591,14 @@ packages:
ts-node: '>=10'
typescript: '>=3'
dependencies:
- '@types/node': 18.14.0
- cosmiconfig: 8.0.0
- ts-node: 10.9.1_tncu2ai53lzgmizdedur7lbibe
+ '@types/node': 18.14.4
+ cosmiconfig: 8.1.0
+ ts-node: 10.9.1_oboltcrkaqheaa54woelu7cdsa
typescript: 4.9.5
dev: true
- /cosmiconfig/8.0.0:
- resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==}
+ /cosmiconfig/8.1.0:
+ resolution: {integrity: sha512-0tLZ9URlPGU7JsKq0DQOQ3FoRsYX8xDZ7xMiATQfaiGMz7EHowNkbU9u1coAOmnh9p/1ySpm0RB3JNWRXM5GCg==}
engines: {node: '>=14'}
dependencies:
import-fresh: 3.3.0
@@ -1772,8 +1816,8 @@ packages:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
dev: true
- /electron-to-chromium/1.4.296:
- resolution: {integrity: sha512-i/6Q+Y9bluDa2a0NbMvdtG5TuS/1Fr3TKK8L+7UUL9QjRS5iFJzCC3r70xjyOnLiYG8qGV4/mMpe6HuAbdJW4w==}
+ /electron-to-chromium/1.4.315:
+ resolution: {integrity: sha512-ndBQYz3Eyy3rASjjQ9poMJGoAlsZ/aZnq6GBsGL4w/4sWIAwiUHVSsMuADbxa8WJw7pZ0oxLpGbtoDt4vRTdCg==}
dev: true
/emoji-regex/8.0.0:
@@ -1823,7 +1867,7 @@ packages:
has-proto: 1.0.1
has-symbols: 1.0.3
internal-slot: 1.0.5
- is-array-buffer: 3.0.1
+ is-array-buffer: 3.0.2
is-callable: 1.2.7
is-negative-zero: 2.0.2
is-regex: 1.1.4
@@ -1922,7 +1966,7 @@ packages:
- supports-color
dev: true
- /eslint-module-utils/2.7.4_npjqex3ey3rgd34fjcuucz7la4:
+ /eslint-module-utils/2.7.4_qynxowrxvm2kj5rbowcxf5maga:
resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
engines: {node: '>=4'}
peerDependencies:
@@ -1943,43 +1987,43 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
+ '@typescript-eslint/parser': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
debug: 3.2.7
- eslint: 8.34.0
+ eslint: 8.35.0
eslint-import-resolver-node: 0.3.7
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-plugin-antfu/0.35.2_7kw3g6rralp5ps6mg3uyzz6azm:
- resolution: {integrity: sha512-Q6FOcOakafU49PDRlq7jkrWmlTJ4u3AW7aGX+FqeQNaMgjXq0RzPGvS0Vyp7q/XDRLLoe0BjbGkamTeZXg8waw==}
+ /eslint-plugin-antfu/0.35.3_ycpbpc6yetojsgtrx3mwntkhsu:
+ resolution: {integrity: sha512-90Xct24s2n3aQhuuFFcPLhF5E6lU5s225B0VXupSjvDTuF+CmSQQLQG6KcqcdpA8O6dMbeXB9zy3SJ4aO7lndw==}
dependencies:
- '@typescript-eslint/utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
+ '@typescript-eslint/utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
transitivePeerDependencies:
- eslint
- supports-color
- typescript
dev: true
- /eslint-plugin-es/4.1.0_eslint@8.34.0:
+ /eslint-plugin-es/4.1.0_eslint@8.35.0:
resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==}
engines: {node: '>=8.10.0'}
peerDependencies:
eslint: '>=4.19.1'
dependencies:
- eslint: 8.34.0
+ eslint: 8.35.0
eslint-utils: 2.1.0
regexpp: 3.2.0
dev: true
- /eslint-plugin-eslint-comments/3.2.0_eslint@8.34.0:
+ /eslint-plugin-eslint-comments/3.2.0_eslint@8.35.0:
resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==}
engines: {node: '>=6.5.0'}
peerDependencies:
eslint: '>=4.19.1'
dependencies:
escape-string-regexp: 1.0.5
- eslint: 8.34.0
+ eslint: 8.35.0
ignore: 5.2.4
dev: true
@@ -1989,7 +2033,7 @@ packages:
htmlparser2: 8.0.1
dev: true
- /eslint-plugin-import/2.27.5_mcvs2y73sfmcxqzpjj5lr7a2m4:
+ /eslint-plugin-import/2.27.5_ajyizmi44oc3hrc35l6ndh7p4e:
resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
engines: {node: '>=4'}
peerDependencies:
@@ -1999,15 +2043,15 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
- '@typescript-eslint/parser': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
+ '@typescript-eslint/parser': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
array-includes: 3.1.6
array.prototype.flat: 1.3.1
array.prototype.flatmap: 1.3.1
debug: 3.2.7
doctrine: 2.1.0
- eslint: 8.34.0
+ eslint: 8.35.0
eslint-import-resolver-node: 0.3.7
- eslint-module-utils: 2.7.4_npjqex3ey3rgd34fjcuucz7la4
+ eslint-module-utils: 2.7.4_qynxowrxvm2kj5rbowcxf5maga
has: 1.0.3
is-core-module: 2.11.0
is-glob: 4.0.3
@@ -2015,14 +2059,14 @@ packages:
object.values: 1.1.6
resolve: 1.22.1
semver: 6.3.0
- tsconfig-paths: 3.14.1
+ tsconfig-paths: 3.14.2
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
dev: true
- /eslint-plugin-jest/27.2.1_7hfwvekd5cgjoxqyvesymwuacm:
+ /eslint-plugin-jest/27.2.1_aere4n7c7ynvp62ae3ihfxuwhu:
resolution: {integrity: sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
@@ -2035,48 +2079,48 @@ packages:
jest:
optional: true
dependencies:
- '@typescript-eslint/eslint-plugin': 5.52.0_6cfvjsbua5ptj65675bqcn6oza
- '@typescript-eslint/utils': 5.52.0_7kw3g6rralp5ps6mg3uyzz6azm
- eslint: 8.34.0
+ '@typescript-eslint/eslint-plugin': 5.54.0_6mj2wypvdnknez7kws2nfdgupi
+ '@typescript-eslint/utils': 5.54.0_ycpbpc6yetojsgtrx3mwntkhsu
+ eslint: 8.35.0
transitivePeerDependencies:
- supports-color
- typescript
dev: true
- /eslint-plugin-jsonc/2.6.0_eslint@8.34.0:
+ /eslint-plugin-jsonc/2.6.0_eslint@8.35.0:
resolution: {integrity: sha512-4bA9YTx58QaWalua1Q1b82zt7eZMB7i+ed8q8cKkbKP75ofOA2SXbtFyCSok7RY6jIXeCqQnKjN9If8zCgv6PA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
- eslint: 8.34.0
- eslint-utils: 3.0.0_eslint@8.34.0
+ eslint: 8.35.0
+ eslint-utils: 3.0.0_eslint@8.35.0
jsonc-eslint-parser: 2.1.0
natural-compare: 1.4.0
dev: true
- /eslint-plugin-markdown/3.0.0_eslint@8.34.0:
+ /eslint-plugin-markdown/3.0.0_eslint@8.35.0:
resolution: {integrity: sha512-hRs5RUJGbeHDLfS7ELanT0e29Ocyssf/7kBM+p7KluY5AwngGkDf8Oyu4658/NZSGTTq05FZeWbkxXtbVyHPwg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- eslint: 8.34.0
+ eslint: 8.35.0
mdast-util-from-markdown: 0.8.5
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-plugin-n/15.6.1_eslint@8.34.0:
+ /eslint-plugin-n/15.6.1_eslint@8.35.0:
resolution: {integrity: sha512-R9xw9OtCRxxaxaszTQmQAlPgM+RdGjaL1akWuY/Fv9fRAi8Wj4CUKc6iYVG8QNRjRuo8/BqVYIpfqberJUEacA==}
engines: {node: '>=12.22.0'}
peerDependencies:
eslint: '>=7.0.0'
dependencies:
builtins: 5.0.1
- eslint: 8.34.0
- eslint-plugin-es: 4.1.0_eslint@8.34.0
- eslint-utils: 3.0.0_eslint@8.34.0
+ eslint: 8.35.0
+ eslint-plugin-es: 4.1.0_eslint@8.35.0
+ eslint-utils: 3.0.0_eslint@8.35.0
ignore: 5.2.4
is-core-module: 2.11.0
minimatch: 3.1.2
@@ -2089,27 +2133,27 @@ packages:
engines: {node: '>=5.0.0'}
dev: true
- /eslint-plugin-promise/6.1.1_eslint@8.34.0:
+ /eslint-plugin-promise/6.1.1_eslint@8.35.0:
resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
dependencies:
- eslint: 8.34.0
+ eslint: 8.35.0
dev: true
- /eslint-plugin-unicorn/45.0.2_eslint@8.34.0:
+ /eslint-plugin-unicorn/45.0.2_eslint@8.35.0:
resolution: {integrity: sha512-Y0WUDXRyGDMcKLiwgL3zSMpHrXI00xmdyixEGIg90gHnj0PcHY4moNv3Ppje/kDivdAy5vUeUr7z211ImPv2gw==}
engines: {node: '>=14.18'}
peerDependencies:
eslint: '>=8.28.0'
dependencies:
'@babel/helper-validator-identifier': 7.19.1
- '@eslint-community/eslint-utils': 4.1.2_eslint@8.34.0
+ '@eslint-community/eslint-utils': 4.1.2_eslint@8.35.0
ci-info: 3.8.0
clean-regexp: 1.0.0
- eslint: 8.34.0
- esquery: 1.4.0
+ eslint: 8.35.0
+ esquery: 1.5.0
indent-string: 4.0.0
is-builtin-module: 3.2.1
jsesc: 3.0.2
@@ -2123,7 +2167,7 @@ packages:
strip-indent: 3.0.0
dev: true
- /eslint-plugin-unused-imports/2.0.0_vqeavzxdzk2atb75l6fx3anzpi:
+ /eslint-plugin-unused-imports/2.0.0_hlu2tevvfejtijvruutuci6rky:
resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -2133,37 +2177,37 @@ packages:
'@typescript-eslint/eslint-plugin':
optional: true
dependencies:
- '@typescript-eslint/eslint-plugin': 5.52.0_6cfvjsbua5ptj65675bqcn6oza
- eslint: 8.34.0
+ '@typescript-eslint/eslint-plugin': 5.54.0_6mj2wypvdnknez7kws2nfdgupi
+ eslint: 8.35.0
eslint-rule-composer: 0.3.0
dev: true
- /eslint-plugin-vue/9.9.0_eslint@8.34.0:
+ /eslint-plugin-vue/9.9.0_eslint@8.35.0:
resolution: {integrity: sha512-YbubS7eK0J7DCf0U2LxvVP7LMfs6rC6UltihIgval3azO3gyDwEGVgsCMe1TmDiEkl6GdMKfRpaME6QxIYtzDQ==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
dependencies:
- eslint: 8.34.0
- eslint-utils: 3.0.0_eslint@8.34.0
+ eslint: 8.35.0
+ eslint-utils: 3.0.0_eslint@8.35.0
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.0.11
semver: 7.3.8
- vue-eslint-parser: 9.1.0_eslint@8.34.0
+ vue-eslint-parser: 9.1.0_eslint@8.35.0
xml-name-validator: 4.0.0
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-plugin-yml/1.5.0_eslint@8.34.0:
+ /eslint-plugin-yml/1.5.0_eslint@8.35.0:
resolution: {integrity: sha512-iygN054g+ZrnYmtOXMnT+sx9iDNXt89/m0+506cQHeG0+5jJN8hY5iOPQLd3yfd50AfK/mSasajBWruf1SoHpQ==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4
- eslint: 8.34.0
+ eslint: 8.35.0
lodash: 4.17.21
natural-compare: 1.4.0
yaml-eslint-parser: 1.1.0
@@ -2199,13 +2243,13 @@ packages:
eslint-visitor-keys: 1.3.0
dev: true
- /eslint-utils/3.0.0_eslint@8.34.0:
+ /eslint-utils/3.0.0_eslint@8.35.0:
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
peerDependencies:
eslint: '>=5'
dependencies:
- eslint: 8.34.0
+ eslint: 8.35.0
eslint-visitor-keys: 2.1.0
dev: true
@@ -2224,12 +2268,13 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /eslint/8.34.0:
- resolution: {integrity: sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==}
+ /eslint/8.35.0:
+ resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
- '@eslint/eslintrc': 1.4.1
+ '@eslint/eslintrc': 2.0.0
+ '@eslint/js': 8.35.0
'@humanwhocodes/config-array': 0.11.8
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
@@ -2240,10 +2285,10 @@ packages:
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.1.1
- eslint-utils: 3.0.0_eslint@8.34.0
+ eslint-utils: 3.0.0_eslint@8.35.0
eslint-visitor-keys: 3.3.0
espree: 9.4.1
- esquery: 1.4.0
+ esquery: 1.5.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 6.0.1
@@ -2281,8 +2326,8 @@ packages:
eslint-visitor-keys: 3.3.0
dev: true
- /esquery/1.4.0:
- resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
+ /esquery/1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
engines: {node: '>=0.10'}
dependencies:
estraverse: 5.3.0
@@ -2765,8 +2810,8 @@ packages:
is-decimal: 1.0.4
dev: true
- /is-array-buffer/3.0.1:
- resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==}
+ /is-array-buffer/3.0.2:
+ resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
dependencies:
call-bind: 1.0.2
get-intrinsic: 1.2.0
@@ -3729,8 +3774,8 @@ packages:
dev: true
optional: true
- /pinia/2.0.30_hmuptsblhheur2tugfgucj7gc4:
- resolution: {integrity: sha512-q6DUmxWwe/mQgg+55QQjykpKC+aGeGdaJV3niminl19V08dE+LRTvSEuqi6/NLSGCKHI49KGL6tMNEOssFiMyA==}
+ /pinia/2.0.32_hmuptsblhheur2tugfgucj7gc4:
+ resolution: {integrity: sha512-8Tw4OrpCSJ028UUyp0gYPP/wyjigLoEceuO/x1G+FlHVf73337e5vLm4uDmrRIoBG1hvaed/eSHnrCFjOc4nkA==}
peerDependencies:
'@vue/composition-api': ^1.4.0
typescript: '>=4.4.4'
@@ -3893,8 +3938,8 @@ packages:
type-fest: 0.6.0
dev: true
- /readable-stream/3.6.0:
- resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
+ /readable-stream/3.6.1:
+ resolution: {integrity: sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==}
engines: {node: '>= 6'}
dependencies:
inherits: 2.0.4
@@ -4003,14 +4048,14 @@ packages:
glob: 7.2.3
dev: true
- /rimraf/4.1.2:
- resolution: {integrity: sha512-BlIbgFryTbw3Dz6hyoWFhKk+unCcHMSkZGrTFVAx2WmttdBSonsdtRlwiuTbDqTKr+UlXIUqJVS4QT5tUzGENQ==}
+ /rimraf/4.1.3:
+ resolution: {integrity: sha512-iyzalDLo3l5FZxxaIGUY7xI4Bf90Xt7pCipc1Mr7RsdU7H3538z+M0tlsUDrz0aHeGS9uNqiKHUJyTewwRP91Q==}
engines: {node: '>=14'}
hasBin: true
dev: true
- /rollup/3.15.0:
- resolution: {integrity: sha512-F9hrCAhnp5/zx/7HYmftvsNBkMfLfk/dXUh73hPSM2E3CRgap65orDNJbLetoiUFwSAk6iHPLvBrZ5iHYvzqsg==}
+ /rollup/3.18.0:
+ resolution: {integrity: sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
@@ -4187,7 +4232,7 @@ packages:
/split2/3.2.2:
resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
dependencies:
- readable-stream: 3.6.0
+ readable-stream: 3.6.1
dev: true
/string-argv/0.3.1:
@@ -4354,7 +4399,7 @@ packages:
/through2/4.0.2:
resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
dependencies:
- readable-stream: 3.6.0
+ readable-stream: 3.6.1
dev: true
/to-fast-properties/2.0.0:
@@ -4377,7 +4422,7 @@ packages:
engines: {node: '>=8'}
dev: true
- /ts-node/10.9.1_tncu2ai53lzgmizdedur7lbibe:
+ /ts-node/10.9.1_oboltcrkaqheaa54woelu7cdsa:
resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
hasBin: true
peerDependencies:
@@ -4396,7 +4441,7 @@ packages:
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.3
- '@types/node': 18.14.0
+ '@types/node': 18.14.4
acorn: 8.8.2
acorn-walk: 8.2.0
arg: 4.1.3
@@ -4408,8 +4453,8 @@ packages:
yn: 3.1.1
dev: true
- /tsconfig-paths/3.14.1:
- resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==}
+ /tsconfig-paths/3.14.2:
+ resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
dependencies:
'@types/json5': 0.0.29
json5: 1.0.2
@@ -4541,8 +4586,8 @@ packages:
vue: 3.2.47
dev: false
- /vite/4.1.2_lxiyzdpogvsuukhx3wcpsdczbq:
- resolution: {integrity: sha512-MWDb9Rfy3DI8omDQySbMK93nQqStwbsQWejXRY2EBzEWKmLAXWb1mkI9Yw2IJrc+oCvPCI1Os5xSSIBYY6DEAw==}
+ /vite/4.1.4_752grm4nw4hff7lyew72esoj4m:
+ resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
@@ -4566,12 +4611,12 @@ packages:
terser:
optional: true
dependencies:
- '@types/node': 18.14.0
+ '@types/node': 18.14.4
esbuild: 0.16.17
less: 4.1.3
postcss: 8.4.21
resolve: 1.22.1
- rollup: 3.15.0
+ rollup: 3.18.0
optionalDependencies:
fsevents: 2.3.2
dev: true
@@ -4600,24 +4645,37 @@ packages:
vue: 3.2.47
dev: false
- /vue-eslint-parser/9.1.0_eslint@8.34.0:
+ /vue-eslint-parser/9.1.0_eslint@8.35.0:
resolution: {integrity: sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4
- eslint: 8.34.0
+ eslint: 8.35.0
eslint-scope: 7.1.1
eslint-visitor-keys: 3.3.0
espree: 9.4.1
- esquery: 1.4.0
+ esquery: 1.5.0
lodash: 4.17.21
semver: 7.3.8
transitivePeerDependencies:
- supports-color
dev: true
+ /vue-i18n/9.2.2_vue@3.2.47:
+ resolution: {integrity: sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ vue: ^3.0.0
+ dependencies:
+ '@intlify/core-base': 9.2.2
+ '@intlify/shared': 9.2.2
+ '@intlify/vue-devtools': 9.2.2
+ '@vue/devtools-api': 6.5.0
+ vue: 3.2.47
+ dev: false
+
/vue-router/4.1.6_vue@3.2.47:
resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==}
peerDependencies:
@@ -4634,14 +4692,14 @@ packages:
he: 1.2.0
dev: true
- /vue-tsc/1.1.4_typescript@4.9.5:
- resolution: {integrity: sha512-CMG8KZsBBPyulYie05XxJCfq/yAPiB/uMMeHmog09aLm2Kml82C6tUSRgQz8ujM4JoCrpDqVCd9G0NuM9aLt1g==}
+ /vue-tsc/1.2.0_typescript@4.9.5:
+ resolution: {integrity: sha512-rIlzqdrhyPYyLG9zxsVRa+JEseeS9s8F2BbVVVWRRsTZvJO2BbhLEb2HW3MY+DFma0378tnIqs+vfTzbcQtRFw==}
hasBin: true
peerDependencies:
typescript: '*'
dependencies:
- '@volar/vue-language-core': 1.1.4
- '@volar/vue-typescript': 1.1.4
+ '@volar/vue-language-core': 1.2.0
+ '@volar/vue-typescript': 1.2.0
typescript: 4.9.5
dev: true
@@ -4781,8 +4839,8 @@ packages:
engines: {node: '>=12'}
dev: true
- /yargs/17.6.2:
- resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==}
+ /yargs/17.7.1:
+ resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==}
engines: {node: '>=12'}
dependencies:
cliui: 8.0.1
diff --git a/service/package.json b/service/package.json
index 7a9307e..b904e8e 100644
--- a/service/package.json
+++ b/service/package.json
@@ -24,7 +24,7 @@
"common:cleanup": "rimraf node_modules && rimraf pnpm-lock.yaml"
},
"dependencies": {
- "chatgpt": "^5.0.1",
+ "chatgpt": "^5.0.4",
"dotenv": "^16.0.3",
"esno": "^0.16.3",
"express": "^4.18.2",
@@ -35,7 +35,7 @@
"devDependencies": {
"@antfu/eslint-config": "^0.35.3",
"@types/express": "^4.17.17",
- "@types/node": "^18.14.3",
+ "@types/node": "^18.14.4",
"eslint": "^8.35.0",
"rimraf": "^4.1.3",
"tsup": "^6.6.3",
diff --git a/service/pnpm-lock.yaml b/service/pnpm-lock.yaml
index f458dca..fa76615 100644
--- a/service/pnpm-lock.yaml
+++ b/service/pnpm-lock.yaml
@@ -3,8 +3,8 @@ lockfileVersion: 5.4
specifiers:
'@antfu/eslint-config': ^0.35.3
'@types/express': ^4.17.17
- '@types/node': ^18.14.3
- chatgpt: ^5.0.1
+ '@types/node': ^18.14.4
+ chatgpt: ^5.0.4
dotenv: ^16.0.3
eslint: ^8.35.0
esno: ^0.16.3
@@ -17,7 +17,7 @@ specifiers:
typescript: ^4.9.5
dependencies:
- chatgpt: 5.0.1
+ chatgpt: 5.0.4
dotenv: 16.0.3
esno: 0.16.3
express: 4.18.2
@@ -28,7 +28,7 @@ dependencies:
devDependencies:
'@antfu/eslint-config': 0.35.3_ycpbpc6yetojsgtrx3mwntkhsu
'@types/express': 4.17.17
- '@types/node': 18.14.3
+ '@types/node': 18.14.4
eslint: 8.35.0
rimraf: 4.1.3
tsup: 6.6.3_typescript@4.9.5
@@ -428,19 +428,19 @@ packages:
resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==}
dependencies:
'@types/connect': 3.4.35
- '@types/node': 18.14.3
+ '@types/node': 18.14.4
dev: true
/@types/connect/3.4.35:
resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==}
dependencies:
- '@types/node': 18.14.3
+ '@types/node': 18.14.4
dev: true
/@types/express-serve-static-core/4.17.33:
resolution: {integrity: sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==}
dependencies:
- '@types/node': 18.14.3
+ '@types/node': 18.14.4
'@types/qs': 6.9.7
'@types/range-parser': 1.2.4
dev: true
@@ -472,8 +472,8 @@ packages:
resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==}
dev: true
- /@types/node/18.14.3:
- resolution: {integrity: sha512-1y36CC5iL5CMyKALzwX9cwwxcWIxvIBe3gzs4GrXWXEQ8klQnCZ2U/WDGiNrXHmQcUhnaun17XG9TEIDlGj2RA==}
+ /@types/node/18.14.4:
+ resolution: {integrity: sha512-VhCw7I7qO2X49+jaKcAUwi3rR+hbxT5VcYF493+Z5kMLI0DL568b7JI4IDJaxWFH0D/xwmGJNoXisyX+w7GH/g==}
dev: true
/@types/normalize-package-data/2.4.1:
@@ -495,7 +495,7 @@ packages:
resolution: {integrity: sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==}
dependencies:
'@types/mime': 3.0.1
- '@types/node': 18.14.3
+ '@types/node': 18.14.4
dev: true
/@types/unist/2.0.6:
@@ -896,8 +896,8 @@ packages:
resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
dev: true
- /chatgpt/5.0.1:
- resolution: {integrity: sha512-Wy+/2XL0FobiJFaQ6N5WnhRCnOwrUJCpoVCn67qqhiWrM1QW6lgmpvtDDKKDyvj7D1MLMjc2xB/kK8aT27mL/w==}
+ /chatgpt/5.0.4:
+ resolution: {integrity: sha512-qkppO2IDYDJC1eaXfqupXdZcOPNqtBkToRcvr9CAGM1rdsKfBDpWLTx4Y6OMNH02sgWu48aJB//0lO1M17K58w==}
engines: {node: '>=14'}
hasBin: true
dependencies:
diff --git a/src/components/common/Setting/About.vue b/src/components/common/Setting/About.vue
index afd6312..d585e5e 100644
--- a/src/components/common/Setting/About.vue
+++ b/src/components/common/Setting/About.vue
@@ -47,16 +47,16 @@ onMounted(() => {
>
Github
- 免费,并且没有任何形式分付费行为!
+ ,免费且基于 MIT 协议,没有任何形式的付费行为!
如果你觉得此项目对你有帮助,请在 Github 帮我点个 Star 或者给予一点赞助,谢谢!
- API方式:{{ config?.apiModel ?? '-' }}
- 反向代理:{{ config?.reverseProxy ?? '-' }}
- 超时时间:{{ config?.timeoutMs ?? '-' }}
- Socks代理:{{ config?.socksProxy ?? '-' }}
+ {{ $t("setting.api") }}:{{ config?.apiModel ?? '-' }}
+ {{ $t("setting.reverseProxy") }}:{{ config?.reverseProxy ?? '-' }}
+ {{ $t("setting.timeout") }}:{{ config?.timeoutMs ?? '-' }}
+ {{ $t("setting.socks") }}:{{ config?.socksProxy ?? '-' }}
diff --git a/src/components/common/Setting/General.vue b/src/components/common/Setting/General.vue
index d60924d..d37ed7e 100644
--- a/src/components/common/Setting/General.vue
+++ b/src/components/common/Setting/General.vue
@@ -5,6 +5,7 @@ import type { Language, Theme } from '@/store/modules/app/helper'
import { SvgIcon } from '@/components/common'
import { useAppStore, useUserStore } from '@/store'
import type { UserInfo } from '@/store/modules/user/helper'
+import { t } from '@/locales'
interface Emit {
(event: 'update'): void
@@ -61,12 +62,12 @@ const languageOptions: { label: string; key: Language; value: Language }[] = [
function updateUserInfo(options: Partial) {
userStore.updateUserInfo(options)
- ms.success('Update success')
+ ms.success(t('common.success'))
}
function handleReset() {
userStore.resetUserInfo()
- ms.success('Reset success')
+ ms.success(t('common.success'))
emit('update')
}
@@ -75,40 +76,40 @@ function handleReset() {
-
Avatar Link
+
{{ $t('setting.avatarLink') }}
- Save
+ {{ $t('common.save') }}
-
Name
+
{{ $t('setting.name') }}
- Save
+ {{ $t('common.save') }}
-
Description
+
{{ $t('setting.description') }}
- Save
+ {{ $t('common.save') }}
- Reset UserInfo
+ {{ $t('setting.resetUserInfo') }}
- Reset
+ {{ $t('common.reset') }}
-
Theme
+
{{ $t('setting.theme') }}
-
Language
+
{{ $t('setting.language') }}
()
+
+const emit = defineEmits()
+
interface Props {
visible: boolean
}
@@ -13,10 +17,6 @@ interface Emit {
(e: 'update:visible', visible: boolean): void
}
-const props = defineProps()
-
-const emit = defineEmits()
-
const active = ref('General')
const reload = ref(false)
@@ -39,13 +39,13 @@ function handleReload() {
-
+
- General
+ {{ $t('setting.general') }}
@@ -54,7 +54,7 @@ function handleReload() {
- Config
+ {{ $t('setting.config') }}
diff --git a/src/hooks/useLanguage.ts b/src/hooks/useLanguage.ts
index e534a40..13b8ce9 100644
--- a/src/hooks/useLanguage.ts
+++ b/src/hooks/useLanguage.ts
@@ -1,15 +1,23 @@
import { computed } from 'vue'
import { enUS, zhCN } from 'naive-ui'
import { useAppStore } from '@/store'
+import { setLocale } from '@/locales'
export function useLanguage() {
const appStore = useAppStore()
const language = computed(() => {
- if (appStore.language === 'zh-CN')
- return zhCN
- else
- return enUS
+ switch (appStore.language) {
+ case 'en-US':
+ setLocale('en-US')
+ return enUS
+ case 'zh-CN':
+ setLocale('zh-CN')
+ return zhCN
+ default:
+ setLocale('zh-CN')
+ return enUS
+ }
})
return { language }
diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts
new file mode 100644
index 0000000..b832a08
--- /dev/null
+++ b/src/locales/en-US.ts
@@ -0,0 +1,41 @@
+export default {
+ common: {
+ delete: 'Delete',
+ save: 'Save',
+ reset: 'Reset',
+ yes: 'Yes',
+ no: 'No',
+ noData: 'No Data',
+ wrong: 'Something went wrong, please try again later.',
+ success: 'Success',
+ failed: 'Failed',
+ },
+ chat: {
+ placeholder: 'Ask me anything...(Shift + Enter = line break)',
+ placeholderMobile: 'Ask me anything...',
+ copy: 'Copy',
+ copied: 'Copied',
+ copyCode: 'Copy Code',
+ clearChat: 'Clear Chat',
+ clearChatConfirm: 'Are you sure to clear this chat?',
+ deleteMessage: 'Delete Message',
+ deleteMessageConfirm: 'Are you sure to delete this message?',
+ deleteHistoryConfirm: 'Are you sure to clear this history?',
+ },
+ setting: {
+ setting: 'Setting',
+ general: 'General',
+ config: 'Config',
+ avatarLink: 'Avatar Link',
+ name: 'Name',
+ description: 'Description',
+ resetUserInfo: 'Reset UserInfo',
+ theme: 'Theme',
+ language: 'Language',
+ api: 'API',
+ reverseProxy: 'Reverse Proxy',
+ timeout: 'Timeout',
+ socks: 'Socks',
+ },
+
+}
diff --git a/src/locales/index.ts b/src/locales/index.ts
new file mode 100644
index 0000000..17d3b56
--- /dev/null
+++ b/src/locales/index.ts
@@ -0,0 +1,34 @@
+import type { App } from 'vue'
+import { createI18n } from 'vue-i18n'
+import en from './en-US'
+import cn from './zh-CN'
+import { useAppStoreWithOut } from '@/store/modules/app'
+import type { Language } from '@/store/modules/app/helper'
+
+const appStore = useAppStoreWithOut()
+
+const defaultLocale = appStore.language || 'zh-CN'
+
+const i18n = createI18n({
+ locale: defaultLocale,
+ fallbackLocale: 'en-US',
+ allowComposition: true,
+ messages: {
+ 'en-US': en,
+ 'zh-CN': cn,
+ },
+})
+
+export function t(key: string) {
+ return i18n.global.t(key)
+}
+
+export function setLocale(locale: Language) {
+ i18n.global.locale = locale
+}
+
+export function setupI18n(app: App) {
+ app.use(i18n)
+}
+
+export default i18n
diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts
new file mode 100644
index 0000000..d3dc6ea
--- /dev/null
+++ b/src/locales/zh-CN.ts
@@ -0,0 +1,41 @@
+export default {
+ common: {
+ delete: '删除',
+ save: '保存',
+ reset: '重置',
+ yes: '是',
+ no: '否',
+ noData: '暂无数据',
+ wrong: '好像出错了,请稍后再试。',
+ success: '操作成功',
+ failed: '操作失败',
+ },
+ chat: {
+ placeholder: '来说点什么...(Shift + Enter = 换行)',
+ placeholderMobile: '来说点什么...',
+ copy: '复制',
+ copied: '复制成功',
+ copyCode: '复制代码',
+ clearChat: '清空会话',
+ clearChatConfirm: '是否清空会话?',
+ deleteMessage: '删除消息',
+ deleteMessageConfirm: '是否删除此消息?',
+ deleteHistoryConfirm: '确定删除此记录?',
+ },
+ setting: {
+ setting: '设置',
+ general: '总览',
+ config: '配置',
+ avatarLink: '头像链接',
+ name: '名称',
+ description: '描述',
+ resetUserInfo: '重置用户信息',
+ theme: '主题',
+ language: '语言',
+ api: 'API',
+ reverseProxy: '反向代理',
+ timeout: '超时',
+ socks: 'Socks',
+ },
+
+}
diff --git a/src/main.ts b/src/main.ts
index 115198d..401197f 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,9 +1,10 @@
import { createApp } from 'vue'
import App from './App.vue'
import { setupDirectives } from './directives'
-import { setupAssets } from '@/plugins'
-import { setupStore } from '@/store'
-import { setupRouter } from '@/router'
+import { setupI18n } from './locales'
+import { setupAssets } from './plugins'
+import { setupStore } from './store'
+import { setupRouter } from './router'
async function bootstrap() {
const app = createApp(App)
@@ -13,6 +14,8 @@ async function bootstrap() {
setupDirectives(app)
+ setupI18n(app)
+
await setupRouter(app)
app.mount('#app')
diff --git a/src/store/index.ts b/src/store/index.ts
index 5044bb1..ad01971 100644
--- a/src/store/index.ts
+++ b/src/store/index.ts
@@ -1,8 +1,9 @@
import type { App } from 'vue'
import { createPinia } from 'pinia'
+export const store = createPinia()
+
export function setupStore(app: App) {
- const store = createPinia()
app.use(store)
}
diff --git a/src/store/modules/app/index.ts b/src/store/modules/app/index.ts
index 93a0790..055d1f8 100644
--- a/src/store/modules/app/index.ts
+++ b/src/store/modules/app/index.ts
@@ -1,6 +1,7 @@
import { defineStore } from 'pinia'
import type { AppState, Language, Theme } from './helper'
import { getLocalSetting, setLocalSetting } from './helper'
+import { store } from '@/store'
export const useAppStore = defineStore('app-store', {
state: (): AppState => getLocalSetting(),
@@ -27,3 +28,7 @@ export const useAppStore = defineStore('app-store', {
},
},
})
+
+export function useAppStoreWithOut() {
+ return useAppStore(store)
+}
diff --git a/src/views/chat/components/Message/Text.vue b/src/views/chat/components/Message/Text.vue
index c65a797..445f68a 100644
--- a/src/views/chat/components/Message/Text.vue
+++ b/src/views/chat/components/Message/Text.vue
@@ -4,6 +4,7 @@ import { marked } from 'marked'
import hljs from 'highlight.js'
import { useBasicLayout } from '@/hooks/useBasicLayout'
import { encodeHTML } from '@/utils/format'
+import { t } from '@/locales'
interface Props {
inversion?: boolean
@@ -26,8 +27,10 @@ renderer.html = (html) => {
renderer.code = (code, language) => {
const validLang = !!(language && hljs.getLanguage(language))
- if (validLang)
- return `
${hljs.highlight(language, code).value}
`
+ if (validLang) {
+ const lang = language ?? ''
+ return `
${hljs.highlight(lang, code).value}
`
+ }
return `
${hljs.highlightAuto(code).value}
`
}
diff --git a/src/views/chat/components/Message/index.vue b/src/views/chat/components/Message/index.vue
index 0941143..0d462e9 100644
--- a/src/views/chat/components/Message/index.vue
+++ b/src/views/chat/components/Message/index.vue
@@ -1,11 +1,12 @@