You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is hard to explain, so here is a reproducible example. The names of workspaces and modules were chosen to somewhat reflect the project I discovered this in. This was confirmed on version 10.1.2 and 11.0.1.
If you have 3 workspaces W_root, W_a, and W_b. W_root adds the two others as pinned dependencies. W_a and W_b both contain a dev directory with some module M. If W_a includes W_b as a dev dependency, then opens W_b, then W_b.M will collide with W_a.M when used.
Snippet from the example repo's output:
FAILED: test/MainTest-SrcHelpers.cmj
We've found a bug for you!
<removed>/rescript-shadow-test/src-helpers/test/MainTest.res:4:14-23
2 │
3 │ let _ = Helper.setup()
4 │ let config = Config.get()
5 │
The module or file Config can't be found.
- If it's a third-party dependency:
- Did you add it to the "bs-dependencies" or "bs-dev-dependencies" in bsconfig.json?
- Did you include the file's directory to the "sources" in bsconfig.json?
Hint: Did you mean Config or Config?
What do I expect?
I expect the modules in a "type": "dev" directory to never collide when building a different project.
I expect the error message to be more helpful. Perhaps the hint should use the full module path: Hint: Did you mean SrcHelpers.Config or TestHelpers.Config? (this wouldn't fix the problem, but would have made discovering the cause easier)
The text was updated successfully, but these errors were encountered:
@CarlOlson thanks for the detailed report and reproduction! 🙏
There's some ongoing work related to this "behind the scenes" currently. Hopefully this and more things related to pinned dependencies will clear up a lot in the not too distant future.
This is hard to explain, so here is a reproducible example. The names of workspaces and modules were chosen to somewhat reflect the project I discovered this in. This was confirmed on version
10.1.2
and11.0.1
.If you have 3 workspaces W_root, W_a, and W_b. W_root adds the two others as pinned dependencies. W_a and W_b both contain a dev directory with some module
M
. If W_a includes W_b as a dev dependency, then opens W_b, thenW_b.M
will collide withW_a.M
when used.Snippet from the example repo's output:
What do I expect?
"type": "dev"
directory to never collide when building a different project.Hint: Did you mean SrcHelpers.Config or TestHelpers.Config?
(this wouldn't fix the problem, but would have made discovering the cause easier)The text was updated successfully, but these errors were encountered: