Vertafore / docular

AngularJS based documentation generation: Extensible, customizable parsing and partial generation
MIT License
165 stars 35 forks source link

Bower in 0.8.x #116

Closed thenanox closed 9 years ago

thenanox commented 10 years ago

Hello @stephenliberty ,

I was checking the code, and i really like the refactor you made to the code. Also i liked the new plugin system with events. Im starting to migrate to new version. :+1:

I noticed that bower is now used for dependency downloading. Although im happy with this decission, i dont know if something can be done to optimise the documentation generation. This is done every time docular is executed, and maybe it will be a good option to cache this dependencies before try to install them?

In my case, this is a problem because im behind a corporate NTLM proxy. Im able to make it work with cntlm, but i need bower dependencies not to be downloaded. Ill deliver them with my "grunt-personaldocular".

Maybe is it possible to make configurable the dependencies download? like adding a new option configuration and pass into loadDependencies function in dependencyHandler.js?

Thank you beforehand.

stephenliberty commented 10 years ago

I think that adding a config item that simply means "don't download dependencies - I'll provide them" would work just fine I think. Regarding optimization so things don't download each time, yes - that needs to be put on the list.. however, I'm more concerned about the possibility of a bad download or something and then someone is 'stuck' in a bad state unless they dig in and figure out why that's happening (if that makes any sense). Anyway, I'll tack this into the items to do this coming week.

thenanox commented 9 years ago

Ok id like that option to be implemented. If i get some time i might provide a pull request for the task

stephenliberty commented 9 years ago

OK - you're good to go. v0.8.4 respects a configuration param called "disableDependencyDownloads". Add this to the base of the config with a "true" and it will not download any dependencies. You'll have to copy your own in - probably by using something like grunt-copy, but as long as everything is where docular is expecting it'll work just fine. I'm going to close this - open it back up if you have problems.

thenanox commented 9 years ago

Im checking your solution. I was wondering if docular resources in resources/js, resources/img and resources/template should be moved into writeCore function, because those are dependencies copied from docular resources like resources/css, resources/less, etc.

So the option disables just the bower_components copy resources downloading.

Also the event CopyFiles is just emitted in dependencies downloaded option. I think this should be both ways, because plugins need to copy their files in both circustances

120 what do you think?