bazel-watcher: ibazel don't watch for changes in external repository

We have two workspaces. One uses targets from another to build an application. If we use local_repository, ibazel works as expected when we make changes in the main workspace and don’t track anything in the external workspace.

Here is a small repo with similar workspace configuration that we have.

If we check the dependency graph, we’ll find source files from external repo, so I guess ibazel just don’t watch for changes.

bazel query "kind('source file', deps(set(//app:ts_lib)))" | grep "@bazel_demo_external"
@bazel_demo_external//module:hello.ts

It’s quite uncomfortable when you need to restart dev-server for any changes made in external deps during local development.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 17 (11 by maintainers)

Most upvoted comments

@achew22 Yeah, I’ll give it a try! I’ll have some time later this week. Also, I’ll check cases that you mentioned, thanks 👍

@a-ignatov-parc, good find! Seems like that’s all the information we would need to do this.

  • Do you know if that also works for Windows? We can validate the functionality by writing an e2e test since that’ll run on all supported OSes. If it doesn’t work we might still merge it just for Linux/Mac and leave a TODO.
  • I know a lot of people use the --override_repository when they are doing testing, which temporarily replaces a remote repo with a local one. Can you also test that works?

Do you need any more information from me on this, or do you think you can attempt a PR? Hopefully things are pretty sane in the repo, but if you would like me to point to a few candidate places to get started in happy to help.

Good luck, and I’m here if you need help.