@echoes-of-order/eslint-config 1.121.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1093 -0
- package/configs/.gitkeep +1 -0
- package/configs/admin.js +203 -0
- package/configs/api-client.js +46 -0
- package/configs/backend.js +895 -0
- package/configs/domains.js +123 -0
- package/configs/frontend.js +30 -0
- package/configs/image-server.js +26 -0
- package/configs/ionos-proxy.js +372 -0
- package/configs/nestjs.js +156 -0
- package/configs/node.js +92 -0
- package/configs/react.js +111 -0
- package/configs/wiki.js +42 -0
- package/index.js +39 -0
- package/package.json +85 -0
- package/rules/.gitkeep +1 -0
- package/rules/__tests__/analyze-relation-usage.test.js.disabled +300 -0
- package/rules/__tests__/complexity.test.js.disabled +300 -0
- package/rules/__tests__/enforce-dto-factory-in-services.integration.test.js +226 -0
- package/rules/__tests__/enforce-dto-factory-in-services.test.js +177 -0
- package/rules/__tests__/enforce-entity-dto-create-no-id.integration.test.js +18 -0
- package/rules/__tests__/enforce-function-argument-count.test.js.disabled +300 -0
- package/rules/__tests__/enforce-repository-token-handling.test.js +58 -0
- package/rules/__tests__/english-only-code-strings.test.js.disabled +300 -0
- package/rules/__tests__/eslint-rules.integration.test.ts +350 -0
- package/rules/__tests__/integration-test-controller-response-dto.js +261 -0
- package/rules/__tests__/integration-test-dto-factory-in-services.js +260 -0
- package/rules/__tests__/integration-test-no-entity-type-casting.js +161 -0
- package/rules/__tests__/integration-test-typeorm-naming-conventions.js +501 -0
- package/rules/__tests__/test-config.js +33 -0
- package/rules/admin-controller-security.js +180 -0
- package/rules/analyze-relation-usage.js +687 -0
- package/rules/api-response-dto.js +174 -0
- package/rules/auth-guard-required.js +142 -0
- package/rules/backend-specific.js +36 -0
- package/rules/best-practices.js +421 -0
- package/rules/complexity.js +20 -0
- package/rules/controller-architecture.js +340 -0
- package/rules/controller-naming-conventions.js +190 -0
- package/rules/controller-readonly-restriction.js +148 -0
- package/rules/controller-swagger-complete.js +312 -0
- package/rules/controller-swagger-docs.js +119 -0
- package/rules/controller-swagger-english.js +320 -0
- package/rules/coordinate-naming.js +132 -0
- package/rules/custom-mui-button.js +135 -0
- package/rules/dead-code-detection-backend.js +50 -0
- package/rules/dead-code-detection-frontend.js +48 -0
- package/rules/dead-code-detection.js +71 -0
- package/rules/debug-controller-response-dto.js +79 -0
- package/rules/deprecate.js +8 -0
- package/rules/dto-annotation-property-consistency.js +111 -0
- package/rules/dto-entity-mapping-completeness.js +688 -0
- package/rules/dto-entity-swagger-separation.js +265 -0
- package/rules/dto-entity-type-consistency.js +352 -0
- package/rules/dto-entity-type-matching.js +519 -0
- package/rules/dto-naming-convention.js +98 -0
- package/rules/dto-visibility-modifiers.js +159 -0
- package/rules/enforce-api-versioning.js +122 -0
- package/rules/enforce-app-module-registration.js +179 -0
- package/rules/enforce-basecontroller.js +152 -0
- package/rules/enforce-body-request-dto.js +141 -0
- package/rules/enforce-controller-response-dto.js +349 -0
- package/rules/enforce-custom-error-classes.js +242 -0
- package/rules/enforce-database-transaction-safety.js +179 -0
- package/rules/enforce-dto-constructor.js +95 -0
- package/rules/enforce-dto-create-parameter-types.js +170 -0
- package/rules/enforce-dto-create-pattern.js +274 -0
- package/rules/enforce-dto-entity-creation.js +164 -0
- package/rules/enforce-dto-factory-in-services.js +188 -0
- package/rules/enforce-dto-from-entity-method.js +47 -0
- package/rules/enforce-dto-from-entity.js +314 -0
- package/rules/enforce-dto-naming-conventions.js +212 -0
- package/rules/enforce-dto-naming.js +176 -0
- package/rules/enforce-dto-usage-simple.js +114 -0
- package/rules/enforce-dto-usage.js +407 -0
- package/rules/enforce-eager-translation-loading.js +178 -0
- package/rules/enforce-entity-creation-pattern.js +137 -0
- package/rules/enforce-entity-dto-convert-method.js +157 -0
- package/rules/enforce-entity-dto-create-no-id.js +117 -0
- package/rules/enforce-entity-dto-extends-base.js +141 -0
- package/rules/enforce-entity-dto-from-request-dto-structure.js +113 -0
- package/rules/enforce-entity-dto-fromentity-complex.js +69 -0
- package/rules/enforce-entity-dto-fromentity-simple.js +69 -0
- package/rules/enforce-entity-dto-fromrequestdto-structure.js +262 -0
- package/rules/enforce-entity-dto-methods-restriction.js +159 -0
- package/rules/enforce-entity-dto-no-request-dto.js +102 -0
- package/rules/enforce-entity-dto-optional-auto-fields.js +101 -0
- package/rules/enforce-entity-dto-required-methods.js +248 -0
- package/rules/enforce-entity-factory-pattern.js +180 -0
- package/rules/enforce-entity-instantiation-in-toentity.js +125 -0
- package/rules/enforce-enum-for-playable-entities.js +95 -0
- package/rules/enforce-error-handling.js +257 -0
- package/rules/enforce-explicit-dto-types.js +118 -0
- package/rules/enforce-from-request-dto-usage.js +62 -0
- package/rules/enforce-generic-entity-dto.js +71 -0
- package/rules/enforce-inject-decorator.js +133 -0
- package/rules/enforce-lazy-type-loading.js +170 -0
- package/rules/enforce-module-existence.js +157 -0
- package/rules/enforce-nonentity-dto-create.js +107 -0
- package/rules/enforce-playable-entity-naming.js +108 -0
- package/rules/enforce-repository-token-handling.js +92 -0
- package/rules/enforce-request-dto-no-entity-dto.js +201 -0
- package/rules/enforce-request-dto-required-fields.js +217 -0
- package/rules/enforce-result-pattern.js +45 -0
- package/rules/enforce-service-relation-loading.js +116 -0
- package/rules/enforce-test-coverage.js +96 -0
- package/rules/enforce-toentity-conditional-assignment.js +132 -0
- package/rules/enforce-translations-required.js +203 -0
- package/rules/enforce-typeorm-naming-conventions.js +366 -0
- package/rules/enforce-vite-health-metrics.js +240 -0
- package/rules/entity-required-properties.js +321 -0
- package/rules/entity-to-dto-test.js +73 -0
- package/rules/enum-database-validation.js +149 -0
- package/rules/errors.js +190 -0
- package/rules/es6.js +204 -0
- package/rules/eslint-plugin-no-comments.js +44 -0
- package/rules/filename-class-name-match.js +62 -0
- package/rules/forbid-fromentity-outside-entity-folder.js +237 -0
- package/rules/function-params-newline.js +111 -0
- package/rules/imports.js +264 -0
- package/rules/jest.js +13 -0
- package/rules/jsx.js +16 -0
- package/rules/max-classes-per-file.js +49 -0
- package/rules/multiline-formatting.js +146 -0
- package/rules/no-blank-lines-between-decorators-and-properties.js +95 -0
- package/rules/no-comments.js +62 -0
- package/rules/no-dto-constructors.js +126 -0
- package/rules/no-dto-default-values.js +220 -0
- package/rules/no-dto-duplicates.js +127 -0
- package/rules/no-dto-in-entity.js +99 -0
- package/rules/no-dynamic-import-in-types.js +71 -0
- package/rules/no-dynamic-imports-in-controllers.js +95 -0
- package/rules/no-entity-imports-in-controllers.js +101 -0
- package/rules/no-entity-in-swagger-docs.js +139 -0
- package/rules/no-entity-type-casting.js +104 -0
- package/rules/no-fetch.js +77 -0
- package/rules/no-import-meta-env.js +151 -0
- package/rules/no-inline-styles.js +5 -0
- package/rules/no-magic-values.js +85 -0
- package/rules/no-partial-type.js +168 -0
- package/rules/no-relative-imports.js +31 -0
- package/rules/no-tsyringe.js +181 -0
- package/rules/no-type-assertion.js +175 -0
- package/rules/no-undefined-entity-properties.js +121 -0
- package/rules/node.js +44 -0
- package/rules/perfectionist.js +50 -0
- package/rules/performance-minimal.js +155 -0
- package/rules/performance.js +44 -0
- package/rules/pino-logger-format.js +200 -0
- package/rules/prefer-dto-classes.js +112 -0
- package/rules/prefer-dto-create-method.js +225 -0
- package/rules/promises.js +17 -0
- package/rules/react-hooks.js +15 -0
- package/rules/react.js +28 -0
- package/rules/regexp.js +70 -0
- package/rules/require-dto-response.js +81 -0
- package/rules/require-valid-relations.js +388 -0
- package/rules/result-pattern.js +162 -0
- package/rules/security.js +37 -0
- package/rules/service-architecture.js +148 -0
- package/rules/sonarjs.js +26 -0
- package/rules/strict.js +7 -0
- package/rules/style.js +611 -0
- package/rules/stylistic.js +93 -0
- package/rules/typeorm-column-type-validation.js +224 -0
- package/rules/typescript-advanced.js +113 -0
- package/rules/typescript-core.js +111 -0
- package/rules/typescript.js +146 -0
- package/rules/unicorn.js +168 -0
- package/rules/variables.js +51 -0
- package/rules/websocket-architecture.js +115 -0
package/configs/.gitkeep
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Configuration presets directory
|
package/configs/admin.js
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Admin ESLint Configuration
|
|
3
|
+
*
|
|
4
|
+
* Ursprüngliche Admin-Konfiguration - 1:1 übernommen
|
|
5
|
+
* Enthält alle Admin-spezifischen Regeln für React/TypeScript
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
import stylisticPlugin from "@stylistic/eslint-plugin";
|
|
10
|
+
|
|
11
|
+
import typescriptEslint from "@typescript-eslint/eslint-plugin";
|
|
12
|
+
import typescriptParser from "@typescript-eslint/parser";
|
|
13
|
+
import deprecatePlugin from "eslint-plugin-deprecate";
|
|
14
|
+
import importPlugin from "eslint-plugin-import";
|
|
15
|
+
import jestPlugin from "eslint-plugin-jest";
|
|
16
|
+
import jsxA11yPlugin from "eslint-plugin-jsx-a11y";
|
|
17
|
+
import noInlineStylesPlugin from "eslint-plugin-no-inline-styles";
|
|
18
|
+
import reactPlugin from "eslint-plugin-react";
|
|
19
|
+
import reactHooksPlugin from "eslint-plugin-react-hooks";
|
|
20
|
+
import sonarjsPlugin from "eslint-plugin-sonarjs";
|
|
21
|
+
import globals from "globals";
|
|
22
|
+
import path from "path";
|
|
23
|
+
|
|
24
|
+
// Importiere alle ursprünglichen Regeldateien
|
|
25
|
+
import apiResponseDtoRules from '../rules/api-response-dto.js';
|
|
26
|
+
import bestPracticesRules from '../rules/best-practices.js';
|
|
27
|
+
import deadCodeDetectionFrontend from '../rules/dead-code-detection-frontend.js';
|
|
28
|
+
import deprecatedRules from '../rules/deprecate.js';
|
|
29
|
+
import enforceRepositoryTokenHandlingRule from '../rules/enforce-repository-token-handling.js';
|
|
30
|
+
import enforceViteHealthMetricsRules from '../rules/enforce-vite-health-metrics.js';
|
|
31
|
+
import errorRules from '../rules/errors.js';
|
|
32
|
+
import es6Rules from '../rules/es6.js';
|
|
33
|
+
import importRules from '../rules/imports.js';
|
|
34
|
+
import jestRules from '../rules/jest.js';
|
|
35
|
+
import jsxRules from '../rules/jsx.js';
|
|
36
|
+
import noFetchRule from '../rules/no-fetch.js';
|
|
37
|
+
import noInlineStylesRules from '../rules/no-inline-styles.js';
|
|
38
|
+
import noTypeAssertion from '../rules/no-type-assertion.js';
|
|
39
|
+
import nodeRules from '../rules/node.js';
|
|
40
|
+
import preferDtoClassesRules from '../rules/prefer-dto-classes.js';
|
|
41
|
+
import reactRules from '../rules/react.js';
|
|
42
|
+
import resultPatternRules from '../rules/result-pattern.js';
|
|
43
|
+
import strictRules from '../rules/strict.js';
|
|
44
|
+
import styleRules from '../rules/style.js';
|
|
45
|
+
import stylisticRules from '../rules/stylistic.js';
|
|
46
|
+
import typescriptRules from '../rules/typescript.js';
|
|
47
|
+
import variableRules from '../rules/variables.js';
|
|
48
|
+
|
|
49
|
+
// Absolute Pfade zu den TypeScript-Konfigurationsdateien
|
|
50
|
+
const tsconfigRootDir = process.cwd(); // Das aktuelle Arbeitsverzeichnis
|
|
51
|
+
const tsconfig = path.resolve(tsconfigRootDir, "tsconfig.json");
|
|
52
|
+
const tsconfigEslint = path.resolve(tsconfigRootDir, "tsconfig.eslint.json");
|
|
53
|
+
|
|
54
|
+
// Bereinige die globals-Objekte, um Whitespace-Probleme zu vermeiden
|
|
55
|
+
Object.keys(globals).forEach((globalScope) => {
|
|
56
|
+
const scopeGlobals = globals[globalScope];
|
|
57
|
+
const keysToClean = Object.keys(scopeGlobals);
|
|
58
|
+
|
|
59
|
+
keysToClean.forEach((key) => {
|
|
60
|
+
if (key.trim() !== key) {
|
|
61
|
+
// Wenn der Schlüssel Leerzeichen am Anfang oder Ende hat
|
|
62
|
+
const cleanedKey = key.trim();
|
|
63
|
+
scopeGlobals[cleanedKey] = scopeGlobals[key];
|
|
64
|
+
delete scopeGlobals[key];
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
export default [
|
|
70
|
+
// Ignorieren von Dateien und Verzeichnissen
|
|
71
|
+
{
|
|
72
|
+
ignores: ["node_modules/**", "dist/**", "coverage/**", "logs/**"],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
files: ["**/*.ts", "**/*.tsx"],
|
|
76
|
+
languageOptions: {
|
|
77
|
+
ecmaVersion: "latest",
|
|
78
|
+
sourceType: "module",
|
|
79
|
+
globals: {
|
|
80
|
+
...globals.browser,
|
|
81
|
+
...globals.es2021,
|
|
82
|
+
...globals.node,
|
|
83
|
+
},
|
|
84
|
+
parser: typescriptParser,
|
|
85
|
+
parserOptions: {
|
|
86
|
+
project: [tsconfig, tsconfigEslint],
|
|
87
|
+
tsconfigRootDir: tsconfigRootDir,
|
|
88
|
+
programs: false,
|
|
89
|
+
ecmaFeatures: {
|
|
90
|
+
jsx: true,
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
linterOptions: {
|
|
95
|
+
reportUnusedDisableDirectives: true,
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
// Plugin-Konfiguration
|
|
99
|
+
plugins: {
|
|
100
|
+
"@typescript-eslint": typescriptEslint,
|
|
101
|
+
|
|
102
|
+
"@stylistic": stylisticPlugin,
|
|
103
|
+
import: importPlugin,
|
|
104
|
+
deprecate: deprecatePlugin,
|
|
105
|
+
jest: jestPlugin,
|
|
106
|
+
react: reactPlugin,
|
|
107
|
+
"react-hooks": reactHooksPlugin,
|
|
108
|
+
"jsx-a11y": jsxA11yPlugin,
|
|
109
|
+
"no-fetch": { rules: { "no-fetch": noFetchRule } },
|
|
110
|
+
"no-inline-styles": noInlineStylesPlugin,
|
|
111
|
+
"no-type-assertion": noTypeAssertion,
|
|
112
|
+
"prefer-dto-classes": preferDtoClassesRules,
|
|
113
|
+
"result-pattern": resultPatternRules,
|
|
114
|
+
"api-response-dto": apiResponseDtoRules,
|
|
115
|
+
"enforce-vite-health-metrics": enforceViteHealthMetricsRules,
|
|
116
|
+
"enforce-repository-token-handling": { rules: { "enforce-repository-token-handling": enforceRepositoryTokenHandlingRule } },
|
|
117
|
+
sonarjs: sonarjsPlugin,
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
// Regelkonfiguration
|
|
121
|
+
rules: {
|
|
122
|
+
...bestPracticesRules.rules,
|
|
123
|
+
...deprecatedRules.rules,
|
|
124
|
+
...errorRules.rules,
|
|
125
|
+
...es6Rules.rules,
|
|
126
|
+
...importRules.rules,
|
|
127
|
+
...jestRules.rules,
|
|
128
|
+
...jsxRules.rules,
|
|
129
|
+
...nodeRules.rules,
|
|
130
|
+
...noInlineStylesRules.rules,
|
|
131
|
+
...reactRules.rules,
|
|
132
|
+
...strictRules.rules,
|
|
133
|
+
...styleRules.rules,
|
|
134
|
+
...stylisticRules.rules,
|
|
135
|
+
...typescriptRules.rules,
|
|
136
|
+
...variableRules.rules,
|
|
137
|
+
...deadCodeDetectionFrontend.rules,
|
|
138
|
+
// Result-Pattern für infrastructure-Klassen
|
|
139
|
+
"result-pattern/require-result-return-type": "error",
|
|
140
|
+
// API-Response-DTO für API-Methodenaufrufe - angepasst an neue API-Client-Signatur
|
|
141
|
+
"api-response-dto/require-api-response-dto": "error",
|
|
142
|
+
// Prefer DTO Classes über Interfaces
|
|
143
|
+
"prefer-dto-classes/prefer-dto-classes": "error",
|
|
144
|
+
// Enforce Vite Health Metrics
|
|
145
|
+
"enforce-vite-health-metrics/enforce-vite-health-metrics": "error",
|
|
146
|
+
// Repository Token Handling
|
|
147
|
+
"enforce-repository-token-handling/enforce-repository-token-handling": "error",
|
|
148
|
+
// No Direct Fetch - Enforce ApiClient Usage
|
|
149
|
+
"no-fetch/no-fetch": "error",
|
|
150
|
+
// No Type Assertions (temporarily disabled due to bug)
|
|
151
|
+
// "no-type-assertion/no-type-assertion": "error",
|
|
152
|
+
|
|
153
|
+
// SonarJS-Regeln für Code-Qualität und Sicherheit
|
|
154
|
+
"sonarjs/no-identical-expressions": "error",
|
|
155
|
+
"sonarjs/no-identical-functions": "error",
|
|
156
|
+
"sonarjs/no-redundant-boolean": "error",
|
|
157
|
+
"sonarjs/no-redundant-jump": "error",
|
|
158
|
+
"sonarjs/no-unused-collection": "error",
|
|
159
|
+
"sonarjs/no-use-of-empty-return-value": "error",
|
|
160
|
+
"sonarjs/prefer-immediate-return": "error",
|
|
161
|
+
"sonarjs/prefer-object-literal": "error",
|
|
162
|
+
"sonarjs/prefer-single-boolean-return": "error",
|
|
163
|
+
"sonarjs/prefer-while": "error",
|
|
164
|
+
|
|
165
|
+
// Verbietet direkte Verwendung von import.meta.env und andere Syntax-Patterns
|
|
166
|
+
"no-restricted-syntax": [
|
|
167
|
+
"error",
|
|
168
|
+
{
|
|
169
|
+
"selector": "MemberExpression[object.type='MemberExpression'][object.object.type='MetaProperty'][object.object.meta.name='import'][object.object.property.name='meta'][object.property.name='env']",
|
|
170
|
+
"message": "Direkte Verwendung von import.meta.env ist nicht erlaubt. Verwende stattdessen ConfigProvider.getInstance().getXxx()."
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
selector: "CallExpression[callee.object.name='ApiResponseDto'][callee.property.name='error'][arguments.0.value='Keine Daten erhalten']",
|
|
174
|
+
message: "Verwende nicht den generischen Fehler 'Keine Daten erhalten'. Nutze den spezifischen Fehler aus 'response.getError()'."
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
selector: "CallExpression[callee.object.name='ApiResponseDto'][callee.property.name='error'][arguments.0.value='Unerwarteter Fehler: Keine Daten in erfolgreicher Response']",
|
|
178
|
+
message: "CRITICAL: getData() sollte nach isSuccess() niemals undefined sein! Prüfe die API-Implementierung."
|
|
179
|
+
}
|
|
180
|
+
],
|
|
181
|
+
},
|
|
182
|
+
|
|
183
|
+
// Settings
|
|
184
|
+
settings: {
|
|
185
|
+
react: {
|
|
186
|
+
version: "detect",
|
|
187
|
+
},
|
|
188
|
+
"import/resolver": {
|
|
189
|
+
node: {
|
|
190
|
+
extensions: [".js", ".jsx", ".ts", ".tsx"],
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
// Ausnahme für ConfigProvider - darf import.meta.env verwenden
|
|
196
|
+
{
|
|
197
|
+
files: ["**/config/ConfigProvider.ts"],
|
|
198
|
+
rules: {
|
|
199
|
+
"no-restricted-syntax": "off",
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
];
|
|
203
|
+
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Client ESLint Configuration
|
|
3
|
+
*
|
|
4
|
+
* Spezielle Konfiguration für API-Client-Projekte
|
|
5
|
+
* Erbt von der React-Konfiguration und fügt API-Client-spezifische Regeln hinzu
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import reactConfig from './react.js';
|
|
9
|
+
|
|
10
|
+
export default [
|
|
11
|
+
...reactConfig,
|
|
12
|
+
|
|
13
|
+
// API-Client-spezifische Anpassungen
|
|
14
|
+
{
|
|
15
|
+
files: ["**/*.ts", "**/*.tsx"],
|
|
16
|
+
languageOptions: {
|
|
17
|
+
parserOptions: {
|
|
18
|
+
ecmaFeatures: {
|
|
19
|
+
jsx: true,
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
plugins: {
|
|
24
|
+
"@typescript-eslint": (await import('@typescript-eslint/eslint-plugin')).default,
|
|
25
|
+
|
|
26
|
+
"@stylistic": (await import('@stylistic/eslint-plugin')).default,
|
|
27
|
+
import: (await import('eslint-plugin-import')).default,
|
|
28
|
+
deprecate: (await import('eslint-plugin-deprecate')).default,
|
|
29
|
+
perfectionist: (await import('eslint-plugin-perfectionist')).default,
|
|
30
|
+
security: (await import('eslint-plugin-security')).default,
|
|
31
|
+
sonarjs: (await import('eslint-plugin-sonarjs')).default,
|
|
32
|
+
"no-secrets": (await import('eslint-plugin-no-secrets')).default,
|
|
33
|
+
unicorn: (await import('eslint-plugin-unicorn')).default,
|
|
34
|
+
regexp: (await import('eslint-plugin-regexp')).default,
|
|
35
|
+
},
|
|
36
|
+
rules: {
|
|
37
|
+
// API-Response-DTO Regeln
|
|
38
|
+
"api-response-dto/require-api-response-dto": "error",
|
|
39
|
+
|
|
40
|
+
// Result-Pattern Regeln
|
|
41
|
+
"result-pattern/require-result-return-type": "error",
|
|
42
|
+
|
|
43
|
+
// Zusätzliche API-Client-spezifische Regeln
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
];
|