From 520f8da5ce353345fa74b33627808552b503aef3 Mon Sep 17 00:00:00 2001 From: Anton Zhukov Date: Wed, 18 Aug 2021 16:41:12 +0300 Subject: [PATCH] Fix #1994 (#1995) --- .github/workflows/pr-dev.yml | 5 +--- .../get-aggregates-interop-builder.ts | 2 ++ ...et-aggregates-interop-builder.unit.test.ts | 4 ++++ .../runtime/runtime/test/cloud-entry.test.js | 4 +++- .../src/write_package_jsons_for_assemblies.js | 24 ++++++++++++++++++- 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pr-dev.yml b/.github/workflows/pr-dev.yml index 86d9ee17cf..da5ecf9e76 100644 --- a/.github/workflows/pr-dev.yml +++ b/.github/workflows/pr-dev.yml @@ -56,7 +56,7 @@ jobs: restore-keys: ${{ runner.os }}-build- - name: Install - run: yarn install --ignore-scripts + run: yarn install - name: Check if yarn.lock changed run: echo "git_diff=$(git diff --name-only yarn.lock)" >> $GITHUB_ENV @@ -68,9 +68,6 @@ jobs: - name: Validate yarn.lock run: yarn validate-lock-file - - name: Build - run: yarn prepare - - name: Run Prettier run: yarn prettier:check diff --git a/packages/core/core/src/aggregate/get-aggregates-interop-builder.ts b/packages/core/core/src/aggregate/get-aggregates-interop-builder.ts index cb728e95f6..2fad3fb5a3 100644 --- a/packages/core/core/src/aggregate/get-aggregates-interop-builder.ts +++ b/packages/core/core/src/aggregate/get-aggregates-interop-builder.ts @@ -112,6 +112,8 @@ const saveEvent = async ( if (typeof postSaveEvent === 'function') { await postSaveEvent(aggregate, command, event, eventWithCursor) } + + return eventWithCursor.event } return event diff --git a/packages/core/core/test/get-aggregates-interop-builder.unit.test.ts b/packages/core/core/test/get-aggregates-interop-builder.unit.test.ts index 0d55ce23e1..61f37f04bf 100644 --- a/packages/core/core/test/get-aggregates-interop-builder.unit.test.ts +++ b/packages/core/core/test/get-aggregates-interop-builder.unit.test.ts @@ -39,6 +39,10 @@ const makeTestRuntime = (storedEvents: Event[] = []): AggregateRuntime => { const eventstore: Eventstore = { saveEvent: jest.fn(async (event) => { generatedEvents.push(event) + return { + cursor: null, + event, + } }), getNextCursor: jest.fn( (currentCursor) => (currentCursor && currentCursor + 1) || 1 diff --git a/packages/runtime/runtime/test/cloud-entry.test.js b/packages/runtime/runtime/test/cloud-entry.test.js index 30c6de98cd..ad9dd1dd34 100644 --- a/packages/runtime/runtime/test/cloud-entry.test.js +++ b/packages/runtime/runtime/test/cloud-entry.test.js @@ -50,7 +50,9 @@ describe('Cloud entry', () => { getEventSubscribers: jest.fn().mockReturnValue(Promise.resolve([])), getNextCursor: jest.fn(), getLatestEvent: jest.fn(), - saveEvent: jest.fn(), + saveEvent: jest + .fn() + .mockImplementation((event) => ({ event, cursor: null })), dispose: jest.fn(), import: jest.fn(), export: jest.fn(), diff --git a/packages/tools/scripts/src/write_package_jsons_for_assemblies.js b/packages/tools/scripts/src/write_package_jsons_for_assemblies.js index eebda329b6..edeb465b79 100644 --- a/packages/tools/scripts/src/write_package_jsons_for_assemblies.js +++ b/packages/tools/scripts/src/write_package_jsons_for_assemblies.js @@ -31,6 +31,26 @@ const writePackageJsonsForAssemblies = ( ...Array.from(peerDependencies), ]) + const frameworkVersions = Array.from( + new Set( + Object.entries(applicationPackageJson.dependencies) + .filter(([dependency]) => dependency.startsWith('@resolve-js/')) + .map(([, version]) => version) + ) + ) + + if (frameworkVersions.length === 0) { + throw new Error('package.json does not includes any framework packages') + } + + if (frameworkVersions.length > 1) { + throw new Error( + `reSolve version is ${frameworkVersions[0]}, but expected ${frameworkVersions[1]}` + ) + } + + const frameworkVersion = frameworkVersions[0] + const assemblyPackageJson = { name: `${applicationPackageJson.name}-${syntheticName}`, private: true, @@ -43,7 +63,9 @@ const writePackageJsonsForAssemblies = ( resolveRuntimePackageJson.dependencies.hasOwnProperty(val) && nodeModules.has(val) ) { - acc[val] = resolveRuntimePackageJson.dependencies[val] + acc[val] = val.startsWith('@resolve-js/') + ? frameworkVersion + : resolveRuntimePackageJson.dependencies[val] } return acc