https://github.com/maranix/analyzer_kit
Helpful utilities and auto-completion features such as equality overrides, copyWith, data classes and etc using AnalyzerPlugin
https://github.com/maranix/analyzer_kit
analyzer copywith dart dataclasses equality-comparison plugins
Last synced: 4 months ago
JSON representation
Helpful utilities and auto-completion features such as equality overrides, copyWith, data classes and etc using AnalyzerPlugin
- Host: GitHub
- URL: https://github.com/maranix/analyzer_kit
- Owner: maranix
- License: mit
- Created: 2025-12-15T10:49:53.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-03-05T14:04:10.000Z (5 months ago)
- Last Synced: 2026-03-05T17:48:06.047Z (5 months ago)
- Topics: analyzer, copywith, dart, dataclasses, equality-comparison, plugins
- Language: Dart
- Homepage: https://pub.dev/packages/analyzer_kit
- Size: 15.2 MB
- Stars: 3
- Watchers: 0
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Analyzer Kit
A Dart workspace containing packages for annotation-driven code generation through the Dart Analyzer plugin system — no build runners required.
## Packages
| Package | Description | pub.dev |
|---|---|---|
| [analyzer_kit](packages/analyzer_kit) | Dart Analyzer plugin providing lint rules and quick fixes | [](https://pub.dev/packages/analyzer_kit) |
| [analyzer_kit_annotation](packages/analyzer_kit_annotation) | Annotations consumed by the plugin | [](https://pub.dev/packages/analyzer_kit_annotation) |
## Quick Start
```yaml
# pubspec.yaml
dependencies:
analyzer_kit_annotation: ^1.0.0+1
```
```yaml
# analysis_options.yaml
plugins:
analyzer_kit:
version: ^1.0.0+2
diagnostics:
data_class_annotation: true
copy_with_annotation: true
override_equality_annotation: true
override_to_string_annotation: true
serialize_annotation: true
deserialize_annotation: true
```
```dart
import 'package:analyzer_kit_annotation/analyzer_kit_annotation.dart';
@dataClass
class User {
final String name;
final int age;
User({required this.name, required this.age});
// Apply IDE quick fix → generates copyWith, ==, hashCode, toString, toMap, fromMap
}
```
## Development
This project is configured as a Dart workspace.
### Getting Started
```bash
# Resolve dependencies for all packages
dart pub get
# Run analyzer_kit_annotation tests
cd packages/analyzer_kit_annotation && dart test
# Run analyzer_kit tests
cd packages/analyzer_kit && dart test
```
## License
See [LICENSE](LICENSE) for details.