and :optimization :none combination
…nsigents Check option intransigents around :output-to, :output-dir, :source-map, and :source-map-path and properly relativize source-map source files in a host independent fashion.
When not a defrecord internal constructor call check the arity of the instantiation form against the fields - ignoring extmap, meta and hash. This is done by setting :internal-ctor meta on the record symbol, otherwise the logic is identical to deftype*. Fix some formatting.
Only copy over files to the output directory if the js file record contains :source-url information.
Use :cljs.compiler/compiled-cljs key in cljs.closure/optimize for generating the source map. Use the destination path as the key as we do for :cljs.closure/compiled-cljs.
cljs.core.PersistentArrayMap.fromArray now takes a 3rd no-check parameter. The inlining array-map macro and the compiler emission for array-maps now analyzes for constants and emits a direct instantiation if possible - otherwise cljs.core.PersistentArrayMap.fromArray called with no-check set to false.
likely to clash.
Change cljs.analyzer/empty-env so we add a :js-globals entry. Change parse fn* so that we check this for :shadow. Reformat emit-fn-method.
JS objects are constructed in three phases. First, an object is constructed using all key-value pairs with string literals as their keys. Second, object keys are set for the key-value pairs with symbols as their keys. Lastly, remaining key-value pairs are let-bound, evaluated, and their keys are set via the let-bound gensyms.
Signed-off-by: Chris Granger <firstname.lastname@example.org>