closure-compiler man page

closure-compiler — Performs checking, instrumentation, and optimization on JavaScript code.

Synopsis

closure-compiler [Options...] [FILES...]

Description

closure-compiler may be used to check and optimize JavaScript code. If positional arguments are not given, code to check will be read from standard input.

Options

The following options are understood:

--accept_const_keyword

Allows usage of const keyword.

--angular_pass

Generate $inject properties for AngularJS for functions annotated with @ngInject.

--charset VAL

Input and output charset for all files. By default, we accept UTF-8 as input and output US_ASCII.

--closure_entry_point VAL

Entry points to the program. Must be goog.provide'd symbols. Any goog.provide'd symbols that are not a transitive dependency of the entry points will be removed. Files without goog.provide's, and their dependencies, will always be left in. If any entry points are specified, then the manage_closure_dependencies option will be set to true and all files will be sorted in dependency order.

--common_js_entry_module VAL

Root of your common JS dependency hierarchy. Your main script.

--common_js_module_path_prefix VAL

Path prefix to be removed from CommonJS module names.

--compilation_level WHITESPACE_ONLY|SIMPLE_OPTIMIZATIONS|ADVANCED_OPTIMIZATIONS

Specifies the compilation level to use.

--create_name_map_files

If true, variable renaming and property renaming map files will be produced as binary name_vars_map.out and binary name_props_map.out. Note that this flag cannot be used in conjunction with either variableMapOut putFile or property_map_output_file.

--create_source_map VAL

If specified, a source map file mapping the generated source files back to the original source file will be output to the specified path. The %outname% placeholder will expand to the name of the output file that the source map corresponds to.

--debug

Enable debugging options.

--D, --d, --define name[=val]

Override the value of a variable annotated @define. The format is name[=val], where name is the name of a @define variable and val is a boolean, number, or a single-quoted string that contains no single quotes. If val is omitted, the variable is marked true.

--externs VAL

The file containing JavaScript externs. May be specified multiple times.

--extra_annotation VAL

A whitelist of tag names in JSDoc. May be specified multiple times.

--flagfile VAL

A file containing additional command-line options.

--formatting PRETTY_PRINT | PRINT_INPUT_DELIMITER | SINGLE_QUOTES

Specifies which formatting options, if any, should be applied to the output JS.

--generate_exports

Generates export code for those marked with @export.

--help

Displays this message

--js VAL

The JavaScript filename. May be specified multiple times.

--js_output_file VAL

Primary output filename. If not specified, output is written to stdout.

--jscomp_error VAL

Make the named class of warnings an error. Options: accessControls, ambiguousFunctionDecl, checkEventfulObjectDisposal, checkRegExp, checkStruct DictInheritance, checkTypes, checkVars, const, constantProperty, deprecated, duplicateMessage, es3, es5Strict, externsValidation, fileoverviewTags, globalThis, internetExplorerChecks, invalidCasts, misplacedTypeAnnotation, missingProperties, missingProvide, missingRequire, missingReturn, nonStandardJsDocs, reportUnknownTypes, suspiciousCode, strictModuleDepCheck, typeInvalidation, undefinedNames, undefinedVars, unknownDefines, uselessCode, visibility.

--jscomp_off VAL

Turn off the named class of warnings. Options: accessControls, ambiguousFunctionDecl, checkEventfulObjectDisposal, checkRegExp, checkStructDictInheritance, checkTypes, checkVars, const, constantProperty, deprecated, duplicateMessage, es3, es5Strict, externsValidation, fileoverviewTags, globalThis, internetExplorerChecks, invalidCasts, misplacedTypeAnnotation, missingProperties, missingProvide, missingRequire, missingReturn, nonStandardJsDocs, reportUnknownTypes, suspiciousCode, strictModuleDepCheck, typeInvalidation, undefinedNames, undefinedVars, unknownDefines, uselessCode, visibility.

--jscomp_warning VAL

Make the named class of warnings a normal warning. Options: accessControls, ambiguousFunctionDecl, checkEventfulObjectDisposal, checkRegExp, checkStructDictInheritance, checkTypes, checkVars, const, constantProperty, deprecated, duplicateMessage, es3, es5Strict, externsValidation, fileoverviewTags, globalThis, internetExplorerChecks, invalidCasts, misplacedTypeAnnotation, missingProperties, missingProvide, missingRequire, missingReturn, nonStandardJsDocs, reportUnknownTypes, suspiciousCode, strictModuleDepCheck, typeInvalidation, undefinedNames, undefinedVars, unknownDefines, uselessCode, visibility.

