integration tests

This commit is contained in:
2026-01-24 00:19:26 +01:00
parent c470505b4f
commit 62e8b768ce

View File

@@ -23,8 +23,8 @@
"app/**/default.*" "app/**/default.*"
], ],
"rules": { "rules": {
"import/no-default-export": "off", "import/no-default-export": "error",
"no-restricted-syntax": "off" "no-restricted-syntax": "error"
} }
}, },
{ {
@@ -54,9 +54,9 @@
"lib/builders/view-data/*.tsx" "lib/builders/view-data/*.tsx"
], ],
"rules": { "rules": {
"gridpilot-rules/filename-matches-export": "off", "gridpilot-rules/filename-matches-export": "error",
"gridpilot-rules/single-export-per-file": "off", "gridpilot-rules/single-export-per-file": "error",
"gridpilot-rules/view-data-builder-contract": "off", "gridpilot-rules/view-data-builder-contract": "error",
"gridpilot-rules/view-data-builder-implements": "error", "gridpilot-rules/view-data-builder-implements": "error",
"gridpilot-rules/view-data-builder-imports": "error" "gridpilot-rules/view-data-builder-imports": "error"
} }
@@ -75,11 +75,11 @@
"lib/mutations/**/*.ts" "lib/mutations/**/*.ts"
], ],
"rules": { "rules": {
"gridpilot-rules/clean-error-handling": "off", "gridpilot-rules/clean-error-handling": "error",
"gridpilot-rules/filename-service-match": "off", "gridpilot-rules/filename-service-match": "error",
"gridpilot-rules/mutation-contract": "off", "gridpilot-rules/mutation-contract": "error",
"gridpilot-rules/mutation-must-map-errors": "off", "gridpilot-rules/mutation-must-map-errors": "error",
"gridpilot-rules/mutation-must-use-builders": "off" "gridpilot-rules/mutation-must-use-builders": "error"
} }
}, },
{ {
@@ -87,16 +87,16 @@
"templates/**/*.tsx" "templates/**/*.tsx"
], ],
"rules": { "rules": {
"gridpilot-rules/component-no-data-manipulation": "off", "gridpilot-rules/component-no-data-manipulation": "error",
"gridpilot-rules/no-hardcoded-routes": "off", "gridpilot-rules/no-hardcoded-routes": "error",
"gridpilot-rules/no-raw-html-in-app": "off", "gridpilot-rules/no-raw-html-in-app": "error",
"gridpilot-rules/template-no-async-render": "off", "gridpilot-rules/template-no-async-render": "error",
"gridpilot-rules/template-no-direct-mutations": "off", "gridpilot-rules/template-no-direct-mutations": "error",
"gridpilot-rules/template-no-external-state": "off", "gridpilot-rules/template-no-external-state": "error",
"gridpilot-rules/template-no-global-objects": "off", "gridpilot-rules/template-no-global-objects": "error",
"gridpilot-rules/template-no-mutation-props": "off", "gridpilot-rules/template-no-mutation-props": "error",
"gridpilot-rules/template-no-side-effects": "off", "gridpilot-rules/template-no-side-effects": "error",
"gridpilot-rules/template-no-unsafe-html": "off" "gridpilot-rules/template-no-unsafe-html": "error"
} }
}, },
{ {
@@ -104,8 +104,8 @@
"components/**/*.tsx" "components/**/*.tsx"
], ],
"rules": { "rules": {
"gridpilot-rules/component-no-data-manipulation": "off", "gridpilot-rules/component-no-data-manipulation": "error",
"gridpilot-rules/no-raw-html-in-app": "off" "gridpilot-rules/no-raw-html-in-app": "error"
} }
}, },
{ {
@@ -114,33 +114,33 @@
"app/**/layout.tsx" "app/**/layout.tsx"
], ],
"rules": { "rules": {
"@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-unused-vars": "off", "@typescript-eslint/no-unused-vars": "error",
"gridpilot-rules/component-classification": "off", "gridpilot-rules/component-classification": "error",
"gridpilot-rules/no-console": "off", "gridpilot-rules/no-console": "error",
"gridpilot-rules/no-direct-process-env": "off", "gridpilot-rules/no-direct-process-env": "error",
"gridpilot-rules/no-hardcoded-routes": "off", "gridpilot-rules/no-hardcoded-routes": "error",
"gridpilot-rules/no-hardcoded-search-params": "off", "gridpilot-rules/no-hardcoded-search-params": "error",
"gridpilot-rules/no-index-files": "off", "gridpilot-rules/no-index-files": "error",
"gridpilot-rules/no-next-cookies-in-pages": "off", "gridpilot-rules/no-next-cookies-in-pages": "error",
"gridpilot-rules/no-raw-html-in-app": "off", "gridpilot-rules/no-raw-html-in-app": "error",
"gridpilot-rules/rsc-no-container-manager": "off", "gridpilot-rules/rsc-no-container-manager": "error",
"gridpilot-rules/rsc-no-container-manager-calls": "off", "gridpilot-rules/rsc-no-container-manager-calls": "error",
"gridpilot-rules/rsc-no-di": "off", "gridpilot-rules/rsc-no-di": "error",
"gridpilot-rules/rsc-no-display-objects": "off", "gridpilot-rules/rsc-no-display-objects": "error",
"gridpilot-rules/rsc-no-intl": "off", "gridpilot-rules/rsc-no-intl": "error",
"gridpilot-rules/rsc-no-local-helpers": "off", "gridpilot-rules/rsc-no-local-helpers": "error",
"gridpilot-rules/rsc-no-object-construction": "off", "gridpilot-rules/rsc-no-object-construction": "error",
"gridpilot-rules/rsc-no-page-data-fetcher": "off", "gridpilot-rules/rsc-no-page-data-fetcher": "error",
"gridpilot-rules/rsc-no-presenters": "off", "gridpilot-rules/rsc-no-presenters": "error",
"gridpilot-rules/rsc-no-sorting-filtering": "off", "gridpilot-rules/rsc-no-sorting-filtering": "error",
"gridpilot-rules/rsc-no-unsafe-services": "off", "gridpilot-rules/rsc-no-unsafe-services": "error",
"gridpilot-rules/rsc-no-view-models": "off", "gridpilot-rules/rsc-no-view-models": "error",
"import/no-default-export": "off", "import/no-default-export": "error",
"no-restricted-syntax": "off", "no-restricted-syntax": "error",
"react-hooks/exhaustive-deps": "off", "react-hooks/exhaustive-deps": "error",
"react-hooks/rules-of-hooks": "off", "react-hooks/rules-of-hooks": "error",
"react/no-unescaped-entities": "off" "react/no-unescaped-entities": "error"
} }
}, },
{ {
@@ -152,8 +152,8 @@
"lib/mutations/auth/types/*.ts" "lib/mutations/auth/types/*.ts"
], ],
"rules": { "rules": {
"gridpilot-rules/clean-error-handling": "off", "gridpilot-rules/clean-error-handling": "error",
"gridpilot-rules/no-direct-process-env": "off" "gridpilot-rules/no-direct-process-env": "error"
} }
}, },
{ {
@@ -162,10 +162,10 @@
"lib/display-objects/**/*.tsx" "lib/display-objects/**/*.tsx"
], ],
"rules": { "rules": {
"gridpilot-rules/display-no-business-logic": "off", "gridpilot-rules/display-no-business-logic": "error",
"gridpilot-rules/display-no-domain-models": "off", "gridpilot-rules/display-no-domain-models": "error",
"gridpilot-rules/filename-display-match": "off", "gridpilot-rules/filename-display-match": "error",
"gridpilot-rules/model-no-domain-in-display": "off" "gridpilot-rules/model-no-domain-in-display": "error"
} }
}, },
{ {
@@ -173,17 +173,17 @@
"lib/page-queries/**/*.ts" "lib/page-queries/**/*.ts"
], ],
"rules": { "rules": {
"gridpilot-rules/clean-error-handling": "off", "gridpilot-rules/clean-error-handling": "error",
"gridpilot-rules/filename-matches-export": "off", "gridpilot-rules/filename-matches-export": "error",
"gridpilot-rules/no-hardcoded-routes": "off", "gridpilot-rules/no-hardcoded-routes": "error",
"gridpilot-rules/no-hardcoded-search-params": "off", "gridpilot-rules/no-hardcoded-search-params": "error",
"gridpilot-rules/page-query-contract": "off", "gridpilot-rules/page-query-contract": "error",
"gridpilot-rules/page-query-execute": "off", "gridpilot-rules/page-query-execute": "error",
"gridpilot-rules/page-query-filename": "off", "gridpilot-rules/page-query-filename": "error",
"gridpilot-rules/page-query-must-use-builders": "off", "gridpilot-rules/page-query-must-use-builders": "error",
"gridpilot-rules/page-query-no-null-returns": "off", "gridpilot-rules/page-query-no-null-returns": "error",
"gridpilot-rules/page-query-return-type": "off", "gridpilot-rules/page-query-return-type": "error",
"gridpilot-rules/single-export-per-file": "off" "gridpilot-rules/single-export-per-file": "error"
} }
}, },
{ {
@@ -219,11 +219,11 @@
"lib/services/**/*.ts" "lib/services/**/*.ts"
], ],
"rules": { "rules": {
"gridpilot-rules/filename-service-match": "off", "gridpilot-rules/filename-service-match": "error",
"gridpilot-rules/services-implement-contract": "off", "gridpilot-rules/services-implement-contract": "error",
"gridpilot-rules/services-must-be-pure": "off", "gridpilot-rules/services-must-be-pure": "error",
"gridpilot-rules/services-must-return-result": "off", "gridpilot-rules/services-must-return-result": "error",
"gridpilot-rules/services-no-external-api": "off" "gridpilot-rules/services-no-external-api": "error"
} }
}, },
{ {
@@ -232,12 +232,12 @@
"app/**/*.ts" "app/**/*.ts"
], ],
"rules": { "rules": {
"gridpilot-rules/client-only-must-have-directive": "off", "gridpilot-rules/client-only-must-have-directive": "error",
"gridpilot-rules/client-only-no-server-code": "off", "gridpilot-rules/client-only-no-server-code": "error",
"gridpilot-rules/no-use-mutation-in-client": "off", "gridpilot-rules/no-use-mutation-in-client": "error",
"gridpilot-rules/server-actions-interface": "off", "gridpilot-rules/server-actions-interface": "error",
"gridpilot-rules/server-actions-must-use-mutations": "off", "gridpilot-rules/server-actions-must-use-mutations": "error",
"gridpilot-rules/server-actions-return-result": "off" "gridpilot-rules/server-actions-return-result": "error"
} }
}, },
{ {
@@ -285,10 +285,10 @@
"app/**/*.ts" "app/**/*.ts"
], ],
"rules": { "rules": {
"gridpilot-rules/component-classification": "off", "gridpilot-rules/component-classification": "error",
"gridpilot-rules/no-hardcoded-routes": "off", "gridpilot-rules/no-hardcoded-routes": "error",
"gridpilot-rules/no-nextjs-imports-in-ui": "off", "gridpilot-rules/no-nextjs-imports-in-ui": "error",
"gridpilot-rules/no-raw-html-in-app": "off" "gridpilot-rules/no-raw-html-in-app": "error"
} }
}, },
{ {
@@ -319,11 +319,11 @@
"components/**/*.ts" "components/**/*.ts"
], ],
"rules": { "rules": {
"gridpilot-rules/component-classification": "off", "gridpilot-rules/component-classification": "error",
"gridpilot-rules/no-hardcoded-routes": "off", "gridpilot-rules/no-hardcoded-routes": "error",
"gridpilot-rules/no-nextjs-imports-in-ui": "off", "gridpilot-rules/no-nextjs-imports-in-ui": "error",
"gridpilot-rules/no-raw-html-in-app": "error", "gridpilot-rules/no-raw-html-in-app": "error",
"no-restricted-imports": "off" "no-restricted-imports": "error"
} }
}, },
{ {
@@ -331,7 +331,7 @@
"components/mockups/**/*.tsx" "components/mockups/**/*.tsx"
], ],
"rules": { "rules": {
"gridpilot-rules/no-raw-html-in-app": "off" "gridpilot-rules/no-raw-html-in-app": "error"
} }
}, },
{ {
@@ -339,11 +339,11 @@
"lib/services/**/*.ts" "lib/services/**/*.ts"
], ],
"rules": { "rules": {
"gridpilot-rules/no-hardcoded-routes": "off", "gridpilot-rules/no-hardcoded-routes": "error",
"gridpilot-rules/service-function-format": "off", "gridpilot-rules/service-function-format": "error",
"gridpilot-rules/services-implement-contract": "off", "gridpilot-rules/services-implement-contract": "error",
"gridpilot-rules/services-must-be-pure": "off", "gridpilot-rules/services-must-be-pure": "error",
"gridpilot-rules/services-no-external-api": "off" "gridpilot-rules/services-no-external-api": "error"
} }
}, },
{ {
@@ -364,10 +364,10 @@
], ],
"root": true, "root": true,
"rules": { "rules": {
"@next/next/no-img-element": "off", "@next/next/no-img-element": "error",
"@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-unused-vars": [ "@typescript-eslint/no-unused-vars": [
"off", "error",
{ {
"argsIgnorePattern": "^_", "argsIgnorePattern": "^_",
"caughtErrorsIgnorePattern": "^_", "caughtErrorsIgnorePattern": "^_",
@@ -390,15 +390,15 @@
] ]
} }
], ],
"gridpilot-rules/no-index-files": "off", "gridpilot-rules/no-index-files": "error",
"import/no-default-export": "off", "import/no-default-export": "error",
"import/no-named-as-default-member": "off", "import/no-named-as-default-member": "error",
"no-restricted-syntax": "off", "no-restricted-syntax": "error",
"react-hooks/exhaustive-deps": "off", "react-hooks/exhaustive-deps": "error",
"react-hooks/rules-of-hooks": "off", "react-hooks/rules-of-hooks": "error",
"react/no-unescaped-entities": "off", "react/no-unescaped-entities": "error",
"unused-imports/no-unused-imports": "off", "unused-imports/no-unused-imports": "error",
"unused-imports/no-unused-vars": "off" "unused-imports/no-unused-vars": "error"
}, },
"settings": { "settings": {
"boundaries/elements": [ "boundaries/elements": [