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

add the ability to ignore absolute paths from watcher #474

Merged
merged 2 commits into from
Dec 7, 2020

Conversation

ef4
Copy link
Contributor

@ef4 ef4 commented Dec 2, 2020

(This PR builds off #473, for a smaller review see only 5fda57e.)

This adds an option to mark certain absolute paths as ignored by the watcher.

The motivation here is that if you want to be able to rebuild arbitrary node packages (which can put their source code at the top level of their project if they want to), and those packages emit build artifacts into some of their own subdirectories (like dist as used by ember-cli), you end up watching your own output.

In this situation, it is straightforward to know which path(s) are your own output, and tell broccoli not to watch them.

sane's ignored option is perfect for this, except that it's always relative to the watchedDir, so broccoli's Watcher must translate.

This option has no effect.
This adds an option to mark certain absolute paths as ignored by the watcher.

The motivation here is that if you want to be able to rebuild arbitrary node packages (which can put their source code at the top level of their project if they want to), and those packages emit build artifacts into some of their own subdirectories (like `dist` as used by ember-cli), you end up watching your own output.

In this situation, it is straightforward to know which path(s) are your own output, and tell broccoli not to watch them.

`sane`'s `ignored` option is perfect for this, except that it's always relative to the watchedDir, so broccoli's Watcher must translate.
ef4 added a commit to ember-cli/ember-cli that referenced this pull request Dec 2, 2020
Embroider v2 packages can put their source code wherever they want to (as they are "just regular node packages"). That means when we're interactively rebuilding them, we need to watch their root. But if a v2 addon contains its own test suite, and that test suite emits a `dist` folder, we will end up watching our own output, and cause an infinite build loop.

This fixes that by always ignoring the build's own output directory.  This depends on broccolijs/broccoli#474 and will be updated to stop pointing at my fork once we have a broccoli release.
@rwjblue
Copy link
Member

rwjblue commented Dec 7, 2020

FYI - Just landed #473, doesn't seem like this needs a rebase though.

@rwjblue rwjblue merged commit 0c56d22 into broccolijs:master Dec 7, 2020
@rwjblue
Copy link
Member

rwjblue commented Dec 7, 2020

ef4 added a commit to embroider-build/ember-cli that referenced this pull request Dec 7, 2020
Embroider v2 packages can put their source code wherever they want to (as they are "just regular node packages"). That means when we're interactively rebuilding them, we need to watch their root. But if a v2 addon contains its own test suite, and that test suite emits a `dist` folder, we will end up watching our own output, and cause an infinite build loop.

This fixes that by always ignoring the build's own output directory.  This depends on broccolijs/broccoli#474 and will be updated to stop pointing at my fork once we have a broccoli release.
ef4 added a commit to ember-cli/ember-cli that referenced this pull request Dec 7, 2020
Embroider v2 packages can put their source code wherever they want to (as they are "just regular node packages"). That means when we're interactively rebuilding them, we need to watch their root. But if a v2 addon contains its own test suite, and that test suite emits a `dist` folder, we will end up watching our own output, and cause an infinite build loop.

This fixes that by always ignoring the build's own output directory.  This depends on broccolijs/broccoli#474 and will be updated to stop pointing at my fork once we have a broccoli release.
@ef4 ef4 deleted the absolute-ignore branch December 7, 2020 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants