diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c0d3a24..531b221 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: 5.3 +lockfileVersion: 5.4 specifiers: '@antfu/eslint-config': ^0.35.2 @@ -30,12 +30,12 @@ specifiers: dependencies: highlight.js: 11.7.0 naive-ui: 2.34.3_vue@3.2.47 - pinia: 2.0.30_typescript@4.9.5+vue@3.2.47 + pinia: 2.0.30_hmuptsblhheur2tugfgucj7gc4 vue: 3.2.47 vue-router: 4.1.6_vue@3.2.47 devDependencies: - '@antfu/eslint-config': 0.35.2_eslint@8.34.0+typescript@4.9.5 + '@antfu/eslint-config': 0.35.2_7kw3g6rralp5ps6mg3uyzz6azm '@commitlint/cli': 17.4.3 '@commitlint/config-conventional': 17.4.3 '@iconify/vue': 4.1.0_vue@3.2.47 @@ -51,85 +51,93 @@ devDependencies: npm-run-all: 4.1.5 postcss: 8.4.21 rimraf: 4.1.2 - tailwindcss: 3.2.6 + tailwindcss: 3.2.6_postcss@8.4.21 typescript: 4.9.5 vite: 4.1.1_@types+node@18.13.0 vue-tsc: 1.0.24_typescript@4.9.5 packages: - /@antfu/eslint-config-basic/0.35.2_b676bbf5f101a168ab75b3e568fc2dcd: + /@antfu/eslint-config-basic/0.35.2_6ike4423xm2xnh233ikrbff5m4: resolution: {integrity: sha512-2k7Ovkd8U/q0sgfjuT9KzAUV0q187yGxP7JzD2D4YifuJwL5Bh3JC49KpCv9PXMTeRUMJX2y/kOtGYPetocOug==} peerDependencies: eslint: '>=7.4.0' dependencies: eslint: 8.34.0 - eslint-plugin-antfu: 0.35.2_eslint@8.34.0+typescript@4.9.5 + eslint-plugin-antfu: 0.35.2_7kw3g6rralp5ps6mg3uyzz6azm eslint-plugin-eslint-comments: 3.2.0_eslint@8.34.0 eslint-plugin-html: 7.1.0 - eslint-plugin-import: 2.27.5_eslint@8.34.0 + eslint-plugin-import: 2.27.5_62tsymtiqxebhmxuag4hg3gx2m 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-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_0f47fab7a5a87de3ae1cbe7c11f4c3bb + eslint-plugin-unused-imports: 2.0.0_b5d7vn5fvb66hlq4xz6bd5gdxm eslint-plugin-yml: 1.5.0_eslint@8.34.0 jsonc-eslint-parser: 2.1.0 yaml-eslint-parser: 1.1.0 transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack - supports-color - typescript dev: true - /@antfu/eslint-config-ts/0.35.2_eslint@8.34.0+typescript@4.9.5: + /@antfu/eslint-config-ts/0.35.2_7kw3g6rralp5ps6mg3uyzz6azm: resolution: {integrity: sha512-GiJtTCQ83L/vMkJlWWg2l0buH/LIOXl5szrsqtr8/Hl6ssjAMXnug8sDZMCqCIZtztzQCewBPx8ufp/MpzA2cQ==} peerDependencies: eslint: '>=7.4.0' typescript: '>=3.9' dependencies: - '@antfu/eslint-config-basic': 0.35.2_b676bbf5f101a168ab75b3e568fc2dcd - '@typescript-eslint/eslint-plugin': 5.51.0_cf25694f76a520ae1d6c27009cc9663f - '@typescript-eslint/parser': 5.51.0_eslint@8.34.0+typescript@4.9.5 + '@antfu/eslint-config-basic': 0.35.2_6ike4423xm2xnh233ikrbff5m4 + '@typescript-eslint/eslint-plugin': 5.51.0_z4swst3wuuqk4hlme4ajzslgh4 + '@typescript-eslint/parser': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm eslint: 8.34.0 - eslint-plugin-jest: 27.2.1_b676bbf5f101a168ab75b3e568fc2dcd + eslint-plugin-jest: 27.2.1_wz3lx5pragqwrk3vwpswr7bnzu typescript: 4.9.5 transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack - jest - supports-color dev: true - /@antfu/eslint-config-vue/0.35.2_b676bbf5f101a168ab75b3e568fc2dcd: + /@antfu/eslint-config-vue/0.35.2_6ike4423xm2xnh233ikrbff5m4: resolution: {integrity: sha512-98k9D+n0bgr/9OqedAEOsflIWbXz4D92pejXqkUAtnRnB2Nq5dWrrFMJ59oJwTDKnEslpwANlgIXM11qdiTF0Q==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@antfu/eslint-config-basic': 0.35.2_b676bbf5f101a168ab75b3e568fc2dcd - '@antfu/eslint-config-ts': 0.35.2_eslint@8.34.0+typescript@4.9.5 + '@antfu/eslint-config-basic': 0.35.2_6ike4423xm2xnh233ikrbff5m4 + '@antfu/eslint-config-ts': 0.35.2_7kw3g6rralp5ps6mg3uyzz6azm eslint: 8.34.0 eslint-plugin-vue: 9.9.0_eslint@8.34.0 local-pkg: 0.4.3 transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack - jest - supports-color - typescript dev: true - /@antfu/eslint-config/0.35.2_eslint@8.34.0+typescript@4.9.5: + /@antfu/eslint-config/0.35.2_7kw3g6rralp5ps6mg3uyzz6azm: resolution: {integrity: sha512-bbm7Yh7VgNI9ZaYs/L1oSTQwPMIdvlRtqxPfaBLpYdEvnsOuT4yX84TO0YaZ4RFjE4jqxQCSE/eioxydmWnl4w==} peerDependencies: eslint: '>=7.4.0' dependencies: - '@antfu/eslint-config-vue': 0.35.2_b676bbf5f101a168ab75b3e568fc2dcd - '@typescript-eslint/eslint-plugin': 5.51.0_cf25694f76a520ae1d6c27009cc9663f - '@typescript-eslint/parser': 5.51.0_eslint@8.34.0+typescript@4.9.5 + '@antfu/eslint-config-vue': 0.35.2_6ike4423xm2xnh233ikrbff5m4 + '@typescript-eslint/eslint-plugin': 5.51.0_z4swst3wuuqk4hlme4ajzslgh4 + '@typescript-eslint/parser': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm eslint: 8.34.0 eslint-plugin-eslint-comments: 3.2.0_eslint@8.34.0 eslint-plugin-html: 7.1.0 - eslint-plugin-import: 2.27.5_eslint@8.34.0 + eslint-plugin-import: 2.27.5_62tsymtiqxebhmxuag4hg3gx2m 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 @@ -139,6 +147,8 @@ packages: jsonc-eslint-parser: 2.1.0 yaml-eslint-parser: 1.1.0 transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack - jest - supports-color - typescript @@ -272,12 +282,12 @@ packages: '@types/node': 18.13.0 chalk: 4.1.2 cosmiconfig: 8.0.0 - cosmiconfig-typescript-loader: 4.3.0_7fc4ff0e4538e2b57d95a5c7bb386195 + cosmiconfig-typescript-loader: 4.3.0_p7cp6dsfhdrlk7mvuxd3wodbsu 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_e0496289fa41028b51cb1eba3f44c296 + ts-node: 10.9.1_4bewfcp2iebiwuold25d6rgcsy typescript: 4.9.5 transitivePeerDependencies: - '@swc/core' @@ -745,7 +755,7 @@ packages: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true - /@typescript-eslint/eslint-plugin/5.51.0_cf25694f76a520ae1d6c27009cc9663f: + /@typescript-eslint/eslint-plugin/5.51.0_z4swst3wuuqk4hlme4ajzslgh4: resolution: {integrity: sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -756,10 +766,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.51.0_eslint@8.34.0+typescript@4.9.5 + '@typescript-eslint/parser': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm '@typescript-eslint/scope-manager': 5.51.0 - '@typescript-eslint/type-utils': 5.51.0_eslint@8.34.0+typescript@4.9.5 - '@typescript-eslint/utils': 5.51.0_eslint@8.34.0+typescript@4.9.5 + '@typescript-eslint/type-utils': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm + '@typescript-eslint/utils': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm debug: 4.3.4 eslint: 8.34.0 grapheme-splitter: 1.0.4 @@ -773,7 +783,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.51.0_eslint@8.34.0+typescript@4.9.5: + /@typescript-eslint/parser/5.51.0_7kw3g6rralp5ps6mg3uyzz6azm: resolution: {integrity: sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -801,7 +811,7 @@ packages: '@typescript-eslint/visitor-keys': 5.51.0 dev: true - /@typescript-eslint/type-utils/5.51.0_eslint@8.34.0+typescript@4.9.5: + /@typescript-eslint/type-utils/5.51.0_7kw3g6rralp5ps6mg3uyzz6azm: resolution: {integrity: sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -812,7 +822,7 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.51.0_eslint@8.34.0+typescript@4.9.5 + '@typescript-eslint/utils': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm debug: 4.3.4 eslint: 8.34.0 tsutils: 3.21.0_typescript@4.9.5 @@ -847,7 +857,7 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.51.0_eslint@8.34.0+typescript@4.9.5: + /@typescript-eslint/utils/5.51.0_7kw3g6rralp5ps6mg3uyzz6azm: resolution: {integrity: sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -982,7 +992,6 @@ packages: dependencies: '@vue/reactivity': 3.2.47 '@vue/shared': 3.2.47 - dev: false /@vue/runtime-dom/3.2.47: resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==} @@ -990,7 +999,6 @@ packages: '@vue/runtime-core': 3.2.47 '@vue/shared': 3.2.47 csstype: 2.6.21 - dev: false /@vue/server-renderer/3.2.47_vue@3.2.47: resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==} @@ -1000,7 +1008,6 @@ packages: '@vue/compiler-ssr': 3.2.47 '@vue/shared': 3.2.47 vue: 3.2.47 - dev: false /@vue/shared/3.2.47: resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} @@ -1475,15 +1482,15 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - is-text-path: 1.0.1 JSONStream: 1.3.5 + is-text-path: 1.0.1 lodash: 4.17.21 meow: 8.1.2 split2: 3.2.2 through2: 4.0.2 dev: true - /cosmiconfig-typescript-loader/4.3.0_7fc4ff0e4538e2b57d95a5c7bb386195: + /cosmiconfig-typescript-loader/4.3.0_p7cp6dsfhdrlk7mvuxd3wodbsu: resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} engines: {node: '>=12', npm: '>=6'} peerDependencies: @@ -1494,7 +1501,7 @@ packages: dependencies: '@types/node': 18.13.0 cosmiconfig: 8.0.0 - ts-node: 10.9.1_e0496289fa41028b51cb1eba3f44c296 + ts-node: 10.9.1_4bewfcp2iebiwuold25d6rgcsy typescript: 4.9.5 dev: true @@ -1551,7 +1558,6 @@ packages: /csstype/2.6.21: resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} - dev: false /csstype/3.0.11: resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==} @@ -1581,6 +1587,11 @@ packages: /debug/3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.1.3 dev: true @@ -1850,25 +1861,43 @@ packages: debug: 3.2.7 is-core-module: 2.11.0 resolve: 1.22.1 + transitivePeerDependencies: + - supports-color dev: true - /eslint-module-utils/2.7.4_eslint@8.34.0: + /eslint-module-utils/2.7.4_ithmlgmaospkvl4p7n7pyp3rgq: resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: + '@typescript-eslint/parser': '*' eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true eslint: optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true dependencies: + '@typescript-eslint/parser': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm debug: 3.2.7 eslint: 8.34.0 + eslint-import-resolver-node: 0.3.7 + transitivePeerDependencies: + - supports-color dev: true - /eslint-plugin-antfu/0.35.2_eslint@8.34.0+typescript@4.9.5: + /eslint-plugin-antfu/0.35.2_7kw3g6rralp5ps6mg3uyzz6azm: resolution: {integrity: sha512-Q6FOcOakafU49PDRlq7jkrWmlTJ4u3AW7aGX+FqeQNaMgjXq0RzPGvS0Vyp7q/XDRLLoe0BjbGkamTeZXg8waw==} dependencies: - '@typescript-eslint/utils': 5.51.0_eslint@8.34.0+typescript@4.9.5 + '@typescript-eslint/utils': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm transitivePeerDependencies: - eslint - supports-color @@ -1903,12 +1932,17 @@ packages: htmlparser2: 8.0.1 dev: true - /eslint-plugin-import/2.27.5_eslint@8.34.0: + /eslint-plugin-import/2.27.5_62tsymtiqxebhmxuag4hg3gx2m: resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: + '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true dependencies: + '@typescript-eslint/parser': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -1916,7 +1950,7 @@ packages: doctrine: 2.1.0 eslint: 8.34.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4_eslint@8.34.0 + eslint-module-utils: 2.7.4_ithmlgmaospkvl4p7n7pyp3rgq has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 @@ -1925,9 +1959,13 @@ packages: resolve: 1.22.1 semver: 6.3.0 tsconfig-paths: 3.14.1 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color dev: true - /eslint-plugin-jest/27.2.1_b676bbf5f101a168ab75b3e568fc2dcd: + /eslint-plugin-jest/27.2.1_wz3lx5pragqwrk3vwpswr7bnzu: resolution: {integrity: sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -1940,8 +1978,8 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.51.0_cf25694f76a520ae1d6c27009cc9663f - '@typescript-eslint/utils': 5.51.0_eslint@8.34.0+typescript@4.9.5 + '@typescript-eslint/eslint-plugin': 5.51.0_z4swst3wuuqk4hlme4ajzslgh4 + '@typescript-eslint/utils': 5.51.0_7kw3g6rralp5ps6mg3uyzz6azm eslint: 8.34.0 transitivePeerDependencies: - supports-color @@ -2028,7 +2066,7 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-unused-imports/2.0.0_0f47fab7a5a87de3ae1cbe7c11f4c3bb: + /eslint-plugin-unused-imports/2.0.0_b5d7vn5fvb66hlq4xz6bd5gdxm: resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2038,7 +2076,7 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.51.0_cf25694f76a520ae1d6c27009cc9663f + '@typescript-eslint/eslint-plugin': 5.51.0_z4swst3wuuqk4hlme4ajzslgh4 eslint: 8.34.0 eslint-rule-composer: 0.3.0 dev: true @@ -3545,7 +3583,7 @@ packages: engines: {node: '>=4'} dev: true - /pinia/2.0.30_typescript@4.9.5+vue@3.2.47: + /pinia/2.0.30_hmuptsblhheur2tugfgucj7gc4: resolution: {integrity: sha512-q6DUmxWwe/mQgg+55QQjykpKC+aGeGdaJV3niminl19V08dE+LRTvSEuqi6/NLSGCKHI49KGL6tMNEOssFiMyA==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -4105,10 +4143,12 @@ packages: engines: {node: '>= 0.4'} dev: true - /tailwindcss/3.2.6: + /tailwindcss/3.2.6_postcss@8.4.21: resolution: {integrity: sha512-BfgQWZrtqowOQMC2bwaSNe7xcIjdDEgixWGYOd6AL0CbKHJlvhfdbINeAW76l1sO+1ov/MJ93ODJ9yluRituIw==} engines: {node: '>=12.13.0'} hasBin: true + peerDependencies: + postcss: ^8.0.9 dependencies: arg: 5.0.2 chokidar: 3.5.3 @@ -4176,7 +4216,7 @@ packages: engines: {node: '>=8'} dev: true - /ts-node/10.9.1_e0496289fa41028b51cb1eba3f44c296: + /ts-node/10.9.1_4bewfcp2iebiwuold25d6rgcsy: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -4278,7 +4318,6 @@ packages: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} hasBin: true - dev: true /unbox-primitive/1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -4452,7 +4491,6 @@ packages: '@vue/runtime-dom': 3.2.47 '@vue/server-renderer': 3.2.47_vue@3.2.47 '@vue/shared': 3.2.47 - dev: false /vueuc/0.4.51_vue@3.2.47: resolution: {integrity: sha512-pLiMChM4f+W8czlIClGvGBYo656lc2Y0/mXFSCydcSmnCR1izlKPGMgiYBGjbY9FDkFG8a2HEVz7t0DNzBWbDw==} diff --git a/src/components/business/Chat/components/Message/Text.vue b/src/components/business/Chat/components/Message/Text.vue index a8680de..c48b2ad 100644 --- a/src/components/business/Chat/components/Message/Text.vue +++ b/src/components/business/Chat/components/Message/Text.vue @@ -9,11 +9,14 @@ defineProps() + + diff --git a/src/components/business/Chat/index.vue b/src/components/business/Chat/index.vue index 85d3e12..a2a9864 100644 --- a/src/components/business/Chat/index.vue +++ b/src/components/business/Chat/index.vue @@ -17,7 +17,7 @@ const historyStore = useHistoryStore() const scrollRef = ref() -const { addChat, clearChat: handleClear } = useChat() +const { addChat, clearChat } = useChat() const prompt = ref('') const loading = ref(false) @@ -54,7 +54,7 @@ async function handleSubmit() { } catch (error: any) { if (error.message !== 'cancelled') - addMessage(`Error: ${error.message ?? 'Request failed, please try again later.'}`, { error: true }) + addMessage(`${error.message ?? 'Request failed, please try again later.'}`, { error: true }) } finally { loading.value = false @@ -79,8 +79,12 @@ function scrollToBottom() { nextTick(() => scrollRef.value && (scrollRef.value.scrollTop = scrollRef.value.scrollHeight)) } +function handleClear() { + handleCancel() + clearChat() +} + function handleCancel() { - // 取消之后一定要重新赋值,否则会报错 controller.abort() controller = new AbortController() loading.value = false diff --git a/src/directives/highlight.ts b/src/directives/highlight.ts new file mode 100644 index 0000000..339a217 --- /dev/null +++ b/src/directives/highlight.ts @@ -0,0 +1,15 @@ +import type { App, Directive } from 'vue' +import hljs from 'highlight.js' + +const regexp = /^(?:\s{4}|\t).+/gm + +export default function setupHighlightDirective(app: App) { + const highLightDirective: Directive = { + mounted(el: HTMLElement) { + if (el.textContent?.indexOf(' = ') !== -1 || el.textContent.match(regexp)) + hljs.highlightBlock(el) + }, + } + + app.directive('highlight', highLightDirective) +} diff --git a/src/directives/index.ts b/src/directives/index.ts new file mode 100644 index 0000000..cdcaeef --- /dev/null +++ b/src/directives/index.ts @@ -0,0 +1,6 @@ +import type { App } from 'vue' +import setupHighlightDirective from './highlight' + +export function setupDirectives(app: App) { + setupHighlightDirective(app) +} diff --git a/src/main.ts b/src/main.ts index 8d99492..115198d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,26 +1,19 @@ 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 hljs from 'highlight.js' -import "highlight.js/styles/xcode.css" + async function bootstrap() { const app = createApp(App) setupAssets() setupStore(app) - await setupRouter(app) + setupDirectives(app) - let regexp = /^(?:\s{4}|\t).+/gm - app.directive('hljs', { - mounted: (el: HTMLElement) => { - if (el.textContent?.indexOf(" = ") != -1 || el.textContent.match(regexp)) { - hljs.highlightBlock(el) - } - } - }) + await setupRouter(app) app.mount('#app') } diff --git a/src/plugins/Vhljs.ts b/src/plugins/Vhljs.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/plugins/assets.ts b/src/plugins/assets.ts index b6b4cb0..88ffebd 100644 --- a/src/plugins/assets.ts +++ b/src/plugins/assets.ts @@ -1,3 +1,4 @@ +import 'highlight.js/styles/xcode.css' import '@/styles/global.css' /** Tailwind's Preflight Style Override */ diff --git a/src/styles/global.css b/src/styles/global.css index d284c8f..5b91f1c 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -7,7 +7,3 @@ body, #app { height: 100%; } - -.hljs{ - background-color: #fff0!important; -} \ No newline at end of file diff --git a/src/utils/request/axios.ts b/src/utils/request/axios.ts index 7b35c55..cde4e73 100644 --- a/src/utils/request/axios.ts +++ b/src/utils/request/axios.ts @@ -2,7 +2,7 @@ import axios, { type AxiosResponse } from 'axios' const service = axios.create({ baseURL: import.meta.env.VITE_GLOB_API_URL, - timeout: 60 * 1000, + timeout: 30 * 1000, }) service.interceptors.request.use(