From 161fa63b020805c5c5487479c4b60420e9009d09 Mon Sep 17 00:00:00 2001 From: ocean-gao Date: Fri, 20 Dec 2024 12:52:53 +0800 Subject: [PATCH] =?UTF-8?q?style:=20next=20lint=20=E6=94=B9=E4=B8=BA=20esl?= =?UTF-8?q?int?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintignore | 1 - .eslintrc.json | 7 - .gitignore | 1 - .lintstagedrc.json | 6 - .vscode/README.md | 15 + .vscode/settings.json | 41 + eslint.config.mjs | 80 + package.json | 51 +- pnpm-lock.yaml | 3578 ++++++++++++++++++++++++----------------- 9 files changed, 2236 insertions(+), 1544 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.json delete mode 100644 .lintstagedrc.json create mode 100644 .vscode/README.md create mode 100644 .vscode/settings.json create mode 100644 eslint.config.mjs diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 089752554..000000000 --- a/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -public/serviceWorker.js \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 5b5e88e67..000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "next/core-web-vitals", - "plugins": ["prettier", "unused-imports"], - "rules": { - "unused-imports/no-unused-imports": "warn" - } -} diff --git a/.gitignore b/.gitignore index 2ff556f64..f0d3fcbf1 100644 --- a/.gitignore +++ b/.gitignore @@ -36,7 +36,6 @@ yarn-error.log* next-env.d.ts dev -.vscode .idea # docker-compose env files diff --git a/.lintstagedrc.json b/.lintstagedrc.json deleted file mode 100644 index 58784bad8..000000000 --- a/.lintstagedrc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "./app/**/*.{js,ts,jsx,tsx,json,html,css,md}": [ - "eslint --fix", - "prettier --write" - ] -} diff --git a/.vscode/README.md b/.vscode/README.md new file mode 100644 index 000000000..aa508f35c --- /dev/null +++ b/.vscode/README.md @@ -0,0 +1,15 @@ +## VSCode + +### 1. 扩展安装 + +> 以下为项目初始化必须要安装的扩展,若有冲突的扩展项,请先卸载掉或者去掉全局配置 + +1. `ESLint` # JS 及 CSS 文件格式化 +2. `Git History` +3. `Git History Diff` +4. `Pretier - Code formatter` # JSON 文件格式化 +5. `vscode-wxml` # 提供 wxml 语法支持 +6. `vscode-icons` # 文件显示图标,开发体验优化用到 +7. `wxml` # 微信小程序 wxml 格式化 +8. `TODO Highlight` # TODO 高亮展示 +9. `Todo Tree` # 显示待办任务列表 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..07362ec78 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,41 @@ +{ + "window.title": "${activeEditorMedium}${separator}${rootName}", + + // Enable the ESlint flat config support + "eslint.useFlatConfig": true, + + // Disable the default formatter, use eslint instead + "prettier.enable": false, + "editor.formatOnSave": false, + + // Auto fix + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" + }, + + // Enable eslint for all supported languages + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue", + "html", + "markdown", + "json", + "jsonc", + "yaml", + "toml", + "xml", + "gql", + "graphql", + "astro", + "svelte", + "css", + "less", + "scss", + "pcss", + "postcss" + ] +} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000..327d07055 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,80 @@ +// eslint.config.js +import antfu from '@antfu/eslint-config'; + +export default await antfu({ + ignores: [ + 'pnpm-lock.yaml', + 'public/serviceWorker.js', // 保持现有配置逻辑 + ], + stylistic: { + indent: 2, + quotes: 'single', + semi: 'always', + }, + formatters: { + prettierOptions: { + tabWidth: 2, + useTabs: false, + trailingComma: 'all', + singleQuote: false, + semi: true, + }, + /** + * Format CSS, LESS, SCSS files, also the `