Comments (8)
I'd rather propose to use grunt or gulp and bower. Let me know if I should create a feature branch.
from webogram.
@metalmatze What the advantages of your proposal compared with a git submodule?
from webogram.
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.
from webogram.
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.
from webogram.
@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.
from webogram.
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.
from webogram.
1-
I agree. But there are 2 different tasks:
- To launch this project for personal use easily
- 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:
- https://www.npmjs.org/package/gulp-angular-templatecache
- https://www.npmjs.org/package/gulp-usemin
- https://www.npmjs.org/package/gulp-uglify
- https://www.npmjs.org/package/gulp-zip (packaging for Chrome App store and FFOS store releases)
- https://github.com/wearefractal/gulp-coffee (future)
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.
from webogram.
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)
from webogram.
Related Issues (20)
- T
- T
- access and downloading self-destructing videos over telegram web
- Unresponsive Support service. HOT 1
- Media no longer displays // code: 406, type: "FILEREF_UPGRADE_NEEDED"
- File download fails HOT 1
- How to open Link telegram on web version
- Telegram app on Chrome Webstore take much time in generating keys
- Bug in web.telegram.org HOT 4
- Valid username is generating error HOT 1
- In the new Design the Chats don't update HOT 1
- Missing Channel Info Menu (in v0.5.7 on FFOS only)
- UPDATE_APP_TO_LOGIN ERROR HOT 5
- Hi
- Increase the usage of compound assignment operators
- Question about Login?
- Don't drop the project
- Remove joined notification once for all HOT 2
- I've been banned from sending messages in Telegram anyone can help please
- App id / NO fork mirror
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webogram.