Change Log
28.1.0
Minor non-breaking enhancement tocreateRouteBundle
to more easily allow dynamic replacement of routes. AddingdoReplaceRoutes
action creator and explicitly storing cached routes and routeMatcher in a reducer so they can be easily replaced.28.0.3
No API changes.Replaces all uses of
self
withglobalThis
.Explicitly pre-binds
raf
andric
toglobalThis
to prevents bug otherwise caused by Parcel 2 compiler optimization.Adds
prettier
andfixpack
as cleanup steps.
28.0.2
npm 7 deprecated prepublish, so last publish didn't build first. This fixes that.28.0.1
Super minor fix. Some bundlers will remove context forrequestIdleCallback
andrequestAnimationFrame
so they end up being called as a method of the main redux-bundler export. This can cause "ILLEGAL invocation" errors when using them. This change simply wraps them in a fn so they're always called onself
.28.0.0
No API changes, just internal change to how reactors are dispatched. Due to potential behavioral impact to apps this is a major version bump. Details: to keep perf good we fire reactors on arequestIdleCallback
we were firing the result even if by the time it fired, state had changed. The changes in this release should make that scenario impossible.27.0.2
Fixed handling ofselectRoute
if there was no match. Previously, this would error, now it returnsnull
. PreviouslyselectRouteParams
would also error, now it returns{}
. Updated dependencies to eliminate some npm audit security warnings. Updated doc table of contents to fix broken links (due to change in gitbook). Removedstandard
andprettier-standard
in lieu of vanilla eslint. Removed a couple of unused deps (oops).27.0.1
Fix build issue for newly extracted "extra" bundles.27.0.0
Separated a few non-core items into their own exports must be imported independently:redux-bundler/dist/create-async-resource-bundle
,redux-bundler/dist/create-geolocation-bundle
,redux-bundler/dist/online-bundle
. This just removes stuff that is often unused from main build.26.1.0
AddedreactorPermissionCheck
option tocreateReactorBundle
to better support building rate-limiting or developer tools for reactors. Also, added better docs forcreateReactorBundle
options.26.0.0
Removed
logIdle
option fromcreateDebugBundle
and added support foractionFilter
function instead. Thanks to @malbonesi for the idea of making this more flexible.Added
store.destroy()
method. Bundle.init()
methods can optionally return a "cleanup" function. This means you can have an architecture that loads/unloads entire apps within the same document and lets you do cleanup like removing event listeners, etc. Thanks to @rudionrails
25.0.0
Re-worked debug bundle. It is now created programmatically so it can be configured:
createDebugBundle()
Updates
querystringify
andcreate-selector
to2.1.1
(#55)Fixes annoying "missing sourcemap" warning when building with parcel.
24.0.0
Breaking change to
createCacheBundle
. It now takes an options object as an argument instead of just a cache function. This allows us to pass anenabled
option to enable its use in node.js (it's still off by default in node). Also adds support for passing alogger
function as an option. It will be called with a message describing what was persisted and why.Fixes persist action support for bundles added later with
integrateBundles
. Previously the map of actions to reducers to persist was only created up front. It is now re-generated after other bundles are integrated.Added, tests to demonstrate these changes.
23.2.0
Adds option forcancelIdleWhenDone
tocreateReactorBundle
. By default, if redux-bundler is running in node.js and there are no pending reactions, the idle dispatcher stops firing. This is to support normal SSR use-cases where you may want to wait for the store to be "done" doing any remaining work, then fire the done callback. However, for use cases where you're wanting to use redux-bundler as a long-lived state engine in node.js it was problematic to have it stop idling. The default behavior is unchanged, but no if you passcancelIdleWhenDone: false
as an option, it will keep running indefinitely.23.1.2
AddssetTimeout
to restore scroll position util. This buys UI libs a chance to update the DOM and makes scroll position restoration work in some cases where it wasn't previously.23.1.1
Updatescreate-selector
to4.0.3
to improve selector resolution perf. Updates a few dev dependencies to latest versions.23.1.0
AddsmaintainScrollPosition
option todoUpdateUrl()
(thanks @abuinitski). Minor tweak to explicitly check fornull
instead of implied type in order to support storing0
as the data increateAsyncResourceBundle()
(thanks @layflags).23.0.2
Fixes issues with scroll restoration not working in all cases when using the url bundle.23.0.1
Use--no-compress
instead of--compress=false
. It was not being parsed properly by the updated version of microbundle.23.0.0
Added support for passing a
REPLACE_STATE
action to replace entire state of store. Because this could be a breaking change if you already have such an action type, I'm doing a major version bump for this.Updated npm deps to mitigate security advisories.
22.2.0
Added
selectRoutes
to enable retrieving the entire routes object.Merged refactored
createAsyncResourceBundle
(thanks @aaronmccall) to enable better bundle composition.
22.1.0
- AddedselectRouteMatcher
to enable retrieving the function used to match urls to routes.22.0.0
- Upgraded to redux v4.0.0.21.2.2
- FixedstaleAge
->staleAfter
bug in geolocation bundle and fix starting state from online bundle should come fromnavigator.onLine
(thanks @layflags!). Minor docs update (thanks @JayChetty).21.2.1
- Super minor tweak toappTimeBundle
to make it possible to overwriteDate.now()
after the app has started which can be useful to enable speeding up time for automated testing.21.2.0
- Added support for hash-based routing by passing in options object tocreateRouteBundle
(thanks [@olizilla]!).21.1.0
- Added support for Redux Dev Tools (thanks @aulneau!). Added CI. Added some notes for React Native users to docs (thanks @quarkcore).21.0.3
- Fix for bug in required options check in createAsyncResourceBundle (thanks @greggb). Minor simplification/cleanup ofcustom-apply-middleware.js
. (this was supposed to be21.0.2
but accidentally got published as21.0.3
:facepalm:)21.0.1
- Build with compress=false to avoid redux console warning and improve debugging experience.21.0.0
- Adding scroll restoration handling. (many browsers already handle this well by default, but not FF or IE 11). This handles scroll position internally in the url bundle if used, it also exports the scroll restoration helper functions so that they can be used directly as well.20.0.0
- Adding documentation site, wrote lots of docs and made mostly internal changes and bug fixes, can cause breakage if depending on action type names, or if usingcomposeBundlesRaw()
to handpick what's included.Changed all action types to be past-tense (so they don't sound like RPC calls). Action types should describe things that happened, not sound like they're causing things to happen. So in asyncCount instead of
START
,SUCCESS
,ERROR
it's nowSTARTED
,FINISHED
,FAILED
. In URL bundleUPDATE_URL
->URL_UPDATED
. In geolocation bundleREQUEST_GEOLOCATION_X
->GEOLOCATION_REQUEST_X
.All included bundles that require instantiation with a config are now named
createXBundle
for consistency. This includescreateGeolocationBundle
,createReactorBundle
,createCacheBundle
.Added lots of documentation to readme several of the included bundles.
Significant changes to
createAsyncResourceBundle
:actionBaseType
is now the noun, such asUSER
, from this we buildFETCH_USER_STARTED
,USER_EXPIRED
, etc.doMarkXAsStale
is nowdoMarkXAsOutdated
.Action type names updated to be past tense:
MAKE_STALE
->X_INVALIDATED
Added
doClearX
action creator and reducer case.Now takes 3 time-related settings:
staleAfter
,retryAfter
, andexpireAfter
.Support for
expireAfter
was added, theX_EXPIRED
action will be dispatched clearing the state.
Removed wonky batch dispatch quasi-middleware.
19.0.1
- Minor fix for WebWorkers (updating redux-persist-middleware dep).19.0.0
- Externalized caching lib as its own library called money-clip and the caching bundle now uses redux-persist-middleware to generate it's persistance middleware. Nothing huge changes other than importing caching lib from outside of bundler. I've updated redux-bundler-example for sample usage of caching bundle with money-clip. RenamedcacheBundle
->createCacheBundle
since it needs to be configured to be used. Removed unusednpm-watch
dev dependency.18.0.0
- RenamedselectCurrentComponent
->selectRoute
in create route bundle.17.1.1
- Fix bug whererequestAnimationFrame
was expected to exist when running inside a worker.17.1.0
- Export*
from redux in index.17.0.1
- Fix to ensure publishing/mapping to correct build files :facepalm:.17.0.0
- Switched to build with microbundle. Should address issues #5, #8. No longer pulling in redux-bundler version into build.16.1.1
- Ensure all output from selectors of included bundles is serializable.selectUrlObject()
in the url bundle was returning aURL
object instance. Now it just returns a plain object with all string properties from the URL object. Did this as bug fix release because it was always intended this way. In theory it could could be a breaking change, but odds are miniscule. Only if someone were doingselectUrlObject
then treating its resultingsearchParams
prop as aURLSearchParams
object and calling its methods instead of using one of the selectors that already exist for accessing query params.16.1.0
- Added.action()
method to store for calling an action creator by name (useful when wanting to proxy all actions to another object, such as a web worker)16.0.0
- First public release
Last updated