Skip to content

Releases: reimagined/resolve

V0.24.2

10 Jun 08:39
Compare
Choose a tag to compare

Framework

Breaking Changes

  • jwt passed as third argument to command handler now replaced with object with jwt key
  • jwt passed as third argument to read model resolver now replaced with object with jwt key
  • resolve-client: waitFor validator now have result confirmation callback as second argument which must be called to accept response
  • rename storage-adapters into eventstore-adapter and merge snapshot adapter into it, also drop snapshot adapters from config
  • change environment variables names for cloud deployment in cloud.config.js in all examples
  • rename api controller to api handler
  • internal changes in eventstore and eventbus data structures
  • drop mongodb support in all adapter kinds
  • change ConcurrentError code from 408 to 409

Features:

  • event payload encryption
  • implement missing non-serverless postgres adapters

Enhancements

  • fast event bus with high troughput, local-cloud compatibility and durability

  • improve read-model adapters and event-bus for fault-tolerance

  • merge snapshot adapters into eventstore adapters

  • added support of “nested” side effects

  • uploader embedded in saga’s side effects

Bug fixes

Cloud

Features:

  • support event-bus highload even if exceeds aws account limits
  • support fault-tolarance for bus metadata and read-model data (with compatible adapter)

Enhancements

  • custom NPM registry support added to resolve-cloud deploy command
  • fast event bus with high troughput, local-cloud compatibility and durability
  • improve read-model adapters and event-bus for fault-tolerance

Bug fixes

V0.17.4

18 Oct 08:47
Compare
Choose a tag to compare

Features:

  • Add package "resolve-testing-tools"

Read Model testing

import { createReadModel } from 'resolve-testing-tools'

import projection from './common/read-models/something.projection'
import resolvers from './common/read-models/something.resolvers'

describe('read-model "something"', () => {
  let readModel
  
  beforeEach(() => {
    readModel = createReadModel({
      name: 'something', 
      projection, 
      resolvers, 
      /* adapter */ // custom adapter 
    }) 
  })

  afterEach(async () => {
    await readModel.dispose()
  })

  test('resolver "myCustomResolverName" should return correctly result', async () => {   
    await readModel.applyEvent(event)
    await readModel.applyEvents(events)
    
    const result = await readModel.resolvers.myCustomResolverName(resolverArgs, jwtToken)
  
    expect(result).toMatchSnapshot()
  })
})

V0.17.3

V0.17.2

10 Oct 09:10
Compare
Choose a tag to compare

Bug Fixes

Fix read-model adapters connect and disposing (3d287a8) (a4cd1f3)

V0.17.1

V0.17.0

21 Sep 16:06
Compare
Choose a tag to compare

1. Features:

1.1. Prepare resolve to modules support, including following improvements:

  • Constructor/instance-based imports in config factory and import aliases
  • Run-time environment variable injection
  • Normalize compile-time/run-time file path resolving
{
  module: 'path',
  options: {},
  imports: { // optional
    [importName1]: 'importPath1',
    [importName2]: 'importPath2'
  }
}

1.2. Implement consistent adapter constructors and custom resources abstact consistent import for constructors and instances for bundling.

1.3. Improve AJV validator compliance

1.4. Convenient snapshot adapter instance interface and fix documentation

2. Bug Fixes:

2.1. Example "Hacker News" is not adapted for mobile devices

2.2. Infinite waiting of 'yarn run import' in Hacker-news

2.3. HN example has incorrect error messages in the login page

2.4. Fix testcafe-runner "status": 0|1

2.5. Improve the example "shopping-list" (unit + functional + api-handlers tests)

2.6. Pretty print the Webpack Errors

ERROR in /home/mrcheater/resolve/packages/core/resolve-scripts/lib/core/alias/$resolve.aliasName.js
Module build failed (from ~/resolve/node_modules/val-loader/dist/cjs.js):
Error: File "path/to/file.js" does not exist
    at Object.valLoader (~/resolve/node_modules/val-loader/dist/index.js:60:16)
ERROR in ./path/to/file.js
Module build failed (from ~/resolve/packages/core/resolve-scripts/node_modules/babel-loader/lib/index.js):
SyntaxError: path/to/file.js: Unexpected token (63:7)
   1 | 
> 2 | export default Component
      |        ^

2.7. Pretty print the Babel Compilation Logs

Successfully compiled 1 file with Babel.
↑ [resolve-api-handler-awslambda] { moduleType: "cjs", moduleType: "server" }
Successfully compiled 1 file with Babel.
↑ [resolve-api-handler-express] { moduleType: "es", moduleType: "server" }
Successfully compiled 1 file with Babel.
...

V0.16.1

21 Sep 12:26
Compare
Choose a tag to compare

Features

1.1. API Handler. Request
{
  adapter: "express" | "awslambda",
  ...
}
1.2. Improve read-model disposing

.dispose(true) // to drop tables
.dispose(false) // to not drop tables

Bug Fixes

2.1. Exclude "polyfills" from chunk "constants.js"

V0.16.0

18 Sep 13:56
Compare
Choose a tag to compare

Features

1. API Handlers #780 #781 #782

[Customer Docs] [NPM Package Docs]

2. Add "getDeserializer" to resolve-query #783

Bug Fixes

V0.15.2

12 Sep 11:18
Compare
Choose a tag to compare

Fix view-model projection function classifier check for custom babelification in customer application

V0.15.1

12 Sep 11:18
Compare
Choose a tag to compare

Fix view-model check handlers for async generators
Fix async generator function check for view models
Fix async generator wrap handler and snapshots