Change Log
8.1.1
Patch Changes
Security vulnerability fixes across multiple packages
This change addresses critical security vulnerabilities identified in the dependency audit across several packages. The fixes primarily target dependency updates and security patches to resolve high and critical severity issues.
Before fix:
- 40 vulnerabilities found (Packages audited: 3081)
- Severity breakdown: 23 Low | 8 Moderate | 2 High | 7 Critical
After fix:
- 24 vulnerabilities found (Packages audited: 3115)
- Severity breakdown: 22 Low | 2 Moderate | 0 High | 0 Critical
Key improvements:
- Eliminated all 7 critical vulnerabilities
- Resolved 2 high severity vulnerabilities
- Reduced moderate vulnerabilities from 8 to 2
- Overall 40% reduction in total vulnerabilities (40 → 24)
The remaining low and moderate vulnerabilities are either false positives or require major version updates that would introduce breaking changes.
8.1.0
Minor Changes
- CHANGED BigCommerce GraphQL schema has been updated. No breaking changes were introduced, but some properties has been extended with optional fields and some properties has been deprecated.
Customer.addressCountis deprecated. UseCustomer.addresses.collectionInfo.totalItemsinstead.Customer.notesis deprecated. UseCustomer.metafields.edges.find(edge => edge.node.key === 'notes')?.node.valueinstead.GraphQLResponseis deprecated and will be removed in the next major version.GraphQLErroris deprecated and will be removed in the next major version.GraphQLDatais deprecated and will be removed in the next major version.
Patch Changes
- Updated dependencies:
- @vsf-enterprise/bigcommerce-types@3.1.0
8.0.1
Patch Changes
- FIXED An error:
TypeError: Cannot read properties of null (reading 'toLowerCase')when product condition is null/undefined. Before, the API would throw a TypeError when trying to call toLowerCase() on a null or undefined product condition value. Now, the API now gracefully handles null/undefined product conditions by checking for their existence before attempting to process them, preventing the TypeError from occurring. Additionally, the API now handles null/undefined product availability statuses and lack ofdisplayNamefor product options. The fix has been backported to version 7.0.1.
8.0.0
Major Changes
- CHANGED Guarantee compatibility with
@alokai/connectpackage. - CHANGED Updated the package for compatibility with Node.js 22.
Key Updates:
- Upgraded to the latest version of Node.js 22
- Updated CI pipelines to use Node.js 22 for consistency.
- Updated
.nvmrcor.node-versionfiles to specify Node.js version22.14. - Upgraded
@types/nodeto version^22.13.17for compatibility with the latest Node.js features.
Recommendations:
- Use Node.js version
22.14.0or higher for optimal performance, security, and compatibility. - While Node.js 20 is technically supported, it is not recommended as it may cause compatibility issues with certain packages and has not been thoroughly tested.
CHANGED Replaced core dependencies with a new
@alokai/connectpackage.@vue-storefront/middleware,@vue-storefront/sdk,vue-storefront/logger,vue-storefront/unified-data-model,@vue-storefront/multistorewere replaced with@alokai/connect. The replacement preserves the same functionality and interface as the original packages. To read more about the@alokai/connectpackage, please refer to the documentation.
Patch Changes
- Updated dependencies:
- @vsf-enterprise/bigcommerce-types@3.0.0
- @alokai/connect@1.0.0
8.0.0-rc.5
Patch Changes
- Updated dependencies:
- @alokai/connect@1.0.0-rc.4
8.0.0-rc.4
Major Changes
- CHANGED Updated the package for compatibility with Node.js 22.
Key Updates:
- Upgraded to the latest version of Node.js 22
- Updated CI pipelines to use Node.js 22 for consistency.
- Updated
.nvmrcor.node-versionfiles to specify Node.js version22.14. - Upgraded
@types/nodeto version^22.13.17for compatibility with the latest Node.js features.
Recommendations:
- Use Node.js version
22.14.0or higher for optimal performance, security, and compatibility. - While Node.js 20 is technically supported, it is not recommended as it may cause compatibility issues with certain packages and has not been thoroughly tested.
Patch Changes
- Updated dependencies:
- @vsf-enterprise/bigcommerce-types@3.0.0-rc.1
- @alokai/connect@1.0.0-rc.3
8.0.0-rc.3
Patch Changes
- Updated dependencies:
- @alokai/connect@1.0.0-rc.2
8.0.0-rc.2
Patch Changes
- Updated dependencies:
- @alokai/connect@1.0.0-rc.1
8.0.0-rc.1
Major Changes
Update packages to work with connect rc version
Patch Changes
- Updated dependencies:
- @vsf-enterprise/bigcommerce-types@3.0.0-rc.0
- @alokai/connect@1.0.0-rc.0
8.0.0-rc.0
Major Changes
CHANGED Replaced core dependencies with a new @alokai/connect package. @vue-storefront/middleware, @vue-storefront/sdk, vue-storefront/logger, vue-storefront/unified-data-model were replaced with @alokai/connect. The replacement preserves the same functionality and interface as the original packages. To read more about the @alokai/connect package, please refer to the documentation. You will also find a migration guide in the documentation.
7.0.1
Patch Changes
- FIXED An error:
TypeError: Cannot read properties of null (reading 'toLowerCase')when product condition is null/undefined. Before, the API would throw a TypeError when trying to call toLowerCase() on a null or undefined product condition value. Now, the API now gracefully handles null/undefined product conditions and lack ofdisplayNamefor product options.
7.0.0
Major Changes
CHANGE - Update middleware in packages to 5.1.0
6.2.0
Minor Changes
- ADDED new property
generateJwtPayloadto the configuration. It can be used to override the default payload generation for the JWT token. This is useful when you need to add custom claims to the JWT token. The function should return an object with the claims to be added to the JWT token.
export const integrations = {
commerce: {
location: "@vsf-enterprise/bigcommerce-api/server",
configuration: {
// ...
generateJwtPayload: ({
clientId,
storeHash,
channelId,
customerId,
redirectUrl,
}) => ({
iss: clientId,
iat: Math.round(Date.now() / 1000),
jti: uniqueId(), // unique identifier for the token
operation: "customer_login",
store_hash: storeHash,
channel_id: channelId,
customer_id: customerId,
customProperty: "custom",
// Other custom claims
}),
},
},
};
6.1.2
Patch Changes
FIXED: Fixed issue with missing check the edges in response from the Bigcommerce in getProductById method.
6.1.1
Patch Changes
- CHANGED Updated
jsonwebtokendependency from ^8.6.0 to ^9.0.0. This avoids CVE-2022-235from 39 to 41
6.1.0
Minor Changes
- ADDED The response of the
getProductByIdendpoint of the Bigcommerce integration will now include the correct values for the following response fields (if the product is a pre-order product): preorder_release_datepreorder_messageis_preorder_only
Before this change, the data returned in those fields was always unpopulated, as if the product was not a pre-order product - even if it in fact was a pre-order product in the Bigcommerce backend.
import { sdk } from "~/sdk.config.ts";
const product = await sdk.getProductById({ entityId: 77 });
console.log(product.data.preorder_release_date); // now includes populated pre-order data
Patch Changes
- Updated dependencies:
- @vsf-enterprise/bigcommerce-types@2.1.0
6.0.0
Major Changes
- BREAKING Updated
@vue-storefront/middlewareversion to4.1.0. Make sure this version is used in your project.
{
...
"dependencies": {
- "@vue-storefront/middleware": "3.x.x",
+ "@vue-storefront/middleware": "4.1.0"
}
}
5.0.2
Patch Changes
- FIXED: checkout url preparation. Previously, only
embedded_checkout_urlwas keeping user session. Now,checkout_urlkeeps the user session as well.
5.0.1
Patch Changes
Update node-fetch version from "2.6.7" to "^2.6.7" to allow easier audit fixes for end users Update axios to ^0.28.0 to mitigate security vulnerability CVE-2023-45857
5.0.0
Major Changes
- CHANGED Changed minimum Node version from 16 to 18. The condition that was forcing the Node version to be lower than 19 is also removed.
Patch Changes
- Updated dependencies:
- @vsf-enterprise/bigcommerce-types@2.0.0
4.0.0
Major Changes
- REMOVED
impersonateCustomermethod from available endpoints. It's an internal method and should not be used by the client. - CHANGED
getOrderparams are now obligatory.
- const orderResponse = await sdk.bigcommerce.getOrder();
+ const orderResponse = await sdk.bigcommerce.getOrder({ orderId: 123456 });
Patch Changes
- FIXED Return empty response in
getProductByIdwhen edges have length equal to zero. - ADDED Aliases for some methods:
addCouponis now an alias foraddCouponToCartmethod.deleteCouponis now an alias fordeleteCartCouponmethod.
- CHANGED
getCustomerSettingsby adding optional params that allow to get customer settings by channel id.
const getCustomerSettingsResponse = await sdk.bigcommerce.getCustomerSettings({
channel: 123456,
});
3.0.1
Patch Changes
- CHANGED The package now builds using the built-in types of the node-fetch package, rather than using @types/node-fetch
3.0.0
Major Changes
- CHANGED
Endpointsinterface. Previously, each endpoint containedcontextparam, which is internal and shouldn't be exposed in the final interface. Now,Endpointsinterface properties don't containcontextparam. If you need to usecontextparam, you should useApiMethodstype.
- import { Endpoints } from '@vsf-enterprise/commercetools-api';
+ import { ApiMethods } from '@vsf-enterprise/commercetools-api';
- CHANGED
ContextualizedEndpointstype. UseEndpointsinstead.
- import { ContextualizedEndpoints } from '@vsf-enterprise/commercetools-api';
+ import { Endpoints } from '@vsf-enterprise/commercetools-api';
- REMOVED several interfaces that are not being used anymore:
GetProductsMethodGetProductsWithFilterMethodGetProductByIdMethodGetProductsByIdMethodGetProductsByCategoryMethodGetCurrenciesMethodGetFiltersMethodGetCustomersMethodCreateCustomerMethodUpdateCustomerMethodLoginCustomerMethodLoginCustomerGqlMethodLogoutCustomerMethodUpdateCustomerFormFieldsMethodGetCustomerSettingsMethodGetProductReviewMethodGetProductReviewCollectionMethodGetCategoryMethodGetCategoryTreeMethodGetCategoryTreeGqlMethodCreateProductReviewMethodAddCartItemsMethodRemoveCartItemMethodUpdateCartItemMethodCreateCartMethodDeleteCartMethodGetCartMethodUpdateCartMethodCreateWishlistMethodGetAllWishlistsMethodAddWishlistItemsMethodRemoveWishlistItemMethodDeleteWishlistMethodValidateCredentialsMethodCreateCustomerAddressMethodDeleteCustomerAddressMethodGetCustomerAddressMethodUpdateCustomerAddressMethodGetOrdersMethodGetOrderMethodGetOrderProductsMethodGetOrderShippingAddressesMethodGetOrderByCartMethodGetStoreMetaMethodGetSiteMethodGetChannelMethodGetOrdersWithDetailsMethodAddCouponMethodDeleteCouponMethod
- REMOVED
createSite,createSiteRouteandcreateChannelmethods.
2.13.4
Patch Changes
- FIXED
getProductsfunction was reworked to useidorid:inparameters exclusively. Previously, if onlyidwas provided, the function was also usingid:inparameter with default value which was causing issues with the set of products returned. Now, ifidis provided,id:inparameter is not used,idhas higher priority as it is more specific. If neitheridnorid:inis provided, the function will return products that belong to the currently selected channel.
2.13.3
Patch Changes
- FIXED Add missing
minPurchaseQuantityandmaxPurchaseQuantityproperties to the product response. GraphQL endpoints getProductById and getProductsById was not returning theminPurchaseQuantityandmaxPurchaseQuantityproperties of a product. Fixed endpoints:getProductById,getProductsById,getProductsByCategoryandgetProductsWithFilter.
2.13.2
Patch Changes
- CHANGED
BigcommerceIntegrationContextinterface. It has been standarized by removingreqdefinition from it. Previously it was defined to includex-bigcommerce-channel-idin the request headers. Now, it's no longer necessary. It's not the breaking change asreq.headersis still available in the context. - CHANGED
IncomingHttpHeadersWithChannelIdinterface has been deprecated. - CHANGED
IncommingMessageWithExtendedHeadersinterface has been deprecated.
2.13.1
Patch Changes
- fac25ca: FIXED Fixed an issue where product variants'
defaultImagewas not returned when using thegetProductByIdmethod of the integration.
2.13.0
Minor Changes
- cefe8e6: Add 'getCategoryTreeGql' method to fetch category tree from BigCommerce via GraphQL. The response is enriched with a 'productCount' field that contains the number of products in each category comparing to the REST
getCategoryTreemethod.
Patch Changes
- Updated dependencies cefe8e6
- @vsf-enterprise/bigcommerce-types@1.5.0
2.12.0
Minor Changes
- 93ebb8f: Added possibility to send cookie-independent requests via SDK to integration's GET endpoints in order to cache their response
Patch Changes
- Updated dependencies 93ebb8f
- @vsf-enterprise/bigcommerce-types@1.4.0
2.11.1
Patch Changes
- Fix an issue where the 'path' GraphQL property was not properly mapped to its corresponding custom URL in the API response.
2.11.0
Minor Changes
- Bumped
@vue-storefront/middlewareversion to^3.5.0which introduces support for HTTP GET requests.
2.10.0
Minor Changes
- Added "deleteCoupon" Endpoint Functionality:
- Introduced a new API endpoint in the api package to facilitate coupon deletion.
- Implemented a corresponding client method in the SDK package for seamless interaction.
- Expanded the types package with necessary data structures to support this feature.
Patch Changes
- Updated dependencies [
bdfe3b3]:- @vsf-enterprise/bigcommerce-types@1.3.0
2.9.0
Minor Changes
- Added "addCoupon" Endpoint Functionality:
- Introduced a new API endpoint in the api package to facilitate coupon addition.
- Implemented a corresponding client method in the SDK package for seamless interaction.
- Expanded the types package with necessary data structures to support this feature.
Patch Changes
- Updated dependencies [
d5150d2]:- @vsf-enterprise/bigcommerce-types@1.2.0
2.8.2
Patch Changes
- chore: updateCustomer add customer settings global login
2.8.1
Patch Changes
- Fix an issue where validateCredentials() (used when updating customer and logging in) would immediately retry if the preceding request failed with 429 Too Many Requests. A fallback value of 3s before retry was added.
- Export Endpoints as interface rather than type in TypeScript. After this change, adding new middleware methods to the integration typedefs using
declare moduleshould again be possible.
2.8.0
Minor Changes
- feat: added secureOrderAPIs config for order apis
Patch Changes
- Updated dependencies [
5cbb3c7]:- @vsf-enterprise/bigcommerce-types@1.1.0
2.7.0
Minor Changes
- add node18 (>= 16 < 19) support
- Adjusted the bigcommerce integration to work with
@vsf-enterprise/multistore
2.6.1
Patch Changes
- Update vsf package versions to stable versions
2.6.0
Please note that from 2.6.0 imports such as import { CurrencyCode } from '@vsf-enterprise/bigcommerce-api/lib/types/graphql/schema' need to be changed so that they import types from @vsf-enterprise/bigcommerce-types.
Minor Changes
- fixed JS error in the updateCustomerAddress endpoint where destructuring was made on a variable that can be undefined. added a new updateCustomerAddress method for the sdk
- Applied the fix to disable the redirect to the unexisting route account.php, update login method to return customer token, added login and updateCart methods to the SDK
- Created a new graphql login customer mutation endpoint which should not have a rate limiter set on BigCommerce and support high user traffic.
- api package: fixed issue with unauthenticated users being able to create new carts for existing users, performLogin now returns a user token; sdk package: cart methods and integration tests
- addCartItems method for the sdk, updated nock output, corrections for updateCart integration tests
Patch Changes
- Removing the SSO URL fetch from the login mechanism as it was only used to keep the authenticated state on the checkout. The SSO login was also performed as part of the load of the embedded checkout, making the two calls redundant.
- Updated the generated documentation for the BigCommerce, formatted and added the entire documentation for the sdk. Changed SDK methods from arrow functions to function declarations.
- Updated dependencies
- @vsf-enterprise/bigcommerce-types@1.0.0
2.5.0
Minor Changes
- Created a new graphql login customer mutation endpoint which should not have a rate limiter set on BigCommerce and support high user traffic.
Patch Changes
- Removing the SSO URL fetch from the login mechanism as it was only used to keep the authenticated state on the checkout. The SSO login was also performed as part of the load of the embedded checkout, making the two calls redundant.
2.5.0-rc.1
Minor Changes
- Created a new graphql login customer mutation endpoint which should not have a rate limiter set on BigCommerce and support high user traffic.
2.4.7-rc.0
Patch Changes
- 9ab80044: Removing the SSO URL fetch from the login mechanism as it was only used to keep the authenticated state on the checkout. The SSO login was also performed as part of the load of the embedded checkout, making the two calls redundant.
2.4.6
Patch Changes
- It should now be possible to unset a user's phone number using
updateCustomerProfile() - add getOrderWithDetails endpoint to middleware; it allows getting orders using cart ID
- Update docs for getProductById to mention the include* params (modifiers, options), added in 2.4.4 and updated in 2.4.5
- getProductsById (plural) now returns the first 50 custom fields of a product. Additionally, each variant now returns the first 50 product options (IN-3309)
All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
2.4.4
In this release, we further improved on 2.4.3 by creating a new middleware method that makes sure:
- tax is included in variant prices,
- price data is properly fetched from BigCommerce,
- product options are returned,
- product modifiers are returned,
- paginated product variants are returned (see
variantAfterandvariantLimitproperties ongetProductById()method)
To use the new method, call $bigcommerce.api.getProductById().
2.4.3
In this release, we have included fixes so that:
- tax is included in product prices (but not variants),
- retail price is returned for a product,
- sale price is returned for a product.
Please use 2.4.4 instead of this release.
2.4.2
In this release, we fixed an issue with adding channel_id and origin_channel_id to create user requests when allow_global_logins is set to true.
2.4.1
In this release, we added a missing options and variants to the response of getProductsById API endpoint.
2.4.0 (2023-03-03)
In this release, we:
- added multi-currency support,
- added a guide describing multi-currency usage in BigCommerce integration.
Migration guide
To achieve the responses in specific currency:
- add
currencyCodeparam to thegetProductsByIdAPI endpoint, - add
currencyCodeparam to thegetProductsWithFilterAPI endpoint, - add
currencyCodeparam to thegetProductsByCategoryAPI endpoint,
To get the list of available currencies:
- use the
getCurrenciesAPI endpoint - use the
getChannelAPI endpoint with{ include: 'currencies' }parameter.
Features
- in-2432: added endpoint to update cart currency (#684) (2b03e64)
- in-2514: create endpoint to get all currencies (#688) (e4e89b5)
- remove theme from the monorepo (2806520)
2.3.0 (2023-01-04)
Introduction
In this release, we:
- fixed a bug that keeps the user session active after logging out,
- added an option to customize
cookie_optionsby modifyingmiddleware.config.js.
Migration guide
To customize cookie_options, simply add this information to middleware.config.js like this:
# middleware.config.js
module.exports = {
integrations: {
bigcommerce: {
location: '@vsf-enterprise/bigcommerce-api/server',
configuration: {
...
+ cookie_options: {
+ 'customer-data': {
+ httpOnly: true,
+ secure: true,
+ sameSite: 'strict'
+ }
+ },
// @deprecated
secureCookies: process.env.NODE_ENV === 'production'
}
}
}
};
The only available cookie to customize is customer-data and its options by default are set to:
{
httpOnly: true,
secure: true,
sameSite: 'strict'
}
Bug Fixes
- add api-extractor workaround for export as (#655) (031a254)
- add rimraf to api-client devDependencies (5d1d52d)
- in-1703: bigcommerce logout logic (#677) (51bc856)
- in-1717: add missing variants (#669) (5c9476d)
Features
- in-678: add caching to graph ql endpoint (#648) (8e2f3d0), closes #652
- in-684: added integration test (#649) (37196e5)
- separated middleware for multiple domains (fc2f616)
Reverts
2.2.1 (2022-12-08)
Introduction
In this release, we fixed a bug with missing product information on GraphQL filtered product response.
Bug Fixes
- add api-extractor workaround for export as (#655) (031a254)
- add rimraf to api-client devDependencies (5d1d52d)
- in-1717: add missing variants (#669) (5c9476d)
Features
- in-678: add caching to graph ql endpoint (#648) (8e2f3d0), closes #652
- in-684: added integration test (#649) (37196e5)
Reverts
2.2.0 (2022-11-29)
Introduction
In this release, we improved the backend performance for retrieving filters by adding caching on the server side.
Migration guide
Caching on the server side is a non-breaking change, migration describes only a way of caching customization.
middleware.config.js file
We added 2 properties to configuration that allow customization of the cache:
sdkSettings.graphqlMaxRetry- number of API call retries when there is no response from BigCommerce GraphQL API (3 retries by default),stdTTL- cache standard Time To Live (1 day by default).
# middleware.config.js
module.exports = {
integrations: {
bigcommerce: {
location: '@vsf-enterprise/bigcommerce-api/server',
configuration: {
sdkSettings: {
logLevel: 'info',
clientId: process.env.BIGCOMMERCE_API_CLIENT_ID,
secret: process.env.BIGCOMMERCE_API_CLIENT_SECRET,
callback: process.env.BIGCOMMERCE_API_URL,
storeHash: process.env.BIGCOMMERCE_STORE_ID,
accessToken: process.env.BIGCOMMERCE_API_ACCESS_TOKEN,
guestToken: process.env.BIGCOMMERCE_STORE_GUEST_TOKEN,
responseType: 'json',
headers: { 'Accept-Encoding': '*' },
+ graphqlMaxRetry: Number(process.env.GRAPHQL_MAX_RETRY)
},
jwtTokenExpirationDays: 2,
+ stdTTL: 86400,
secureCookies: process.env.NODE_ENV === 'production'
}
}
}
};
Bug Fixes
- add api-extractor workaround for export as (#655) (031a254)
- add rimraf to api-client devDependencies (5d1d52d)
Features
- in-678: add caching to graph ql endpoint (#648) (8e2f3d0), closes #652
- in-684: added integration test (#649) (37196e5)
2.1.0 (2022-11-03)
Introduction
In this release, we added a filtering feature on category page. To add this feature, we:
- added a new
useFilterscomposable, - added a new
filtermethod touseProductcomposable, - added a new
FilterSidebarcomponent, - modified
usePaginationcomposable to support filters pagination, - added new
Sort byoptions - fixed an issue with
getFacetsFromURLmethod ofuseUIHelperscomposable, - added a filters guide showing how to implement filtering feature in existing projects.
Filters guide
All necessary information, including how to use new composables, methods and component can be found in our Filters guide.
Migration guide
New useFilters composable
To be able to load available filters, you should add useFilters compsable and its types to your composables/ directory.
Implementation:
// composables/useFilters/index.ts
import { useContext, ref } from "@nuxtjs/composition-api";
import { useLogger } from "~/composables/useLogger";
import { GetFiltersParameters, GraphQL } from "@vsf-enterprise/bigcommerce-api";
import { UseFilterErrors, UseFilterInterface } from "./types";
/**
* @public
*
* Allows loading filters available for products.
*
* See the {@link UseFilterInterface} for a list of methods and values available in this composable.
*/
export function useFilters(): UseFilterInterface {
const { $bigcommerce } = useContext();
const { Logger } = useLogger();
const loading = ref(false);
const error = ref<UseFilterErrors>({
load: null,
});
const load = async (
params: GetFiltersParameters,
): Promise<GraphQL.SearchProductFilterConnection> => {
try {
loading.value = true;
error.value.load = null;
return await $bigcommerce.api.getFilters(params);
} catch (err) {
Logger.error("useFilters/load", err);
error.value.load = err;
} finally {
loading.value = false;
}
};
return {
load,
loading,
error,
};
}
Types:
// composables/useFilters/types/index.ts
import { Ref } from "@nuxtjs/composition-api";
import { GraphQL, GetFiltersParameters } from "@vsf-enterprise/bigcommerce-api";
/**
* `useFilters` composable errors.
*/
export interface UseFilterErrors {
/**
* Errors occurred during `load` action.
*/
load: Error;
}
/**
* Data and methods returned from the {@link useFilters|useFilters()} composable
*/
export interface UseFilterInterface {
/**
* Contains errors from the composable methods.
*/
error: Ref<UseFilterErrors>;
/**
* Indicates whether any of the methods is in progress.
*/
loading: Ref<boolean>;
/**
* load filters.
*/
load: (
params: GetFiltersParameters,
) => Promise<GraphQL.SearchProductFilterConnection>;
}
Remember to export implementation from composables/index.ts and types from composables/types.d.ts files:
// composables/index.ts
...
+ export { useFilters } from './useFilters';
...
// composables/index.ts
...
+ export * from './useFilters/types';
...
New method of useProduct composable
To be able to filter products, you should add new filter method to useProduct composable.
// composables/useProduct/index.ts
+ const filter = async (
+ params: GetProductsWithFilterParameters
+ ): Promise<ProductsResponse> => {
+ try {
+ loading.value = true;
+ error.value.filter = null;
+
+ return await $bigcommerce.api.getProductsWithFilter(params);
+ } catch (err) {
+ Logger.error('useProduct/filter', err);
+ error.value.filter = err;
+ } finally {
+ loading.value = false;
+ }
+ };
and it's types:
// composables/useProduct/types/index.ts
export interface UseProductInterface {
/**
* Contains errors from the composable methods.
*/
error: Ref<UseProductErrors>;
/**
* Indicates whether any of the methods is in progress.
*/
loading: Ref<boolean>;
/**
* Searches for products.
*/
search: (params: GetProductsParameters) => Promise<ProductsResponse>;
+ /**
+ * Filters products.
+ */
+ filter: (params: GetProductsWithFilterParameters) => Promise<ProductsResponse>
}
Modification of usePagination
Filtered products response includes pageInfo property that should be handeled by usePagination composable.
Implementation:
export const usePagination = (
collection: PaginatedCollection
): UsePaginationInterface => {
const { $config } = useContext();
const defaultPagination = {
currentPage: 1,
totalPages: 1,
totalItems: 1,
- itemsPerPage: 1,
+ itemsPerPage: $config.theme?.itemsPerPage?.[0] || 1,
pageOptions: $config.theme?.itemsPerPage
};
const pagination = computed(() =>
getPagination(collection.value?.meta, defaultPagination)
);
+ const pageInfo = computed(() => collection.value?.meta?.pageInfo);
return {
pagination,
+ pageInfo
};
};
New types:
export interface UsePaginationInterface {
/**
* Computed pagination.
*/
pagination: ComputedRef<GetPaginationResponse>;
+ /**
+ * Computed page info.
+ */
+ pageInfo: ComputedRef<MetaCollection['pageInfo']>;
}
Helpers:
export function getPagination(meta: MetaCollection, defaults: GetPaginationResponse): GetPaginationResponse {
return {
currentPage: meta?.pagination?.current_page ?? defaults.currentPage,
totalPages: meta?.pagination?.total_pages ?? defaults.totalPages,
- totalItems: meta?.pagination?.total ?? defaults.totalItems,
+ totalItems: meta?.pagination?.total ?? meta?.totalItems ?? defaults.totalItems,
itemsPerPage: meta?.pagination?.per_page ?? defaults.itemsPerPage,
pageOptions: defaults.pageOptions
};
}
Using categorySlug of useUIHelpers composable
Previously, when loading the categorySlug from getFacetsFromURL, categorySlug was not reactive. This was
// Old usage
const { getFacetsFromURL } = useUIHelpers();
const { categorySlug } = getFacetsFromURL();
To make it reactive, we changed useUIHelpers implementation like this:
...
export function useUiHelpers(): UseUiHelpersInterface {
const { $config } = useContext();
const route = useRoute();
const router = useRouter();
+ const categorySlug = computed(() => {
+ return `/${route.value.path.split('/c/').pop()}${
+ /\/$/.test(route.value.path) ? '' : '/'
+ }`;
+ });
const getFiltersDataFromUrl = (onlyFilters) => {
const { query } = route.value;
return Object.keys(query)
.filter((f) =>
onlyFilters ? !nonFilters.includes(f) : nonFilters.includes(f)
)
.reduce(reduceFilters(query), {});
};
const getFacetsFromURL = () => {
const { query } = route.value;
- const categorySlug = `/${path.split('/c/').pop()}${
- /\/$/.test(path) ? '' : '/'
- }`;
return {
- categorySlug,
page: parseInt(query.page as string, 10) || 1,
sort: query.sort,
direction: query.direction,
filters: getFiltersDataFromUrl(true),
itemsPerPage:
parseInt(query.itemsperpage as string, 10) ||
$config.theme?.itemsPerPage?.[0] ||
20,
term: query.term
};
};
...
+ const changeFilters = (filters: Record<string, string[]> = {}) => {
+ /**
+ * Remove empty filter values from query.
+ */
+ const query = Object.fromEntries(
+ Object.entries(filters).filter(([_, value]) => value.length > 0)
+ );
+
+ router.push({
+ query
+ });
+ };
+ const getFilterFromUrlAsArray = (filterFromUrl: QueryItem) => {
+ if (!filterFromUrl) {
+ return [];
+ }
+
+ return Array.isArray(filterFromUrl) ? filterFromUrl : [filterFromUrl];
+ };
...
return {
+ categorySlug,
getFacetsFromURL,
changeSorting,
changeFilters,
changeItemsPerPage,
formatDateString,
getFilterFromUrlAsArray
};
}
Sort by options
Filtering feature requires other values for sorting products, they can be modified in themeConfig.js file:
productsSortOptions: [
// Rest API sort-by options, used with `search` method of `useProduct` composable
- { label: 'Latest', id: 1, value: { sort: 'id', direction: 'desc' } },
- { label: 'Oldest', id: 2, value: { sort: 'id' } },
- { label: 'Name: A to Z', id: 3, value: { sort: 'name' } },
- {
- label: 'Name: Z to A',
- id: 4,
- value: { sort: 'name', direction: 'desc' }
- },
// GraphQL API sort-by options, used with `filter` method of `useProduct` composable
+ { label: 'Featured', id: 1, value: { sort: 'FEATURED' } },
+ { label: 'Relevance', id: 2, value: { sort: 'RELEVANCE' } },
+ { label: 'Best selling', id: 3, value: { sort: 'BEST_SELLING' } },
+ { label: 'Best reviewed', id: 4, value: { sort: 'BEST_REVIEWED' } },
+ { label: 'Newest', id: 5, value: { sort: 'NEWEST' } },
+ { label: 'Name: A to Z', id: 6, value: { sort: 'A_TO_Z' } },
+ { label: 'Name: Z to A', id: 7, value: { sort: 'Z_TO_A' } },
+ {
+ label: 'Price from high to low',
+ id: 8,
+ value: { sort: 'HIGHEST_PRICE' }
+ },
+ { label: 'Price from low to high', id: 9, value: { sort: 'LOWEST_PRICE' } }
],
New FilterSidebar component
You can start building your FilterSidebar component based on the example that we used in our template
<template>
<LazyHydrate when-idle>
<SfSidebar
:visible="isFilterSidebarOpen"
class="sidebar-filters"
data-testid="mobile-sidebar"
@close="toggleFilterSidebar"
>
<span v-if="filtersLoading" class="filters__loading-title">
{{ $t('Loading filters') }}...
</span>
<template v-else-if="areFiltersAvailable && !filtersLoading">
<SfAccordion class="filters-accordion smartphone-only">
<SfAccordionItem
key="filter-title-colors"
header="Color"
class="filters-accordion-item filters-accordion-item__colors"
v-if="colors.length > 0"
>
<SfColor
v-for="color of colors"
:key="color.value"
:color="color.value"
:selected="filters.color === color.value"
class="filters-item__colors"
@click="setSelectedColor(color.value)"
/>
</SfAccordionItem>
<SfAccordionItem
key="filter-title-sizes"
header="Size"
class="filters-accordion-item"
v-if="sizes.length > 0"
>
<SfFilter
v-for="size in sizes"
:key="size.value"
:label="size.value"
:count="size.productCount"
:selected="filters.size === size.value"
class="filters-item__sizes"
@change="setSelectedSize(size.value)"
/>
</SfAccordionItem>
</SfAccordion>
<div v-if="colors.length > 0" class="filters-container desktop-only">
<SfHeading
:level="4"
:title="$t('Color')"
class="filters-title__colors"
/>
<div class="filters-content__colors filters-content">
<SfColor
v-for="color of colors"
:key="color.value"
:color="color.value"
:selected="filters.color.includes(color.value)"
class="filters-item__colors"
@click="setSelectedColor(color.value)"
/>
</div>
</div>
<div v-if="sizes.length > 0" class="filters-container desktop-only">
<SfHeading
:level="4"
:title="$t('Size')"
class="filters-title__sizes"
/>
<div class="filters-content__sizes filters-content">
<SfFilter
v-for="size in sizes"
:key="size.value"
:label="size.value"
:count="size.productCount"
:selected="filters.size.includes(size.value)"
class="filters-item__sizes"
@change="setSelectedSize(size.value)"
/>
</div>
</div>
</template>
<span v-else class="filters__empty-title">
{{ $t('No filters are available now.') }}
</span>
<template #content-bottom>
<div class="filters__buttons">
<SfButton
class="sf-button--full-width"
:aria-label="$t('Apply filters')"
@click="applyFilter"
>
{{ $t('Done') }}
</SfButton>
<SfButton
class="sf-button--full-width filters__button-clear"
:aria-label="$t('Clear filters')"
@click="resetFilter"
>
{{ $t('Clear All') }}
</SfButton>
</div>
</template>
</SfSidebar>
</LazyHydrate>
</template>
<script lang="ts">
import {
computed,
defineComponent,
onMounted,
reactive,
ref,
watch
} from '@nuxtjs/composition-api';
import LazyHydrate from 'vue-lazy-hydration';
import {
SfAccordion,
SfMenuItem,
SfList,
SfLoader,
SfHeading,
SfColor,
SfSidebar,
SfFilter,
SfButton
} from '@storefront-ui/vue';
import { GraphQL } from '@vsf-enterprise/bigcommerce-api';
import { useUiHelpers, useUiState, useFilters } from '~/composables';
import { useCategoryTreeStore } from '~/stores';
export default defineComponent({
components: {
LazyHydrate,
SfAccordion,
SfFilter,
SfList,
SfHeading,
SfMenuItem,
SfLoader,
SfColor,
SfSidebar,
SfButton
},
transition: 'fade',
setup() {
const { load, loading: filtersLoading } = useFilters();
const {
categorySlug,
changeFilters,
getFacetsFromURL,
getFilterFromUrlAsArray
} = useUiHelpers();
const { isFilterSidebarOpen, toggleFilterSidebar } = useUiState();
const categoryTreeStore = useCategoryTreeStore();
const { filters: filtersFromUrl } = getFacetsFromURL();
const filters = reactive<{
color: string[];
size: string[];
}>({
color: getFilterFromUrlAsArray(filtersFromUrl.color),
size: getFilterFromUrlAsArray(filtersFromUrl.size)
});
const categorizedFilters = ref({});
const categoryId = computed(() => {
const category = categoryTreeStore.listOfRootBranches.find((item) =>
item.url.includes(categorySlug.value)
);
if (!category) return null;
return category.id;
});
async function fetchAvailableFilters() {
if (!categoryId.value || categorizedFilters.value[categoryId.value]) {
return;
}
const raw = await load({
filters: {
categoryEntityId: categoryId.value
}
});
categorizedFilters.value = {
...categorizedFilters.value,
[categoryId.value]: raw.edges.map((item) => item.node)
};
}
onMounted(() => fetchAvailableFilters());
watch(categorySlug, () => {
fetchAvailableFilters();
});
const currentFilters = computed(() => {
const currentCategoryFilters = categorizedFilters.value[categoryId.value];
if (!currentCategoryFilters) {
return { color: [], size: [] };
}
const allAttributesFilters: GraphQL.ProductAttributeSearchFilter[] =
currentCategoryFilters.filter((item) => Boolean(item.attributes));
return allAttributesFilters.reduce(
(obj, item) => {
obj[item.name.toLowerCase()] =
item.attributes.edges.map((item) => item.node) ?? [];
return obj;
},
{ color: [], size: [] }
);
});
const areFiltersAvailable = computed(
() =>
currentFilters.value.color.length > 0 ||
currentFilters.value.size.length > 0
);
function resetFilter() {
filters.color = [];
filters.size = [];
changeFilters();
toggleFilterSidebar();
}
function applyFilter() {
if (areFiltersAvailable.value) {
changeFilters({ color: filters.color, size: filters.size });
}
toggleFilterSidebar();
}
function setSelectedColor(color: string) {
if (filters.color.includes(color)) {
filters.color = filters.color.filter((item) => color !== item);
} else {
filters.color.push(color);
}
}
function setSelectedSize(size: string) {
if (filters.size.includes(size)) {
filters.size = filters.size.filter((item) => size !== item);
} else {
filters.size.push(size);
}
}
return {
filtersLoading,
colors: computed(() => currentFilters.value.color),
sizes: computed(() => currentFilters.value.size),
filters,
isFilterSidebarOpen,
areFiltersAvailable,
toggleFilterSidebar,
applyFilter,
resetFilter,
setSelectedColor,
setSelectedSize
};
}
});
</script>
<style lang="scss" scoped>
.sf-heading__title {
text-align: left;
display: block;
}
.list {
&__item {
.nuxt-link-exact-active {
text-decoration: underline;
}
}
}
.filters {
&__buttons {
margin: var(--spacer-sm) 0;
}
&__button-clear {
--button-background: var(--c-light);
--button-color: var(--c-dark-variant);
margin: var(--spacer-xs) 0 0 0;
}
}
.filters-container {
&:not(:first-of-type) {
margin-top: var(--spacer-lg);
}
}
.filters-content {
margin-top: var(--spacer-sm);
&__colors {
display: flex;
}
}
.filters-item {
&__colors {
margin: var(--spacer-xs);
margin-top: 0;
}
}
.filters-accordion-item {
&__colors {
::v-deep .sf-accordion-item__content {
display: flex;
}
}
}
::v-deep .sf-sidebar {
&__aside {
z-index: 3;
}
}
</style>
Features
- in-10: added useFilter composable (#644) (eda5bb9)
- in-7: added get filters api (#643) (3b0a7a4)
- in-8: filters sidebar component (#646) (267ee87), closes #647 #650
2.0.1 (2022-10-10)
Introduction
In this release, we fixed an issue with logging in on multiple domains with separated middleware.
Bug Fixes
Reverts
2.0.0 (2022-09-09)
Alokai for BigCommerce v2.0.0 contains backward-incompatible changes.
Introduction
In this release, we:
- added support for BigCommerce's multi-storefront feature (see Multi-storefront overview for more information),
- changed the way of using and deploying our middleware (see Separate Middleware for more information),
- reduced and simplified configuration steps of BigCommerce instance,
- moved the logic of
@vsf-enterprise/bigcommercepackage to the theme composables, - reduced the code complexity and improved performance,
- updated StorefrontUI version to
v0.13.3
Backward-incompatible changes
Crucial breaking changes in the v2.0.0 compared to the v1.3.0 release.
| What has changed | How it has changed |
|---|---|
@vue-storefront/core package | Package was removed from the dependences, features (that were being used in the integration) was moved to the theme. |
Logger of @vue-storefront/core package | Loger is now available with usage of useLogger composable. |
onSSR of @vue-storefront/core package | Instead of onSSR, now useAsync and useFetch from @nuxtjs/composition-api are being used. |
sharedRef of @vue-storefront/core package | Global state management with sharedRef was replace by Pinia |
| Routes | Routes looks the same, but are no longer defined in @vue-storefront/core package, they are included in nuxt.config.js file now. |
@vsf-enterprise/bigcommerce package | @vsf-enterprise/bigcommerce package was removed from the dependences, features and logic and interfaces has been changed and moved to the theme. |
useCart of @vue-storefront/core package | useCart has been moved to the theme, see useCart composable. for more information. |
useCategory of @vue-storefront/core package | useCategory has been merged with useCategoryTree, see useCategory composable. for more information. |
useCategoryTree of @vue-storefront/core package | useCategoryTree has been merged with useCategory, see useCategory composable. for more information. |
useGuestWishlist of @vue-storefront/core package | useGuestWishlist has been moved to the theme, see useGuestWishlist composable. for more information. |
useProduct of @vue-storefront/core package | useProduct has been moved to the theme, see useProduct composable for more information. |
useReview of @vue-storefront/core package | useReview has been moved to the theme, see useReview composable. for more information. |
useUser of @vue-storefront/core package | useUser has been moved to the theme, see useUser composable for more information. |
useUserOrder of @vue-storefront/core package | useUserOrder has been moved to the theme, see useOrder composable for more information. |
useUserOrderByCart of @vue-storefront/core package | useUserOrderByCart has been moved to the theme, see useSearchOrderByCart composable for more information. |
useUserOrderProducts of @vue-storefront/core package | useUserOrderProducts has been moved to the theme, see useOrderProducts composable for more information. |
useUserShipping of @vue-storefront/core package | useUserShipping has been moved to the theme, see useUserShipping composable for more information. |
useWishlist of @vue-storefront/core package | useWishlist has been moved to the theme, see useWishlist composable for more information. |
useCartData composable | Cart helpers can now be imported from ~composables/useCart/helpers. |
useCategoryData composable | Category helpers can now be imported from ~composables/useCategory/helpers. |
useFacetData composable | useFacetData has been refactored and renamed to useSortOptions. |
useOrderData composable | Order helpers can now be imported from ~composables/useOrder/helpers. |
usePaginationData composable | usePaginationData has been refactored and renamed to usePagination. |
useProductData composable | Product helpers can now be imported from ~composables/useProductData/helpers |
useReviewData composable | Review helpers can now be imported from ~composables/useReview/helpers |
useUserShippingData composable | Shipping helpers can now be imported from ~composables/useUserShipping/helpers |
useUserShippingData composable | Shipping helpers can now be imported from ~composables/useUserShipping/helpers |
Composables in theme may have different interfaces, despite of the same name. See List of composables for more information about the new interfaces.
Project configuration
See Configuring BigCommerce and Configuring Alokai for complex configuration information.
If you're migrating from v1.3.0, you need to adjust project configuration. The only breaking change here is adding new environment variables:
DEFAULT_CHANNEL_ID- Channel of the default storefront. This value was previously calledBIGCOMMERCE_CHANNEL_IDAPI_BASE_URL- Link to the API, see Separate Middleware for more information.
Following environment variables are not being used anymore:
BIGCOMMERCE_CHANNEL_IDBIGCOMMERCE_DEVTOOLS_APP_CLIENT_IDBIGCOMMERCE_DEVTOOLS_APP_CLIENT_SECRETBIGCOMMERCE_STORE_URL
There are no breaking changes that require updates to your BigCommerce instance, however we encourage you to follow the steps from the Configure Content-Security-Policy Header guide, which is necessary to set up multi-storefront capabilities.
Bug Fixes
- api on auth using deprecated format of customerId (#542) (802ff77)
- api-client: missing comma (#451) (bef33ba)
- bc-456: fix store meta and category jest and type issue (#450) (bddc055)
- bc-515: develop order products are not visible for guest users (#516) (e04339a)
- bc-585: default variant (#551) (7d73d5b)
- BC-612: separate users by storefrotns (#581) (133c38e)
- bc-639: add await for logout (#616) (14ca79f)
- modify ChannelAssignment type and remove useReview from vsf-enterprise (#475) (f82cc91)
Features
- add api-extractor for theme package (#525) (329f85c)
- bc-324: added support for getChannel api (#434) (3008426)
- bc-325: current storefront information (#457) (a36e699)
- bc-329: modify products API + composable to meet multi-storefront requirements (#449) (688876e)
- BC-331: modify category tree api to meet multi storefront requirements (#445) (1234a67)
- BC-394: added API storefront seo settings (#444) (658396c)
- bc-461: header for storefront (#455) (9afae03)
- bc-476: get channel site (#477) (adedf49)
- bc-480: added getCustomerSettings (#521) (7da3169)
- middleware separation (#479) (3dc09c6)
- separate middleware on 2.0.0 (7a68423)
- setup script (#428) (393f68b)
1.3.0 (2022-05-24)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- catch iframe error on checkout page (#219) (b17a4fa)
- check the disabled eslint lines (#227) (d981c0a)
- checkout redirect on first load issue (#245) (10f264c)
- correcting redirect_url for embedded checkout (#201) (93cdb79)
- correcting the checkout url to absolute (#204) (c6a398c)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- error message on invalid login credentials (#287) (fce1a19)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- hiding locale switch on checkout (#328) (2535f4b)
- is-authenticated middleware to be using cookies available in the browser (#205) (e3a539e)
- logout and redirect user to home page on expired customer token (#240) (9c08776)
- logout on token expiration on other endpoints too (#268) (f246474)
- password bypass issue on customer update (#348) (75d96a6)
- refactoring and updates for API docs (#214) (d1351de)
- remove trailing slash from store url (#288) (8557512)
- removing unused customer id (#327) (df2c89a)
- replace embedded checkout URL when the user is logged in (#164) (a1d4926)
- ts build of api-client package (#73) (55329ab)
- update checkout (#255) (3312ac0), closes #246 #243 #230 #245 #247 #248 #243 #230 #245 #244 #252 #243 #230 #245 #244 #254
- update composables types (#218) (f5dc437)
- updating customer marketing (#337) (63fd59a)
- use auth helper in wishlist api (#196) (ff2187b)
- use cookie from id in cart actions (#331) (360c77b)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add contributors (#334) (7b1acc6)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- address fields validation (#305) (d5730e3)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- fix security issues around customer address endpoints (#202) (fb188db)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- getting the client id from the cookie for formfields api's (#308) (ff4ba1b)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- order by id validation (#339) (c62c914)
- order history (#165) (795ed01)
- refresh customer authentication token on expiration (#285) (c9088e9)
- remove an item from the cart (#75) (77a265e)
- removing client ID from update customer requests (#296) (3eff080)
- removing list_price from cart api calls (#297) (4b8b954)
- reorganized category types folder (#44) (42df05b)
- security checks (#336) (c192b14)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show order data on thank you page (#211) (c78763b)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update docs (#226) (f36be99)
- update quantity of a cart item (#79) (33eaecb)
- update vsf core to 2.5.4 (#234) (e967c50)
- use prettier for formatting (#280) (4548f1e)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)
Reverts
- Revert "chore: enterprise repo setup (#389)" (#391) (e3e6293), closes #389 #391
- Revert "feat: removing client ID from update customer requests (#296)" (#310) (dbbf1e8), closes #296 #310
- Revert "feat: getting the client id from the cookie for formfields api's (#308)" (#309) (6a4b682), closes #308 #309
- Revert "feat: use prettier for formatting (#280)" (#294) (e04cb07), closes #280 #294
1.2.2 (2022-04-21)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- catch iframe error on checkout page (#219) (b17a4fa)
- check the disabled eslint lines (#227) (d981c0a)
- checkout redirect on first load issue (#245) (10f264c)
- correcting redirect_url for embedded checkout (#201) (93cdb79)
- correcting the checkout url to absolute (#204) (c6a398c)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- error message on invalid login credentials (#287) (fce1a19)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- hiding locale switch on checkout (#328) (2535f4b)
- is-authenticated middleware to be using cookies available in the browser (#205) (e3a539e)
- logout and redirect user to home page on expired customer token (#240) (9c08776)
- logout on token expiration on other endpoints too (#268) (f246474)
- password bypass issue on customer update (#348) (75d96a6)
- refactoring and updates for API docs (#214) (d1351de)
- remove trailing slash from store url (#288) (8557512)
- removing unused customer id (#327) (df2c89a)
- replace embedded checkout URL when the user is logged in (#164) (a1d4926)
- ts build of api-client package (#73) (55329ab)
- update checkout (#255) (3312ac0), closes #246 #243 #230 #245 #247 #248 #243 #230 #245 #244 #252 #243 #230 #245 #244 #254
- update composables types (#218) (f5dc437)
- updating customer marketing (#337) (63fd59a)
- use auth helper in wishlist api (#196) (ff2187b)
- use cookie from id in cart actions (#331) (360c77b)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add contributors (#334) (7b1acc6)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- address fields validation (#305) (d5730e3)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- fix security issues around customer address endpoints (#202) (fb188db)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- getting the client id from the cookie for formfields api's (#308) (ff4ba1b)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- order by id validation (#339) (c62c914)
- order history (#165) (795ed01)
- refresh customer authentication token on expiration (#285) (c9088e9)
- remove an item from the cart (#75) (77a265e)
- removing client ID from update customer requests (#296) (3eff080)
- removing list_price from cart api calls (#297) (4b8b954)
- reorganized category types folder (#44) (42df05b)
- security checks (#336) (c192b14)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show order data on thank you page (#211) (c78763b)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update docs (#226) (f36be99)
- update quantity of a cart item (#79) (33eaecb)
- update vsf core to 2.5.4 (#234) (e967c50)
- use prettier for formatting (#280) (4548f1e)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)
Reverts
- Revert "chore: enterprise repo setup (#389)" (#391) (e3e6293), closes #389 #391
- Revert "feat: removing client ID from update customer requests (#296)" (#310) (dbbf1e8), closes #296 #310
- Revert "feat: getting the client id from the cookie for formfields api's (#308)" (#309) (6a4b682), closes #308 #309
- Revert "feat: use prettier for formatting (#280)" (#294) (e04cb07), closes #280 #294
1.2.1 (2022-04-14)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- catch iframe error on checkout page (#219) (b17a4fa)
- check the disabled eslint lines (#227) (d981c0a)
- checkout redirect on first load issue (#245) (10f264c)
- correcting redirect_url for embedded checkout (#201) (93cdb79)
- correcting the checkout url to absolute (#204) (c6a398c)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- error message on invalid login credentials (#287) (fce1a19)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- hiding locale switch on checkout (#328) (2535f4b)
- is-authenticated middleware to be using cookies available in the browser (#205) (e3a539e)
- logout and redirect user to home page on expired customer token (#240) (9c08776)
- logout on token expiration on other endpoints too (#268) (f246474)
- password bypass issue on customer update (#348) (75d96a6)
- refactoring and updates for API docs (#214) (d1351de)
- remove trailing slash from store url (#288) (8557512)
- removing unused customer id (#327) (df2c89a)
- replace embedded checkout URL when the user is logged in (#164) (a1d4926)
- ts build of api-client package (#73) (55329ab)
- update checkout (#255) (3312ac0), closes #246 #243 #230 #245 #247 #248 #243 #230 #245 #244 #252 #243 #230 #245 #244 #254
- update composables types (#218) (f5dc437)
- updating customer marketing (#337) (63fd59a)
- use auth helper in wishlist api (#196) (ff2187b)
- use cookie from id in cart actions (#331) (360c77b)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add contributors (#334) (7b1acc6)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- address fields validation (#305) (d5730e3)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- fix security issues around customer address endpoints (#202) (fb188db)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- getting the client id from the cookie for formfields api's (#308) (ff4ba1b)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- order by id validation (#339) (c62c914)
- order history (#165) (795ed01)
- refresh customer authentication token on expiration (#285) (c9088e9)
- remove an item from the cart (#75) (77a265e)
- removing client ID from update customer requests (#296) (3eff080)
- removing list_price from cart api calls (#297) (4b8b954)
- reorganized category types folder (#44) (42df05b)
- security checks (#336) (c192b14)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show order data on thank you page (#211) (c78763b)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update docs (#226) (f36be99)
- update quantity of a cart item (#79) (33eaecb)
- update vsf core to 2.5.4 (#234) (e967c50)
- use prettier for formatting (#280) (4548f1e)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)
Reverts
- Revert "chore: enterprise repo setup (#389)" (#391) (e3e6293), closes #389 #391
- Revert "feat: removing client ID from update customer requests (#296)" (#310) (dbbf1e8), closes #296 #310
- Revert "feat: getting the client id from the cookie for formfields api's (#308)" (#309) (6a4b682), closes #308 #309
- Revert "feat: use prettier for formatting (#280)" (#294) (e04cb07), closes #280 #294
1.2.0 (2022-04-13)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- catch iframe error on checkout page (#219) (b17a4fa)
- check the disabled eslint lines (#227) (d981c0a)
- checkout redirect on first load issue (#245) (10f264c)
- correcting redirect_url for embedded checkout (#201) (93cdb79)
- correcting the checkout url to absolute (#204) (c6a398c)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- error message on invalid login credentials (#287) (fce1a19)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- hiding locale switch on checkout (#328) (2535f4b)
- is-authenticated middleware to be using cookies available in the browser (#205) (e3a539e)
- logout and redirect user to home page on expired customer token (#240) (9c08776)
- logout on token expiration on other endpoints too (#268) (f246474)
- password bypass issue on customer update (#348) (75d96a6)
- refactoring and updates for API docs (#214) (d1351de)
- remove trailing slash from store url (#288) (8557512)
- removing unused customer id (#327) (df2c89a)
- replace embedded checkout URL when the user is logged in (#164) (a1d4926)
- ts build of api-client package (#73) (55329ab)
- update checkout (#255) (3312ac0), closes #246 #243 #230 #245 #247 #248 #243 #230 #245 #244 #252 #243 #230 #245 #244 #254
- update composables types (#218) (f5dc437)
- updating customer marketing (#337) (63fd59a)
- use auth helper in wishlist api (#196) (ff2187b)
- use cookie from id in cart actions (#331) (360c77b)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add contributors (#334) (7b1acc6)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- address fields validation (#305) (d5730e3)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- fix security issues around customer address endpoints (#202) (fb188db)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- getting the client id from the cookie for formfields api's (#308) (ff4ba1b)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- order by id validation (#339) (c62c914)
- order history (#165) (795ed01)
- refresh customer authentication token on expiration (#285) (c9088e9)
- remove an item from the cart (#75) (77a265e)
- removing client ID from update customer requests (#296) (3eff080)
- removing list_price from cart api calls (#297) (4b8b954)
- reorganized category types folder (#44) (42df05b)
- security checks (#336) (c192b14)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show order data on thank you page (#211) (c78763b)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update docs (#226) (f36be99)
- update quantity of a cart item (#79) (33eaecb)
- update vsf core to 2.5.4 (#234) (e967c50)
- use prettier for formatting (#280) (4548f1e)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)
Reverts
- Revert "chore: enterprise repo setup (#389)" (#391) (e3e6293), closes #389 #391
- Revert "feat: removing client ID from update customer requests (#296)" (#310) (dbbf1e8), closes #296 #310
- Revert "feat: getting the client id from the cookie for formfields api's (#308)" (#309) (6a4b682), closes #308 #309
- Revert "feat: use prettier for formatting (#280)" (#294) (e04cb07), closes #280 #294
1.1.0 (2022-03-31)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- catch iframe error on checkout page (#219) (b17a4fa)
- check the disabled eslint lines (#227) (d981c0a)
- checkout redirect on first load issue (#245) (10f264c)
- correcting redirect_url for embedded checkout (#201) (93cdb79)
- correcting the checkout url to absolute (#204) (c6a398c)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- error message on invalid login credentials (#287) (fce1a19)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- hiding locale switch on checkout (#328) (2535f4b)
- is-authenticated middleware to be using cookies available in the browser (#205) (e3a539e)
- logout and redirect user to home page on expired customer token (#240) (9c08776)
- logout on token expiration on other endpoints too (#268) (f246474)
- password bypass issue on customer update (#348) (75d96a6)
- refactoring and updates for API docs (#214) (d1351de)
- remove trailing slash from store url (#288) (8557512)
- removing unused customer id (#327) (df2c89a)
- replace embedded checkout URL when the user is logged in (#164) (a1d4926)
- ts build of api-client package (#73) (55329ab)
- update checkout (#255) (3312ac0), closes #246 #243 #230 #245 #247 #248 #243 #230 #245 #244 #252 #243 #230 #245 #244 #254
- update composables types (#218) (f5dc437)
- updating customer marketing (#337) (63fd59a)
- use auth helper in wishlist api (#196) (ff2187b)
- use cookie from id in cart actions (#331) (360c77b)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add contributors (#334) (7b1acc6)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- address fields validation (#305) (d5730e3)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- fix security issues around customer address endpoints (#202) (fb188db)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- getting the client id from the cookie for formfields api's (#308) (ff4ba1b)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- order by id validation (#339) (c62c914)
- order history (#165) (795ed01)
- refresh customer authentication token on expiration (#285) (c9088e9)
- remove an item from the cart (#75) (77a265e)
- removing client ID from update customer requests (#296) (3eff080)
- removing list_price from cart api calls (#297) (4b8b954)
- reorganized category types folder (#44) (42df05b)
- security checks (#336) (c192b14)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show order data on thank you page (#211) (c78763b)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update docs (#226) (f36be99)
- update quantity of a cart item (#79) (33eaecb)
- update vsf core to 2.5.4 (#234) (e967c50)
- use prettier for formatting (#280) (4548f1e)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)
Reverts
- Revert "chore: enterprise repo setup (#389)" (#391) (e3e6293), closes #389 #391
- Revert "feat: removing client ID from update customer requests (#296)" (#310) (dbbf1e8), closes #296 #310
- Revert "feat: getting the client id from the cookie for formfields api's (#308)" (#309) (6a4b682), closes #308 #309
- Revert "feat: use prettier for formatting (#280)" (#294) (e04cb07), closes #280 #294
1.0.3 (2022-03-22)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- catch iframe error on checkout page (#219) (b17a4fa)
- check the disabled eslint lines (#227) (d981c0a)
- checkout redirect on first load issue (#245) (10f264c)
- correcting redirect_url for embedded checkout (#201) (93cdb79)
- correcting the checkout url to absolute (#204) (c6a398c)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- error message on invalid login credentials (#287) (fce1a19)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- hiding locale switch on checkout (#328) (2535f4b)
- is-authenticated middleware to be using cookies available in the browser (#205) (e3a539e)
- logout and redirect user to home page on expired customer token (#240) (9c08776)
- logout on token expiration on other endpoints too (#268) (f246474)
- password bypass issue on customer update (#348) (75d96a6)
- refactoring and updates for API docs (#214) (d1351de)
- remove trailing slash from store url (#288) (8557512)
- removing unused customer id (#327) (df2c89a)
- replace embedded checkout URL when the user is logged in (#164) (a1d4926)
- ts build of api-client package (#73) (55329ab)
- update checkout (#255) (3312ac0), closes #246 #243 #230 #245 #247 #248 #243 #230 #245 #244 #252 #243 #230 #245 #244 #254
- update composables types (#218) (f5dc437)
- updating customer marketing (#337) (63fd59a)
- use auth helper in wishlist api (#196) (ff2187b)
- use cookie from id in cart actions (#331) (360c77b)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add contributors (#334) (7b1acc6)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- address fields validation (#305) (d5730e3)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- fix security issues around customer address endpoints (#202) (fb188db)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- getting the client id from the cookie for formfields api's (#308) (ff4ba1b)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- order by id validation (#339) (c62c914)
- order history (#165) (795ed01)
- refresh customer authentication token on expiration (#285) (c9088e9)
- remove an item from the cart (#75) (77a265e)
- removing client ID from update customer requests (#296) (3eff080)
- removing list_price from cart api calls (#297) (4b8b954)
- reorganized category types folder (#44) (42df05b)
- security checks (#336) (c192b14)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show order data on thank you page (#211) (c78763b)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update docs (#226) (f36be99)
- update quantity of a cart item (#79) (33eaecb)
- update vsf core to 2.5.4 (#234) (e967c50)
- use prettier for formatting (#280) (4548f1e)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)
Reverts
- Revert "feat: removing client ID from update customer requests (#296)" (#310) (dbbf1e8), closes #296 #310
- Revert "feat: getting the client id from the cookie for formfields api's (#308)" (#309) (6a4b682), closes #308 #309
- Revert "feat: use prettier for formatting (#280)" (#294) (e04cb07), closes #280 #294
1.0.2 (2022-03-08)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- catch iframe error on checkout page (#219) (b17a4fa)
- check the disabled eslint lines (#227) (d981c0a)
- checkout redirect on first load issue (#245) (10f264c)
- correcting redirect_url for embedded checkout (#201) (93cdb79)
- correcting the checkout url to absolute (#204) (c6a398c)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- error message on invalid login credentials (#287) (fce1a19)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- hiding locale switch on checkout (#328) (2535f4b)
- is-authenticated middleware to be using cookies available in the browser (#205) (e3a539e)
- logout and redirect user to home page on expired customer token (#240) (9c08776)
- logout on token expiration on other endpoints too (#268) (f246474)
- password bypass issue on customer update (#348) (75d96a6)
- refactoring and updates for API docs (#214) (d1351de)
- remove trailing slash from store url (#288) (8557512)
- removing unused customer id (#327) (df2c89a)
- replace embedded checkout URL when the user is logged in (#164) (a1d4926)
- ts build of api-client package (#73) (55329ab)
- update checkout (#255) (3312ac0), closes #246 #243 #230 #245 #247 #248 #243 #230 #245 #244 #252 #243 #230 #245 #244 #254
- update composables types (#218) (f5dc437)
- updating customer marketing (#337) (63fd59a)
- use auth helper in wishlist api (#196) (ff2187b)
- use cookie from id in cart actions (#331) (360c77b)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add contributors (#334) (7b1acc6)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- address fields validation (#305) (d5730e3)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- fix security issues around customer address endpoints (#202) (fb188db)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- getting the client id from the cookie for formfields api's (#308) (ff4ba1b)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- order by id validation (#339) (c62c914)
- order history (#165) (795ed01)
- refresh customer authentication token on expiration (#285) (c9088e9)
- remove an item from the cart (#75) (77a265e)
- removing client ID from update customer requests (#296) (3eff080)
- removing list_price from cart api calls (#297) (4b8b954)
- reorganized category types folder (#44) (42df05b)
- security checks (#336) (c192b14)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show order data on thank you page (#211) (c78763b)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update docs (#226) (f36be99)
- update quantity of a cart item (#79) (33eaecb)
- update vsf core to 2.5.4 (#234) (e967c50)
- use prettier for formatting (#280) (4548f1e)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)
Reverts
- Revert "feat: removing client ID from update customer requests (#296)" (#310) (dbbf1e8), closes #296 #310
- Revert "feat: getting the client id from the cookie for formfields api's (#308)" (#309) (6a4b682), closes #308 #309
- Revert "feat: use prettier for formatting (#280)" (#294) (e04cb07), closes #280 #294
1.0.1 (2022-02-22)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- catch iframe error on checkout page (#219) (b17a4fa)
- check the disabled eslint lines (#227) (d981c0a)
- checkout redirect on first load issue (#245) (10f264c)
- correcting redirect_url for embedded checkout (#201) (93cdb79)
- correcting the checkout url to absolute (#204) (c6a398c)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- error message on invalid login credentials (#287) (fce1a19)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- hiding locale switch on checkout (#328) (2535f4b)
- is-authenticated middleware to be using cookies available in the browser (#205) (e3a539e)
- logout and redirect user to home page on expired customer token (#240) (9c08776)
- logout on token expiration on other endpoints too (#268) (f246474)
- refactoring and updates for API docs (#214) (d1351de)
- remove trailing slash from store url (#288) (8557512)
- removing unused customer id (#327) (df2c89a)
- replace embedded checkout URL when the user is logged in (#164) (a1d4926)
- ts build of api-client package (#73) (55329ab)
- update checkout (#255) (3312ac0), closes #246 #243 #230 #245 #247 #248 #243 #230 #245 #244 #252 #243 #230 #245 #244 #254
- update composables types (#218) (f5dc437)
- updating customer marketing (#337) (63fd59a)
- use auth helper in wishlist api (#196) (ff2187b)
- use cookie from id in cart actions (#331) (360c77b)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add contributors (#334) (7b1acc6)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- address fields validation (#305) (d5730e3)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- fix security issues around customer address endpoints (#202) (fb188db)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- getting the client id from the cookie for formfields api's (#308) (ff4ba1b)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- order by id validation (#339) (c62c914)
- order history (#165) (795ed01)
- refresh customer authentication token on expiration (#285) (c9088e9)
- remove an item from the cart (#75) (77a265e)
- removing client ID from update customer requests (#296) (3eff080)
- removing list_price from cart api calls (#297) (4b8b954)
- reorganized category types folder (#44) (42df05b)
- security checks (#336) (c192b14)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show order data on thank you page (#211) (c78763b)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update docs (#226) (f36be99)
- update quantity of a cart item (#79) (33eaecb)
- update vsf core to 2.5.4 (#234) (e967c50)
- use prettier for formatting (#280) (4548f1e)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)
Reverts
- Revert "feat: removing client ID from update customer requests (#296)" (#310) (dbbf1e8), closes #296 #310
- Revert "feat: getting the client id from the cookie for formfields api's (#308)" (#309) (6a4b682), closes #308 #309
- Revert "feat: use prettier for formatting (#280)" (#294) (e04cb07), closes #280 #294
1.0.0 (2022-02-04)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- catch iframe error on checkout page (#219) (b17a4fa)
- check the disabled eslint lines (#227) (d981c0a)
- checkout redirect on first load issue (#245) (10f264c)
- correcting redirect_url for embedded checkout (#201) (93cdb79)
- correcting the checkout url to absolute (#204) (c6a398c)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- is-authenticated middleware to be using cookies available in the browser (#205) (e3a539e)
- logout and redirect user to home page on expired customer token (#240) (9c08776)
- logout on token expiration on other endpoints too (#268) (f246474)
- refactoring and updates for API docs (#214) (d1351de)
- replace embedded checkout URL when the user is logged in (#164) (a1d4926)
- ts build of api-client package (#73) (55329ab)
- update checkout (#255) (3312ac0), closes #246 #243 #230 #245 #247 #248 #243 #230 #245 #244 #252 #243 #230 #245 #244 #254
- update composables types (#218) (f5dc437)
- use auth helper in wishlist api (#196) (ff2187b)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- fix security issues around customer address endpoints (#202) (fb188db)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- order history (#165) (795ed01)
- remove an item from the cart (#75) (77a265e)
- reorganized category types folder (#44) (42df05b)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show order data on thank you page (#211) (c78763b)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update docs (#226) (f36be99)
- update quantity of a cart item (#79) (33eaecb)
- update vsf core to 2.5.4 (#234) (e967c50)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)
1.0.0-beta.2 (2022-01-21)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- replace embedded checkout URL when the user is logged in (#164) (a1d4926)
- ts build of api-client package (#73) (55329ab)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- order history (#165) (795ed01)
- remove an item from the cart (#75) (77a265e)
- reorganized category types folder (#44) (42df05b)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update quantity of a cart item (#79) (33eaecb)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)
1.0.0-beta.1 (2022-01-17)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- ts build of api-client package (#73) (55329ab)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- remove an item from the cart (#75) (77a265e)
- reorganized category types folder (#44) (42df05b)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update quantity of a cart item (#79) (33eaecb)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)
1.0.0-beta.0 (2022-01-14)
Bug Fixes
- add variant image to product images (#122) (9c43973)
- authentication issues (#124) (796205a)
- createcustomer endpoint: set customer data cookie on registration as well (#107) (592939b)
- generate index.d.ts file in lib for api-client (#22) (9dbf026)
- ts build of api-client package (#73) (55329ab)
- VBC-340, VBC-360: make wishlist working correctly (#123) (011bdc9)
Features
- add API endpoint to generate JWT token for customers (#58) (c1c43e2)
- add context for composables (#15) (f394c3c)
- add context mock for testing (#18) (f13a65a)
- add createCustomer endpoint for register user (#17) (0d0b5ad)
- add product review api (#34) (b3ec698), closes #15 #18 #20
- add types for BigCommerce SDK (#13) (895ae3e)
- add validateCredentials endpoint for customer validation (#26) (9770ff0)
- added useCategory composable (#21) (69f0763)
- api client setup (#7) (366482a)
- api extractor (#2) (d2b6d20)
- api for updating the cart (#84) (e484b96)
- api-client for addToCart feature (#54) (d91bf05)
- api-client to create a cart (#55) (88361e9)
- api-client to get a cart (#60) (3772b1a)
- assign the cart to the logged-in user (#91) (f5d4518)
- clear cart (#83) (0aafe62)
- configuring casing rule for the eslint (#28) (41f5064)
- get product review api (#19) (385aba5), closes #15 #18
- get product review collection api (#23) (da97c36)
- get product review composable (#31) (e37f64a), closes #15 #18 #20
- getProducts api-client (#16) (0af6d46)
- handle product options and variants (#47) (2db4bad)
- handle stock data on PDP (#133) (353db3f)
- inject BigCommerce checkout form into the checkout page (#92) (0dc4ec9)
- load cart and add item to it (#71) (5b78e22)
- merge guest cart into user cart (#98) (1f77753)
- my account customer shipping addresses (#110) (2f9f007)
- my account my profile page (#82) (7c3229d)
- my account update user api composable theme integration (#95) (142c1f7)
- remove an item from the cart (#75) (77a265e)
- reorganized category types folder (#44) (42df05b)
- show customer as logged-in in embedded checkout form (#101) (22ddfe1)
- show related products on PDP (#30) (663f8f4)
- sort on category page (#112) (8effdd0)
- update quantity of a cart item (#79) (33eaecb)
- useProduct composable and PDP (#29) (fd0a34b)
- VBC-119: merge wishlists (#103) (e8c6253)
- VBC-122: use guest wishlist helpers (#80) (13104e6)
- VBC-139: delete wishlist api (#114) (31852b7)
- VBC-141: remove wishlist tem api (#113) (973b4d9)
- VBC-209: create wishlist api (#90) (fcd35bf)
- VBC-210: get all wishlists api (#93) (56846d7)
- vbc-215 marketing emails (#104) (3412c80)
- vbc-222-channel-ids-for-registration (#81) (c8bd59a)
- VBC-44: add review form (#52) (f49ca98)
- vbc-84 - login error messages (#64) (374d2b9)
- vbc-84--removing-get-cookie - updating unit tests (#67) (f619c73)