diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..90e31cb --- /dev/null +++ b/.eslintignore @@ -0,0 +1,7 @@ +node_modules +dist +build +public +assets +*.png +*.jpg diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..37f7b92 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,32 @@ +module.exports = { + root: true, + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 2020, + sourceType: 'module', + ecmaFeatures: { + jsx: true, + }, + }, + env: { + browser: true, + es2021: true, + node: true, + }, + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:@typescript-eslint/recommended', + 'prettier', + ], + plugins: ['react', '@typescript-eslint', 'react-hooks'], + settings: { + react: { + version: 'detect', + }, + }, + rules: { + 'react/react-in-jsx-scope': 'off', + 'react/prop-types': 'off', + }, +} diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..a75c395 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,7 @@ +node_modules +dist +build +.vscode +public +assets +*.log diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..81951d5 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "printWidth": 100, + "singleQuote": true, + "trailingComma": "es5", + "tabWidth": 2, + "semi": true, + "endOfLine": "lf" +} diff --git a/package.json b/package.json index 5ad1c99..cf2947e 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "build": "vite build", "preview": "vite preview", "type-check": "tsc --noEmit", - "prettier": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"" + "prettier": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"", + "lint": "eslint \"src/**/*.{ts,tsx,js,jsx}\" --fix" }, "dependencies": { "react": "^19.0.0", @@ -26,6 +27,12 @@ "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", "@vitejs/plugin-react": "^5.0.0", - "prettier": "^3.0.0" + "prettier": "^3.0.0", + "eslint": "^8.50.0", + "@typescript-eslint/parser": "^6.9.0", + "@typescript-eslint/eslint-plugin": "^6.9.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.9.0" } }