--- /dev/null
+{
+ "printWidth": 120,
+ "tabWidth": 2,
+ "useTabs": false,
+ "semi": true,
+ "singleQuote": true,
+ "jsxSingleQuote": true,
+ "trailingComma": "all",
+ "bracketSpacing": true,
+ "arrowParens": "avoid",
+ "proseWrap": "never",
+ "endOfLine": "auto"
+}
--- /dev/null
+import globals from 'globals';
+import pluginJs from '@eslint/js';
+import pluginReact from 'eslint-plugin-react';
+import pluginPrettier from 'eslint-plugin-prettier';
+
+export default [
+ {
+ files: ['**/*.{js,mjs,cjs,jsx}'],
+ languageOptions: {
+ globals: globals.browser,
+ },
+ plugins: {
+ react: pluginReact,
+ prettier: pluginPrettier,
+ },
+ rules: {
+ 'no-console': 'warn',
+ 'prettier/prettier': 'error',
+ eqeqeq: 'error',
+ curly: 'error',
+ 'no-eval': 'error',
+ 'no-implied-eval': 'error',
+ 'no-cond-assign': ['error', 'always'],
+ 'no-constant-condition': 'error',
+ 'no-debugger': 'error',
+ 'array-bracket-spacing': ['error', 'never'],
+ 'block-spacing': ['error', 'always'],
+ 'brace-style': ['error', '1tbs'],
+ camelcase: ['error', { properties: 'always' }],
+ 'comma-dangle': ['error', 'always-multiline'],
+ 'react/jsx-uses-react': 'off',
+ 'react/react-in-jsx-scope': 'off',
+ },
+ extends: ['eslint:recommended', 'plugin:react/recommended', 'plugin:prettier/recommended', 'prettier'],
+ },
+ pluginJs.configs.recommended,
+];
"last 1 firefox version",
"last 1 safari version"
]
+ },
+ "devDependencies": {
+ "@eslint/js": "^9.8.0",
+ "eslint": "^9.8.0",
+ "eslint-config-prettier": "^9.1.0",
+ "eslint-plugin-prettier": "^5.2.1",
+ "eslint-plugin-react": "^7.35.0",
+ "globals": "^15.8.0",
+ "prettier": "^3.3.3"
}
}