Skip to content

0.10.0

Compare
Choose a tag to compare
@oskardudycz oskardudycz released this 12 Jun 14:38
· 283 commits to main since this release

🚀 What's New

  • Added example showing how to run Emmett application in Docker container. It shows the full setup with running WebApi, building Docker image with bundling etc. by @oskardudycz in #67

  • BREAKING: Aligned initial state naming for state aggregation. It wasn't consistent, sometimes it was called initialState, sometimes getInitialState. Now all is aligned to initialState by @oskardudycz in #80

  • Extended thenThrows in DeciderSpecification to handle type checks. Now it allows multiple options like:

    • just checking if the error was thrown,
    • if it is of the specified type,
    • if matches condition,
    • if it is of the specified type and matches the condition.

    by @oskardudycz in #72

  • Added returning events from the command handler. Now, besides the new state, you'll also get new events in the command handler result. Note: The returned events are raw domain events without the metadata assigned by the event store during appending. by @oskardudycz in #73

  • Updated CreatedHttpResponse not to require both createdId and URL but allow providing either of them. Sometimes there's no clear record id to return, so forcing the user to provide createdId is redundant. Just redirect is fine. by @oskardudycz in #71

  • Exposed Typed TestRequest for API integration and E2E tests Now, it's possible to provide a named setup without referencing supertest in the end project. For instance

const openedShoppingCartWithProduct: TestRequest = (request) =>
      request
        .post(`/clients/${clientId}/shopping-carts/current/product-items`)
        .send(productItem);

by @oskardudycz in #77

  • Added helpers for parsing and validating dates in yyyy-mm-dd format You can now use formatDateToUtcYYYYMMDD, isValidYYYYMMDD, parseDateFromUtcYYYYMMDD. It can be useful for validation or parsing incoming web API data in a standardised way. by @oskardudycz in #78
  • Added assertions to not need to use built-in Node to make it compatible with browsers by @oskardudycz in #79
  • Added implementation of restreaming and shim for WebStreams API. This is the first step toward subscription handling by @oskardudycz in #70, #68

📝 What's Changed

  • Requiring only partial problem details in expectError helper for API and Integration tests by @oskardudycz in #75

Full Changelog: 0.9.0...0.10.0