浏览代码

perf(aaaa): aaaa

aaaa
miaofuhao 3 年之前
父节点
当前提交
924f5b149e
共有 6 个文件被更改,包括 422 次插入12 次删除
  1. 1 1
      .editorconfig
  2. 2 0
      .eslintrc.js
  3. 4 0
      .husky/pre-commit
  4. 407 6
      package-lock.json
  5. 8 4
      package.json
  6. 0 1
      src/App.vue

+ 1 - 1
.editorconfig

@@ -11,4 +11,4 @@ insert_final_newline = true # 始终在文件末尾插入一个新行
11 11
 
12 12
 [*.md] # 表示仅 md 文件适用以下规则
13 13
 max_line_length = off
14
-trim_trailing_whitespace = false
14
+trim_trailing_whitespace = false

+ 2 - 0
.eslintrc.js

@@ -7,6 +7,8 @@ module.exports = {
7 7
     'plugin:vue/vue3-essential',
8 8
     'eslint:recommended',
9 9
     '@vue/typescript/recommended',
10
+    '@vue/prettier',
11
+    '@vue/prettier/@typescript-eslint',
10 12
     'plugin:prettier/recommended'
11 13
   ],
12 14
   parserOptions: {

+ 4 - 0
.husky/pre-commit

@@ -0,0 +1,4 @@
1
+#!/usr/bin/env sh
2
+. "$(dirname -- "$0")/_/husky.sh"
3
+
4
+npm test

+ 407 - 6
package-lock.json

@@ -1205,9 +1205,9 @@
1205 1205
           }
1206 1206
         },
1207 1207
         "globals": {
1208
-          "version": "13.16.0",
1209
-          "resolved": "https://registry.npmmirror.com/globals/-/globals-13.16.0.tgz",
1210
-          "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==",
1208
+          "version": "13.17.0",
1209
+          "resolved": "https://registry.npmmirror.com/globals/-/globals-13.17.0.tgz",
1210
+          "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
1211 1211
           "dev": true,
1212 1212
           "requires": {
1213 1213
             "type-fest": "^0.20.2"
@@ -1601,6 +1601,12 @@
1601 1601
       "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
1602 1602
       "dev": true
1603 1603
     },
1604
+    "@types/prettier": {
1605
+      "version": "2.6.3",
1606
+      "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.6.3.tgz",
1607
+      "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==",
1608
+      "dev": true
1609
+    },
1604 1610
     "@types/qs": {
1605 1611
       "version": "6.9.7",
1606 1612
       "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz",
@@ -2275,6 +2281,26 @@
2275 2281
         }
2276 2282
       }
2277 2283
     },
2284
+    "@vue/eslint-config-prettier": {
2285
+      "version": "6.0.0",
2286
+      "resolved": "https://registry.npmmirror.com/@vue/eslint-config-prettier/-/eslint-config-prettier-6.0.0.tgz",
2287
+      "integrity": "sha512-wFQmv45c3ige5EA+ngijq40YpVcIkAy0Lihupnsnd1Dao5CBbPyfCzqtejFLZX1EwH/kCJdpz3t6s+5wd3+KxQ==",
2288
+      "dev": true,
2289
+      "requires": {
2290
+        "eslint-config-prettier": "^6.0.0"
2291
+      },
2292
+      "dependencies": {
2293
+        "eslint-config-prettier": {
2294
+          "version": "6.15.0",
2295
+          "resolved": "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz",
2296
+          "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==",
2297
+          "dev": true,
2298
+          "requires": {
2299
+            "get-stdin": "^6.0.0"
2300
+          }
2301
+        }
2302
+      }
2303
+    },
2278 2304
     "@vue/eslint-config-typescript": {
2279 2305
       "version": "9.1.0",
2280 2306
       "resolved": "https://registry.npmmirror.com/@vue/eslint-config-typescript/-/eslint-config-typescript-9.1.0.tgz",
@@ -3208,6 +3234,12 @@
3208 3234
       "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
3209 3235
       "dev": true
3210 3236
     },
3237
+    "common-tags": {
3238
+      "version": "1.8.2",
3239
+      "resolved": "https://registry.npmmirror.com/common-tags/-/common-tags-1.8.2.tgz",
3240
+      "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
3241
+      "dev": true
3242
+    },
3211 3243
     "commondir": {
3212 3244
       "version": "1.0.1",
3213 3245
       "resolved": "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz",
@@ -3782,6 +3814,12 @@
3782 3814
         "path-type": "^4.0.0"
3783 3815
       }
