Javascript сниппеты с google closure
Интересная возможность closure-compiler (это такой сервис для обфускации и оптимизации кода). Возможность складывается из двух факторов:
- компилятор в advanced режиме пережимает код до неузнаваемости, попутно совершая оптимизации. Оптимизаций вагон: значения, которые можно вычислить, вычисляются, инлайновые функции “растворяются” в коде. Функции, которые не вызываются, выбрасываются.
- компилятор работает с библиотекой гугла для javascript, позволяя совершать импорты модулей из библиотеки в тело скрипта.
Комбинируя эти знания, включаем библиотеку, и запрашиваем версию флеша, например:
// ==ClosureCompiler==
// @output_file_name default.js
// @compilation_level ADVANCED_OPTIMIZATIONS
// @use_closure_library true
// ==/ClosureCompiler==
goog.require('goog.userAgent.flash');
window.a = goog.userAgent.flash.VERSION
На выходе получаем слабоподдерживаемую, но работающую абракадабру, которую после легкого шлифования использует в своем мегапроекте.
Отличная кашка получается, для защиты кода клиента, например, вполне подойдет.