2010/9/6 Platonides Platonides@gmail.com:
Gadgets should be minifiable, too.
Should be a matter of porting the Gadgets extension. Will need a bit of smartness because gadgets are wiki pages rather than files, but it's definitely doable.
Perhaps having an update add an standalone flag to the gadgets definitions, and minify everything without it.
You mean something like a permanent debug or compatibility mode for selected gadgets?
It would also be nice to be able to specify a filter there on which the is run (Special:Upload, namespace 2...)
That's actually something you can do with a custom loader script. This allows you to write the code calling mediaWiki.loader.register() yourself rather than having it generated by the resource loader (default), and to dynamically generate dependency information on the fly (by putting your dependency generation code in a closure that's only run when the module's dependency information is needed). At the point that script is run you don't have access to environment variables like the title and namespace yet, but the dependency registration closure does, so you can hack around it by adding an empty module that either does or doesn't depend on a second module with the actual code (eww, maybe we should add better support for this; typically this would be checked on the server side before adding the module or on the client side before requesting the module, though, but Gadgets can't do that easily).
Unfortunately, I don't think these loader scripts currently allow you to override some but not all parts of the registration call, it's either all or nothing. This is particularly annoying since the last modified timestamp of a module is hard to obtain on the client side. Filed this as https://bugzilla.wikimedia.org/show_bug.cgi?id=25085 .
Roan Kattouw (Catrope)