Component could be plain JS object with some private React properties,
and it is not easy to check for this. Instead just allow all value for
:> but check that React will throw error from createElement.
Fixes#369
Custom HTML element property name code accidentally modified cache
object for normal HTML elements, which can cause Reagent to lose correct
mappings for properties like className, htmlFor and charSet.
- Use two types to store native and hiccup data
- Rename comp to component so cljs.core/comp is not shadowd
- Use className instead of class property
- Rename name property to tag
- Use static properties for React key
Use of static properties in this and other commits shrinks test-suite
output size by 2-3kB.
This removes the interop macros which used aget/aset and prevented
Closure naming mangling, now normal property and method access is used
where possible, and goog.object used when using variable keys. Further
testing is needed to ensure this works correctly with Closure, as there
are some properties that are used with goog.object in one place, and as
property in another.
Fixes#324
Direct dependency to ClojureScript can add ClojureScript to uberjar,
when Reagent is used by a library (transitively, on Lein uberjar
profile) or application.
- Enable aot-cache for all builds
- :source-map true is default, no need to set here
- Disable figwheel config validation for now
- Move prerender namespace, which uses built-in Node modules, to
separate folder to ensure this is not part of other builds.
- Use single source-path folder for Cljs to ensure less files are
compiled.
- Add missing Circle workflow
- Automatically deploy tagged docs
- Deploy prod-npm build for site, should work now (latest
Closure-compiler fixes sliders with React)