    :opt-un
    [::access-controls
     ::ambiguous-function-decl
-    ::debugger-statement-present
+    ::analyzer-checks
+    ::check-eventful-object-disposal
     ::check-regexp
     ::check-types
     ::check-useless-code
     ::check-variables
+    ::closure-dep-method-usage-checks
+    ::common-js-module-load
+    ::conformance-violations
     ::const
     ::constant-property
+    ::debugger-statement-present
     ::deprecated
+    ::deprecated-annotations
     ::duplicate-message
+    ::duplicate-vars
+    ::es3
     ::es5-strict
     ::externs-validation
+    ::extra-require
     ::fileoverview-jsdoc
+    ::function-params
     ::global-this
+    ::inferred-const-checks
     ::internet-explorer-checks
     ::invalid-casts
+    ::j2cl-checks
+    ::late-provide
+    ::lint-checks
+    ::message-descriptions
+    ::misplaced-type-annotation
+    ::missing-getcssname
+    ::missing-override
+    ::missing-polyfill
     ::missing-properties
+    ::missing-provide
+    ::missing-require
+    ::missing-return
     ::non-standard-jsdoc
+    ::report-unknown-types
+    ::strict-missing-require
     ::strict-module-dep-check
+    ::strict-requires
+    ::suspicious-code
     ::tweaks
+    ::type-invalidation
     ::undefined-names
     ::undefined-variables
+    ::underscore
     ::unknown-defines
+    ::unused-local-variable
+    ::unused-private-property
+    ::use-of-goog-base
+    ::violated-module-dep
     ::visiblity])
 
   "Configure warnings generated by the Closure compiler. A map from

The following warnings are supported:

  :preamble-missing, missing preamble
  :undeclared-var, undeclared var
  :undeclared-ns, var references non-existent namespace
  :undeclared-ns-form, namespace reference in ns form that does not exist

  :protocol-invalid-method, protocol method does not match declaration
  :protocol-duped-method, duplicate protocol method implementation
  :protocol-multiple-impls, protocol implemented multiple times
  :protocol-with-variadic-method, protocol declares variadic signature
  :protocol-impl-with-variadic-method, protocol impl employs variadic signature
  :protocol-impl-recur-with-target, target passed in recur to protocol method head
  :single-segment-namespace, single segment namespace
  :munged-namespace, namespace name contains a reserved JavaScript keyword
  :ns-var-clash, namespace clashes with var
  :extend-type-invalid-method-shape, method arities must be grouped together
  :unsupported-js-module-type, unsupported JavaScript module type
  :unsupported-preprocess-value, unsupported foreign lib preprocess value
  :js-shadowed-by-local, name shadowed by a local
  :infer-warning, warnings related to externs inference")

;; *** TODO differnet ns??

(def-key ::dynamic boolean?)
(def-key ::extending-base-js-type boolean?)
(def-key ::extend-type-invalid-method-shape boolean?)
(def-key ::fn-var boolean?)
(def-key ::fn-arity boolean?)
(def-key ::fn-deprecated boolean?)
(def-key ::invalid-protocol-symbol boolean?)
(def-key ::invoke-ctor boolean?)
(def-key ::invalid-arithmetic boolean?)
(def-key ::invalid-array-access boolean?)
(def-key ::infer-warning boolean?)
(def-key ::js-shadowed-by-local boolean?)
(def-key ::multiple-variadic-overloads boolean?)
(def-key ::munged-namespace boolean?)
(def-key ::ns-var-clash boolean?)
(def-key ::overload-arity boolean?)
(def-key ::preamble-missing boolean?)
(def-key ::protocol-deprecated boolean?)
(def-key ::protocol-invalid-method boolean?)
(def-key ::protocol-duped-method boolean?)
(def-key ::protocol-multiple-impls boolean?)
(def-key ::protocol-with-variadic-method boolean?)
(def-key ::protocol-impl-with-variadic-method boolean?)
(def-key ::protocol-impl-recur-with-target boolean?)
(def-key ::redef boolean?)
(def-key ::redef-in-file boolean?)
(def-key ::single-segment-namespace boolean?)
(def-key ::unprovided boolean?)
(def-key ::undeclared-var boolean?)
(def-key ::undeclared-ns boolean?)
(def-key ::undeclared-ns-form boolean?)
(def-key ::undeclared-protocol-symbol boolean?)
(def-key ::unsupported-js-module-type boolean?)
(def-key ::unsupported-preprocess-value boolean?)
(def-key ::variadic-max-arity boolean?)

;; ** Closure Compiler Warnings

