Code generator for MobX that adds support for annotating your code with @observable, @computed, @action and also creating Store classes.
1.1.0 - 1.1.0+1 #
- Added the ability to spy on changes happening inside MobX. You can now setup a
spy()to see all these changes. See this for an example. The changes in
mobx_codegenhelp in the reporting of updates to observables.
- Simplified the handling of tests and coverage. We are no longer dependent on the
test_coveragepackage, which was causing issues on CI.
- Adding an ignore for the analyzer warning for
- Syncing versions with pubspec.yaml
- Fixes a test that was not including an analyzer warning
- Upgraded the
build_resolversdependency to 1.3.2, which fixes issues with certain versions of Dart being unable to resolve
- Going back to original
There were a number of bugs with the previous implementation of the
LibraryScopedNameFinder. This resolves them, as well as ensures that a single code path is followed whether or not the analyzed source code contains named imports, reducing the potential for future bugs.
The following bugs have been corrected when using named imports:
- Missing type arguments on classes
- Missing type arguments on function typedefs
- Missing prefixes from imported typedefs
- Missing prefixes from implicit type argument bounds
0.4.0 - 0.4.0+1 #
- Upgraded our
analyzerdependency's minimum version to 0.38.5 in order to workaround a bug where collection types would resolve to dynamic
pubspec.yamlto not include the reference to the
@storeannotation. It has been removed.
- Fixes the extraction of generic return-types which have nested generic type arguments, eg:
- Also fixes the issue reported in #367
0.3.12 - 0.3.12+1 #
- Removed the experimental use of
@storeannotation. It fails for some cases and has now been removed. We will explore other use cases with this annotation in future PRs.
- Package updates
- Added the Flutter Favorite logo
0.3.10+1 - 0.3.11 #
- Package updates
- Upgraded dependency version for the
0.3.9+1 - 0.3.10 #
- Alters the analyzer dependency to support a range — from the previously supported version (0.36.3), up to latest (0.39.0).
- Adds support for library prefixes in all situations (
import 'package:foo' as foo), so type names are prefixed in generated part files.
0.3.8 - 0.3.9+1 #
- Fixes a minor issue where types in generated code would appear as dynamic when they shouldn't.
- Added a version constant that matches the
- This is mostly about providing better error reporting on classes that don't meet the necessary constraints.
- A class using the Store mixin, must be marked abstract. This will be reported if not the case.
- A class using the @store annotation, must be marked private. This will be reported if not the case.
- Bit of refactoring to separate things out a bit.
- Fixes the type resolution bug that prevented using types from packages like
- Fixes the type resolution of other public
Storeclasses referenced in the
Thanks to @shyndman for the tremendous work on this release.
- Added the ability to create
Storeclasses using the
@storeannotation. It can be added to a private class, which will result in a public generated class.
- Refactored some tests that rely on
source-textto not be based on hard-coded strings. These have been moved to a separate file for easier maintenance. The outputs resulting from the generator are also in a separate file. This allows scaling to more variations of
source-textin the future.
- Added checks to ensure
@computedare used for the correct members of the class. These are reported as errors during the codegen process.
- Fixed a bunch of analyzer errors
0.3.1 - 0.3.3+1 #
- Adding a conditional action-wrapper for field setters.
- Increasing test coverage
- Adapting to the API change in
- Formatting changes
0.3.0 - 0.3.0+1 #
- Adapting to the API changes in
- README.md updates
- Removing the code in
/examplefolder and instead having a simple
- README updates
- Upgrading to use the
mobx, which makes it compatible with the latest
- A breaking change has been introduced to the use of the
Storetype. Previously it was meant to be used as an interface, which has now changed to a mixin.
0.0.2 - 0.1.3 #
- Move all the codegen parts to separate templates
- Documentation updates
- Support for async actions
- CircleCI integration improvements
0.0.1 - First Release #
- Added support for