revali_construct 3.0.0 copy "revali_construct: ^3.0.0" to clipboard
revali_construct: ^3.0.0 copied to clipboard

Foundation for creating constructs for Revali

CHANGELOG #

3.0.0 | 08.15.26 #

Breaking #

  • Remove GenerateConstructType.buildAndConstructs. It could not honour its name: it reported isBuild, and the generator branches if (isBuild) { build makers } else { server and other makers }, so it took the build branch and silently skipped every construct — the opposite of "both". revali build passed it nowhere, but a hidden --type buildAndConstructs looked like the way to make a build regenerate the client, and quietly did nothing of the sort. The promote step had a matching isBuild && isConstructs branch written for the promise rather than the behaviour, replacing the whole .revali tree with outputs that phase never generated; it was unreachable and is gone too. The two remaining values are mutually exclusive, which is what the generator always assumed. Running both phases is the caller's job — revali build now does it explicitly, in order.

Features #

  • Add MetaConsumer and MetaRoute.consumers, describing methods annotated with @Consumes so constructs can generate against them. Kept separate from MetaMethod rather than folded into it: a consumer has no HTTP verb, no path and no request to bind from, so every field they would share is one that does not apply.

2.4.0 | 08.05.26 #

Features #

  • Add TargetOs/Arch enums and CompiledExecutable to describe native executables compiled by revali build.
  • Add RevaliBuildContext.compiledExecutables, populated whenever revali.yaml has a build: section, so build-type constructs can package an already-compiled executable instead of compiling one themselves.
  • Add a build: section to RevaliYaml (BuildSettingsConfig) for target_os, target_arch, and strip_debug_info.
  • Allow AnyFile to carry binary content via a new bytes field, written with writeAsBytes instead of writeAsString when present.

2.3.0 | 08.04.26 #

Features #

  • Allow ServerDirectory to include additional generated files alongside server.dart via additionalFiles.

2.2.0 | 06.17.26 #

Features #

  • Add CoalescingReloadQueue to serialize hot-reload restarts and coalesce concurrent reload requests.
  • Add fileUriToRelativeImportPath for cross-platform import paths in generated Dart source.

Enhancements #

  • Use POSIX paths in generated part and part of directives for Windows compatibility.
  • Handle uncaught errors during hot reload with stack traces.

2.1.0 | 05.18.26 #

Chore #

  • Bump analyzer and migrate generated-tooling code to analyzer 10.

2.0.4 | 03.05.26 #

Features #

  • Add HotReloadConfig model with exclude list for hot reload path filtering
  • Add hot_reload configuration to RevaliYaml for excluding paths from reload triggers

2.0.3 | 01.28.26 #

Enhancements #

  • Prints error messages when exceptions are thrown during server creation

2.0.2 | 11.22.25 #

Chore #

  • Sync package versions

2.0.2-dev | 10.15.25 #

Fix #

  • Dependencies

2.0.0-dev | 09.19.25 #

Breaking Changes #

  • Update analyzer dependency to ^8.0.0

1.8.0 | 08.16.25 #

Features #

  • Improve hot reload performance
  • Debounce changes to slow hot reload frequency
  • Pass objects instead of strings to stderr to improve communication with revali

1.7.0 | 05.08.25 #

Features #

  • Add isEnum field to MetaType class
  • Get fromJson/toJson methods from enum types

1.6.0 | 04.15.25 #

Features #

  • Add InstanceType type parameter to @Controller annotation

1.5.0 | 04.07.25 #

Features #

  • Create MetaToJson class to provide details about toJson methods

1.4.0 | 03.26.25 #

Features #

  • Create MetaFromJson class to improve support for fromJson factory/static methods
  • Resolve fromJson static methods within types

Breaking Changes (future) #

  • Deprecate hasFromJsonConstructor in MetaType
    • Use hasFromJson instead

1.3.0 | 03.24.25 #

Features #

  • Create classes to support records

Enhancements #

  • Remove type argument from RevaliDirectory
  • Merge MetaReturnType into MetaType

1.2.1 | 02.08.25 #

Chores #

  • Upgrade dependencies

1.2.0 | 01.27.25 #

Features #

  • Create class MetaType for method parameter types

1.1.1 | 12.11.24 #

Enhancements #

  • Add assertion checks for DartFile to ensure that part directives are unique

1.1.0 | 11.18.24 #

Features #

  • Support SSE methods

Chores #

  • Upgrade dependencies

1.0.0 | 11.14.24 #

  • Initial Release