df_safer_dart_annotations provides annotations used by df_safer_dart_lints custom lint rules. These annotations help enforce safety patterns in your code.
| Annotation | Purpose |
|---|---|
@mustHandleReturn |
Warns when return value is ignored |
@mustHandleReturnOrError |
Errors when return value is ignored |
@noFutures |
Warns when Futures are used in annotated scope |
@noFuturesOrError |
Errors when Futures are used in annotated scope |
@mustBeAnonymous |
Warns when non-anonymous functions are used |
@mustBeStrongRef |
Warns when weak references are used |
@mustAwaitAllFutures |
Warns when Futures aren't awaited |
@UNSAFE |
Marks intentionally unsafe code blocks |
import 'package:df_safer_dart_annotations/df_safer_dart_annotations.dart';
@mustHandleReturn
String whatIsYourName() {
return 'Tony';
}
void main() {
whatIsYourName(); // triggers a warning - return value not used!
print(whatIsYourName()); // OK - return value is used
}Add to your pubspec.yaml:
dev_dependencies:
df_safer_dart_annotations: any
df_safer_dart_lints: any
custom_lint: anyEnable in analysis_options.yaml:
analyzer:
plugins:
- custom_lint- df_safer_dart - Core safety types (Option, Result, Resolvable)
- df_safer_dart_lints - Lint rules that use these annotations
🔍 For more information, refer to the API reference.
This is an open-source project, and we warmly welcome contributions from everyone, regardless of experience level. Whether you're a seasoned developer or just starting out, contributing to this project is a fantastic way to learn, share your knowledge, and make a meaningful impact on the community.
- Find us on Discord: Feel free to ask questions and engage with the community here: https://discord.gg/gEQ8y2nfyX.
- Share your ideas: Every perspective matters, and your ideas can spark innovation.
- Help others: Engage with other users by offering advice, solutions, or troubleshooting assistance.
- Report bugs: Help us identify and fix issues to make the project more robust.
- Suggest improvements or new features: Your ideas can help shape the future of the project.
- Help clarify documentation: Good documentation is key to accessibility. You can make it easier for others to get started by improving or expanding our documentation.
- Write articles: Share your knowledge by writing tutorials, guides, or blog posts about your experiences with the project. It's a great way to contribute and help others learn.
No matter how you choose to contribute, your involvement is greatly appreciated and valued!
If you're enjoying this package and find it valuable, consider showing your appreciation with a small donation. Every bit helps in supporting future development. You can donate here: https://www.buymeacoffee.com/dev_cetera
This project is released under the MIT License. See LICENSE for more information.
