Open whizzzkid opened 4 years ago
Have you tried using zipkin as a peerDependency instead of a regular dependency?
We have not @eirslett, is that in the pitfalls/faqs which we missed?
I don't think it's written anywhere. I remember vaguely that this was the solution to a similar problem I encountered some years ago. Using peerDependency will ensure that all your modules are using the same zipkin
dependency.
What you should do is change the package.json
of your service-container
source code - and make zipkin
a peerDependency. Your main application should have zipkin
as a "normal" dependency. Look inside the node_modules
folder after running npm install
, just to verify that's the case. (Also, have a look at package-lock.json
)
(I'm sorry about the Optional/Some/None thing, it was a terrible design mistake anyway. The code was ported from Scala/Twitter, too literally. Should have used nullable types in JS instead.)
Ok, thanks @eirslett will give this a shot, really appreciate your quick turnaround.
Please let us know if that fixes the issue for you, hapi is breaking on async await. Check this issue about it: https://github.com/openzipkin/zipkin-js/issues/483#issuecomment-583820036
Namaste Team
The
isOptional
check seems to breaking our version compatibility. Our projects use v0.19
and0.22
and we have been trying to figure why is our tracing broken using hapi. We seem to have narrowed it down to the badisOptional
check here: https://github.com/openzipkin/zipkin-js/blob/master/packages/zipkin/src/option.js#L65Log from our service looks like so:
Where
service-container
is a dependency that bootstraps our service. The app level version is usingzipkin@0.22
and the dependecy is usingzipkin@0.19
. This breaks how we generate trace instance and can be seen in this Proof of Concept PR: https://github.com/openzipkin/zipkin-js/pull/517/filesThis, essentially means we cannot even upgrade to fix the issue, because the
instanceof
check does not seem to be the right way to check for instances. In the POC, even though the class signature is same,isOptional
fails.Please Advise!