blob: bd2dfea955aee4dd9dfd63273d448f8c0f5ad595 [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
strict_error_checking_closure_args = [
"jscomp_error=accessControls",
"jscomp_error=checkTypes",
"jscomp_error=checkVars",
"jscomp_error=constantProperty",
"jscomp_error=deprecated",
"jscomp_error=externsValidation",
"jscomp_error=globalThis",
"jscomp_error=invalidCasts",
"jscomp_error=misplacedTypeAnnotation",
"jscomp_error=missingProperties",
"jscomp_error=missingReturn",
"jscomp_error=nonStandardJsDocs",
"jscomp_error=suspiciousCode",
"jscomp_error=undefinedNames",
"jscomp_error=undefinedVars",
"jscomp_error=unknownDefines",
"jscomp_error=uselessCode",
"jscomp_error=visibility",
]
# Additional closure args for performing full checks.
default_closure_args = strict_error_checking_closure_args + [
"compilation_level=SIMPLE_OPTIMIZATIONS",
"extra_annotation_name=attribute",
"extra_annotation_name=demo",
"extra_annotation_name=element",
"language_in=ECMASCRIPT_2017",
"language_out=ECMASCRIPT5_STRICT",
"chrome_pass",
"polymer_pass",
"jscomp_off=duplicate",
]
js_modules_args = [
"js_module_root=../../ui/webui/resources/",
"js_module_root=gen/ui/webui/resources/",
# chrome://resources maps to root, since both ../../ui/webui/resources and
# gen/ui/webui/resources are js_module_roots.
"module_resolution=BROWSER_WITH_TRANSFORMED_PREFIXES",
"browser_resolver_prefix_replacements=\"chrome://resources/=./\"",
"browser_resolver_prefix_replacements=\"//resources/=./\"",
# Turn off primarily because cr.define() should not be used in any JS Modules
# based code, and secondarily because of b/133333578.
"chrome_pass=false",
]
mojom_js_args = [
"js_module_root=" +
rebase_path("$root_gen_dir/mojo/public/js", root_build_dir),
"js_module_root=" + rebase_path("$root_gen_dir/mojom-webui", root_build_dir),
"js_module_root=" +
rebase_path("$root_gen_dir/mojom-webui/ui/webui/resources",
root_build_dir),
# Mojom WebUI JS modules load bindings.js which may be compiled and stripped
# of type annotations. Rewrite these references to the uncompiled equivalent
# for compilation and type-checking.
"browser_resolver_prefix_replacements=\"chrome://resources/mojo/mojo/public/js/bindings.js=/bindings_uncompiled.js\"",
# Shared Mojom WebUI JS modules are by convention exposed through URLs like
# chrome://resources/mojo/<path-to-module>. At build time these will be given
# as gen/<path-to-module> for compilation, so we can rewrite them as absolute
# paths.
"browser_resolver_prefix_replacements=\"chrome://resources/mojo/=/\"",
]
polymer3_args = js_modules_args + [
"browser_resolver_prefix_replacements=\"../polymer/polymer_bundled.min.js=../polymer/polymer_bundled.js\"",
"browser_resolver_prefix_replacements=\"chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js=../../third_party/polymer/v3_0/components-chromium/polymer/polymer_bundled.js\"",
"browser_resolver_prefix_replacements=\"//resources/polymer/v3_0/polymer/polymer_bundled.min.js=../../third_party/polymer/v3_0/components-chromium/polymer/polymer_bundled.js\"",
"browser_resolver_prefix_replacements=\"chrome://resources/polymer/v3_0/=../../third_party/polymer/v3_0/components-chromium/\"",
"browser_resolver_prefix_replacements=\"//resources/polymer/v3_0/=../../third_party/polymer/v3_0/components-chromium/\"",
"hide_warnings_for=externs.zip",
# TODO(crbug.com/1093048): Add the leading '../../' back to
# the path once the CrOS chroot no longer uses symlinks when
# building chrome.
"hide_warnings_for=third_party/polymer/v3_0/components-chromium/",
"polymer_pass=false",
# Note: "2" is counter-intuitively the correct value to use for Polymer 3.
"polymer_version=2",
]
default_disabled_closure_args = [ "jscomp_off=duplicate" ]