- Removed the webpack integration. While it can be initially convenient, it tends to introduce more problems than it solves. The repo contains an example illustrating how to implement self-mounting components which provide similar functionality to the former webpack integration.
- Replaced the js-host dependency with an externally-managed render server.
- Added a
renderer
hook onrender_component
. Enabling you to override the default which assumes render-react
- Fixed a potential path issue in config files
- Replaced the webpack-service dependency with webpack-wrapper.
- Boosting render performance by using a dedicated render server.
- Added a new setting, DJANGO_REACT['RENDERER'], which is a string denoting an import path to a
callable object which returns a on object with a
render
method. By default it points to the new render server, 'django_react.render_server.ReactRenderServer'. The legacy renderer is useable by setting DJANGO_REACT['RENDERER'] = 'django_react.renderer.ReactRenderer'.
- Changed
django_react.exceptions.ReactComponentMissingSourceAttribute
todjango_react.exceptions.ReactComponentMissingSource
django_react.react.render
is nowdjango_react.render_component
- Updated the django-webpack dependency to 2.0.0
django_react.models.ReactBundle
is nowdjango_react.ReactBundle
django_react.models.ReactComponent
is nowdjango_react.ReactComponent
- The Python<->JS bridge used to render components now relies on a
--serialized-props-file
argument, formerly it was--serialized-props
. - Switched the JSX loader to a fork which improves the debug information provided during error handling
- The NODE_ENV environment setting is now controlled by the
DJANGO_REACT['DEBUG']
setting. Activating it will provides some improvements to the rendering performance.
- Renamed
django_react.exceptions.PropSerialisationError
todjango_react.exceptions.PropSerializationError
. - Rolled the bundling functionality out into a more easily overridable interface. You can now define a
bundle
attribute onReactComponent
inheritors which should be an extendeddjango_webpack.models.WebpackBundle
. - Renamed the following attributes on
ReactComponent
:entry
is nowsource
library
is nowvariable
- Renamed the
get_library
method onReactComponent
toget_variable
- Removed the following methods on
ReactComponent
:get_serialised_props_hash
get_component_id
get_react_variable
get_component_name
has_props
- The render_* methods now use standard Django templates where possible.
- Removed the
render_to_string
andrender_to_static_markup
methods fromdjango_react.react
. In their place, usedjango_react.react.render
. - The react external can now be configured on a per-bundle basis, or globally by using the
DJANGO_REACT['REACT_EXTERNAL']
setting. - Updated django-node and django-webpack dependencies to the latest.
- Added a test suite and harness.
- Added basic documentation.
- Fixed a bug where errors caused during a component's prop serialization could silently fail.
- Excised the bundling tooling into a standalone app,
django_webpack
- Renamed
SerialisationException
toPropSerializationError
. - Renamed
RenderException
toRenderingError
. - Renamed the
django_react.utils
module todjango_react.react
. ReactComponent.render
is nowReactComponent.render_to_string
ReactComponent.render_static
is nowReactComponent.render_to_static_markup
ReactComponent.get_component_variable
is nowReactComponent.get_library
.- Moved the Webpack configuration into the ReactComponent class.
django_react.exceptions.ReactComponentSourceFileNotFound
is nowdjango_react.exceptions.SourceFileNotFound
django_react.exceptions.ReactComponentRenderToStringException
is nowdjango_react.exceptions.RenderException
django_react.exceptions.ReactComponentBundleException
is nowdjango_react.exceptions.BundleException
django_react.models.ReactComponent
now has additional methods:generate_path_to_bundled_source
,write_bundled_source_file
,generate_bundled_source_file
,get_rel_path_to_bundled_source
, andget_url_to_bundled_source
.django_react.utils.bundle
no longer accepts aReactComponent
as an argument, it now takesentry
andlibrary
.django_react.utils.render
no longer accepts aReactComponent
as an argument, it now takespath_to_source
,serialised_props
, andto_static_markup
.django_react/render.js
no longer accepts the--path-to-component
argument, instead it takes--path-to-source
.
- Replaced the post-install step in setup.py with django-node's dependency and package resolver.
- Initial release