3784 3816
     },
3817
+    "dlv": {
3818
+      "version": "1.1.3",
3819
+      "resolved": "https://registry.npmmirror.com/dlv/-/dlv-1.1.3.tgz",
3820
+      "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
3821
+      "dev": true
3822
+    },
3785 3823
     "dns-equal": {
3786 3824
       "version": "1.0.0",
3787 3825
       "resolved": "https://registry.npmmirror.com/dns-equal/-/dns-equal-1.0.0.tgz",
@@ -4159,9 +4197,9 @@
4159 4197
           }
4160 4198
         },
4161 4199
         "globals": {
4162
-          "version": "13.16.0",
4163
-          "resolved": "https://registry.npmmirror.com/globals/-/globals-13.16.0.tgz",
4164
-          "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==",
4200
+          "version": "13.17.0",
4201
+          "resolved": "https://registry.npmmirror.com/globals/-/globals-13.17.0.tgz",
4202
+          "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
4165 4203
           "dev": true,
4166 4204
           "requires": {
4167 4205
             "type-fest": "^0.20.2"
@@ -4902,6 +4940,12 @@
4902 4940
         "has-symbols": "^1.0.3"
4903 4941
       }
4904 4942
     },
4943
+    "get-stdin": {
4944
+      "version": "6.0.0",
4945
+      "resolved": "https://registry.npmmirror.com/get-stdin/-/get-stdin-6.0.0.tgz",
4946
+      "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
4947
+      "dev": true
4948
+    },
4905 4949
     "get-stream": {
4906 4950
       "version": "4.1.0",
4907 4951
       "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz",
@@ -4990,6 +5034,23 @@
4990 5034
         "function-bind": "^1.1.1"
4991 5035
       }
4992 5036
     },
5037
+    "has-ansi": {
5038
+      "version": "2.0.0",
5039
+      "resolved": "https://registry.npmmirror.com/has-ansi/-/has-ansi-2.0.0.tgz",
5040
+      "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==",
5041
+      "dev": true,
5042
+      "requires": {
5043
+        "ansi-regex": "^2.0.0"
5044
+      },
5045
+      "dependencies": {
5046
+        "ansi-regex": {
5047
+          "version": "2.1.1",
5048
+          "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz",
5049
+          "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
5050
+          "dev": true
5051
+        }
5052
+      }
5053
+    },
4993 5054
     "has-flag": {
4994 5055
       "version": "3.0.0",
4995 5056
       "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz",
@@ -5188,6 +5249,12 @@
5188 5249
       "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
5189 5250
       "dev": true
5190 5251
     },
5252
+    "husky": {
5253
+      "version": "8.0.1",
5254
+      "resolved": "https://registry.npmmirror.com/husky/-/husky-8.0.1.tgz",
5255
+      "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==",
5256
+      "dev": true
5257
+    },
5191 5258
     "iconv-lite": {
5192 5259
       "version": "0.4.24",
5193 5260
       "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -5238,6 +5305,12 @@
5238 5305
       "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
5239 5306
       "dev": true
5240 5307
     },
5308
+    "indent-string": {
5309
+      "version": "4.0.0",
5310
+      "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz",
5311
+      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
5312
+      "dev": true
5313
+    },
5241 5314
     "inflight": {
5242 5315
       "version": "1.0.6",
5243 5316
       "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
@@ -5845,6 +5918,64 @@
5845 5918
         }
5846 5919
       }
5847 5920
     },
