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

Queue watch changes #2604

Merged
merged 8 commits into from
Nov 12, 2021
Merged

Queue watch changes #2604

merged 8 commits into from
Nov 12, 2021

Conversation

alfonsogarciacaro
Copy link
Member

@alfonsogarciacaro alfonsogarciacaro commented Nov 11, 2021

Rigth now, Fable stops the watcher when it's compiling. Usually it's not a problem because watch compilations are fast, but if the compilation takes several seconds and users make some changes in the meanwhile these changes will go unnoticed. This PR adds a MailboxProcessor (actually, similar to Fable 2) so changes happening in the middle of a compilation are queued and not lost.

UPDATE: This PR now does a couple of things more:

  • It removes the pseudo-cache of Fable compilation in Debug mode when there were already JS files and the F# sources hadn't been updated. I've realized the Fable compilation is needed to correctly build the watch dependency tree, so we cannot skip it.
  • It goes back to @ncave's fork (actually a fork of a fork) because the FCS Nuget package had performance issues (discussion here) and also so we could keep fable-standalone compilation working.

@MangelMaxime
Copy link
Member

Oh this could explain some weird behaviour I had sometimes where I needed to manually trigger watch to some files manually.

@alfonsogarciacaro alfonsogarciacaro merged commit 4ba8ba2 into main Nov 12, 2021
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

2 participants