Может у тебя такие ошибки игнорировались?
Потому что сразу же будет предупреждение:
JSC_TYPE_PARSE_ERROR: Bad type annotation. Unknown type SP.Component at line 12 character 9
* @type {SP.Component|null}
Больше всего меня конечно бесит это:
var global = function() {
return this;
}();
void function(global) {
global.foo = 1;
}(global);
Приходится выносить определение глобальной перменной в экстерны.
PS: мой конфиг:
#! /usr/bin/env sh
# Google closure compiler
# [url]http://code.google.com/p/closure-compiler/wiki/Warnings[/url]
timestamp=`date +%s`
compiler=../tools/closure-compiler/build/compiler.jar
output=../cache/static/__init__
java -jar ${compiler} \
--js=${output}.js \
--externs=../model/__slot__.js \
--js_output_file="${output}.${timestamp}.js" \
--create_source_map="${output}.${timestamp}.json" \
--summary_detail_level=3 \
--charset=UTF-8 \
--language_in=ECMASCRIPT5_STRICT \
--warning_level=VERBOSE \
--compilation_level=SIMPLE_OPTIMIZATIONS \
--formatting=SINGLE_QUOTES \
--jscomp_error=ambiguousFunctionDecl \
--jscomp_error=checkDebuggerStatement \
--jscomp_error=checkRegExp \
--jscomp_error=checkVars \
--jscomp_error=const \
--jscomp_error=constantProperty \
--jscomp_error=es5Strict \
--jscomp_error=internetExplorerChecks \
--jscomp_error=invalidCasts \
--jscomp_error=missingProperties \
--jscomp_error=suspiciousCode \
--jscomp_error=undefinedNames \
--jscomp_error=undefinedVars \
--jscomp_warning=uselessCode \
--jscomp_warning=globalThis \
--jscomp_warning=externsValidation \
--jscomp_warning=duplicate \
--jscomp_warning=deprecated \
--jscomp_warning=accessControls \
--jscomp_warning=visibility \
--jscomp_warning=checkTypes \
--jscomp_warning=fileoverviewTags \
--jscomp_warning=nonStandardJsDocs \
--jscomp_warning=strictModuleDepCheck \
--jscomp_warning=unknownDefines \
# --output_wrapper='void function(window){ %output %}(window);' \
# --source_map_format=DEFAULT \
# --use_types_for_optimization \
# --create_name_map_files=true \
# --print_ast \
# --print_pass_graph \
# --print_tree \