falood / file_system

Filesystem monitor for elixir
Apache License 2.0
263 stars 55 forks source link

Consider a name change? #22

Closed mveytsman closed 7 years ago

mveytsman commented 7 years ago

exfswatch isn't based on fswatch but instead of fs. I think this can be confusing, would you consider a namechange?

falood commented 7 years ago

link https://github.com/phoenixframework/phoenix_live_reload/issues/53

Thanks @mveytsman I should say worry I haven't made exfswatch a good project so far, because I'm always thinking about what should I do, what backend should I use, what will exfswatch be, and so on. After reading the reply of josevalim, I think fswatch is the best backend for elixir, it support most OS, I think whitfin will make sentix the most popular filesystem monitor for elixir.

for exfswatch, my current plan is:

  1. keep exfswatch package and release a compatible version for elixir 1.5.
  2. rename it, make it a purge backend, an elixir version of fs.

do you have any other idea about the project?

Really hope there is spec for filesystem monitor in elixir world to make it easy to switch backend.

josevalim commented 7 years ago

To be clear, I honestly prefer the approach taken by exfswatch, because it has a better out of the box experience. It should just work on Mac/Linux/Windows without a need to install something else. My only concern is the API. It could probably have a better name but that's not an issue at all.

So if you folks are interested in working together towards an API, I would love to see that. Especially because we would LOVE to get rid of the fs dependency from Phoenix.

falood commented 7 years ago

https://hex.pm/packages/file_system released, with both functional API and module API. I have made it works for Mac/Linux/Windows/FreeBSD, will make a pull request to phoenix_live_reload to replace fs soon.

josevalim commented 7 years ago

@falood thank you. I have added some comments to the latest commit with some places for improvement.

falood commented 7 years ago

@josevalim Thank your for your comments, I have finished all issue in your comments, add more docs and tests, and make sure compile and start app always never fail. But when I want to replace :fs for phoenix_live_reload, I check the code of phoenix 1.3, seems phoenix doesn't depend on phoenix_live_reload anymore. Should I still need to working on this stuff?

josevalim commented 7 years ago

Phoenix never depended on phoenix_live_reload but every application generated by Phoenix does. :) I will review the code once again today! Thanks for all of your work :heart:.