Hi folks, i'm a happy daily user of fuel for more than a year now and i'm really excited when i see the roadmap of 2.0 version. So i started wandering if i could be of any help and seen on the todo list that no one is taking care of the asset right now and as i was thinking of creating something for fuel 1.x for my use, i came to the conclusion i might actually do it for 2.x version, but to do so i have few questions to ensure i make the right choices and take the good direction ;)
First of, i gave a look to Assetic and though it looks like a great tool, it seems overaly complicated and is not pure php (still need some binaries to work completly...). It makes me feel like i use a bazooka to kill a fly.... So here is my first question, does anyone knows a pure php js/css minifier ? what about a less compiler ? Cause after long research, i didn't find anything.... which brings my second question, would it be ok to use a non php program for that ? (i guess yes) And if so, would node.js minifyjs and less be an acceptable solution ?
After these "what tools" question comes the "how" questions.
First, should we use config files or folder/subfolder (maybe a mix of both...) in order to combine/compress/etc.. the different assets ? As i see it, config files would have the advantage of defining the order to combine the file as well as allowing users to define some hypotetical parameter to do so. On the other hand it would be more of a constraint to add a new file to be served...
There's also the question of should it be always combine/minified of the fly or use a cache file ? Note that it could be define by the environment (dev = on the fly, and prod = only if cache file is missing)
There has already been quite a bit of "think work" performed in the area. If you want to help, best thing to do is to hop onto IRC (#fuelphp), and get hold of Steve (@uru).
With regards to your minifier question: everything in the framework should work without external dependencies (with the exception of other composer packages).
So no binaries, no optional PECL extensions, nothing Linux only, etc...