Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TS: Resolve all circular dependencies and run madge as part of CI checks #128

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

benjamin-actyx
Copy link
Contributor

The most contentious point here is moving inMemSnapshotStore out of its own file, in with snapshotStore.ts.
This is required because unfortunately the Pond internally (chaos.spec.ts) depends on being able to call SnapshotStore.inMem().
I think all this is quite irrelevant, since snapshot store will probably be deleted altogether, soon, when work on state machines wihin Actyx starts and it becomes clear that Fish will soon be retired.

@@ -7,3 +7,22 @@
export { EventFnsFromEventStoreV2 } from './event-fns-impl'
export { EventStore as EventStoreV2 } from './eventStore'
export * from './types'

import { Observable } from '../../node_modules/rxjs'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why node_modules need to be specified? Couldn't it be imported from 'rxjs'.
Why do we reexport it anyway, because of node_modules?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The RXjs import style is due to some Grafana issue (I just took it over from other files)
See 073f280

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Importing from 'rxjs' is resolved very differently from importing a file path — we depend on version 5 but the former actually gave us version 6 in some contexts. So I learnt that “private” dependencies actually need to be resolved by file path in order to really keep them private.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants