Add eslint
This commit is contained in:
parent
4f573042f1
commit
06094adbcc
40
eslint.config.js
Normal file
40
eslint.config.js
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import globals from "globals"
|
||||||
|
import pluginJs from "@eslint/js"
|
||||||
|
import tseslint from "typescript-eslint"
|
||||||
|
import pluginReact from "eslint-plugin-react"
|
||||||
|
|
||||||
|
export default [
|
||||||
|
{ files: ["./src/**/*.{js,mjs,cjs,ts,jsx,tsx}"] },
|
||||||
|
{ plugins: { react: pluginReact } },
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
parserOptions: {
|
||||||
|
ecmaFeatures: {
|
||||||
|
jsx: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
globals: globals.browser,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
pluginJs.configs.recommended,
|
||||||
|
...tseslint.configs.recommended,
|
||||||
|
pluginReact.configs.flat.recommended,
|
||||||
|
{
|
||||||
|
rules: {
|
||||||
|
"react/react-in-jsx-scope": "off",
|
||||||
|
"react/no-unknown-property": "off",
|
||||||
|
"@typescript-eslint/no-unused-vars": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
args: "all",
|
||||||
|
argsIgnorePattern: "^_",
|
||||||
|
caughtErrors: "all",
|
||||||
|
caughtErrorsIgnorePattern: "^_",
|
||||||
|
destructuredArrayIgnorePattern: "^_",
|
||||||
|
varsIgnorePattern: "^_",
|
||||||
|
ignoreRestSiblings: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
@ -15,12 +15,18 @@
|
|||||||
"kaioken": "^0.31.0"
|
"kaioken": "^0.31.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@eslint/js": "^9.13.0",
|
||||||
"@tauri-apps/cli": "^2.0.1",
|
"@tauri-apps/cli": "^2.0.1",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
|
"eslint": "^9.13.0",
|
||||||
|
"eslint-plugin-react": "^7.37.2",
|
||||||
"postcss": "^8.4.47",
|
"postcss": "^8.4.47",
|
||||||
|
"prettier": "^3.3.3",
|
||||||
"tailwindcss": "^3.4.13",
|
"tailwindcss": "^3.4.13",
|
||||||
"typescript": "^5.6.2",
|
"typescript": "^5.6.2",
|
||||||
|
"typescript-eslint": "^8.11.0",
|
||||||
"vite": "^5.4.8",
|
"vite": "^5.4.8",
|
||||||
|
"vite-plugin-eslint": "^1.8.1",
|
||||||
"vite-plugin-kaioken": "^0.13.1"
|
"vite-plugin-kaioken": "^0.13.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
/* Linting */
|
/* Linting */
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"noUnusedLocals": true,
|
"noUnusedLocals": false,
|
||||||
"noUnusedParameters": true,
|
"noUnusedParameters": false,
|
||||||
"noFallthroughCasesInSwitch": true,
|
"noFallthroughCasesInSwitch": true,
|
||||||
"jsx": "preserve"
|
"jsx": "preserve"
|
||||||
},
|
},
|
||||||
|
@ -1,9 +1,21 @@
|
|||||||
import { defineConfig } from "vite";
|
import { defineConfig } from "vite"
|
||||||
import kaioken from "vite-plugin-kaioken";
|
import kaioken from "vite-plugin-kaioken"
|
||||||
|
import eslint from "vite-plugin-eslint"
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [kaioken()],
|
plugins: [
|
||||||
|
kaioken(),
|
||||||
|
eslint({
|
||||||
|
cache: true,
|
||||||
|
ignorePatterns: ["src-tauri"],
|
||||||
|
emitError: true,
|
||||||
|
emitWarning: true,
|
||||||
|
failOnError: false,
|
||||||
|
failOnWarning: false,
|
||||||
|
lintOnStart: true,
|
||||||
|
}),
|
||||||
|
],
|
||||||
esbuild: {
|
esbuild: {
|
||||||
jsxInject: `import * as kaioken from "kaioken"`,
|
jsxInject: `import * as kaioken from "kaioken"`,
|
||||||
jsx: "transform",
|
jsx: "transform",
|
||||||
@ -25,4 +37,4 @@ export default defineConfig({
|
|||||||
ignored: ["**/src-tauri/**"],
|
ignored: ["**/src-tauri/**"],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user