diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..9f68e8c --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +vite.config.ts +uno.config.ts +pages.config.ts +manifest.config.ts diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 0000000..be6932b --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,25 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "extends": ["config:recommended"], + "plugins": ["import", "typescript", "unicorn"], + "rules": { + "no-console": "off", + "no-unused-vars": "off" + }, + "env": { + "es6": true + }, + "globals": { + "foo": "readonly" + }, + "ignorePatterns": ["node_modules", "dist", "src/static/**", "src/uni_modules/**"], + "settings": {}, + "overrides": [ + { + "files": ["*.test.ts", "*.spec.ts"], + "rules": { + "@typescript-eslint/no-explicit-any": "off" + } + } + ] +} diff --git a/.prettierrc.cjs b/.prettierrc.cjs index 3986355..448279e 100644 --- a/.prettierrc.cjs +++ b/.prettierrc.cjs @@ -10,7 +10,7 @@ module.exports = { htmlWhitespaceSensitivity: 'ignore', overrides: [ { - files: '*.json', + files: '*.{json,jsonc}', options: { trailingComma: 'none', }, diff --git a/.vscode/settings.json b/.vscode/settings.json index 0c91bbd..c34fadb 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -60,6 +60,6 @@ "README.md": "index.html,favicon.ico,robots.txt,CHANGELOG.md", "pages.config.ts": "manifest.config.ts,openapi-ts-request.config.ts", "package.json": "pnpm-lock.yaml,pnpm-workspace.yaml,LICENSE,.gitattributes,.gitignore,.gitpod.yml,CNAME,.npmrc,.browserslistrc", - "tsconfig.json": ".commitlintrc.*,.prettier*,.editorconfig,.commitlint.cjs" + ".oxlintrc.json": "tsconfig.json,.commitlintrc.*,.prettier*,.editorconfig,.commitlint.cjs,.eslint*" } } diff --git a/package.json b/package.json index 624c305..e7f9714 100644 --- a/package.json +++ b/package.json @@ -71,13 +71,14 @@ "type-check": "vue-tsc --noEmit", "openapi-ts-request": "openapi-ts", "prepare": "git init && husky", - "lint:oxlint": "oxlint src/**/*.{ts,js,vue}" + "lint": "oxlint", + "lint-fix": "oxlint --fix" }, "lint-staged": { "**/*.{html,cjs,json,md,scss,css,txt}": [ "prettier --write --cache" ], - "**/*.{js,ts,vue}": [ + "**/*.{js,jsx,ts,tsx,vue,mjs,cjs,mts,cts}": [ "oxlint --fix", "prettier --write --cache" ], diff --git a/src/hooks/useUpload.ts b/src/hooks/useUpload.ts index d0936de..a3edb3b 100644 --- a/src/hooks/useUpload.ts +++ b/src/hooks/useUpload.ts @@ -20,7 +20,7 @@ export default function useUpload(options: TOptions = {} const { formData = {}, maxSize = 5 * 1024 * 1024, - // accept = ['*'], + accept = ['*'], fileType = 'image', success, error: onError, diff --git a/src/pages/about/about.vue b/src/pages/about/about.vue index e2e3945..8d46984 100644 --- a/src/pages/about/about.vue +++ b/src/pages/about/about.vue @@ -38,6 +38,12 @@ const toSubPage = () => { url: '/pages-sub/demo/index', }) } + +// 奇怪:同样的代码放在 vue 里面不会校验到错误,放在 .ts 文件里面会校验到错误 +// const testOxlint = (name: string) => { +// console.log('oxlint') +// } +// testOxlint('oxlint')