chore: add professional tooling (husky, lint-staged, playwright, lighthouse, eslint)
Deploy / release (push) Skipped
Deploy / deploy (push) Failing after 6s

This commit is contained in:
openhands committed 2026-07-21 23:36:54 +02:00
1 parent 968ca15c27
commit 57f85f5453
5 files changed
+112 -61

No files matched your search

+16 -60
View File
@@ -1,65 +1,21 @@
import js from "@eslint/js";
import nextPlugin from "@next/eslint-plugin-next";
import prettier from "eslint-config-prettier";
import jsxA11y from "eslint-plugin-jsx-a11y";
import reactHooks from "eslint-plugin-react-hooks";
import security from "eslint-plugin-security";
import unusedImports from "eslint-plugin-unused-imports";
import tseslint from "typescript-eslint";
export default tseslint.config(
js.configs.recommended,
...tseslint.configs.recommended,
security.configs.recommended,
prettier,
{
plugins: {
"@next/next": nextPlugin,
"react-hooks": reactHooks,
"jsx-a11y": jsxA11y,
},
rules: {
...nextPlugin.configs.recommended.rules,
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn",
"no-console": "off",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": [
"warn",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
],
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/consistent-type-imports": "error",
"@typescript-eslint/no-non-null-assertion": "warn",
"prefer-const": "error",
"no-var": "error",
eqeqeq: ["error", "always", { null: "ignore" }],
"no-empty": ["warn", { allowEmptyCatch: true }],
"no-useless-assignment": "off",
"no-undef": "off",
"security/detect-object-injection": "warn",
"security/detect-non-literal-fs-filename": "warn",
},
},
{
files: ["**/*.test.ts", "**/*.test.tsx", "scripts/**"],
rules: {
"security/detect-object-injection": "off",
"security/detect-non-literal-fs-filename": "off",
"@typescript-eslint/no-explicit-any": "off",
},
},
{
ignores: [
".next/",
"node_modules/",
"src/generated/",
"public/",
"prisma/migrations/",
"db_backup_*.sql",
],
},
{
ignores: ["node_modules", ".next", "dist", "build"],
},
js.configs.recommended,
tseslint.configs.recommended,
{
files: ["src/**/*.{ts,tsx}", "pages/**/*.{ts,tsx}", "app/**/*.{ts,tsx}"],
plugins: {
"unused-imports": unusedImports,
},
rules: {
"unused-imports/no-unused-vars": "error",
"no-console": "warn",
},
}
);