5921
+    "loglevel": {
5922
+      "version": "1.8.0",
5923
+      "resolved": "https://registry.npmmirror.com/loglevel/-/loglevel-1.8.0.tgz",
5924
+      "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==",
5925
+      "dev": true
5926
+    },
5927
+    "loglevel-colored-level-prefix": {
5928
+      "version": "1.0.0",
5929
+      "resolved": "https://registry.npmmirror.com/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz",
5930
+      "integrity": "sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==",
5931
+      "dev": true,
5932
+      "requires": {
5933
+        "chalk": "^1.1.3",
5934
+        "loglevel": "^1.4.1"
5935
+      },
5936
+      "dependencies": {
5937
+        "ansi-regex": {
5938
+          "version": "2.1.1",
5939
+          "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz",
5940
+          "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
5941
+          "dev": true
5942
+        },
5943
+        "ansi-styles": {
5944
+          "version": "2.2.1",
5945
+          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz",
5946
+          "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
5947
+          "dev": true
5948
+        },
5949
+        "chalk": {
5950
+          "version": "1.1.3",
5951
+          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz",
5952
+          "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
5953
+          "dev": true,
5954
+          "requires": {
5955
+            "ansi-styles": "^2.2.1",
5956
+            "escape-string-regexp": "^1.0.2",
5957
+            "has-ansi": "^2.0.0",
5958
+            "strip-ansi": "^3.0.0",
5959
+            "supports-color": "^2.0.0"
5960
+          }
5961
+        },
5962
+        "strip-ansi": {
5963
+          "version": "3.0.1",
5964
+          "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz",
5965
+          "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
5966
+          "dev": true,
5967
+          "requires": {
5968
+            "ansi-regex": "^2.0.0"
5969
+          }
5970
+        },
5971
+        "supports-color": {
5972
+          "version": "2.0.0",
5973
+          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz",
5974
+          "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
5975
+          "dev": true
5976
+        }
5977
+      }
5978
+    },
5848 5979
     "lower-case": {
5849 5980
       "version": "2.0.2",
5850 5981
       "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz",
@@ -6972,6 +7103,252 @@
6972 7103
       "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
6973 7104
       "dev": true
6974 7105
     },
