feat: SOLID umbrella, German translations, catalog update#161
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…8, morphological box, test double, YAGNI, MBTI) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
WalkthroughDer Pull Request erweitert die Dokumentationsbasis um deutsche Übersetzungen und neue Anker für Architektur-, Design- und Methodik‑Konzepte. Über 40 neue AsciiDoc‑Anchordateien wurden hinzugefügt, das Referenzkatalog‑Markdown wurde erweitert und generierte Metadaten sowie die ESLint‑Konfiguration angepasst. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
scripts/eslint.config.mjs (1)
26-29: Duplizierte Regeln könnten extrahiert werden.Die
rulessind identisch in beiden Konfigurationsobjekten. Um das DRY-Prinzip einzuhalten, könnte eine gemeinsame Variable verwendet werden.♻️ Optionale Verbesserung
+const sharedRules = { + 'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }], + 'no-console': 'off', +} + export default [ js.configs.recommended, prettierConfig, { files: ['**/*.js'], ignores: ['**/*.test.js'], languageOptions: { ecmaVersion: 2022, sourceType: 'commonjs', globals: nodeGlobals, }, - rules: { - 'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }], - 'no-console': 'off', - }, + rules: sharedRules, }, { files: ['**/*.test.js'], languageOptions: { ecmaVersion: 2022, sourceType: 'module', + globals: nodeGlobals, }, - rules: { - 'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }], - 'no-console': 'off', - }, + rules: sharedRules, }, ]Also applies to: 37-40
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@scripts/eslint.config.mjs` around lines 26 - 29, The two ESLint configuration objects duplicate the same rules ('no-unused-vars' and 'no-console'); extract those into a shared constant (e.g., commonRules) and replace the inline rules entries in both config objects with that constant to follow DRY. Update the top-level export to reference commonRules for both configurations so both places that currently define rules: { 'no-unused-vars': [...], 'no-console': 'off' } reuse the single shared variable.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@scripts/eslint.config.mjs`:
- Around line 31-41: The test-specific ESLint config object for files:
['**/*.test.js'] is missing a globals entry, causing Node globals like
process/console/Buffer/__dirname/__filename to be reported as undefined; add a
property globals: nodeGlobals to that same object (inside the block that
contains languageOptions and rules) so ESLint recognizes Node.js globals for the
matching test files.
---
Nitpick comments:
In `@scripts/eslint.config.mjs`:
- Around line 26-29: The two ESLint configuration objects duplicate the same
rules ('no-unused-vars' and 'no-console'); extract those into a shared constant
(e.g., commonRules) and replace the inline rules entries in both config objects
with that constant to follow DRY. Update the top-level export to reference
commonRules for both configurations so both places that currently define rules:
{ 'no-unused-vars': [...], 'no-console': 'off' } reuse the single shared
variable.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
Run ID: e19ea447-1414-415d-8ef9-58f322d39a9a
📒 Files selected for processing (4)
scripts/eslint.config.mjswebsite/src/components/card-grid.jswebsite/src/components/card-grid.test.jswebsite/src/styles/main.css
💤 Files with no reviewable changes (1)
- website/src/styles/main.css
✅ Files skipped from review due to trivial changes (2)
- website/src/components/card-grid.js
- website/src/components/card-grid.test.js
| { | ||
| files: ['**/*.test.js'], | ||
| languageOptions: { | ||
| ecmaVersion: 2022, | ||
| sourceType: 'module', | ||
| }, | ||
| rules: { | ||
| 'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }], | ||
| 'no-console': 'off', | ||
| }, | ||
| }, |
There was a problem hiding this comment.
Fehlende globals in der Test-Konfiguration.
Der Test-Konfiguration fehlt globals: nodeGlobals. Testdateien, die Node.js-Globals wie process, console, Buffer, __dirname oder __filename verwenden, werden ESLint-Fehler ("is not defined") verursachen.
🐛 Vorgeschlagene Korrektur
{
files: ['**/*.test.js'],
languageOptions: {
ecmaVersion: 2022,
sourceType: 'module',
+ globals: nodeGlobals,
},
rules: {
'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }],
'no-console': 'off',
},
},📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| { | |
| files: ['**/*.test.js'], | |
| languageOptions: { | |
| ecmaVersion: 2022, | |
| sourceType: 'module', | |
| }, | |
| rules: { | |
| 'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }], | |
| 'no-console': 'off', | |
| }, | |
| }, | |
| { | |
| files: ['**/*.test.js'], | |
| languageOptions: { | |
| ecmaVersion: 2022, | |
| sourceType: 'module', | |
| globals: nodeGlobals, | |
| }, | |
| rules: { | |
| 'no-unused-vars': ['warn', { argsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }], | |
| 'no-console': 'off', | |
| }, | |
| }, |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@scripts/eslint.config.mjs` around lines 31 - 41, The test-specific ESLint
config object for files: ['**/*.test.js'] is missing a globals entry, causing
Node globals like process/console/Buffer/__dirname/__filename to be reported as
undefined; add a property globals: nodeGlobals to that same object (inside the
block that contains languageOptions and rules) so ESLint recognizes Node.js
globals for the matching test files.
Summary
.de.adocfor all 37 anchors that were missing translations (8 non-GoF + 24 GoF + 5 SOLID sub-anchors)catalog.mdwith all GoF sub-patterns (grouped by Creational/Structural/Behavioral) and SOLID sub-principlesDetails
Test plan
npm run extract-metadata— 91 anchors extracted, no errorsnpm test— 87 tests passing.adocfiles have corresponding.de.adoctranslations🤖 Generated with Claude Code
Summary by CodeRabbit