Skip to content

Conversation

@Lucaci-Andrei
Copy link
Contributor

@Lucaci-Andrei Lucaci-Andrei commented Dec 1, 2025

Summary by CodeRabbit

  • Chores
    • Updated development tooling and code quality standards to enforce stricter linting rules and improved consistency across the codebase.

✏️ Tip: You can customize this high-level summary in your review settings.

@Lucaci-Andrei Lucaci-Andrei requested a review from b2m9 December 1, 2025 07:14
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 1, 2025

Walkthrough

The ESLint configuration in packages/components is modernized from a project-specific setup to a comprehensive, plugin-rich configuration with support for TypeScript, React, and JSDoc. The related custom Maps Indoors ESLint config dependencies are removed from package.json and replaced with eslint-plugin-jsdoc.

Changes

Cohort / File(s) Summary
ESLint Configuration
packages/components/.eslintrc.js
Migrated from custom Maps Indoors ESLint config to eslint:recommended base. Introduced plugins for jsdoc, @typescript-eslint, and react. Added JSX support via ecmaFeatures and comprehensive rules for semicolons, spacing, modern JS/TS practices, JSDoc validation, and React JSX formatting.
Dependency Updates
packages/components/package.json
Removed custom Maps Indoors ESLint config packages (@mapsindoors/eslint-config and @mapsindoors/eslint-config-typescript). Added eslint-plugin-jsdoc (^61.2.1) as a dependency.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Verify that the new ESLint rules align with project coding standards and don't conflict with existing code patterns
  • Confirm that the removal of custom config packages doesn't break any inherited rules or team conventions
  • Check that eslint-plugin-jsdoc version is compatible with the rest of the toolchain

Suggested labels

patch

Suggested reviewers

  • matbmapspeople
  • ammapspeople

Poem

🐰 ESLint rules now shine so bright,
TypeScript, React, JSDoc in sight!
No more custom configs to maintain,
Just standards that flow through our codebase's lane!

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: removing the external eslint dependency (@mapsindoors/eslint-config) and replacing it with an inline configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/remove-components-eslint-dependency

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
packages/components/.eslintrc.js (1)

74-74: Deprecated rule: @typescript-eslint/no-parameter-properties.

This rule was deprecated in @typescript-eslint/eslint-plugin v5.46.0 and renamed to @typescript-eslint/parameter-properties. Since you're using ^5.45.1, newer patch versions may trigger a deprecation warning.

-        '@typescript-eslint/no-parameter-properties': 'off',
+        '@typescript-eslint/parameter-properties': 'off',
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4c2d70c and 541a683.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (2)
  • packages/components/.eslintrc.js (1 hunks)
  • packages/components/package.json (2 hunks)
🔇 Additional comments (3)
packages/components/.eslintrc.js (3)

40-41: LGTM!

Disabling base ESLint no-unused-vars and no-undef is the correct approach for TypeScript projects. The TypeScript-specific @typescript-eslint/no-unused-vars rule at line 78 properly handles unused variables, while the TypeScript compiler catches undefined references.


1-23: Well-structured ESLint configuration.

The migration from project-specific @mapsindoors/eslint-config to a standard eslint:recommended base with explicit plugins is a good approach for maintainability. The configuration properly sets up TypeScript parsing, JSX support, and the necessary plugins.


54-54: Remove deprecated rule: jsdoc/newline-after-description.

This rule was removed in eslint-plugin-jsdoc and is no longer functional. The jsdoc/tag-lines rule (line 71) handles the newline formatting it provided.

-        'jsdoc/newline-after-description': 1,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants