Uglify-js не искажает имена переменных

Пытаюсь подготовить хорошую среду сборки для моей библиотеки js. По отзывам в интернетеUglifyJS кажется, один из лучших модулей сжатия, работающих под NodeJS. Итак, вот лучший рекомендуемый способ минимизации кода:

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

Как видно здесь,pro.ast_mangle(ast) должен искажать имена переменных, но это не так. Все, что я получаю из этого канала, - это код JavaScript без пробелов. Сначала я думал, что мой код не был оптимизирован для сжатия, но потом я попробовал его сGoogle Closure и получил довольно сжатие (с искаженными именами переменных и все).

UglifyJS эксперты, любой намек на то, что я делаю неправильно?

UPDATE:

Фактический код слишком велик, чтобы ссылаться на него, но даже такой фрагмент не может быть поврежден:

;(function(window, document, undefined) {

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

    // ...

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

}(window, document));

Это то, что я получаю (думаю, только пробелы удаляются):

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

Ответы на вопрос(4)

Ваш ответ на вопрос