Skip to main content

FastStore - June 2022

ยท 4 min read

The FastStore UI now includes the Hero and Dropdown components. Also, the FastStore API was enhanced to better support page error handling. Global changes were also implemented to enable price range filtering on PLPs.

FastStore UIโ€‹

Heroโ€‹

  • ๐ŸŽ‰ New Hero component - #1336

    The Hero component is a full-width banner presented on the above-the-fold section of a web page. It serves as the first glimpse of your brand's identity and messaging.

    Hero component

AggregateRatingโ€‹

  • ๐ŸŽ‰ New AggregateRating component - #1386

OutOfStockโ€‹

  • โœจ OutOfStock's nested components now accept otherProps - #1341

    The OutOfStockTitle and OutOfStockMessage components now accept additional data attributes through the otherProps attribute.

Sliderโ€‹

  • โœจ Slider component enhanced - #1364

    The Slider component now accepts an initial state out of the min/max domain. Also, the onEnd callback function was added to enable triggering effects after user interaction.

FastStore APIโ€‹

VTEX Platformโ€‹

  • ๐ŸŽ‰ Request error handling functionality added - #1361

    The FastStore API now returns the proper page error code (400 or 404), allowing FastStore websites to respond to these errors accordingly.

  • ๐ŸŽ‰ Canonical PDP slugs added - #1338

    So that VTEX stores migrating to FastStore can work seamlessly, a 301 redirect between vtexSlug and fastStoreSlug was created, where:

    • vtexSlug: /{slug}/p
    • fastStoreSlug: ${slug}-${skuId}/p
  • โœจ Resolvers and types updated to allow price range filtering on PLPs - #1364

    The search query now receives price. Also, the StoreFacetRange, StoreFacetBoolean, StoreFacetValueRange, and StoreFacetValueBoolean types were created to allow price range filtering on PLPs.

  • ๐Ÿ› validateCart error for additionalProperties fixed - #1325

    The following error Field "propertyID" is not defined by type IStorePropertyValue., related to products with additionalProperties added to the cart, was fixed.

  • ๐Ÿ› AggregateOffer resolver fixed for selecting the best seller - #1350

    For SKUs sold by multiple sellers, the AggregateOffer resolver was not able to detect the best seller consistently. This issue was solved by making the AggregateOffer resolver return the lowest and highest prices according to the bestOfferFirst function.

  • ๐Ÿ› Test inconsistencies fixed - #1360

    Test inconsistencies were resolved to provide a development environment more similar to the production one.

  • ๐Ÿงน FastStore API mocks updated to use auto fuzzy - #1359

FastStore SDKโ€‹

  • ๐ŸŽ‰ Full support to Trade Policies now available - #1319

    The Session context provider now accepts a new function called onValidateSession, which calls the backend to validate the session. On any modification to the channel, such as logging in to the store, the session values (e.g., channel, person, language) are updated accordingly so the user can start browsing on the new session.

  • โœจ useSearchState updated to allow price range filtering on PLPs - #1364

    The new setState function was added to the useSearchState context. All other useSearchState functions were removed and exported as helper functions.

Documentationโ€‹

๐ŸŽ‰ Newโ€‹

โœจ Improvedโ€‹

Internalโ€‹

  • ๐ŸŽ‰ FastStore repository now uses Turborepo cache - #1330

  • ๐ŸŽ‰ FastStore repository now uses CodeQL analysis - #1331

  • โœจ Codesandbox CI improved - #1357

  • ๐Ÿงน Docs package removed from Codesandbox build - #1334

  • ๐Ÿงน Circular dependencies removed from FastStore SDK - #1333

  • ๐Ÿงน Purged unused CSS from the docs package - #1345

  • ๐Ÿงน Typescript errors fixed - #1352

  • ๐Ÿงน tsconfig package replaced by shared - #1379

  • ๐Ÿงน Eslint configs improved - #1368

  • ๐Ÿงน build script updated - #1362

  • ๐Ÿงน Prettier configured - #1369

  • ๐Ÿงน outdir added to all tsconfig - #1372

  • ๐Ÿงน Packages' module field updated - #1374