Fixes formatting error in the rules.md table (dart-lang/lints#206)
* Fixes formatting error in the rules.md table
The content after the rule `invalid_runtime_check_with_js_interop_types` was not formatted in a table due to syntax error
* Fix multiline descriptions formatting in markdown generation
- Updated the `_createRuleTableRow` function to properly handle multiline descriptions by replacing line breaks with spaces
- Trimmed leading/trailing whitespace and reduced consecutive spaces to a single space
- This ensures that the generated markdown table rows in rules.md are correctly formatted, preventing description content from breaking across lines or having inconsistent spacing
diff --git a/pkgs/lints/rules.md b/pkgs/lints/rules.md
index 7aba844..6aac54e 100644
--- a/pkgs/lints/rules.md
+++ b/pkgs/lints/rules.md
@@ -58,8 +58,7 @@
| [`empty_statements`](https://dart.dev/lints/empty_statements) | Avoid empty statements. | ✅ |
| [`exhaustive_cases`](https://dart.dev/lints/exhaustive_cases) | Define case clauses for all constants in enum-like classes. | ✅ |
| [`implementation_imports`](https://dart.dev/lints/implementation_imports) | Don't import implementation files from another package. | |
-| [`invalid_runtime_check_with_js_interop_types`](https://dart.dev/lints/invalid_runtime_check_with_js_interop_types) | Avoid runtime type tests with JS interop types where the result may not
- be platform-consistent. | |
+| [`invalid_runtime_check_with_js_interop_types`](https://dart.dev/lints/invalid_runtime_check_with_js_interop_types) | Avoid runtime type tests with JS interop types where the result may not be platform-consistent. | |
| [`library_prefixes`](https://dart.dev/lints/library_prefixes) | Use `lowercase_with_underscores` when specifying a library prefix. | |
| [`library_private_types_in_public_api`](https://dart.dev/lints/library_private_types_in_public_api) | Avoid using private types in public APIs. | |
| [`no_leading_underscores_for_library_prefixes`](https://dart.dev/lints/no_leading_underscores_for_library_prefixes) | Avoid leading underscores for library prefixes. | ✅ |
diff --git a/pkgs/lints/tool/gen_docs.dart b/pkgs/lints/tool/gen_docs.dart
index d3a5732..2ecea38 100644
--- a/pkgs/lints/tool/gen_docs.dart
+++ b/pkgs/lints/tool/gen_docs.dart
@@ -171,7 +171,10 @@
if (ruleMeta == null) {
stderr.writeln("WARNING: Missing rule information for rule: $rule");
}
- final description = ruleMeta?['description'] ?? '';
+ final description = (ruleMeta?['description'] ?? '')
+ .replaceAll('\n', ' ')
+ .replaceAll(RegExp(r'\s+'), ' ')
+ .trim();
final hasFix = ruleMeta?['fixStatus'] == 'hasFix';
final fixDesc = hasFix ? '✅' : '';