flutter_keycheck 1.0.3
flutter_keycheck: ^1.0.3 copied to clipboard
A CLI tool for verifying presence of ValueKey elements and test dependencies in Flutter projects.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.3 - 2025-01-03 #
๐ Documentation #
- Added comprehensive dartdoc comments for better API documentation
- Created example/ directory with sample usage
- Added example Flutter app with ValueKey usage
- Improved pub.flutter-io.cn score compliance
1.0.2 - 2025-01-03 #
๐ Bug Fixes #
- Fixed dependency version conflict: downgraded lints from ^5.0.0 to ^3.0.0 for Dart 3.2.0 compatibility
- Fixed GitHub Actions workflow paths and YAML syntax
1.0.1 - 2025-01-03 #
๐ Bug Fixes
- Fixed release date in changelog from placeholder to actual date
1.0.0 - 2025-01-03 #
๐ Initial Release #
โจ Features
-
Key Validation Engine: Comprehensive Flutter key detection and validation
- Support for
ValueKey
andKey
declarations - Support for
find.byValueKey
,find.bySemanticsLabel
,find.byTooltip
finders - Regex-based pattern matching for accurate key detection
- Support for
-
Project Dependency Validation
- Automatic detection of
integration_test
dependency - Automatic detection of
appium_flutter_server
dependency - Validation of proper integration test setup
- Automatic detection of
-
CLI Interface
--keys
flag for specifying YAML key definitions--path
flag for custom project paths--strict
mode for catching extra keys--verbose
flag for detailed output
-
YAML Configuration Support
- Simple key list format
- Support for dynamic keys with placeholders
- Comments and organization support
-
Beautiful Console Output
- Colorful ANSI output with emojis
- Structured sections for different validation types
- Clear success/failure indicators
- File path reporting for found keys
๐ ๏ธ Technical Features
- Cross-platform compatibility (Windows, macOS, Linux)
- Recursive directory scanning
- Efficient regex-based key detection
- Comprehensive error handling
- Unit test coverage
๐ฆ Package Structure
- Clean library API with
KeyChecker
class - Separated CLI and core functionality
- Example project with integration tests
- Comprehensive documentation
๐งช Testing & Quality
- Unit tests for core functionality
- Integration test examples
- Linting with
package:lints
- Code coverage reporting
๐ Getting Started #
dart pub global activate flutter_keycheck
flutter_keycheck --keys expected_keys.yaml
๐ Requirements #
- Dart SDK >= 3.2.0
- Flutter project with integration tests (for full validation)
Future Roadmap #
๐ฎ Planned Features (v1.1.0+) #
- โ Auto-generation of
expected_keys.yaml
from existing code - โ Support for additional finder methods (
find.text
,find.byIcon
) - โ HTML/Markdown report generation
- โ Monorepo support with multiple
pubspec.yaml
files - โ Auto-fix capabilities for missing keys
- โ Plugin architecture for custom checkers
- โ Integration with popular CI/CD platforms
๐ก Ideas Under Consideration #
- JSON configuration format support
- Key usage analytics and statistics
- Integration with Flutter Inspector
- VS Code extension for real-time validation
- GitHub App for automated PR checks
For the complete list of changes, see the commit history.