Build and deploy e-commerce progressive web apps in record time.
Full Guides, API Documentation, and Examples
All rights reserved.
- Added
anchorPropsto Link - Added analytics support for IE9+ via the addition of proxy-polyfill
- Added onSuccess prop to
Track - Prefetching now automatically resumes once page navigation is complete.
- Added
ProductModelBase.basePrice ProductModelBase.priceis now a view that returns thepriceof the selected size or, if not present, thebasePrice.ButtonSelectorcan now display a CSS color code instead of an image via the newcolorfield onOptionModelBaseButtonSelectorcan now be configured to display a strike through when disabled by settingstrikeThroughDisabled. The angle can be controlled viastrikeThroughAngle.
- Renamed to react-storefront and published on npmjs.org
- Routes now automatically fire pageView analytics events. The
trackhandler module has been removed - The new
<Track>component let's you track interactions with analytics declaratively. - CommerceAnalyticsTarget and all subclasses have been moved to a separate package called 'moov-pwa-analytics'
- Many methods of CommerceAnalyticsTarget have a new signature. All event methods now take a single options object. Please check your calls to methods on
react-storefront/analyticsto make sure they match the updated signatures. - Built in models in
react-storefront/modelno longer fire analytics events. Analytics events are only fired front components. - AMP analytics are now supported.
- You can now return state objects from
proxyUpstreamhandlers to render the PWA. Return null or undefined to render the proxied page.
- Skeletons are no longer fullscreen. Pages remain hidden while
app.loadingistrue, instead of being covered by the LoadMask/Skeleton.
- Pages now keeps one page of each type hidden in the DOM to make navigating back and forward much faster.
- AppModelBase.applyState has been optimized to minimize rerendering of observer components.
- ResponsiveTiles has been optimized to render faster.
-
Renamed Breadcrumbs component to BackNav. It no longer tags an array of breadcrumbs, it now takes a single url and text.
-
Created a new Breadcrumbs component for displaying multiple breadcrumbs.
- The request parameter passed to fromServer handlers has been refactored. The "path" property has been deprecated in favor of separate "pathname" and "search" properties.
- Added a new
UpdateNotificationcomponent that notifies the user when a new version of the app is available. - The service worker will now only load HTML from the cache when coming from AMP or when launching from the homescreen.
- Adds the ability to reuse product thumbnails as the main product image in the PDP skeleton when navigating from PLP to PDP.
- Fixed
Linkbug which formatted URL's incorrectly - Fixed issue where prefetched results are deleted when new SW is installed
- Added
SearchDrawer, which replacesSearchPopup.
- You can now perfect proxy and transform pages from the upstream site using the new
proxyUpstreamhandler. As a result, support forrequestHeaderTransform({ fallbackToAdapt: true })has been removed. Instead, simple add afallback(proxyUpstream())handler to your router.
- Improved error handling with react-redbox and sourcemapped stacktraces for server-side errors
- Added react error boundary to catch errors while rendering and display a component stack trace.
- Automatically relay
set-cookieheaders fromfetchcalls to upstream APIs when not caching on the server. - Added
fetchWithCookiesto automatically forward all cookies when calling upstream APIs.
- Support for moovsdk
- Refactored handler signature to
handler(params, request, response) - Renamed
ShowMoreButtontoShowMoreand addedinfiniteScrollprop - Functionality for moov_edge_request_transform, moov_edge_response_transform, moov_request_header_transform, index, and moov_response_header transform are not standardized in
platform/*modules. moov-react-dev-serveris no longer needed- new
ButtonSelectorcomponent for color and size selections - App state is automatically recorded in
window.history.stateso back and forward transitions are instantaneous. - AMP Form POST is now supported and multipart encoded request bodies are parsed automatically.
- Added
Skeletoncomponents for creating custom loading skeletons
To use your local copy of react-storefront when developing Moov PWA projects, in your clone of this repo, run:
yarn install
cd packages/react-storefront
yarn link
Then, in your project run:
yarn link react-storefront