--language_in VAL

Sets what language spec that input sources conform. Options: ECMASCRIPT3 (default), ECMASCRIPT5, ECMASCRIPT5_STRICT.

--logging_level VAL

The logging level (standard java.util.logging.Level values) for Compiler progress. Does not control errors or warnings for the JavaScript code under compilation

--manage_closure_dependencies

Automatically sort dependencies so that a file that goog.provides symbol X will always come before a file that goog.requires symbol X. If an input provides symbols, and those symbols are never required, then that input will not be included in the compilation.

--module name:num-js-files[:dep...][:]

A JavaScript module specification. Module names must be unique. Each dep is the name of a module that this module depends on. Modules must be listed in dependency order, and JS source files must be listed in the corresponding order. Where --module flags occur in relation to --js flags is unimportant. Provide the value auto to trigger module creation from CommonJSmodules.

--module_output_path_prefix VAL

Prefix for filenames of compiled JS modules. module-name.js will be appended to this prefix. Directories will be created as needed. Use with --module.

--module_wrapper VAL

An output wrapper for a JavaScript module (optional). The format is name:wrapper. The module name must correspond with a module specified using --module. The wrapper must contain %s as the code placeholde r. The %basename% placeholder can also be used to substitute the base name of the module output file.

--new_type_inf

In development new type inference pass. DO NOT USE!

--only_closure_dependencies

Only include files in the transitive dependency of the entry points (specified by closure_entry_point). Files that do not provide dependencies will be removed. This supersedes manage_closure_dependencies.

--output_manifest VAL

Prints out a list of all the files in the compilation. If --manage_closure_dependencies is on, this will not include files that got dropped because they were not required. The %outname% placeholder expands to the JS output file. If you're using modularization, using %outname% will create a manifest for each module.

--output_module_dependencies VAL

Prints out a JSON file of dependencies between modules.

--output_wrapper VAL

Interpolate output into this string at the place denoted by the marker token %output%. Use marker token %output|jsstring% to do js string escaping on the output.

--print_ast

Prints a dot file describing the internal abstract syntax tree and exits.

--print_pass_graph

Prints a dot file describing the passes that will get run and exits.

--print_tree

Prints out the parse tree and exits.

--process_closure_primitives

Processes built-ins from the Closure library, such as goog.require(), goog.provide(), and goog.exportSymbol().

--process_common_js_modules

Process CommonJS modules to a concatenable form.

--process_jquery_primitives

Processes built-ins from the jQuery library, such as jQuery.fn and jQuery.extend().

--property_map_input_file VAL

File containing the serialized version of the property renaming map produced by a previous compilation.

--property_map_output_file VAL

File where the serialized version of the property renaming map produced should be saved.

--source_map_format V1 | DEFAULT | V2 | V3

The source map format to produce. Options: V1, V2, V3, DEFAULT. DEFAULT produces V2.

--summary_detail_level N

Controls how detailed the compilation summary is. Values: 0 (never print summary), 1 (print summary only if there are errors or warnings), 2 (print summary if the 'checkTypes' diagnostic group is enabled, see --jscomp_warning), 3 (always print summary). The default level is 1.

--third_party

Check source validity but do not enforce Closure style rules and conventions.

--tracer_mode ALL | RAW_SIZE | TIMING_ONLY | OFF

Shows the duration of each compiler pass and the impact to the compiled output size. Options: ALL, RAW_SIZE, TIMING_ONLY, OFF.

--transform_amd_modules

Transform AMD to CommonJS modules.

--translations_file VAL

Source of translated messages. Currently only supports XTB.

--translations_project VAL

Scopes all translations to the specified project.When specified, we will use different message ids so that messages in different projects can have different translations.

--use_only_custom_externs

Specifies whether the default externs should be excluded.

--use_types_for_optimization

Experimental: perform additional optimizations based on available information. Inaccurate type annotations may result in incorrect results.

--variable_map_input_file VAL

File containing the serialized version of the variable renaming map produced by a previous compilation.

--variable_map_output_file VAL

File where the serialized version of the variable renaming map produced should be saved.

--version

Prints the compiler version to stderr.

--warning_level QUIET | DEFAULT |VERBOSE

Specifies the warning level to use. Options: QUIET, DEFAULT, VERBOSE.

--warnings_whitelist_file FILE

A file containing warnings to suppress. Each line should be of the form file-name:[line-number] warning-description.

See Also

https://code.google.com/p/closure-compiler/

Info

02/10/2017 closure-compiler