website refactor

This commit is contained in:
2026-01-13 02:38:49 +01:00
parent e981ebd9e9
commit 38b25bafe1
20 changed files with 1138 additions and 80 deletions

View File

@@ -27,6 +27,17 @@
"no-restricted-syntax": "off"
}
},
{
"files": [
"lib/presenters/**/*.ts",
"lib/presenters/**/*.tsx",
"lib/view-models/**/*.ts",
"lib/view-models/**/*.tsx"
],
"rules": {
"gridpilot-rules/presenter-contract": "error"
}
},
{
"files": [
"lib/builders/view-models/*.ts",
@@ -42,7 +53,18 @@
"lib/builders/view-data/*.tsx"
],
"rules": {
"gridpilot-rules/view-data-builder-contract": "error"
"gridpilot-rules/view-data-builder-contract": "error",
"gridpilot-rules/single-export-per-file": "error",
"gridpilot-rules/filename-matches-export": "error"
}
},
{
"files": [
"lib/builders/**/*.ts",
"lib/builders/**/*.tsx"
],
"rules": {
"gridpilot-rules/no-page-dtos-directory": "error"
}
},
{
@@ -105,7 +127,8 @@
"rules": {
"gridpilot-rules/display-no-domain-models": "error",
"gridpilot-rules/display-no-business-logic": "error",
"gridpilot-rules/model-no-domain-in-display": "error"
"gridpilot-rules/model-no-domain-in-display": "error",
"gridpilot-rules/filename-display-match": "error"
}
},
{
@@ -117,7 +140,22 @@
"gridpilot-rules/page-query-filename": "error",
"gridpilot-rules/page-query-contract": "error",
"gridpilot-rules/page-query-execute": "error",
"gridpilot-rules/page-query-return-type": "error"
"gridpilot-rules/page-query-return-type": "error",
"gridpilot-rules/page-query-must-use-builders": "error",
"gridpilot-rules/single-export-per-file": "error",
"gridpilot-rules/filename-matches-export": "error",
"gridpilot-rules/clean-error-handling": "error"
}
},
{
"files": [
"lib/mutations/**/*.ts"
],
"rules": {
"gridpilot-rules/mutation-contract": "error",
"gridpilot-rules/clean-error-handling": "error",
"gridpilot-rules/single-export-per-file": "error",
"gridpilot-rules/filename-matches-export": "error"
}
},
{
@@ -136,7 +174,9 @@
"rules": {
"gridpilot-rules/services-no-external-api": "error",
"gridpilot-rules/services-must-be-pure": "error",
"gridpilot-rules/filename-service-match": "error"
"gridpilot-rules/filename-service-match": "error",
"gridpilot-rules/services-must-return-result": "error",
"gridpilot-rules/services-implement-contract": "error"
}
},
{
@@ -167,6 +207,27 @@
"rules": {
"gridpilot-rules/model-no-display-in-domain": "error"
}
},
{
"files": [
"lib/**/*.ts",
"lib/**/*.tsx"
],
"rules": {
"gridpilot-rules/lib-no-next-imports": "error"
}
},
{
"files": [
"lib/services/**/*.ts"
],
"rules": {
"gridpilot-rules/service-function-format": "error",
"gridpilot-rules/services-must-be-marked": "error",
"gridpilot-rules/services-must-be-pure": "error",
"gridpilot-rules/services-no-external-api": "error",
"gridpilot-rules/services-no-instantiation": "error"
}
}
],
"plugins": [