diff --git a/.vscode/settings.json b/.vscode/settings.json index 79b2a717..1d237d44 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,48 +1,35 @@ { - // Enable the ESlint flat config support - "eslint.experimental.useFlatConfig": true, + // Enable the ESlint flat config support + "eslint.experimental.useFlatConfig": true, - // Disable the default formatter, use eslint instead - "prettier.enable": false, - "editor.formatOnSave": false, + // Disable the default formatter, use eslint instead + "prettier.enable": false, + "editor.formatOnSave": false, - // Auto fix - "editor.codeActionsOnSave": { - "source.fixAll.eslint": "explicit", - "source.organizeImports": "never" - }, + // Auto fix + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" + }, - // Silent the stylistic rules in you IDE, but still auto fix them - "eslint.rules.customizations": [ - { "rule": "style/*", "severity": "off" }, - { "rule": "*-indent", "severity": "off" }, - { "rule": "*-spacing", "severity": "off" }, - { "rule": "*-spaces", "severity": "off" }, - { "rule": "*-order", "severity": "off" }, - { "rule": "*-dangle", "severity": "off" }, - { "rule": "*-newline", "severity": "off" }, - { "rule": "*quotes", "severity": "off" }, - { "rule": "*semi", "severity": "off" } - ], + // Enable eslint for all supported languages + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue", + "html", + "markdown", + "json", + "jsonc", + "yaml" + ], - // Enable eslint for all supported languages - "eslint.validate": [ - "javascript", - "javascriptreact", - "typescript", - "typescriptreact", - "vue", - "html", - "markdown", - "json", - "jsonc", - "yaml" - ], - - "pair-diff.patterns": [ - { - "source": "./fixtures/output/**/*.*", - "target": "./fixtures/input/" - } - ] + "pair-diff.patterns": [ + { + "source": "./fixtures/output/**/*.*", + "target": "./fixtures/input/" + } + ] } diff --git a/docs/reference/plugin/plugins/layout.md b/docs/reference/plugin/plugins/layout.md index bb1584f3..fc474b1c 100644 --- a/docs/reference/plugin/plugins/layout.md +++ b/docs/reference/plugin/plugins/layout.md @@ -90,8 +90,9 @@ Fes.js 里约定目录下有 `layout.vue` 时会生成嵌套路由,以 `layout ```vue + ``` diff --git a/eslint.config.js b/eslint.config.js index 8582d3bb..fffcf2cb 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -2,19 +2,36 @@ import antfu from '@antfu/eslint-config'; export default await antfu({ + files: ['**/*.js', '**/*.jsx', '**/*.vue', '**/*.ts'], + // TODO: 使用 ignore 代替 cli 命令中的配置 stylistic: { - indent: 4, // 4, or 'tab' - quotes: 'single', // or 'double' + indent: 4, + quotes: 'single', semi: 'always', }, typescript: true, vue: true, rules: { + 'curly': ['error', 'multi-line'], 'vue/block-order': [ 'error', { order: ['template', 'script', 'style'], }, ], + 'style/member-delimiter-style': [ + 'error', + { + multiline: { + delimiter: 'semi', + requireLast: true, + }, + singleline: { + delimiter: 'semi', + requireLast: false, + }, + multilineDetection: 'brackets', + }, + ], }, }); diff --git a/package.json b/package.json index 78fe1388..ecabb746 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,21 @@ { "name": "fes.js", + "type": "module", "version": "3.1.1", + "private": true, "description": "一个好用的前端管理台快速开发框架", "preferGlobal": true, - "private": true, "workspaces": [ "packages/*" ], - "type": "module", + "license": "MIT", + "keywords": [ + "管理端", + "fes", + "fast", + "easy", + "strong" + ], "scripts": { "bootstrap": "pnpm i", "dev": "node scripts/build.mjs --watch", @@ -18,17 +26,10 @@ "docs:build": "vitepress build docs", "docs:build-pages": "BASE=fes.js vitepress build docs", "test": "fes test", - "lint": "eslint -c ./.eslintrc.js --ignore-pattern='templates' --ext .js,.jsx,.vue,.ts", - "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s" + "lint": "eslint --ignore-pattern='templates'", + "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s", + "hooks:sync": "simple-git-hooks" }, - "license": "MIT", - "keywords": [ - "管理端", - "fes", - "fast", - "easy", - "strong" - ], "dependencies": { "chalk": "^5.0.1", "conventional-changelog-cli": "^4.1.0", @@ -38,14 +39,14 @@ "semver": "^7.3.6" }, "devDependencies": { - "@antfu/eslint-config": "^2.1.1", + "@antfu/eslint-config": "^2.6.2", "@commitlint/cli": "^11.0.0", "@commitlint/config-conventional": "^11.0.0", "chokidar": "^3.5.3", "commitizen": "^4.3.0", "cz-conventional-changelog": "^3.3.0", "deepmerge": "^4.2.2", - "eslint": "^8.54.0", + "eslint": "^8.56.0", "fs-extra": "^11.1.1", "lint-staged": "^13.2.0", "simple-git-hooks": "^2.9.0", @@ -54,15 +55,15 @@ "vue": "^3.3.4", "yargs-parser": "^21.1.1" }, + "simple-git-hooks": { + "pre-commit": "lint-staged", + "commit-msg": "commitlint" + }, "lint-staged": { "*.{js,jsx,vue,ts}": [ "npm run lint" ] }, - "simple-git-hooks": { - "pre-commit": "lint-staged", - "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" - }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" diff --git a/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue b/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue index 513fc52e..13898255 100644 --- a/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue +++ b/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue @@ -1,7 +1,7 @@ +