REGEX: Como remover comentários de javascripts, usando código PHP

Estou combinando todo o meu javascriupt em um único arquivo para diminuir as solicitações de http! Estou preso a remover os comentários/* comments */ e// comments. Meu nível está muito abaixo da minificação ou da análise. Eu sei como fazer cordas de macarrão. Qualquer coisa mais complexa que isso, você não encontrará no meu computador ou cozinha, SO:

PERGUNTA, QUESTÃO

Enquanto isso, combinando-o em um arquivo, quero remover todos os comentários.
Qual é o regex correto para isso?

<?php
header('Content-type: text/javascript');    
$offset = 60 * 60 * 24; // Cache for a day
header ('Cache-Control: max-age=' . $offset . ', must-revalidate');
header ('Expires: ' . gmdate ("D, d M Y H:i:s", time() + $offset) . ' GMT');

ob_start("compress");
function compress($buffer) {

# NOT SURE, not all new lines are removed??
# remove tabs, spaces, newlines, etc.
$buffer = str_replace(array("\r\n", "\r", "\t", '  ', '    '), '', $buffer);  

# WORKS !!!
# remove comments / XXXXXXX
$buffer = preg_replace('(// .+)', '', $buffer);

######################################################################## 
# !! STUCK HERE !! OUTPUT FILE LOOKS OK BUT WEBSITE DOESNT LOAD OK IF THIS IS ON
# remove comments / * XXX  (enters etc) XXXX  * /
# $buffer = preg_replace('#/\*(?:.(?!/)|[^\*](?=/)|(?<!\*)/)*\*/#s', '', $buffer);
########################################################################        

return $buffer;
}

include('../file1.js');
include('../file2.js');  
ob_end_flush();
?>

Seria ótimo se ele capturasse e excluísse o seguinte:

/* XXXX */

/* 
  XXXX
  XXXX
*/

Isso é tudo! Não é possível fazê-lo funcionar nomatter que regex eu uso, mesmo com esta ferramenta incrível, onde eu achei a combinação certa para ser:

RegExp: /\/\*(?:.(?!/)|[^\*](?=/)|(?<!\*)/)*\*\//gs
pattern: \/\*(?:.(?!/)|[^\*](?=/)|(?<!\*)/)*\*\/
flags: gs

http://gskinner.com/RegExr/

questionAnswers(4)

yourAnswerToTheQuestion