macro_kit 0.5.0
macro_kit: ^0.5.0 copied to clipboard
A development-time macro system for Dart that generates code instantly for fast iteration without build_runner.
0.5.0 #
- Add top-level function capability to macros.
- Handle auto rebuild correctly when plugin is not connected yet.
0.4.10 #
- Fixed race condition in file creation by switching from
createtocreateSync
0.4.9 #
- Optimized rebuild file listing to only include actively watched files
0.4.8 #
- Fix: avoid redundant rebuilds when clients reconnect
0.4.7 #
- Fix: synchronize global macro configuration before execution
0.4.6 #
- Add helper to generate part file
0.4.5 #
- Fixing incorrect value passed as root context
0.4.4 #
- Export helper function: buildGeneratedFileInfoFor
0.4.3 #
- Expose context root & base relative directory used to rewrite generated files
0.4.2 #
- Expose base relative directory used to rewrite generated files
0.4.1 #
- Fixed signal handler problems on Windows
0.4.0 #
- Automatic Macro Generation: Added support for running macro generation independently without
requiring the app to be running through
macro_context.dart. - New Global Config: Added
skip_connect_rebuild_with_auto_run_macrooption to prevent redundant rebuilds when automatic macro generation is enabled via external processes - Rename Configuration File: Renamed global configuration file from
.macro.jsontomacro.json - Watch Logs Command: Added new command to watch macro generation logs from terminal.
- Fix web compatibility by handling 'dart:io' imports with conditional exports
0.3.6 #
- Add support for assigning null values to nullable fields in
copyWithmethods by wrapping parameters inOption<T>. This allows distinguishing between "not provided" (keep existing value) and "explicitly set to null" (update to null).- Enable globally via
copy_with_as_option: truein configuration for DataClassMacro - Enable per-class via
@Macro(@DataClassMacro(copyWithAsOption: true)) - Enable per-field via
@JsonKey(copyWithAsOption: true)
- Enable globally via
0.3.5 #
- Added configurable serialization method names:
use_map_conventionoption to generatefromMap/toMapinstead offromJson/toJson.- When
false(default): GeneratesfromJson/toJsonmethods - When
true: GeneratesfromMap/toMapmethods - This is configured globally to ensure consistency across nested data classes
- When
0.3.4 #
- Add documentation topic for pub
0.3.3 #
- Fix pub analysis point
0.3.2 #
- Add documentation
0.3.1 #
- Added individual log files for each plugin instance loaded in different analysis contexts
0.3.0 #
- Breaking Change: Migrated Macro plugin to the new plugin system. To upgrade:
- Create an empty file named
macro_context.dartin yourlibdirectory - Add the
macro_kitto thepluginssection in youranalysis_options.yaml:
- Create an empty file named
plugins:
macro_kit: ^latest version
0.2.9 #
- Fix issue where macro server was unable to start automatically on Windows
0.2.8 #
- Fix example folder to use
libdirectory - Use LocalAppData in windows
0.2.7 #
- Add support for Dart
Typeinformation in macros - Fix metadata extraction from const variable annotations
- Refactor and improve internal API structure
- Change macro server to opt-out behavior: starts by default unless disabled
0.2.6 #
- Add logging for regeneration
0.2.5 #
- Force plugin to always connect to MacroServer
0.2.4 #
- Fixing release tool
0.2.3 #
- Add automatic macro server upgrade
0.2.2 #
- Add target file path to
MacroState
0.2.1 #
- Disable linter and formatter for generated files
- Add additional logging for client messages sent by server
0.2.0 #
- Introduced a new API for defining project-level global macro configurations.
- Added support for skipping serialization/deserialization using
asLiteralin@JsonKey, or by defining globalas_literal_typesinmacro.jsonfor type configurations. - Enabled adding dynamic analysis contexts via project paths, useful for CI environments and testing setups.
- Improved performance and reliability when rebuilding the entire project.
- Add more documentation
0.1.4 #
- Improve watch context and remove duplicate event
0.1.3 #
- fix import from macro.dart to macro_kit.dart
0.1.2 #
- add generatedType to differentiate macro-generated code for proper combining
0.1.1 #
- Fixed version constraint
0.1.0 #
- Import and library information for macro class declarations
- Import resolution for inspected types
- Field initializer inspection capability
- Enhanced data class macro with generics, default values, super formal parameters, and inheritance support
- Fixed asset macro path generation on Windows
- Use internal analysis API to provide memory store
- Better preparation of system paths for macro server startup
- Skip files containing only empty class declarations
- Added API for regeneration when connecting to server
- Fixed Object.hash parameter limit issue for classes with 20+ fields (thanks @jainam-bhavasar, #2)
- Improved documentation coverage
- Expanded test suite
0.0.12 #
- remove returning
MacroManagerinrunMacrofunction
0.0.11 #
- allow customizing class name for AssetPathMacro
0.0.10 #
- fix: crashing on iOS fixed
0.0.9 #
- fix: missing doc & set sdk constraints
0.0.8 #
- fix: remove default value for asset configuration
0.0.7 #
- fix: handle invalid value for the asset path macro configuration
0.0.6 #
- Adding Asset Path Generation
0.0.5 #
- Initial version released