Skip to content

v2.0.0-alpha.02

Compare
Choose a tag to compare
@idugalic idugalic released this 14 Mar 18:08
· 155 commits to main since this release
1ea4703

Fmodel provides just enough tactical Domain-Driven Design patterns, optimized for Event Sourcing and CQRS.

v2.0.0 of the library is introducing breaking changes. Check the PR!
Besides keeping the focus on separating data from behavior, we want to split the responsibilities between the domain and application/adapter layers better.
For example, metadata types exist only on the application layer, not leaking into the domain, as these don't benefit core logic. Example: traceId, correlationId, ...

The library will use alpha/pre-release versions until it reach production-ready quality. It will happen soon! We need more tests, better documentation.
To keep it simple, v2.*.* will use the main branch going forward. v1.. will continue to be supported (bugs only, no new features)

The domain components are fully isolated from the application layer and API-related concerns.
It represents a pure declaration (pure functions) of the program logic.
Decider, View, and Saga

The application components orchestrate the execution of the logic by loading the state, executing domain components, and storing a new state.
EventSourcingAggregate, StateStoredAggregate, MaterializedView, and SagaManager

Install

npm i @fraktalio/fmodel-ts

Available on https://www.npmjs.com/package/@fraktalio/fmodel-ts

Learn more

What's Changed

  • combine method on Decider, View and Saga is using intersections/& by @idugalic in #693. Alternatively, you can still use combineViaTuples which is the old behavior of the combine function and uses Tuples to model Product/And behavior.

  • build(deps-dev): bump eslint-plugin-functional from 6.0.1 to 6.1.1 by @dependabot in #694

  • build(deps-dev): bump typedoc from 0.25.11 to 0.25.12 by @dependabot in #695

  • build(deps-dev): bump typescript from 5.3.3 to 5.4.2 by @dependabot in #696

  • build(deps-dev): bump @types/node from 20.11.25 to 20.11.26 by @dependabot in #697

  • build(deps-dev): bump @types/node from 20.11.26 to 20.11.27 by @dependabot in #698

Full Changelog: v2.0.0-alpha.01...v2.0.0-alpha.02