7106
+    "prettier-eslint": {
7107
+      "version": "15.0.1",
7108
+      "resolved": "https://registry.npmmirror.com/prettier-eslint/-/prettier-eslint-15.0.1.tgz",
7109
+      "integrity": "sha512-mGOWVHixSvpZWARqSDXbdtTL54mMBxc5oQYQ6RAqy8jecuNJBgN3t9E5a81G66F8x8fsKNiR1HWaBV66MJDOpg==",
7110
+      "dev": true,
7111
+      "requires": {
7112
+        "@types/eslint": "^8.4.2",
7113
+        "@types/prettier": "^2.6.0",
7114
+        "@typescript-eslint/parser": "^5.10.0",
7115
+        "common-tags": "^1.4.0",
7116
+        "dlv": "^1.1.0",
7117
+        "eslint": "^8.7.0",
7118
+        "indent-string": "^4.0.0",
7119
+        "lodash.merge": "^4.6.0",
7120
+        "loglevel-colored-level-prefix": "^1.0.0",
7121
+        "prettier": "^2.5.1",
7122
+        "pretty-format": "^23.0.1",
7123
+        "require-relative": "^0.8.7",
7124
+        "typescript": "^4.5.4",
7125
+        "vue-eslint-parser": "^8.0.1"
7126
+      },
7127
+      "dependencies": {
7128
+        "@eslint/eslintrc": {
7129
+          "version": "1.3.0",
7130
+          "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz",
7131
+          "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==",
7132
+          "dev": true,
7133
+          "requires": {
7134
+            "ajv": "^6.12.4",
7135
+            "debug": "^4.3.2",
7136
+            "espree": "^9.3.2",
7137
+            "globals": "^13.15.0",
7138
+            "ignore": "^5.2.0",
7139
+            "import-fresh": "^3.2.1",
7140
+            "js-yaml": "^4.1.0",
7141
+            "minimatch": "^3.1.2",
7142
+            "strip-json-comments": "^3.1.1"
7143
+          }
7144
+        },
7145
+        "@humanwhocodes/config-array": {
7146
+          "version": "0.9.5",
7147
+          "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
7148
+          "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
7149
+          "dev": true,
7150
+          "requires": {
7151
+            "@humanwhocodes/object-schema": "^1.2.1",
7152
+            "debug": "^4.1.1",
7153
+            "minimatch": "^3.0.4"
7154
+          }
7155
+        },
7156
+        "ansi-styles": {
7157
+          "version": "4.3.0",
7158
+          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
7159
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
7160
+          "dev": true,
7161
+          "requires": {
7162
+            "color-convert": "^2.0.1"
7163
+          }
7164
+        },
7165
+        "argparse": {
7166
+          "version": "2.0.1",
7167
+          "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz",
7168
+          "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
7169
+          "dev": true
7170
+        },
7171
+        "chalk": {
7172
+          "version": "4.1.2",
7173
+          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
7174
+          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
7175
+          "dev": true,
7176
+          "requires": {
7177
+            "ansi-styles": "^4.1.0",
7178
+            "supports-color": "^7.1.0"
7179
+          }
7180
+        },
7181
+        "color-convert": {
7182
+          "version": "2.0.1",
7183
+          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
7184
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
7185
+          "dev": true,
7186
+          "requires": {
7187
+            "color-name": "~1.1.4"
7188
+          }
7189
+        },
7190
+        "color-name": {
7191
+          "version": "1.1.4",
7192
+          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
7193
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
7194
+          "dev": true
7195
+        },
7196
+        "cross-spawn": {
7197
+          "version": "7.0.3",
7198
+          "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz",
7199
+          "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
7200
+          "dev": true,
7201
+          "requires": {
7202
+            "path-key": "^3.1.0",
7203
+            "shebang-command": "^2.0.0",
7204
+            "which": "^2.0.1"
7205
+          }
7206
+        },
7207
+        "escape-string-regexp": {
7208
+          "version": "4.0.0",
7209
+          "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
7210
+          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
7211
+          "dev": true
7212
+        },
7213
+        "eslint": {
7214
+          "version": "8.20.0",
7215
+          "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.20.0.tgz",
7216
+          "integrity": "sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==",
7217
+          "dev": true,
7218
+          "requires": {
7219
+            "@eslint/eslintrc": "^1.3.0",
7220
+            "@humanwhocodes/config-array": "^0.9.2",
7221
+            "ajv": "^6.10.0",
7222
+            "chalk": "^4.0.0",
7223
+            "cross-spawn": "^7.0.2",
7224
+            "debug": "^4.3.2",
7225
+            "doctrine": "^3.0.0",
7226
+            "escape-string-regexp": "^4.0.0",
7227
+            "eslint-scope": "^7.1.1",
7228
+            "eslint-utils": "^3.0.0",
7229
+            "eslint-visitor-keys": "^3.3.0",
7230
+            "espree": "^9.3.2",
7231
+            "esquery": "^1.4.0",
7232
+            "esutils": "^2.0.2",
7233
+            "fast-deep-equal": "^3.1.3",
7234
+            "file-entry-cache": "^6.0.1",
7235
+            "functional-red-black-tree": "^1.0.1",
7236
+            "glob-parent": "^6.0.1",
7237
+            "globals": "^13.15.0",
7238
+            "ignore": "^5.2.0",
7239
+            "import-fresh": "^3.0.0",
7240
+            "imurmurhash": "^0.1.4",
7241
+            "is-glob": "^4.0.0",
7242
+            "js-yaml": "^4.1.0",
7243
+            "json-stable-stringify-without-jsonify": "^1.0.1",
7244
+            "levn": "^0.4.1",
7245
+            "lodash.merge": "^4.6.2",
7246
+            "minimatch": "^3.1.2",
7247
+            "natural-compare": "^1.4.0",
7248
+            "optionator": "^0.9.1",
7249
+            "regexpp": "^3.2.0",
7250
+            "strip-ansi": "^6.0.1",
7251
+            "strip-json-comments": "^3.1.0",
7252
+            "text-table": "^0.2.0",
7253
+            "v8-compile-cache": "^2.0.3"
7254
+          }
7255
+        },
7256
+        "eslint-scope": {
7257
+          "version": "7.1.1",
7258
+          "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.1.1.tgz",
7259
+          "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
7260
+          "dev": true,
7261
+          "requires": {
7262
+            "esrecurse": "^4.3.0",
7263
+            "estraverse": "^5.2.0"
7264
+          }
7265
+        },
7266
+        "estraverse": {
7267
+          "version": "5.3.0",
7268
+          "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz",
7269
+          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
7270
+          "dev": true
7271
+        },
7272
+        "glob-parent": {
7273
+          "version": "6.0.2",
7274
+          "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz",
7275
+          "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
7276
+          "dev": true,
7277
+          "requires": {
7278
+            "is-glob": "^4.0.3"
7279
+          }
7280
+        },
7281
+        "globals": {
7282
+          "version": "13.17.0",
7283
+          "resolved": "https://registry.npmmirror.com/globals/-/globals-13.17.0.tgz",
7284
+          "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
7285
+          "dev": true,
7286
+          "requires": {
7287
+            "type-fest": "^0.20.2"
7288
+          }
7289
+        },
7290
+        "has-flag": {
7291
+          "version": "4.0.0",
7292
+          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
7293
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
7294
+          "dev": true
7295
+        },
7296
+        "js-yaml": {
7297
+          "version": "4.1.0",
7298
+          "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz",
7299
+          "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
7300
+          "dev": true,
7301
+          "requires": {
7302
+            "argparse": "^2.0.1"
7303
+          }
7304
+        },
7305
+        "path-key": {
7306
+          "version": "3.1.1",
7307
+          "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz",
7308
+          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
7309
+          "dev": true
7310
+        },
7311
+        "shebang-command": {
7312
+          "version": "2.0.0",
7313
+          "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz",
7314
+          "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
7315
+          "dev": true,
7316
+          "requires": {
7317
+            "shebang-regex": "^3.0.0"
7318
+          }
7319
+        },
7320
+        "shebang-regex": {
7321
+          "version": "3.0.0",
7322
+          "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz",
7323
+          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
7324
+          "dev": true
7325
+        },
7326
+        "supports-color": {
7327
+          "version": "7.2.0",
7328
+          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
7329
+          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
7330
+          "dev": true,
7331
+          "requires": {
7332
+            "has-flag": "^4.0.0"
7333
+          }
7334
+        },
7335
+        "type-fest": {
7336
+          "version": "0.20.2",
7337
+          "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz",
7338
+          "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
7339
+          "dev": true
7340
+        },
7341
+        "which": {
7342
+          "version": "2.0.2",
7343
+          "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
7344
+          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
7345
+          "dev": true,
7346
+          "requires": {
7347
+            "isexe": "^2.0.0"
7348
+          }
7349
+        }
7350
+      }
7351
+    },
6975 7352
     "prettier-linter-helpers": {
6976 7353
       "version": "1.0.0",
6977 7354
       "resolved": "https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
@@ -6991,6 +7368,24 @@
6991 7368
         "renderkid": "^3.0.0"
6992 7369
       }
