Updated providers and local setup

This commit is contained in:
Luis Alvarez 2021-08-27 12:23:45 -05:00
parent 94c0b09ef6
commit 94997a1324
6 changed files with 12 additions and 36 deletions

View File

@ -1,4 +1,4 @@
# Available providers: bigcommerce, shopify, swell # Available providers: local, bigcommerce, shopify, swell
COMMERCE_PROVIDER= COMMERCE_PROVIDER=
BIGCOMMERCE_STOREFRONT_API_URL= BIGCOMMERCE_STOREFRONT_API_URL=

View File

@ -1,6 +1,5 @@
import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce' import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
import { bigcommerceProvider } from './provider' import { bigcommerceProvider, BigcommerceProvider } from './provider'
import type { BigcommerceProvider } from './provider'
export { bigcommerceProvider } export { bigcommerceProvider }
export type { BigcommerceProvider } export type { BigcommerceProvider }

View File

@ -8,12 +8,12 @@ const merge = require('deepmerge')
const prettier = require('prettier') const prettier = require('prettier')
const PROVIDERS = [ const PROVIDERS = [
'local',
'bigcommerce', 'bigcommerce',
'saleor', 'saleor',
'shopify', 'shopify',
'swell', 'swell',
'vendure', 'vendure',
'local',
] ]
function getProviderName() { function getProviderName() {

View File

@ -1,32 +1,9 @@
import * as React from 'react' import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
import { ReactNode } from 'react' import { localProvider, LocalProvider } from './provider'
import { localProvider } from './provider'
import {
CommerceConfig,
CommerceProvider as CoreCommerceProvider,
useCommerce as useCoreCommerce,
} from '@commerce'
export const localConfig: CommerceConfig = { export { localProvider }
locale: 'en-us', export type { LocalProvider }
cartCookie: 'session',
}
export function CommerceProvider({ export const CommerceProvider = getCommerceProvider(localProvider)
children,
...config
}: {
children?: ReactNode
locale: string
} & Partial<CommerceConfig>) {
return (
<CoreCommerceProvider
provider={localProvider}
config={{ ...localConfig, ...config }}
>
{children}
</CoreCommerceProvider>
)
}
export const useCommerce = () => useCoreCommerce() export const useCommerce = () => useCoreCommerce<LocalProvider>()

View File

@ -9,7 +9,6 @@ import { handler as useLogin } from './auth/use-login'
import { handler as useLogout } from './auth/use-logout' import { handler as useLogout } from './auth/use-logout'
import { handler as useSignup } from './auth/use-signup' import { handler as useSignup } from './auth/use-signup'
export type Provider = typeof localProvider
export const localProvider = { export const localProvider = {
locale: 'en-us', locale: 'en-us',
cartCookie: 'session', cartCookie: 'session',
@ -19,3 +18,5 @@ export const localProvider = {
products: { useSearch }, products: { useSearch },
auth: { useLogin, useLogout, useSignup }, auth: { useLogin, useLogout, useSignup },
} }
export type LocalProvider = typeof localProvider

View File

@ -1,6 +1,5 @@
import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce' import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
import { shopifyProvider } from './provider' import { shopifyProvider, ShopifyProvider } from './provider'
import type { ShopifyProvider } from './provider'
export { shopifyProvider } export { shopifyProvider }
export type { ShopifyProvider } export type { ShopifyProvider }