dwww Home | Manual pages | Find package

CLOSURE-COMPILER(1)                 Closure                CLOSURE-COMPILER(1)

NAME
       closure-compiler - optimising compiler for ECMAScript (JavaScript) pro-
       grams

SYNOPSIS
       closure-compiler [ OPTION ... ]
       closure-compiler --help

DESCRIPTION
       The Closure Compiler Application is the command-line interface  to  the
       Closure Compiler, part of the Closure Tools project.

       The Closure Compiler is a tool for making ECMAScript (JavaScript) down-
       load and run faster. It parses your program, analyzes it, removes  dead
       code,  and  rewrites  and minimizes what's left. It also checks syntax,
       variable references, and types, and warns about common pitfalls.

OPTIONS
       --help
          Describe how to use the Closure Compiler Application.

       --version
          Print the Closure Compiler version to stderr.

       --accept_const_keyword
          Allow usage of const keyword.

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

       --charset CHARSET
          Specify CHARSET to be the input and output charset for all files. By
          default, we accept UTF-8 as input and output US_ASCII.

       --closure_entry_point ENTRYPOINT
          Specify entry point ENTRYPOINT to the  program.  Must  be  goog.pro-
          vide'd symbols. Any goog.provide'd symbols that are not a transitive
          dependency of the  entry  points  will  be  removed.  Files  without
          goog.provides,  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 depen-
          dency order.

       --common_js_entry_module MODULEFILE
          Specify the root of your common JS dependency hierarchy to  be  MOD-
          ULEFILE. Your main script.

       --common_js_module_path_prefix PREFIX
          Specify  a  path  prefix  PREFIX  to be removed from CommonJS module
          names.

       --compilation_level LEVEL
          Set the compilation level to LEVEL.

          Values:  WHITESPACE_ONLY,  SIMPLE_OPTIMIZATIONS,  ADVANCED_OPTIMIZA-
          TIONS.

       --create_name_map_files
          Specify  that 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 vari-
          able_map_output_file or property_map_output_file.

       --create_source_map MAPFILE
          Specify a source map file  MAPFILE,  mapping  the  generated  source
          files  back to the original source file will be output to the speci-
          fied path.  The %outname% placeholder will expand to the name of the
          output file that the source map corresponds to.

       --debug
          Enable debugging options.

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

       --externs EXTERNFILE
          Specify that the file EXTERNFILE contains JavaScript externs.

          You may specify this option multiple times to specify additional EX-
          TERNFILE files.

       --extra_annotation_name TAGNAME
          Specify TAGNAME to append to the whitelist of tag names in JSDoc.

          You may specify this option multiple times to append additional TAG-
          NAME values.

       --flagfile FILE
          Specify that FILE contains additional command-line options.

       --formatting FORMATOPTION
          Specifies  the formatting option FORMATOPTION to apply to the output
          JS.

          Values: PRETTY_PRINT, PRINT_INPUT_DELIMITER, SINGLE_QUOTES

       --generate_exports
          Generates export code for those marked with @export.

       --js INFILE
          Specify INFILE as an input filename.

          You may specify this option multiple times to append additional  IN-
          FILE names.

       --js_output_file OUTFILE
          Specify OUTFILE as the primary output filename.

          If not specified, output is written to stdout.

       --jscomp_error WARNCLASS
          Make the named class of warnings WARNCLASS an error.

          See Warning Classes, below, for the list of valid WARNCLASS names.

       --jscomp_off WARNCLASS
          Turn off the named class of warnings WARNCLASS.

          See Warning Classes, below, for the list of valid WARNCLASS names.

       --jscomp_warning WARNCLASS
          Make the named class of warnings WARNCLASS a normal warning.

          See Warning Classes, below, for the list of valid WARNCLASS names.

       --language_in LANGSPEC
          Specify the input sources conform to the language LANGSPEC.

          Values: ECMASCRIPT3 (default), ECMASCRIPT5, ECMASCRIPT5_STRICT.

       --logging_level LEVEL
          Specify  LEVEL  as  the  logging  level  (standard  java.util.  log-
          ging.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 MODULESPEC
          Specify the JavaScript module specification MODULESPEC.

          The           format           for           MODULESPEC           is
          <name>:<num-js-files>[:[<dep>,...][:]]].    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  oc-
          cur  in  relation  to  --js flags is unimportant.  Provide the value
          auto to trigger module creation from CommonJSmodules.

       --module_output_path_prefix PREFIX
          Specify the filename prefix PREFIX for filenames of compiled JS mod-
          ules.  <module-name>.js will be appended to this prefix. Directories
          will be created as needed. Use with --module.

       --module_wrapper WRAPPER
          Specify WRAPPER as output  wrapper  for  a  JavaScript  module  (op-
          tional).

          The format of WRAPPER is <name>:<wrapper>. The module name must cor-
          respond with a module specified using  --module.  The  wrapper  must
          contain  %s  as the code placeholder. The %basename% placeholder can
          also be used to substitute the base name of the module output file.

       --only_closure_dependencies
          Only include files in the transitive dependency of the entry  points
          (specified by closure_entry_point). Files that do not provide depen-
          dencies will be removed.  This  supersedes  manage_closure_dependen-
          cies.

       --output_manifest MANIFESTFILE
          Prints  out  a list of all the files in the compilation to MANIFEST-
          FILE.

          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 DEPFILE
          Prints out a JSON file DEPFILE of dependencies between modules.

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

       --print_ast
          Print  a  dot  file describing the internal abstract syntax tree and
          exit.

       --print_pass_graph
          Print a dot file describing the passes that will get run and exit.

       --print_tree
          Print out the parse tree and exit.

       --process_closure_primitives
          Processes built-ins from  the  Closure  library,  such  as  goog.re-
          quire(), 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 MAPFILE
          Specify MAPFILE as containing the serialized version of the property
          renaming map produced by a previous compilation.

       --property_map_output_file MAPFILE
          Save the serialized version of the property renaming map produced to
          MAPFILE.

       --source_map_format FORMAT
          Product the source map in format FORMAT.

          Values: V1, V2, V3, DEFAULT. DEFAULT produces V2.

       --summary_detail_level LEVEL
          Specify the compilation summary detail level LEVEL.

          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.

       --transform_amd_modules
          Transform AMD to CommonJS modules.

       --translations_file TRANSFILE
          Specify TRANSFILE as the source of  translated  messages.  Currently
          only supports XTB.

       --translations_project PROJECT
          Scope all translations to the specified project.

          When  specified,  use different message ids so that messages in dif-
          ferent projects can have different translations.

       --use_only_custom_externs
          Specifies that 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 re-
          sults.

       --variable_map_input_file MAPFILE
          Specify MAPFILE as containing the serialized version of the variable
          renaming map produced by a previous compilation.

       --variable_map_output_file MAPFILE
          Save the serialized version of the variable renaming map produced to
          MAPFILE.

       --warning_level LEVEL
          Specify the warning level to use.

          Values: QUIET, DEFAULT, VERBOSE.

       --warnings_whitelist_file LISTFILE
          Suppress warnings listed in LISTFILE. Each line  should  be  of  the
          form <file-name>:<line-number>? <warning-d escription>

   Warning Classes
       The jscomp_error, jscomp_warning, and jscomp_off flags require as a pa-
       rameter a WARNCLASS warning class name. The following names  are  valid
       warning class names:

       • accessControlsambiguousFunctionDeclcheckRegExpcheckTypescheckVarsconstconstantPropertydeprecatedduplicateMessagees5StrictexternsValidationfileoverviewTagsglobalThisinternetExplorerChecksinvalidCastsmisplacedTypeAnnotationmissingPropertiesnonStandardJsDocssuspiciousCodestrictModuleDepChecktypeInvalidationundefinedNamesundefinedVarsunknownDefinesuselessCodevisibility

EXAMPLEclosure-compiler --js hello.js --js_output_file hello-compiled.js

         This  command creates a new file called hello-compiled.js, which con-
         tains the compiled program.

HISTORY
       The Closure Tools project is an effort  by  Google  engineers  to  open
       source  the  tools  used in many of Google's sites and web applications
       for use by the wider Web development community.

       This    manual    page    was    written    by    Ben     Finney     <-
       ben+ecmascript@benfinney.id.au>  to  document the closure-compiler com-
       mand for Debian. It is free software and may be used  by  others  under
       the terms of the Apache license, version 2.0.

AUTHOR
       Ben Finney <ben+ecmascript@benfinney.id.au>

COPYRIGHT
       Apache license, version 2.0.

                                  2014-01-07               CLOSURE-COMPILER(1)

Generated by dwww version 1.15 on Sat Jun 29 01:54:47 CEST 2024.