6993 7370
     },
7371
+    "pretty-format": {
7372
+      "version": "23.6.0",
7373
+      "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-23.6.0.tgz",
7374
+      "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==",
7375
+      "dev": true,
7376
+      "requires": {
7377
+        "ansi-regex": "^3.0.0",
7378
+        "ansi-styles": "^3.2.0"
7379
+      },
7380
+      "dependencies": {
7381
+        "ansi-regex": {
7382
+          "version": "3.0.1",
7383
+          "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.1.tgz",
7384
+          "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==",
7385
+          "dev": true
7386
+        }
7387
+      }
7388
+    },
6994 7389
     "process-nextick-args": {
6995 7390
       "version": "2.0.1",
6996 7391
       "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -7266,6 +7661,12 @@
7266 7661
       "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
7267 7662
       "dev": true
7268 7663
     },
7664
+    "require-relative": {
7665
+      "version": "0.8.7",
7666
+      "resolved": "https://registry.npmmirror.com/require-relative/-/require-relative-0.8.7.tgz",
7667
+      "integrity": "sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==",
7668
+      "dev": true
7669
+    },
7269 7670
     "requires-port": {
7270 7671
       "version": "1.0.0",
7271 7672
       "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz",

+ 8 - 4
package.json

@@ -6,7 +6,8 @@
6 6
     "serve": "vue-cli-service serve",
7 7
     "build": "vue-cli-service build",
8 8
     "lint": "vue-cli-service lint",
9
-    "prettier": "prettier --write ."
9
+    "prettier": "prettier --write .",
10
+    "prepare": "husky install"
10 11
   },
11 12
   "dependencies": {
12 13
     "core-js": "^3.8.3",
@@ -19,14 +20,17 @@
19 20
     "@vue/cli-plugin-eslint": "~5.0.0",
20 21
     "@vue/cli-plugin-typescript": "~5.0.0",
21 22
     "@vue/cli-service": "~5.0.0",
23
+    "@vue/eslint-config-prettier": "^6.0.0",
22 24
     "@vue/eslint-config-typescript": "^9.1.0",
23 25
     "eslint": "^7.32.0",
24
-    "eslint-config-prettier": "^8.3.0",
25
-    "eslint-plugin-prettier": "^4.0.0",
26
+    "eslint-config-prettier": "^8.5.0",
27
+    "eslint-plugin-prettier": "^4.2.1",
26 28
     "eslint-plugin-vue": "^8.0.3",
27 29
     "less": "^4.0.0",
28 30
     "less-loader": "^8.0.0",
29 31
     "prettier": "^2.7.1",
30
-    "typescript": "~4.5.5"
32
+    "prettier-eslint": "^15.0.1",
33
+    "typescript": "~4.5.5",
34
+    "husky": "^8.0.0"
31 35
   }
32 36
 }

+ 0 - 1
src/App.vue

@@ -1,5 +1,4 @@
1 1
 <template>
2
-  <img alt="Vue logo" src="./assets/logo.png" />
3 2
   <HelloWorld msg="Welcome to Your Vue.js + TypeScript App" />
4 3
 </template>
5 4