digitalfruit/limejs — Issue #21: Structure of repository/framework
Author: ondrowan
Created: 2012-02-05 10:58:35+00:00
State: open

I started to play a bit with Lime as part of research about JS gaming frameworks. I'm trying to create very simple game with Django on backend. My path for javascript files is `/static/js/`. Right now, I clone Lime as submodule to this folder and run `bin/lime.js` for all the additional cloning. Right now, I see 2 problems with this approach:

* submodule - they are usually trouble, for one reason or another. It takes just one person to screw up the repo.
* lime.py being amongst static files - it is potential security risk and i'd feel much more comfortable if i had the file in root directory

I personally would split lime repo into multiple parts:

* framework itself
* demos (let's face it, most of the people will just want remove them anyway)
* lime.py + other utilities (I'll talk about that in a bit)

Main goal would be to split `lime.py` and create dependencies file and config for it. You could put Closure, Box2d etc into deps file in similarly to [requirements.txt in pip](http://www.pip-installer.org/en/latest/requirements.html). In config you could set default path for your JS libraries (in my case `/static/js/`) amongst other things (path of your real lime app etc).

So, if I wanted to install lime and its dependencies, I'd just download lime.py and its configs (let's call it `limejs-utilities` for example), change paths in config and run a simple command as it's done now. I think it'd be more comfortable for users this way. Although, there would still be need for submodule (lime-utilities), I'd be much more comfortable having just few files instead of whole framework.

Now why I don't just do most of this manually right now? I could copy lime.py to root, change paths in it and be happy, but it breaks submodule right away and I can't update limejs itself as easily afterwards. Maybe solution would be to just copy all files instead of creating submodule, but that isn't really as comfortable as it could be.

I'd be happy to participate with these changes if you people are ok with it.