Skip to content
This repository has been archived by the owner on Oct 25, 2023. It is now read-only.

update-angular.sh replaced by git submodule #41

Closed
nukeador opened this issue Feb 13, 2014 · 8 comments
Closed

update-angular.sh replaced by git submodule #41

nukeador opened this issue Feb 13, 2014 · 8 comments

Comments

@nukeador
Copy link
Contributor

update-angular.sh downloads the latest angular version, but this should be done using a git submodule to app/vendor/angular it's proper and cleaner ;)

http://git-scm.com/book/en/Git-Tools-Submodules

@metalmatze
Copy link

I'd rather propose to use grunt or gulp and bower. Let me know if I should create a feature branch.

@nukeador
Copy link
Contributor Author

@metalmatze What the advantages of your proposal compared with a git submodule?

@metalmatze
Copy link

Well. Bower is a package manager for frontend libraries. Http://Bower.io
And grunt is a Javascript taskrunner. Http://gruntjs.com
Those tools are, I think the most used right know for their purposes.

@nukeador
Copy link
Contributor Author

I've quickly read about bower and it's not still clear to me why it's better than just a git submodule in this case.

The more dependencies you have to deploy an app, more complicated would be for developers to have it up and running.

@zhukov
Copy link
Owner

zhukov commented Feb 17, 2014

@metalmatze I personally think that Bower is an overkill for this project. In future I'll try to exclude as many library dependencies as possible (except for AngularJS and some crypto stuff, of course), and currently some of them have my edits. So I think, that git submodule fits better, for this purpose.

But I consider adding some build tool to make some work with Angular templates, concatenating/minifying scripts etc, compiling CoffeeScript. Please share your opinion if you have some thoughts.

@tehsis
Copy link
Contributor

tehsis commented Mar 6, 2014

Based on my personal experience, I have two concerns about this:

1-
I personally think it would be great to add gulp/grunt for those tasks. But would be better if they are not required to get the project up and running "as is".

I mean, each person who clones the code, must be able to do "node server.js" right after cloning code. No previous, "grunt build" or whatever.

This ensures that people non familiarized with those tools could get the project running as easier as it is right now.

2 -
If you decide to use Grunt (or Gulp, or whatever) I think you should consider open an issue for each task you want to perform since each task could be accomplished with different plugins.

Again, this is just my personal thoughts on this.

I've already make this to minify the scripts:

grep -o 'src="[^"]"' index.html | sed 's/src=//' | sed 's/?[0-9]//' | sed 's/"$/" /' | tr -d "\n" | xargs uglifyjs > app/app.js

But adding this to makefile will add an extra dependency on uglifyjs anyway, and can be handled on a better way and more flexible with grunt-usemin (I've no experience with Gulp) or some angular-related plugin.

@zhukov
Copy link
Owner

zhukov commented Mar 6, 2014

1-
I agree. But there are 2 different tasks:

  1. To launch this project for personal use easily
  2. To modify its sources and launch server for testing.

First task may be completed by using packaged releases (https://github.com/zhukov/webogram/releases), even if build is rather complicated. But the second task may require build process in many cases. We can try to avoid them, e.g. using usemin and coffeescript in-brower compiler etc, but it's not that easy. So it may require Grunt/Gulp in the future.

2-
Currently I have lots of tasks to do, so I don't have enough time to deal with build system.

I personally liked Gulp description more, but never used it. I've found all the required plugins:

So I think as soon, as I deal with current problems I can start implementing it. Or may be anyone else if he'd like to do it earlier.

@tehsis
Copy link
Contributor

tehsis commented Mar 6, 2014

I've never used gulp on a real project yet. I'll make some initial config using those plugins during the weekend and send a PR.

I would also recommend jshint and imagemin (from #58)

tehsis added a commit to tehsis/webogram that referenced this issue Mar 9, 2014
tehsis added a commit to tehsis/webogram that referenced this issue Mar 9, 2014
tehsis added a commit to tehsis/webogram that referenced this issue Mar 12, 2014
@zhukov zhukov closed this as completed in 15ffd83 Mar 12, 2014
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants