-
-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathanalysis_options.yaml
More file actions
58 lines (50 loc) 路 1.7 KB
/
Copy pathanalysis_options.yaml
File metadata and controls
58 lines (50 loc) 路 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Analysis options for atproto.dart monorepo
# Optimized for maintainability while keeping code quality high
include: package:lints/recommended.yaml
analyzer:
exclude:
- "**/*.freezed.dart"
- "**/*.g.dart"
errors:
# Allow invalid annotation targets (common in generated code)
invalid_annotation_target: ignore
# Relax some rules that are too strict for this codebase
lines_longer_than_80_chars: info
prefer_relative_imports: info
# Keep important errors as errors
missing_return: error
dead_code: error
linter:
rules:
# Core quality rules - keep these strict
- avoid_null_checks_in_equality_operators
- avoid_unused_constructor_parameters
- await_only_futures
- cancel_subscriptions
- control_flow_in_finally
- empty_statements
- hash_and_equals
- implementation_imports
- collection_methods_unrelated_type
- test_types_in_equals
- throw_in_finally
- unrelated_type_equality_checks
# Naming conventions - important for API consistency
- camel_case_types
- constant_identifier_names
- library_names
- library_prefixes
- non_constant_identifier_names
- package_names
- package_prefixed_library_names
# Code style - helpful but not overly strict
- prefer_final_fields
- prefer_generic_function_type_aliases
- prefer_typing_uninitialized_variables
- unnecessary_brace_in_string_interps
# Documentation - important for public APIs
- package_api_docs
# Import organization - relaxed to info level
- prefer_relative_imports
# Line length - relaxed for generated code and long URLs/descriptions
# Note: This is handled at error level above as 'info'