Kaixhin/FGLab

Migrate from Bower

Kaixhin opened this issue · 4 comments

Bower is no longer being actively developed (although it is being maintained). It should be replaced with something else e.g. Browserify, Webpack, Yarn etc.

Hi @Kaixhin, are you looking for some help for this task? I started using FGLab today and it is very useful for me. Would love to contribute.

Hi @tuzhucheng - contributions would be most welcome! If you are looking for contributions in general, I'd say test suites (#10 and Kaixhin/FGMachine#2) are the highest priority, as it would be good to know that things actually work as expected. As linked to in those issues, I think Mocha + Instanbul + Coveralls would be a comprehensive set of tools for that (though if you ever have a case for something else you should say so). It's a large task, but anyone who can tackle those would be a coauthor for a publication coming out on this software.

If you're interested in this issue in particular then I haven't had any experience with any of the tools that I mentioned, so I believe that Webpack would be a promising choice for replacing Bower (and possibly Gulp at the same time), but would defer to someone more familiar with the current state of front-end web dev.

I'm currently interested in this issue in particular. :) I have relatively recent experience with front-end web dev and have used Webpack before. The Bower homepage recommends yarn + webpack. My understanding is Webpack is more for bundling together scripts rather than dependency management, which yarn is designed to do.

After this if I can set aside some time I'll be happy to help with the larger task - the test suites.

I'm planning to use this software for the research I'm doing in my research lab. There might arise use cases in which I might be extending FGLab in my fork. For example, I think #21 would be pretty useful. Another useful feature might be having the option to view stdout/stderr logs after re-opening the experiment after it finishes running. Would be interested in opportunities to contribute those back to the upstream repo if those are useful features that can be used by the general audience.

Yes sorry Webpack is more for bundling/building, and Yarn is a dependency manager. Bower was a fantastic front-end package manager - and that's what needs to be replaced. I don't think Yarn needs to be introduced, especially with npm 5 around now - the key is to make this easy to install for machine learning/data science users who aren't familiar with web dev ( we're a small minority and even I'm not up to date ;) ). So we should get all the front-end packages on npm, and make sure that they get picked up by the web pages - I think that Webpack or Browserify can achieve this.

Good to know :) Permanent storage of logs is a great idea! Had a quick look and MongoDB has a $push operation so it'll need some thought but appending logs in the db should be possible. And whatever else you think may be useful will probably be useful for others too.