Uglify-js não manipula nomes de variáveis

Tentando preparar um bom ambiente de construção para minha biblioteca js. De acordo com comentários na webUglifyJS parece ser um dos melhores módulos de compactação, trabalhando sob o NodeJS. Então, aqui é melhor maneira recomendada de reduzir o código:

var jsp = require("uglify-js").parser;
var pro = require("uglify-js").uglify;

var orig_code = "... JS code here";
var ast = jsp.parse(orig_code); // parse code and get the initial AST
ast = pro.ast_mangle(ast); // get a new AST with mangled names
ast = pro.ast_squeeze(ast); // get an AST with compression optimizations
var final_code = pro.gen_code(ast); // compressed code here

Como visto aqui,pro.ast_mangle(ast) deve mangle nomes de variáveis, mas isso não acontece. Tudo que eu saio desse pipe é o código javascript, sem espaços. No começo, pensei que meu código não estava otimizado para compactação, mas tentei comGoogle Closure e obtive bastante compactação (com nomes de variáveis ​​desconfigurados e tudo mais).

Especialistas UglifyJS, alguma dica para o que estou fazendo errado?

ATUALIZAR:

O código real é muito grande para fazer referência aqui, mas mesmo um snippet como este não é mutilado:

;(function(window, document, undefined) {

    function o(id) {
        if (typeof id !== 'string') {
            return id;  
        }
        return document.getElementById(id);
    }   

    // ...

    /** @namespace */
    window.mOxie = o;

}(window, document));

Isso é o que eu recebo (apenas os espaços ficam despojados, eu acho):

(function(window,document,undefined){function o(id){return typeof id!="string"?id:document.getElementById(id)}window.mOxie=window.o=o})(window,document)

questionAnswers(4)

yourAnswerToTheQuestion