You should be forewarned that not all plugins/themes use enqueue. When I first started dealing with all the JavaScripts and CSS files outputed I just hooked into the enqueued files. This resulted in me only getting 2 out of 10 JavaScript files and 1 out of 3 CSS files.
Here is some quick PoCs. Neither tested but meant to put you in the right direction, if you can code. Once I get home I’ll whack together something more fitting and functional.
add_action('wp_print_scripts','head_files');
function head_files(){
global $wp_scripts, $auto_compress_scripts;
print 'print out head.js';
$queue = $wp_scripts->queue;
$wp_scripts->all_deps($queue);
$to_do = $wp_scripts->to_do;
$headArray = array();
foreach ($to_do as $key => $handle) {
$src = $wp_scripts->registered[$handle]->src;
$headArray[] = $src;
}
print 'print out head.js("'.implode("'",$headArray.'")';
}
(Basically swiped most of the code from JS & CSS Script Optimizer)
add_filter('wpsupercache_buffer', 'head_files' );
function head_files($buffer){
if ( $fileType == "js" ){
preg_match_all('~<script.*(type="["\']text/javascript["\'].*)?src=["\'](.*)["\'].*(type=["\']text/javascript["\'].*)?></script>~iU',$content,$matches);
$headArray = $matches[2];
}
print 'print out head.js';
print 'print out head.js("'.implode("'",$headArray.'")';
return $buffer;
}
Using WP Super Cache output buffering.