From d680e7d9314e72f76f004b2ab35f29d8468c43e2 Mon Sep 17 00:00:00 2001 From: Soybean <2570172956@qq.com> Date: Tue, 20 Jul 2021 10:07:35 +0800 Subject: [PATCH] =?UTF-8?q?style(projects):=20=E6=A0=BC=E5=BC=8F=E5=8C=96?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 23 +++++++++++++++++++++-- package.json | 2 ++ src/plugins/element-plus.ts | 2 +- src/plugins/smooth-scroll.ts | 2 +- src/service/request/errorHandler.ts | 2 +- src/service/request/instance.ts | 2 +- yarn.lock | 28 +++++++++++++++++++++++++++- 7 files changed, 54 insertions(+), 7 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 89bf89f4..b526f918 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -3,18 +3,37 @@ module.exports = { browser: true, es2021: true }, - extends: ['plugin:vue/vue3-recommended', 'airbnb-base', 'plugin:prettier/recommended'], + parser: 'vue-eslint-parser', parserOptions: { ecmaVersion: 12, parser: '@typescript-eslint/parser', sourceType: 'module' }, plugins: ['vue', '@typescript-eslint'], + extends: [ + 'plugin:vue/vue3-recommended', + 'airbnb-base', + '@vue/typescript/recommended', + 'plugin:prettier/recommended', + '@vue/prettier/@typescript-eslint' + ], rules: { 'no-unused-vars': 1, 'import/extensions': ['error', 'never'], 'import/no-extraneous-dependencies': [2, { devDependencies: true }], 'import/no-unresolved': 0, - 'no-shadow': 0 + 'no-shadow': 0, + 'import/prefer-default-export': 0, + 'vue/no-deprecated-slot-attribute': 1, + '@typescript-eslint/no-explicit-any': 0, + '@typescript-eslint/no-inferrable-types': 0, + '@typescript-eslint/ban-ts-ignore': 'off', + '@typescript-eslint/ban-types': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/no-empty-function': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-unused-vars': ['warn', { ignoreRestSiblings: true }] } }; diff --git a/package.json b/package.json index ae869cfb..de22f302 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,8 @@ "@typescript-eslint/parser": "^4.28.4", "@vitejs/plugin-vue": "^1.2.5", "@vue/compiler-sfc": "^3.1.5", + "@vue/eslint-config-prettier": "^6.0.0", + "@vue/eslint-config-typescript": "^7.0.0", "commitizen": "^4.2.4", "cz-conventional-changelog": "^3.3.0", "cz-customizable": "^6.3.0", diff --git a/src/plugins/element-plus.ts b/src/plugins/element-plus.ts index 34d2341a..196a3dd6 100644 --- a/src/plugins/element-plus.ts +++ b/src/plugins/element-plus.ts @@ -181,7 +181,7 @@ const plugins = [ ]; /** 引入element-plus UI组件 */ -export default function setupElementPlus(app: App) { +export default function setupElementPlus(app: App): void { /** 国际化 */ locale.use(lang); components.forEach(component => { diff --git a/src/plugins/smooth-scroll.ts b/src/plugins/smooth-scroll.ts index e31a515c..7c803a35 100644 --- a/src/plugins/smooth-scroll.ts +++ b/src/plugins/smooth-scroll.ts @@ -1,6 +1,6 @@ import smoothscroll from 'smoothscroll-polyfill'; /** 平滑滚动插件(兼容主流浏览器) */ -export default function setupSmoothScroll() { +export default function setupSmoothScroll(): void { smoothscroll.polyfill(); } diff --git a/src/service/request/errorHandler.ts b/src/service/request/errorHandler.ts index b16d8dba..5dc6e629 100644 --- a/src/service/request/errorHandler.ts +++ b/src/service/request/errorHandler.ts @@ -23,7 +23,7 @@ export const errorDuration = 3000 / 1000; * 网络请求错误状态处理 * @param error - 错误 */ -export function errorHandler(error: any) { +export function errorHandler(error: any): void { if (error.response) { const status = error.response.status as ErrorStatus; ElMessage.error(ERROR_STATUS[status]); diff --git a/src/service/request/instance.ts b/src/service/request/instance.ts index ea16c0bf..bef64d94 100644 --- a/src/service/request/instance.ts +++ b/src/service/request/instance.ts @@ -35,7 +35,7 @@ export default class CustomAxiosInstance { } /** 设置请求拦截器 */ - setInterceptor(statusConfig: StatusConfig) { + setInterceptor(statusConfig: StatusConfig): void { this.instance.interceptors.request.use( config => { const handleConfig = { ...config }; diff --git a/yarn.lock b/yarn.lock index 3b3cec1d..c2a2dfc8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -567,6 +567,20 @@ "@vue/compiler-dom" "3.1.5" "@vue/shared" "3.1.5" +"@vue/eslint-config-prettier@^6.0.0": + version "6.0.0" + resolved "https://registry.npm.taobao.org/@vue/eslint-config-prettier/download/@vue/eslint-config-prettier-6.0.0.tgz#ad5912b308f4ae468458e02a2b05db0b9d246700" + integrity sha1-rVkSswj0rkaEWOAqKwXbC50kZwA= + dependencies: + eslint-config-prettier "^6.0.0" + +"@vue/eslint-config-typescript@^7.0.0": + version "7.0.0" + resolved "https://registry.npm.taobao.org/@vue/eslint-config-typescript/download/@vue/eslint-config-typescript-7.0.0.tgz#220c70c2edf7a253e739298525f4d401b8ef0038" + integrity sha1-Igxwwu33olPnOSmFJfTUAbjvADg= + dependencies: + vue-eslint-parser "^7.0.0" + "@vue/reactivity@3.0.11": version "3.0.11" resolved "https://registry.nlark.com/@vue/reactivity/download/@vue/reactivity-3.0.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Freactivity%2Fdownload%2F%40vue%2Freactivity-3.0.11.tgz#07b588349fd05626b17f3500cbef7d4bdb4dbd0b" @@ -1518,6 +1532,13 @@ eslint-config-airbnb-base@^14.2.1: object.assign "^4.1.2" object.entries "^1.1.2" +eslint-config-prettier@^6.0.0: + version "6.15.0" + resolved "https://registry.nlark.com/eslint-config-prettier/download/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" + integrity sha1-f5P2y31FqS8VN6cOzAY2bhrG/tk= + dependencies: + get-stdin "^6.0.0" + eslint-config-prettier@^8.3.0: version "8.3.0" resolved "https://registry.nlark.com/eslint-config-prettier/download/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" @@ -1964,6 +1985,11 @@ get-own-enumerable-property-symbols@^3.0.0: resolved "https://registry.nlark.com/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" integrity sha1-tf3nfyLL4185C04ImSLFC85u9mQ= +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.nlark.com/get-stdin/download/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha1-ngm/cSs2CrkiXoEgSPcf3pyJZXs= + get-stream@^6.0.0: version "6.0.1" resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -4294,7 +4320,7 @@ vscode-vue-languageservice@^0.26.0: vscode-pug-languageservice "^0.26.5" vscode-typescript-languageservice "^0.26.5" -vue-eslint-parser@^7.9.0: +vue-eslint-parser@^7.0.0, vue-eslint-parser@^7.9.0: version "7.9.0" resolved "https://registry.nlark.com/vue-eslint-parser/download/vue-eslint-parser-7.9.0.tgz#5eeedc71f22ebc7b18b957d1ab171acf29a41e64" integrity sha1-Xu7ccfIuvHsYuVfRqxcazymkHmQ=