diff --git a/.gitignore b/.gitignore
index b70638f70..b7301fe56 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,18 +2,19 @@
# dependencies
node_modules
-/.pnp
+.pnp
.pnp.js
# testing
-/coverage
+coverage
# next.js
-.next/
-out/
+.next
+out
# production
-/build
+build
+dist
# misc
.DS_Store
@@ -35,5 +36,5 @@ yarn-error.log*
# vercel
.vercel
-# vscode launch
-.vscode/launch.json
\ No newline at end of file
+# Turborepo
+.turbo
diff --git a/.prettierignore b/.prettierignore
index 105738ca9..1c8b279ce 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,3 +1,5 @@
+# Every package defines its prettier config
node_modules
+dist
.next
-public
\ No newline at end of file
+public
diff --git a/.prettierrc b/.prettierrc
index 91990a859..e1076edfa 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -2,13 +2,5 @@
"semi": false,
"singleQuote": true,
"tabWidth": 2,
- "useTabs": false,
- "overrides": [
- {
- "files": ["framework/saleor/**/*"],
- "options": {
- "printWidth": 120
- }
- }
- ]
+ "useTabs": false
}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 3af4e2d9b..60907f7fd 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -1,3 +1,8 @@
{
- "recommendations": ["esbenp.prettier-vscode", "csstools.postcss", "bradlc.vscode-tailwindcss"]
+ "recommendations": [
+ "esbenp.prettier-vscode",
+ "csstools.postcss",
+ "bradlc.vscode-tailwindcss",
+ "ms-vscode.vscode-typescript-next"
+ ]
}
diff --git a/README.md b/README.md
index f83d4822f..1af8bbf35 100644
--- a/README.md
+++ b/README.md
@@ -35,17 +35,16 @@ Next.js Commerce integrates out-of-the-box with BigCommerce, Shopify, Swell, Sal
## Considerations
-- `framework/commerce` contains all types, helpers and functions to be used as base to build a new **provider**.
-- **Providers** live under `framework`'s root folder and they will extend Next.js Commerce types and functionality (`framework/commerce`).
+- `packages/commerce` contains all types, helpers and functions to be used as base to build a new **provider**.
+- **Providers** live under `packages`'s root folder and they will extend Next.js Commerce types and functionality (`packages/commerce`).
- We have a **Features API** to ensure feature parity between the UI and the Provider. The UI should update accordingly and no extra code should be bundled. All extra configuration for features will live under `features` in `commerce.config.json` and if needed it can also be accessed programatically.
- Each **provider** should add its corresponding `next.config.js` and `commerce.config.json` adding specific data related to the provider. For example in case of BigCommerce, the images CDN and additional API routes.
-- **Providers don't depend on anything that's specific to the application they're used in**. They only depend on `framework/commerce`, on their own framework folder and on some dependencies included in `package.json`
## Configuration
### How to change providers
-Open `.env.local` and change the value of `COMMERCE_PROVIDER` to the provider you would like to use, then set the environment variables for that provider (use `.env.template` as the base).
+Open `site/.env.local` and change the value of `COMMERCE_PROVIDER` to the provider you would like to use, then set the environment variables for that provider (use `site/.env.template` as the base).
The setup for Shopify would look like this for example:
@@ -55,18 +54,9 @@ NEXT_PUBLIC_SHOPIFY_STOREFRONT_ACCESS_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
NEXT_PUBLIC_SHOPIFY_STORE_DOMAIN=xxxxxxx.myshopify.com
```
-And check that the `tsconfig.json` resolves to the chosen provider:
-
-```
- "@framework": ["framework/shopify"],
- "@framework/*": ["framework/shopify/*"]
-```
-
-That's it!
-
### Features
-Every provider defines the features that it supports under `framework/{provider}/commerce.config.json`
+Every provider defines the features that it supports under `packages/{provider}/src/commerce.config.json`
#### Features Available
@@ -83,7 +73,7 @@ For example: Turning `cart` off will disable Cart capabilities.
> NOTE: The selected provider should support the feature that you are toggling. (This means that you can't turn wishlist on if the provider doesn't support this functionality out the box)
-- Open `commerce.config.json`
+- Open `site/commerce.config.json`
- You'll see a config file like this:
```json
{
@@ -98,9 +88,7 @@ For example: Turning `cart` off will disable Cart capabilities.
### How to create a new provider
-🔔 New providers are on hold [until we have a new API for commerce](https://github.com/vercel/commerce/pull/252) 🔔
-
-Follow our docs for [Adding a new Commerce Provider](framework/commerce/new-provider.md).
+Follow our docs for [Adding a new Commerce Provider](packages/commerce/new-provider.md).
If you succeeded building a provider, submit a PR with a valid demo and we'll review it asap.
@@ -110,16 +98,17 @@ Our commitment to Open Source can be found [here](https://vercel.com/oss).
1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device.
2. Create a new branch `git checkout -b MY_BRANCH_NAME`
-3. Install the dependencies: `npm i`
-4. Duplicate `.env.template` and rename it to `.env.local`
-5. Add proper store values to `.env.local`
-6. Run `npm run dev` to build and watch for code changes
+3. Install the dependencies: `yarn`
+4. Duplicate `site/.env.template` and rename it to `site/.env.local`
+5. Add proper store values to `site/.env.local`
+6. Run `cd site` and `yarn dev` to build and watch for code changes
+7. Run `yarn turbo run build` to check the build after your changes
## Work in progress
We're using Github Projects to keep track of issues in progress and todo's. Here is our [Board](https://github.com/vercel/commerce/projects/1)
-People actively working on this project: @okbel & @lfades.
+People actively working on this project: @okbel, @lfades, @dominiksipowicz, @gbibeaul.
## Troubleshoot
diff --git a/components/common/Head/Head.tsx b/components/common/Head/Head.tsx
deleted file mode 100644
index b2c0c997b..000000000
--- a/components/common/Head/Head.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { FC } from 'react'
-import NextHead from 'next/head'
-import { DefaultSeo } from 'next-seo'
-import config from '@config/seo.json'
-
-const Head: FC = () => {
- return (
- <>
-
-
-
-
-
- >
- )
-}
-
-export default Head
diff --git a/framework/bigcommerce/types/checkout.ts b/framework/bigcommerce/types/checkout.ts
deleted file mode 100644
index 4e2412ef6..000000000
--- a/framework/bigcommerce/types/checkout.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/checkout'
diff --git a/framework/bigcommerce/types/common.ts b/framework/bigcommerce/types/common.ts
deleted file mode 100644
index b52c33a4d..000000000
--- a/framework/bigcommerce/types/common.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/common'
diff --git a/framework/bigcommerce/types/customer.ts b/framework/bigcommerce/types/customer.ts
deleted file mode 100644
index 427bc0b03..000000000
--- a/framework/bigcommerce/types/customer.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import * as Core from '@commerce/types/customer'
-
-export * from '@commerce/types/customer'
-
-export type CustomerSchema = Core.CustomerSchema
diff --git a/framework/bigcommerce/types/login.ts b/framework/bigcommerce/types/login.ts
deleted file mode 100644
index 24d5077ff..000000000
--- a/framework/bigcommerce/types/login.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import * as Core from '@commerce/types/login'
-import type { LoginMutationVariables } from '../schema'
-
-export * from '@commerce/types/login'
-
-export type LoginOperation = Core.LoginOperation & {
- variables: LoginMutationVariables
-}
diff --git a/framework/bigcommerce/types/logout.ts b/framework/bigcommerce/types/logout.ts
deleted file mode 100644
index 9f0a466af..000000000
--- a/framework/bigcommerce/types/logout.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/logout'
diff --git a/framework/bigcommerce/types/product.ts b/framework/bigcommerce/types/product.ts
deleted file mode 100644
index c776d58fa..000000000
--- a/framework/bigcommerce/types/product.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/product'
diff --git a/framework/bigcommerce/types/signup.ts b/framework/bigcommerce/types/signup.ts
deleted file mode 100644
index 58543c6f6..000000000
--- a/framework/bigcommerce/types/signup.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/signup'
diff --git a/framework/commercejs/product/use-price.tsx b/framework/commercejs/product/use-price.tsx
deleted file mode 100644
index 0174faf5e..000000000
--- a/framework/commercejs/product/use-price.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from '@commerce/product/use-price'
-export { default } from '@commerce/product/use-price'
diff --git a/framework/commercejs/types/common.ts b/framework/commercejs/types/common.ts
deleted file mode 100644
index b52c33a4d..000000000
--- a/framework/commercejs/types/common.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/common'
diff --git a/framework/commercejs/types/customer.ts b/framework/commercejs/types/customer.ts
deleted file mode 100644
index 87c9afcc4..000000000
--- a/framework/commercejs/types/customer.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/customer'
diff --git a/framework/commercejs/types/logout.ts b/framework/commercejs/types/logout.ts
deleted file mode 100644
index 9f0a466af..000000000
--- a/framework/commercejs/types/logout.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/logout'
diff --git a/framework/commercejs/types/page.ts b/framework/commercejs/types/page.ts
deleted file mode 100644
index 20ec8ea38..000000000
--- a/framework/commercejs/types/page.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/page'
diff --git a/framework/commercejs/types/signup.ts b/framework/commercejs/types/signup.ts
deleted file mode 100644
index 58543c6f6..000000000
--- a/framework/commercejs/types/signup.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/signup'
diff --git a/framework/commercejs/types/wishlist.ts b/framework/commercejs/types/wishlist.ts
deleted file mode 100644
index 8907fbf82..000000000
--- a/framework/commercejs/types/wishlist.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/wishlist'
diff --git a/framework/commercelayer/product/use-price.tsx b/framework/commercelayer/product/use-price.tsx
deleted file mode 100644
index 0174faf5e..000000000
--- a/framework/commercelayer/product/use-price.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from '@commerce/product/use-price'
-export { default } from '@commerce/product/use-price'
diff --git a/framework/kibocommerce/checkout/use-checkout.tsx b/framework/kibocommerce/checkout/use-checkout.tsx
deleted file mode 100644
index 8ba12c14a..000000000
--- a/framework/kibocommerce/checkout/use-checkout.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCheckout, { UseCheckout } from '@commerce/checkout/use-checkout'
-
-export default useCheckout as UseCheckout
-
-export const handler: SWRHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ useData }) =>
- async (input) => ({}),
-}
\ No newline at end of file
diff --git a/framework/kibocommerce/customer/address/use-add-item.tsx b/framework/kibocommerce/customer/address/use-add-item.tsx
deleted file mode 100644
index 70bd044b2..000000000
--- a/framework/kibocommerce/customer/address/use-add-item.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/address/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
-
-export default useAddItem as UseAddItem
-
-export const handler: MutationHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ fetch }) =>
- () =>
- async () => ({}),
-}
\ No newline at end of file
diff --git a/framework/kibocommerce/customer/card/use-add-item.tsx b/framework/kibocommerce/customer/card/use-add-item.tsx
deleted file mode 100644
index d6bd0d77f..000000000
--- a/framework/kibocommerce/customer/card/use-add-item.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/card/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
-
-export default useAddItem as UseAddItem
-
-export const handler: MutationHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ fetch }) =>
- () =>
- async () => ({}),
-}
\ No newline at end of file
diff --git a/framework/kibocommerce/product/use-price.tsx b/framework/kibocommerce/product/use-price.tsx
deleted file mode 100644
index 0174faf5e..000000000
--- a/framework/kibocommerce/product/use-price.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from '@commerce/product/use-price'
-export { default } from '@commerce/product/use-price'
diff --git a/framework/kibocommerce/types/login.ts b/framework/kibocommerce/types/login.ts
deleted file mode 100644
index 78b246191..000000000
--- a/framework/kibocommerce/types/login.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import * as Core from '@commerce/types/login'
-import type { CustomerUserAuthInfoInput } from '../schema'
-
-export * from '@commerce/types/login'
-
-export type LoginOperation = Core.LoginOperation & {
- variables: CustomerUserAuthInfoInput
-}
diff --git a/framework/kibocommerce/types/logout.ts b/framework/kibocommerce/types/logout.ts
deleted file mode 100644
index 9f0a466af..000000000
--- a/framework/kibocommerce/types/logout.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/logout'
diff --git a/framework/kibocommerce/types/signup.ts b/framework/kibocommerce/types/signup.ts
deleted file mode 100644
index 58543c6f6..000000000
--- a/framework/kibocommerce/types/signup.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/signup'
diff --git a/framework/local/product/use-price.tsx b/framework/local/product/use-price.tsx
deleted file mode 100644
index 0174faf5e..000000000
--- a/framework/local/product/use-price.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from '@commerce/product/use-price'
-export { default } from '@commerce/product/use-price'
diff --git a/framework/ordercloud/product/use-price.tsx b/framework/ordercloud/product/use-price.tsx
deleted file mode 100644
index 0174faf5e..000000000
--- a/framework/ordercloud/product/use-price.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from '@commerce/product/use-price'
-export { default } from '@commerce/product/use-price'
diff --git a/framework/saleor/customer/address/use-add-item.tsx b/framework/saleor/customer/address/use-add-item.tsx
deleted file mode 100644
index ac9dcd5cf..000000000
--- a/framework/saleor/customer/address/use-add-item.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/address/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
-
-export default useAddItem as UseAddItem
-
-export const handler: MutationHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ fetch }) =>
- () =>
- async () => ({}),
-}
diff --git a/framework/saleor/customer/card/use-add-item.tsx b/framework/saleor/customer/card/use-add-item.tsx
deleted file mode 100644
index 7e3afa9c5..000000000
--- a/framework/saleor/customer/card/use-add-item.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/card/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
-
-export default useAddItem as UseAddItem
-
-export const handler: MutationHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ fetch }) =>
- () =>
- async () => ({}),
-}
diff --git a/framework/saleor/product/use-price.tsx b/framework/saleor/product/use-price.tsx
deleted file mode 100644
index 0174faf5e..000000000
--- a/framework/saleor/product/use-price.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from '@commerce/product/use-price'
-export { default } from '@commerce/product/use-price'
diff --git a/framework/shopify/customer/address/use-add-item.tsx b/framework/shopify/customer/address/use-add-item.tsx
deleted file mode 100644
index ac9dcd5cf..000000000
--- a/framework/shopify/customer/address/use-add-item.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/address/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
-
-export default useAddItem as UseAddItem
-
-export const handler: MutationHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ fetch }) =>
- () =>
- async () => ({}),
-}
diff --git a/framework/shopify/customer/card/use-add-item.tsx b/framework/shopify/customer/card/use-add-item.tsx
deleted file mode 100644
index 7e3afa9c5..000000000
--- a/framework/shopify/customer/card/use-add-item.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/card/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
-
-export default useAddItem as UseAddItem
-
-export const handler: MutationHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ fetch }) =>
- () =>
- async () => ({}),
-}
diff --git a/framework/shopify/product/use-price.tsx b/framework/shopify/product/use-price.tsx
deleted file mode 100644
index 0174faf5e..000000000
--- a/framework/shopify/product/use-price.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from '@commerce/product/use-price'
-export { default } from '@commerce/product/use-price'
diff --git a/framework/shopify/types/checkout.ts b/framework/shopify/types/checkout.ts
deleted file mode 100644
index 4e2412ef6..000000000
--- a/framework/shopify/types/checkout.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/checkout'
diff --git a/framework/shopify/types/common.ts b/framework/shopify/types/common.ts
deleted file mode 100644
index b52c33a4d..000000000
--- a/framework/shopify/types/common.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/common'
diff --git a/framework/shopify/types/customer.ts b/framework/shopify/types/customer.ts
deleted file mode 100644
index 427bc0b03..000000000
--- a/framework/shopify/types/customer.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import * as Core from '@commerce/types/customer'
-
-export * from '@commerce/types/customer'
-
-export type CustomerSchema = Core.CustomerSchema
diff --git a/framework/shopify/types/login.ts b/framework/shopify/types/login.ts
deleted file mode 100644
index 964ac89e2..000000000
--- a/framework/shopify/types/login.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import * as Core from '@commerce/types/login'
-import type { CustomerAccessTokenCreateInput } from '../schema'
-
-export * from '@commerce/types/login'
-
-export type LoginOperation = Core.LoginOperation & {
- variables: CustomerAccessTokenCreateInput
-}
diff --git a/framework/shopify/types/logout.ts b/framework/shopify/types/logout.ts
deleted file mode 100644
index 9f0a466af..000000000
--- a/framework/shopify/types/logout.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/logout'
diff --git a/framework/shopify/types/product.ts b/framework/shopify/types/product.ts
deleted file mode 100644
index c776d58fa..000000000
--- a/framework/shopify/types/product.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/product'
diff --git a/framework/shopify/types/signup.ts b/framework/shopify/types/signup.ts
deleted file mode 100644
index 58543c6f6..000000000
--- a/framework/shopify/types/signup.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/signup'
diff --git a/framework/shopify/types/site.ts b/framework/shopify/types/site.ts
deleted file mode 100644
index bfef69cf9..000000000
--- a/framework/shopify/types/site.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/site'
diff --git a/framework/shopify/types/wishlist.ts b/framework/shopify/types/wishlist.ts
deleted file mode 100644
index 8907fbf82..000000000
--- a/framework/shopify/types/wishlist.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/wishlist'
diff --git a/framework/spree/product/use-price.tsx b/framework/spree/product/use-price.tsx
deleted file mode 100644
index 0174faf5e..000000000
--- a/framework/spree/product/use-price.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from '@commerce/product/use-price'
-export { default } from '@commerce/product/use-price'
diff --git a/framework/swell/checkout/use-checkout.tsx b/framework/swell/checkout/use-checkout.tsx
deleted file mode 100644
index 942f85b83..000000000
--- a/framework/swell/checkout/use-checkout.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCheckout, { UseCheckout } from '@commerce/checkout/use-checkout'
-
-export default useCheckout as UseCheckout
-
-export const handler: SWRHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ useData }) =>
- async (input) => ({}),
-}
diff --git a/framework/swell/customer/address/use-add-item.tsx b/framework/swell/customer/address/use-add-item.tsx
deleted file mode 100644
index ac9dcd5cf..000000000
--- a/framework/swell/customer/address/use-add-item.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/address/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
-
-export default useAddItem as UseAddItem
-
-export const handler: MutationHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ fetch }) =>
- () =>
- async () => ({}),
-}
diff --git a/framework/swell/customer/card/use-add-item.tsx b/framework/swell/customer/card/use-add-item.tsx
deleted file mode 100644
index 7e3afa9c5..000000000
--- a/framework/swell/customer/card/use-add-item.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/card/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
-
-export default useAddItem as UseAddItem
-
-export const handler: MutationHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ fetch }) =>
- () =>
- async () => ({}),
-}
diff --git a/framework/swell/product/use-price.tsx b/framework/swell/product/use-price.tsx
deleted file mode 100644
index 0174faf5e..000000000
--- a/framework/swell/product/use-price.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from '@commerce/product/use-price'
-export { default } from '@commerce/product/use-price'
diff --git a/framework/swell/types/cart.ts b/framework/swell/types/cart.ts
deleted file mode 100644
index 6ed5c6c64..000000000
--- a/framework/swell/types/cart.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/cart'
diff --git a/framework/swell/types/checkout.ts b/framework/swell/types/checkout.ts
deleted file mode 100644
index 4e2412ef6..000000000
--- a/framework/swell/types/checkout.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/checkout'
diff --git a/framework/swell/types/common.ts b/framework/swell/types/common.ts
deleted file mode 100644
index b52c33a4d..000000000
--- a/framework/swell/types/common.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/common'
diff --git a/framework/swell/types/customer.ts b/framework/swell/types/customer.ts
deleted file mode 100644
index 87c9afcc4..000000000
--- a/framework/swell/types/customer.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/customer'
diff --git a/framework/swell/types/login.ts b/framework/swell/types/login.ts
deleted file mode 100644
index ab11a420a..000000000
--- a/framework/swell/types/login.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import * as Core from '@commerce/types/login'
-import { LoginBody, LoginTypes } from '@commerce/types/login'
-
-export * from '@commerce/types/login'
-
-export type LoginHook = {
- data: null
- actionInput: LoginBody
- fetcherInput: LoginBody
- body: T['body']
-}
diff --git a/framework/swell/types/logout.ts b/framework/swell/types/logout.ts
deleted file mode 100644
index 9f0a466af..000000000
--- a/framework/swell/types/logout.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/logout'
diff --git a/framework/swell/types/page.ts b/framework/swell/types/page.ts
deleted file mode 100644
index 20ec8ea38..000000000
--- a/framework/swell/types/page.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/page'
diff --git a/framework/swell/types/product.ts b/framework/swell/types/product.ts
deleted file mode 100644
index c776d58fa..000000000
--- a/framework/swell/types/product.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/product'
diff --git a/framework/swell/types/signup.ts b/framework/swell/types/signup.ts
deleted file mode 100644
index 58543c6f6..000000000
--- a/framework/swell/types/signup.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/signup'
diff --git a/framework/swell/types/site.ts b/framework/swell/types/site.ts
deleted file mode 100644
index bfef69cf9..000000000
--- a/framework/swell/types/site.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/site'
diff --git a/framework/swell/types/wishlist.ts b/framework/swell/types/wishlist.ts
deleted file mode 100644
index 8907fbf82..000000000
--- a/framework/swell/types/wishlist.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/wishlist'
diff --git a/framework/vendure/checkout/use-checkout.tsx b/framework/vendure/checkout/use-checkout.tsx
deleted file mode 100644
index 942f85b83..000000000
--- a/framework/vendure/checkout/use-checkout.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCheckout, { UseCheckout } from '@commerce/checkout/use-checkout'
-
-export default useCheckout as UseCheckout
-
-export const handler: SWRHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ useData }) =>
- async (input) => ({}),
-}
diff --git a/framework/vendure/customer/address/use-add-item.tsx b/framework/vendure/customer/address/use-add-item.tsx
deleted file mode 100644
index ac9dcd5cf..000000000
--- a/framework/vendure/customer/address/use-add-item.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/address/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
-
-export default useAddItem as UseAddItem
-
-export const handler: MutationHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ fetch }) =>
- () =>
- async () => ({}),
-}
diff --git a/framework/vendure/customer/card/use-add-item.tsx b/framework/vendure/customer/card/use-add-item.tsx
deleted file mode 100644
index 7e3afa9c5..000000000
--- a/framework/vendure/customer/card/use-add-item.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/card/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
-
-export default useAddItem as UseAddItem
-
-export const handler: MutationHook = {
- fetchOptions: {
- query: '',
- },
- async fetcher({ input, options, fetch }) {},
- useHook:
- ({ fetch }) =>
- () =>
- async () => ({}),
-}
diff --git a/framework/vendure/product/use-price.tsx b/framework/vendure/product/use-price.tsx
deleted file mode 100644
index 0174faf5e..000000000
--- a/framework/vendure/product/use-price.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from '@commerce/product/use-price'
-export { default } from '@commerce/product/use-price'
diff --git a/framework/vendure/types/cart.ts b/framework/vendure/types/cart.ts
deleted file mode 100644
index 6ed5c6c64..000000000
--- a/framework/vendure/types/cart.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/cart'
diff --git a/framework/vendure/types/checkout.ts b/framework/vendure/types/checkout.ts
deleted file mode 100644
index 4e2412ef6..000000000
--- a/framework/vendure/types/checkout.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/checkout'
diff --git a/framework/vendure/types/common.ts b/framework/vendure/types/common.ts
deleted file mode 100644
index b52c33a4d..000000000
--- a/framework/vendure/types/common.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/common'
diff --git a/framework/vendure/types/customer.ts b/framework/vendure/types/customer.ts
deleted file mode 100644
index 87c9afcc4..000000000
--- a/framework/vendure/types/customer.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/customer'
diff --git a/framework/vendure/types/login.ts b/framework/vendure/types/login.ts
deleted file mode 100644
index 16bae8f65..000000000
--- a/framework/vendure/types/login.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import * as Core from '@commerce/types/login'
-import type { LoginMutationVariables } from '../schema'
-import { LoginBody, LoginTypes } from '@commerce/types/login'
-
-export * from '@commerce/types/login'
-
-export type LoginHook = {
- data: null
- actionInput: LoginBody
- fetcherInput: LoginBody
- body: T['body']
-}
diff --git a/framework/vendure/types/logout.ts b/framework/vendure/types/logout.ts
deleted file mode 100644
index 9f0a466af..000000000
--- a/framework/vendure/types/logout.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/logout'
diff --git a/framework/vendure/types/page.ts b/framework/vendure/types/page.ts
deleted file mode 100644
index 20ec8ea38..000000000
--- a/framework/vendure/types/page.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/page'
diff --git a/framework/vendure/types/product.ts b/framework/vendure/types/product.ts
deleted file mode 100644
index c776d58fa..000000000
--- a/framework/vendure/types/product.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/product'
diff --git a/framework/vendure/types/signup.ts b/framework/vendure/types/signup.ts
deleted file mode 100644
index 58543c6f6..000000000
--- a/framework/vendure/types/signup.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/signup'
diff --git a/framework/vendure/types/site.ts b/framework/vendure/types/site.ts
deleted file mode 100644
index bfef69cf9..000000000
--- a/framework/vendure/types/site.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/site'
diff --git a/framework/vendure/types/wishlist.ts b/framework/vendure/types/wishlist.ts
deleted file mode 100644
index 8907fbf82..000000000
--- a/framework/vendure/types/wishlist.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from '@commerce/types/wishlist'
diff --git a/package.json b/package.json
index 306b514a3..2854cf992 100644
--- a/package.json
+++ b/package.json
@@ -1,129 +1,26 @@
{
- "name": "nextjs-commerce",
- "version": "1.0.0",
- "scripts": {
- "dev": "NODE_OPTIONS='--inspect' next dev",
- "build": "next build",
- "start": "next start",
- "analyze": "BUNDLE_ANALYZE=both next build",
- "lint": "next lint",
- "prettier-fix": "prettier --write .",
- "find:unused": "npx next-unused",
- "generate": "graphql-codegen",
- "generate:shopify": "DOTENV_CONFIG_PATH=./.env.local graphql-codegen -r dotenv/config --config framework/shopify/codegen.json",
- "generate:vendure": "graphql-codegen --config framework/vendure/codegen.json",
- "generate:definitions": "node framework/bigcommerce/scripts/generate-definitions.js",
- "generate:kibocommerce": "graphql-codegen --config framework/kibocommerce/codegen.json"
- },
- "sideEffects": false,
+ "name": "commerce",
"license": "MIT",
- "engines": {
- "node": ">=14.x"
- },
- "dependencies": {
- "@commercelayer/js-auth": "^2.0.7",
- "@commercelayer/js-sdk": "^4.1.3",
- "@chec/commerce.js": "^2.8.0",
- "@react-spring/web": "^9.4.1",
- "@spree/storefront-api-v2-sdk": "^5.1.1",
- "@vercel/fetch": "^6.1.1",
- "autoprefixer": "^10.4.2",
- "body-scroll-lock": "^4.0.0-beta.0",
- "classnames": "^2.3.1",
- "cookie": "^0.4.1",
- "email-validator": "^2.0.4",
- "immutability-helper": "^3.1.1",
- "js-cookie": "^3.0.1",
- "keen-slider": "^6.6.3",
- "lodash.debounce": "^4.0.8",
- "lodash.random": "^3.2.0",
- "lodash.throttle": "^4.1.1",
- "next": "^12.0.8",
- "next-seo": "^4.28.1",
- "next-themes": "^0.0.15",
- "postcss": "^8.4.5",
- "react": "^17.0.2",
- "react-dom": "^17.0.2",
- "react-fast-marquee": "^1.3.1",
- "react-merge-refs": "^1.1.0",
- "react-use-measure": "^2.1.1",
- "stripe": "^8.196.0",
- "swell-js": "^4.0.0-next.0",
- "swr": "^1.1.2",
- "tabbable": "^5.2.1",
- "tailwindcss": "^3.0.13",
- "uuidv4": "^6.2.12"
+ "private": true,
+ "workspaces": [
+ "site",
+ "packages/*"
+ ],
+ "scripts": {
+ "build": "turbo run build --scope=next-commerce --include-dependencies --no-deps",
+ "dev": "turbo run dev",
+ "start": "turbo run start",
+ "prettier-fix": "prettier --write ."
},
"devDependencies": {
- "@graphql-codegen/cli": "^1.21.5",
- "@graphql-codegen/schema-ast": "^1.18.3",
- "@graphql-codegen/typescript": "^1.22.2",
- "@graphql-codegen/typescript-operations": "^1.18.1",
- "@next/bundle-analyzer": "^12.0.8",
- "@types/body-scroll-lock": "^3.1.0",
- "@types/chec__commerce.js": "^2.8.4",
- "@types/cookie": "^0.4.1",
- "@types/js-cookie": "^3.0.1",
- "@types/lodash.debounce": "^4.0.6",
- "@types/lodash.random": "^3.2.6",
- "@types/lodash.throttle": "^4.1.6",
- "@types/node": "^17.0.8",
- "@types/react": "^17.0.38",
- "deepmerge": "^4.2.2",
- "eslint": "^8.6.0",
- "eslint-config-next": "^12.0.8",
- "eslint-config-prettier": "^8.3.0",
- "graphql": "^15.5.1",
"husky": "^7.0.4",
- "lint-staged": "^12.1.7",
- "postcss-flexbugs-fixes": "^5.0.2",
- "postcss-preset-env": "^7.2.3",
"prettier": "^2.5.1",
- "typescript": "4.5.4"
+ "turbo": "^1.1.2"
},
"husky": {
"hooks": {
- "pre-commit": "lint-staged"
+ "pre-commit": "turbo run lint"
}
},
- "lint-staged": {
- "**/*.{js,jsx,ts,tsx}": [
- "eslint",
- "prettier --write",
- "git add"
- ],
- "**/*.{md,mdx,json}": [
- "prettier --write",
- "git add"
- ]
- },
- "next-unused": {
- "alias": {
- "@lib/*": [
- "lib/*"
- ],
- "@assets/*": [
- "assets/*"
- ],
- "@config/*": [
- "config/*"
- ],
- "@components/*": [
- "components/*"
- ],
- "@utils/*": [
- "utils/*"
- ]
- },
- "debug": true,
- "include": [
- "components",
- "lib",
- "pages"
- ],
- "exclude": [],
- "entrypoints": [
- "pages"
- ]
- }
+ "packageManager": "yarn@1.22.17"
}
diff --git a/framework/bigcommerce/.env.template b/packages/bigcommerce/.env.template
similarity index 100%
rename from framework/bigcommerce/.env.template
rename to packages/bigcommerce/.env.template
diff --git a/packages/bigcommerce/.prettierignore b/packages/bigcommerce/.prettierignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/bigcommerce/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/bigcommerce/.prettierrc b/packages/bigcommerce/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/packages/bigcommerce/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/framework/bigcommerce/README.md b/packages/bigcommerce/README.md
similarity index 97%
rename from framework/bigcommerce/README.md
rename to packages/bigcommerce/README.md
index 7f62a5f3f..1e8c6cb08 100644
--- a/framework/bigcommerce/README.md
+++ b/packages/bigcommerce/README.md
@@ -9,7 +9,7 @@ With the deploy button below you'll be able to have a [BigCommerce](https://www.
If you already have a BigCommerce account and want to use your current store, then copy the `.env.template` file in this directory to `.env.local` in the main directory (which will be ignored by Git):
```bash
-cp framework/bigcommerce/.env.template .env.local
+cp packages/bigcommerce/.env.template .env.local
```
Then, set the environment variables in `.env.local` to match the ones from your store.
diff --git a/codegen.bigcommerce.json b/packages/bigcommerce/codegen.json
similarity index 73%
rename from codegen.bigcommerce.json
rename to packages/bigcommerce/codegen.json
index 1f14e88ac..7346508f7 100644
--- a/codegen.bigcommerce.json
+++ b/packages/bigcommerce/codegen.json
@@ -8,16 +8,16 @@
},
"documents": [
{
- "./framework/bigcommerce/api/**/*.ts": {
+ "./src/api/**/*.ts": {
"noRequire": true
}
}
],
"generates": {
- "./framework/bigcommerce/schema.d.ts": {
+ "./schema.d.ts": {
"plugins": ["typescript", "typescript-operations"]
},
- "./framework/bigcommerce/schema.graphql": {
+ "./schema.graphql": {
"plugins": ["schema-ast"]
}
},
diff --git a/packages/bigcommerce/package.json b/packages/bigcommerce/package.json
new file mode 100644
index 000000000..34b8ac614
--- /dev/null
+++ b/packages/bigcommerce/package.json
@@ -0,0 +1,86 @@
+{
+ "name": "@vercel/commerce-bigcommerce",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "release": "taskr release",
+ "build": "taskr build",
+ "dev": "taskr",
+ "types": "tsc --emitDeclarationOnly",
+ "generate:definitions": "node scripts/generate-definitions.js"
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": "./dist/index.js",
+ "./*": [
+ "./dist/*.js",
+ "./dist/*/index.js"
+ ],
+ "./next.config": "./dist/next.config.cjs"
+ },
+ "typesVersions": {
+ "*": {
+ "*": [
+ "src/*",
+ "src/*/index"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ },
+ "files": [
+ "dist"
+ ],
+ "publishConfig": {
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/*.d.ts",
+ "dist/*/index.d.ts"
+ ],
+ "config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ }
+ },
+ "dependencies": {
+ "@vercel/fetch": "^6.1.1",
+ "cookie": "^0.4.1",
+ "immutability-helper": "^3.1.1",
+ "jsonwebtoken": "^8.5.1",
+ "lodash.debounce": "^4.0.8",
+ "uuidv4": "^6.2.12"
+ },
+ "peerDependencies": {
+ "next": "^12",
+ "react": "^17",
+ "react-dom": "^17"
+ },
+ "devDependencies": {
+ "@taskr/clear": "^1.1.0",
+ "@taskr/esnext": "^1.1.0",
+ "@taskr/watch": "^1.1.0",
+ "@types/cookie": "^0.4.1",
+ "@types/jsonwebtoken": "^8.5.7",
+ "@types/lodash.debounce": "^4.0.6",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "lint-staged": "^12.1.7",
+ "next": "^12.0.8",
+ "prettier": "^2.5.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "taskr": "^1.1.0",
+ "taskr-swc": "^0.0.1",
+ "typescript": "^4.5.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ }
+}
diff --git a/framework/bigcommerce/schema.d.ts b/packages/bigcommerce/schema.d.ts
similarity index 100%
rename from framework/bigcommerce/schema.d.ts
rename to packages/bigcommerce/schema.d.ts
diff --git a/framework/bigcommerce/schema.graphql b/packages/bigcommerce/schema.graphql
similarity index 100%
rename from framework/bigcommerce/schema.graphql
rename to packages/bigcommerce/schema.graphql
diff --git a/framework/bigcommerce/scripts/generate-definitions.js b/packages/bigcommerce/scripts/generate-definitions.js
similarity index 100%
rename from framework/bigcommerce/scripts/generate-definitions.js
rename to packages/bigcommerce/scripts/generate-definitions.js
diff --git a/framework/bigcommerce/api/definitions/catalog.ts b/packages/bigcommerce/src/api/definitions/catalog.ts
similarity index 100%
rename from framework/bigcommerce/api/definitions/catalog.ts
rename to packages/bigcommerce/src/api/definitions/catalog.ts
diff --git a/framework/bigcommerce/api/definitions/store-content.ts b/packages/bigcommerce/src/api/definitions/store-content.ts
similarity index 100%
rename from framework/bigcommerce/api/definitions/store-content.ts
rename to packages/bigcommerce/src/api/definitions/store-content.ts
diff --git a/framework/bigcommerce/api/definitions/wishlist.ts b/packages/bigcommerce/src/api/definitions/wishlist.ts
similarity index 100%
rename from framework/bigcommerce/api/definitions/wishlist.ts
rename to packages/bigcommerce/src/api/definitions/wishlist.ts
diff --git a/framework/bigcommerce/api/endpoints/cart/add-item.ts b/packages/bigcommerce/src/api/endpoints/cart/add-item.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/cart/add-item.ts
rename to packages/bigcommerce/src/api/endpoints/cart/add-item.ts
diff --git a/framework/bigcommerce/api/endpoints/cart/get-cart.ts b/packages/bigcommerce/src/api/endpoints/cart/get-cart.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/cart/get-cart.ts
rename to packages/bigcommerce/src/api/endpoints/cart/get-cart.ts
diff --git a/framework/bigcommerce/api/endpoints/cart/index.ts b/packages/bigcommerce/src/api/endpoints/cart/index.ts
similarity index 81%
rename from framework/bigcommerce/api/endpoints/cart/index.ts
rename to packages/bigcommerce/src/api/endpoints/cart/index.ts
index ae2414d70..376651178 100644
--- a/framework/bigcommerce/api/endpoints/cart/index.ts
+++ b/packages/bigcommerce/src/api/endpoints/cart/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import cartEndpoint from '@commerce/api/endpoints/cart'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import cartEndpoint from '@vercel/commerce/api/endpoints/cart'
import type { CartSchema } from '../../../types/cart'
import type { BigcommerceAPI } from '../..'
import getCart from './get-cart'
diff --git a/framework/bigcommerce/api/endpoints/cart/remove-item.ts b/packages/bigcommerce/src/api/endpoints/cart/remove-item.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/cart/remove-item.ts
rename to packages/bigcommerce/src/api/endpoints/cart/remove-item.ts
diff --git a/framework/bigcommerce/api/endpoints/cart/update-item.ts b/packages/bigcommerce/src/api/endpoints/cart/update-item.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/cart/update-item.ts
rename to packages/bigcommerce/src/api/endpoints/cart/update-item.ts
diff --git a/framework/bigcommerce/api/endpoints/catalog/products/get-products.ts b/packages/bigcommerce/src/api/endpoints/catalog/products/get-products.ts
similarity index 97%
rename from framework/bigcommerce/api/endpoints/catalog/products/get-products.ts
rename to packages/bigcommerce/src/api/endpoints/catalog/products/get-products.ts
index 6dde39e28..f88a231e1 100644
--- a/framework/bigcommerce/api/endpoints/catalog/products/get-products.ts
+++ b/packages/bigcommerce/src/api/endpoints/catalog/products/get-products.ts
@@ -1,4 +1,4 @@
-import { Product } from '@commerce/types/product'
+import { Product } from '@vercel/commerce/types/product'
import { ProductsEndpoint } from '.'
const SORT: { [key: string]: string | undefined } = {
diff --git a/framework/bigcommerce/api/endpoints/catalog/products/index.ts b/packages/bigcommerce/src/api/endpoints/catalog/products/index.ts
similarity index 76%
rename from framework/bigcommerce/api/endpoints/catalog/products/index.ts
rename to packages/bigcommerce/src/api/endpoints/catalog/products/index.ts
index 555740f60..24472434d 100644
--- a/framework/bigcommerce/api/endpoints/catalog/products/index.ts
+++ b/packages/bigcommerce/src/api/endpoints/catalog/products/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import productsEndpoint from '@commerce/api/endpoints/catalog/products'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import productsEndpoint from '@vercel/commerce/api/endpoints/catalog/products'
import type { ProductsSchema } from '../../../../types/product'
import type { BigcommerceAPI } from '../../..'
import getProducts from './get-products'
diff --git a/framework/bigcommerce/api/endpoints/checkout/get-checkout.ts b/packages/bigcommerce/src/api/endpoints/checkout/get-checkout.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/checkout/get-checkout.ts
rename to packages/bigcommerce/src/api/endpoints/checkout/get-checkout.ts
diff --git a/framework/bigcommerce/api/endpoints/checkout/index.ts b/packages/bigcommerce/src/api/endpoints/checkout/index.ts
similarity index 77%
rename from framework/bigcommerce/api/endpoints/checkout/index.ts
rename to packages/bigcommerce/src/api/endpoints/checkout/index.ts
index 9d6c548a0..83bc4ae08 100644
--- a/framework/bigcommerce/api/endpoints/checkout/index.ts
+++ b/packages/bigcommerce/src/api/endpoints/checkout/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import checkoutEndpoint from '@commerce/api/endpoints/checkout'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import checkoutEndpoint from '@vercel/commerce/api/endpoints/checkout'
import type { CheckoutSchema } from '../../../types/checkout'
import type { BigcommerceAPI } from '../..'
import getCheckout from './get-checkout'
diff --git a/framework/bigcommerce/api/endpoints/customer/address.ts b/packages/bigcommerce/src/api/endpoints/customer/address.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/customer/address.ts
rename to packages/bigcommerce/src/api/endpoints/customer/address.ts
diff --git a/framework/bigcommerce/api/endpoints/customer/card.ts b/packages/bigcommerce/src/api/endpoints/customer/card.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/customer/card.ts
rename to packages/bigcommerce/src/api/endpoints/customer/card.ts
diff --git a/framework/bigcommerce/api/endpoints/customer/get-logged-in-customer.ts b/packages/bigcommerce/src/api/endpoints/customer/get-logged-in-customer.ts
similarity index 94%
rename from framework/bigcommerce/api/endpoints/customer/get-logged-in-customer.ts
rename to packages/bigcommerce/src/api/endpoints/customer/get-logged-in-customer.ts
index 50bd5cf3f..4c93730f6 100644
--- a/framework/bigcommerce/api/endpoints/customer/get-logged-in-customer.ts
+++ b/packages/bigcommerce/src/api/endpoints/customer/get-logged-in-customer.ts
@@ -1,4 +1,4 @@
-import type { GetLoggedInCustomerQuery } from '../../../schema'
+import type { GetLoggedInCustomerQuery } from '../../../../schema'
import type { CustomerEndpoint } from '.'
export const getLoggedInCustomerQuery = /* GraphQL */ `
diff --git a/framework/bigcommerce/api/endpoints/customer/index.ts b/packages/bigcommerce/src/api/endpoints/customer/index.ts
similarity index 78%
rename from framework/bigcommerce/api/endpoints/customer/index.ts
rename to packages/bigcommerce/src/api/endpoints/customer/index.ts
index cb0f6787a..5efff392c 100644
--- a/framework/bigcommerce/api/endpoints/customer/index.ts
+++ b/packages/bigcommerce/src/api/endpoints/customer/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import customerEndpoint from '@commerce/api/endpoints/customer'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import customerEndpoint from '@vercel/commerce/api/endpoints/customer'
import type { CustomerSchema } from '../../../types/customer'
import type { BigcommerceAPI } from '../..'
import getLoggedInCustomer from './get-logged-in-customer'
diff --git a/framework/bigcommerce/api/endpoints/login/index.ts b/packages/bigcommerce/src/api/endpoints/login/index.ts
similarity index 75%
rename from framework/bigcommerce/api/endpoints/login/index.ts
rename to packages/bigcommerce/src/api/endpoints/login/index.ts
index 2b454c7c2..1ad6f7102 100644
--- a/framework/bigcommerce/api/endpoints/login/index.ts
+++ b/packages/bigcommerce/src/api/endpoints/login/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import loginEndpoint from '@commerce/api/endpoints/login'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import loginEndpoint from '@vercel/commerce/api/endpoints/login'
import type { LoginSchema } from '../../../types/login'
import type { BigcommerceAPI } from '../..'
import login from './login'
diff --git a/framework/bigcommerce/api/endpoints/login/login.ts b/packages/bigcommerce/src/api/endpoints/login/login.ts
similarity index 95%
rename from framework/bigcommerce/api/endpoints/login/login.ts
rename to packages/bigcommerce/src/api/endpoints/login/login.ts
index f55c3b54f..0ebc5b110 100644
--- a/framework/bigcommerce/api/endpoints/login/login.ts
+++ b/packages/bigcommerce/src/api/endpoints/login/login.ts
@@ -1,4 +1,4 @@
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
import type { LoginEndpoint } from '.'
const invalidCredentials = /invalid credentials/i
diff --git a/framework/bigcommerce/api/endpoints/logout/index.ts b/packages/bigcommerce/src/api/endpoints/logout/index.ts
similarity index 76%
rename from framework/bigcommerce/api/endpoints/logout/index.ts
rename to packages/bigcommerce/src/api/endpoints/logout/index.ts
index 0dbb23bab..94a246f4b 100644
--- a/framework/bigcommerce/api/endpoints/logout/index.ts
+++ b/packages/bigcommerce/src/api/endpoints/logout/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import logoutEndpoint from '@commerce/api/endpoints/logout'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import logoutEndpoint from '@vercel/commerce/api/endpoints/logout'
import type { LogoutSchema } from '../../../types/logout'
import type { BigcommerceAPI } from '../..'
import logout from './logout'
diff --git a/framework/bigcommerce/api/endpoints/logout/logout.ts b/packages/bigcommerce/src/api/endpoints/logout/logout.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/logout/logout.ts
rename to packages/bigcommerce/src/api/endpoints/logout/logout.ts
diff --git a/framework/bigcommerce/api/endpoints/signup/index.ts b/packages/bigcommerce/src/api/endpoints/signup/index.ts
similarity index 76%
rename from framework/bigcommerce/api/endpoints/signup/index.ts
rename to packages/bigcommerce/src/api/endpoints/signup/index.ts
index 6ce8be271..64521f964 100644
--- a/framework/bigcommerce/api/endpoints/signup/index.ts
+++ b/packages/bigcommerce/src/api/endpoints/signup/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import signupEndpoint from '@commerce/api/endpoints/signup'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import signupEndpoint from '@vercel/commerce/api/endpoints/signup'
import type { SignupSchema } from '../../../types/signup'
import type { BigcommerceAPI } from '../..'
import signup from './signup'
diff --git a/framework/bigcommerce/api/endpoints/signup/signup.ts b/packages/bigcommerce/src/api/endpoints/signup/signup.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/signup/signup.ts
rename to packages/bigcommerce/src/api/endpoints/signup/signup.ts
diff --git a/framework/bigcommerce/api/endpoints/wishlist/add-item.ts b/packages/bigcommerce/src/api/endpoints/wishlist/add-item.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/wishlist/add-item.ts
rename to packages/bigcommerce/src/api/endpoints/wishlist/add-item.ts
diff --git a/framework/bigcommerce/api/endpoints/wishlist/get-wishlist.ts b/packages/bigcommerce/src/api/endpoints/wishlist/get-wishlist.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/wishlist/get-wishlist.ts
rename to packages/bigcommerce/src/api/endpoints/wishlist/get-wishlist.ts
diff --git a/framework/bigcommerce/api/endpoints/wishlist/index.ts b/packages/bigcommerce/src/api/endpoints/wishlist/index.ts
similarity index 80%
rename from framework/bigcommerce/api/endpoints/wishlist/index.ts
rename to packages/bigcommerce/src/api/endpoints/wishlist/index.ts
index 31af234ce..87728225d 100644
--- a/framework/bigcommerce/api/endpoints/wishlist/index.ts
+++ b/packages/bigcommerce/src/api/endpoints/wishlist/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import wishlistEndpoint from '@commerce/api/endpoints/wishlist'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import wishlistEndpoint from '@vercel/commerce/api/endpoints/wishlist'
import type { WishlistSchema } from '../../../types/wishlist'
import type { BigcommerceAPI } from '../..'
import getWishlist from './get-wishlist'
diff --git a/framework/bigcommerce/api/endpoints/wishlist/remove-item.ts b/packages/bigcommerce/src/api/endpoints/wishlist/remove-item.ts
similarity index 100%
rename from framework/bigcommerce/api/endpoints/wishlist/remove-item.ts
rename to packages/bigcommerce/src/api/endpoints/wishlist/remove-item.ts
diff --git a/framework/bigcommerce/api/fragments/category-tree.ts b/packages/bigcommerce/src/api/fragments/category-tree.ts
similarity index 100%
rename from framework/bigcommerce/api/fragments/category-tree.ts
rename to packages/bigcommerce/src/api/fragments/category-tree.ts
diff --git a/framework/bigcommerce/api/fragments/product.ts b/packages/bigcommerce/src/api/fragments/product.ts
similarity index 98%
rename from framework/bigcommerce/api/fragments/product.ts
rename to packages/bigcommerce/src/api/fragments/product.ts
index d266b8c92..734e0ab63 100644
--- a/framework/bigcommerce/api/fragments/product.ts
+++ b/packages/bigcommerce/src/api/fragments/product.ts
@@ -58,7 +58,7 @@ export const productInfoFragment = /* GraphQL */ `
}
}
}
- variants {
+ variants(first: 250) {
edges {
node {
entityId
diff --git a/framework/bigcommerce/api/index.ts b/packages/bigcommerce/src/api/index.ts
similarity index 99%
rename from framework/bigcommerce/api/index.ts
rename to packages/bigcommerce/src/api/index.ts
index ecc0d0e0e..b4999642b 100644
--- a/framework/bigcommerce/api/index.ts
+++ b/packages/bigcommerce/src/api/index.ts
@@ -3,7 +3,7 @@ import {
CommerceAPI,
CommerceAPIConfig,
getCommerceApi as commerceApi,
-} from '@commerce/api'
+} from '@vercel/commerce/api'
import createFetchGraphqlApi from './utils/fetch-graphql-api'
import createFetchStoreApi from './utils/fetch-store-api'
diff --git a/framework/bigcommerce/api/operations/get-all-pages.ts b/packages/bigcommerce/src/api/operations/get-all-pages.ts
similarity index 97%
rename from framework/bigcommerce/api/operations/get-all-pages.ts
rename to packages/bigcommerce/src/api/operations/get-all-pages.ts
index 3a9b64b1f..3117b73fc 100644
--- a/framework/bigcommerce/api/operations/get-all-pages.ts
+++ b/packages/bigcommerce/src/api/operations/get-all-pages.ts
@@ -1,7 +1,7 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type { Page, GetAllPagesOperation } from '../../types/page'
import type { RecursivePartial, RecursiveRequired } from '../utils/types'
import { BigcommerceConfig, Provider } from '..'
diff --git a/framework/bigcommerce/api/operations/get-all-product-paths.ts b/packages/bigcommerce/src/api/operations/get-all-product-paths.ts
similarity index 94%
rename from framework/bigcommerce/api/operations/get-all-product-paths.ts
rename to packages/bigcommerce/src/api/operations/get-all-product-paths.ts
index da7b457eb..90cdab6fd 100644
--- a/framework/bigcommerce/api/operations/get-all-product-paths.ts
+++ b/packages/bigcommerce/src/api/operations/get-all-product-paths.ts
@@ -1,8 +1,8 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
-import type { GetAllProductPathsQuery } from '../../schema'
+} from '@vercel/commerce/api/operations'
+import type { GetAllProductPathsQuery } from '../../../schema'
import type { GetAllProductPathsOperation } from '../../types/product'
import type { RecursivePartial, RecursiveRequired } from '../utils/types'
import filterEdges from '../utils/filter-edges'
diff --git a/framework/bigcommerce/api/operations/get-all-products.ts b/packages/bigcommerce/src/api/operations/get-all-products.ts
similarity index 98%
rename from framework/bigcommerce/api/operations/get-all-products.ts
rename to packages/bigcommerce/src/api/operations/get-all-products.ts
index c2652f5bf..2833ffcd7 100644
--- a/framework/bigcommerce/api/operations/get-all-products.ts
+++ b/packages/bigcommerce/src/api/operations/get-all-products.ts
@@ -1,11 +1,11 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type {
GetAllProductsQuery,
GetAllProductsQueryVariables,
-} from '../../schema'
+} from '../../../schema'
import type { GetAllProductsOperation } from '../../types/product'
import type { RecursivePartial, RecursiveRequired } from '../utils/types'
import filterEdges from '../utils/filter-edges'
diff --git a/framework/bigcommerce/api/operations/get-customer-wishlist.ts b/packages/bigcommerce/src/api/operations/get-customer-wishlist.ts
similarity index 98%
rename from framework/bigcommerce/api/operations/get-customer-wishlist.ts
rename to packages/bigcommerce/src/api/operations/get-customer-wishlist.ts
index 5227ee663..dc0dd0d9a 100644
--- a/framework/bigcommerce/api/operations/get-customer-wishlist.ts
+++ b/packages/bigcommerce/src/api/operations/get-customer-wishlist.ts
@@ -1,7 +1,7 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type {
GetCustomerWishlistOperation,
Wishlist,
diff --git a/framework/bigcommerce/api/operations/get-page.ts b/packages/bigcommerce/src/api/operations/get-page.ts
similarity index 97%
rename from framework/bigcommerce/api/operations/get-page.ts
rename to packages/bigcommerce/src/api/operations/get-page.ts
index 6a1fea9d0..dc38e5088 100644
--- a/framework/bigcommerce/api/operations/get-page.ts
+++ b/packages/bigcommerce/src/api/operations/get-page.ts
@@ -1,7 +1,7 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type { GetPageOperation, Page } from '../../types/page'
import type { RecursivePartial, RecursiveRequired } from '../utils/types'
import type { BigcommerceConfig, Provider } from '..'
diff --git a/framework/bigcommerce/api/operations/get-product.ts b/packages/bigcommerce/src/api/operations/get-product.ts
similarity index 97%
rename from framework/bigcommerce/api/operations/get-product.ts
rename to packages/bigcommerce/src/api/operations/get-product.ts
index fb356e952..c7457de2a 100644
--- a/framework/bigcommerce/api/operations/get-product.ts
+++ b/packages/bigcommerce/src/api/operations/get-product.ts
@@ -1,9 +1,9 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type { GetProductOperation } from '../../types/product'
-import type { GetProductQuery, GetProductQueryVariables } from '../../schema'
+import type { GetProductQuery, GetProductQueryVariables } from '../../../schema'
import setProductLocaleMeta from '../utils/set-product-locale-meta'
import { productInfoFragment } from '../fragments/product'
import { BigcommerceConfig, Provider } from '..'
@@ -21,7 +21,7 @@ export const getProductQuery = /* GraphQL */ `
__typename
... on Product {
...productInfo
- variants {
+ variants(first: 250) {
edges {
node {
entityId
diff --git a/framework/bigcommerce/api/operations/get-site-info.ts b/packages/bigcommerce/src/api/operations/get-site-info.ts
similarity index 95%
rename from framework/bigcommerce/api/operations/get-site-info.ts
rename to packages/bigcommerce/src/api/operations/get-site-info.ts
index 0dd94dd9d..ad0dd5ebd 100644
--- a/framework/bigcommerce/api/operations/get-site-info.ts
+++ b/packages/bigcommerce/src/api/operations/get-site-info.ts
@@ -1,9 +1,9 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type { GetSiteInfoOperation } from '../../types/site'
-import type { GetSiteInfoQuery } from '../../schema'
+import type { GetSiteInfoQuery } from '../../../schema'
import filterEdges from '../utils/filter-edges'
import type { BigcommerceConfig, Provider } from '..'
import { categoryTreeItemFragment } from '../fragments/category-tree'
diff --git a/framework/bigcommerce/api/operations/login.ts b/packages/bigcommerce/src/api/operations/login.ts
similarity index 95%
rename from framework/bigcommerce/api/operations/login.ts
rename to packages/bigcommerce/src/api/operations/login.ts
index 021ba3c65..f5349998f 100644
--- a/framework/bigcommerce/api/operations/login.ts
+++ b/packages/bigcommerce/src/api/operations/login.ts
@@ -2,9 +2,9 @@ import type { ServerResponse } from 'http'
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type { LoginOperation } from '../../types/login'
-import type { LoginMutation } from '../../schema'
+import type { LoginMutation } from '../../../schema'
import type { RecursivePartial } from '../utils/types'
import concatHeader from '../utils/concat-cookie'
import type { BigcommerceConfig, Provider } from '..'
diff --git a/framework/bigcommerce/api/utils/concat-cookie.ts b/packages/bigcommerce/src/api/utils/concat-cookie.ts
similarity index 100%
rename from framework/bigcommerce/api/utils/concat-cookie.ts
rename to packages/bigcommerce/src/api/utils/concat-cookie.ts
diff --git a/framework/bigcommerce/api/utils/errors.ts b/packages/bigcommerce/src/api/utils/errors.ts
similarity index 100%
rename from framework/bigcommerce/api/utils/errors.ts
rename to packages/bigcommerce/src/api/utils/errors.ts
diff --git a/framework/bigcommerce/api/utils/fetch-graphql-api.ts b/packages/bigcommerce/src/api/utils/fetch-graphql-api.ts
similarity index 88%
rename from framework/bigcommerce/api/utils/fetch-graphql-api.ts
rename to packages/bigcommerce/src/api/utils/fetch-graphql-api.ts
index 8cc76c067..ad385fee6 100644
--- a/framework/bigcommerce/api/utils/fetch-graphql-api.ts
+++ b/packages/bigcommerce/src/api/utils/fetch-graphql-api.ts
@@ -1,5 +1,5 @@
-import { FetcherError } from '@commerce/utils/errors'
-import type { GraphQLFetcher } from '@commerce/api'
+import { FetcherError } from '@vercel/commerce/utils/errors'
+import type { GraphQLFetcher } from '@vercel/commerce/api'
import type { BigcommerceConfig } from '../index'
import fetch from './fetch'
diff --git a/framework/bigcommerce/api/utils/fetch-store-api.ts b/packages/bigcommerce/src/api/utils/fetch-store-api.ts
similarity index 100%
rename from framework/bigcommerce/api/utils/fetch-store-api.ts
rename to packages/bigcommerce/src/api/utils/fetch-store-api.ts
diff --git a/framework/bigcommerce/api/utils/fetch.ts b/packages/bigcommerce/src/api/utils/fetch.ts
similarity index 100%
rename from framework/bigcommerce/api/utils/fetch.ts
rename to packages/bigcommerce/src/api/utils/fetch.ts
diff --git a/framework/bigcommerce/api/utils/filter-edges.ts b/packages/bigcommerce/src/api/utils/filter-edges.ts
similarity index 100%
rename from framework/bigcommerce/api/utils/filter-edges.ts
rename to packages/bigcommerce/src/api/utils/filter-edges.ts
diff --git a/framework/bigcommerce/api/utils/get-cart-cookie.ts b/packages/bigcommerce/src/api/utils/get-cart-cookie.ts
similarity index 100%
rename from framework/bigcommerce/api/utils/get-cart-cookie.ts
rename to packages/bigcommerce/src/api/utils/get-cart-cookie.ts
diff --git a/framework/bigcommerce/api/utils/get-customer-id.ts b/packages/bigcommerce/src/api/utils/get-customer-id.ts
similarity index 91%
rename from framework/bigcommerce/api/utils/get-customer-id.ts
rename to packages/bigcommerce/src/api/utils/get-customer-id.ts
index 7efeeed3c..7344e017b 100644
--- a/framework/bigcommerce/api/utils/get-customer-id.ts
+++ b/packages/bigcommerce/src/api/utils/get-customer-id.ts
@@ -1,4 +1,4 @@
-import type { GetCustomerIdQuery } from '../../schema'
+import type { GetCustomerIdQuery } from '../../../schema'
import type { BigcommerceConfig } from '../'
export const getCustomerIdQuery = /* GraphQL */ `
diff --git a/framework/bigcommerce/api/utils/parse-item.ts b/packages/bigcommerce/src/api/utils/parse-item.ts
similarity index 100%
rename from framework/bigcommerce/api/utils/parse-item.ts
rename to packages/bigcommerce/src/api/utils/parse-item.ts
diff --git a/framework/bigcommerce/api/utils/set-product-locale-meta.ts b/packages/bigcommerce/src/api/utils/set-product-locale-meta.ts
similarity index 100%
rename from framework/bigcommerce/api/utils/set-product-locale-meta.ts
rename to packages/bigcommerce/src/api/utils/set-product-locale-meta.ts
diff --git a/framework/bigcommerce/api/utils/types.ts b/packages/bigcommerce/src/api/utils/types.ts
similarity index 100%
rename from framework/bigcommerce/api/utils/types.ts
rename to packages/bigcommerce/src/api/utils/types.ts
diff --git a/framework/bigcommerce/auth/index.ts b/packages/bigcommerce/src/auth/index.ts
similarity index 100%
rename from framework/bigcommerce/auth/index.ts
rename to packages/bigcommerce/src/auth/index.ts
diff --git a/framework/bigcommerce/auth/use-login.tsx b/packages/bigcommerce/src/auth/use-login.tsx
similarity index 81%
rename from framework/bigcommerce/auth/use-login.tsx
rename to packages/bigcommerce/src/auth/use-login.tsx
index ee94dcf43..a71f15983 100644
--- a/framework/bigcommerce/auth/use-login.tsx
+++ b/packages/bigcommerce/src/auth/use-login.tsx
@@ -1,7 +1,7 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useLogin, { UseLogin } from '@commerce/auth/use-login'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useLogin, { UseLogin } from '@vercel/commerce/auth/use-login'
import type { LoginHook } from '../types/login'
import useCustomer from '../customer/use-customer'
diff --git a/framework/bigcommerce/auth/use-logout.tsx b/packages/bigcommerce/src/auth/use-logout.tsx
similarity index 81%
rename from framework/bigcommerce/auth/use-logout.tsx
rename to packages/bigcommerce/src/auth/use-logout.tsx
index 1e8e9c666..bc5c3a4c0 100644
--- a/framework/bigcommerce/auth/use-logout.tsx
+++ b/packages/bigcommerce/src/auth/use-logout.tsx
@@ -1,6 +1,6 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import useLogout, { UseLogout } from '@commerce/auth/use-logout'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import useLogout, { UseLogout } from '@vercel/commerce/auth/use-logout'
import type { LogoutHook } from '../types/logout'
import useCustomer from '../customer/use-customer'
diff --git a/framework/bigcommerce/auth/use-signup.tsx b/packages/bigcommerce/src/auth/use-signup.tsx
similarity index 83%
rename from framework/bigcommerce/auth/use-signup.tsx
rename to packages/bigcommerce/src/auth/use-signup.tsx
index 8f443c42d..b06126df6 100644
--- a/framework/bigcommerce/auth/use-signup.tsx
+++ b/packages/bigcommerce/src/auth/use-signup.tsx
@@ -1,7 +1,7 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useSignup, { UseSignup } from '@commerce/auth/use-signup'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useSignup, { UseSignup } from '@vercel/commerce/auth/use-signup'
import type { SignupHook } from '../types/signup'
import useCustomer from '../customer/use-customer'
diff --git a/framework/bigcommerce/cart/index.ts b/packages/bigcommerce/src/cart/index.ts
similarity index 100%
rename from framework/bigcommerce/cart/index.ts
rename to packages/bigcommerce/src/cart/index.ts
diff --git a/framework/bigcommerce/cart/use-add-item.tsx b/packages/bigcommerce/src/cart/use-add-item.tsx
similarity index 77%
rename from framework/bigcommerce/cart/use-add-item.tsx
rename to packages/bigcommerce/src/cart/use-add-item.tsx
index bdad1862c..f65e82bc7 100644
--- a/framework/bigcommerce/cart/use-add-item.tsx
+++ b/packages/bigcommerce/src/cart/use-add-item.tsx
@@ -1,8 +1,8 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useAddItem, { UseAddItem } from '@commerce/cart/use-add-item'
-import type { AddItemHook } from '@commerce/types/cart'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useAddItem, { UseAddItem } from '@vercel/commerce/cart/use-add-item'
+import type { AddItemHook } from '@vercel/commerce/types/cart'
import useCart from './use-cart'
export default useAddItem as UseAddItem
diff --git a/framework/bigcommerce/cart/use-cart.tsx b/packages/bigcommerce/src/cart/use-cart.tsx
similarity index 78%
rename from framework/bigcommerce/cart/use-cart.tsx
rename to packages/bigcommerce/src/cart/use-cart.tsx
index 53fd3471c..f8c4691bf 100644
--- a/framework/bigcommerce/cart/use-cart.tsx
+++ b/packages/bigcommerce/src/cart/use-cart.tsx
@@ -1,7 +1,7 @@
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
-import useCart, { UseCart } from '@commerce/cart/use-cart'
-import type { GetCartHook } from '@commerce/types/cart'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCart, { UseCart } from '@vercel/commerce/cart/use-cart'
+import type { GetCartHook } from '@vercel/commerce/types/cart'
export default useCart as UseCart
diff --git a/framework/bigcommerce/cart/use-remove-item.tsx b/packages/bigcommerce/src/cart/use-remove-item.tsx
similarity index 84%
rename from framework/bigcommerce/cart/use-remove-item.tsx
rename to packages/bigcommerce/src/cart/use-remove-item.tsx
index daf155c26..8bea34f41 100644
--- a/framework/bigcommerce/cart/use-remove-item.tsx
+++ b/packages/bigcommerce/src/cart/use-remove-item.tsx
@@ -2,10 +2,10 @@ import { useCallback } from 'react'
import type {
MutationHookContext,
HookFetcherContext,
-} from '@commerce/utils/types'
-import { ValidationError } from '@commerce/utils/errors'
-import useRemoveItem, { UseRemoveItem } from '@commerce/cart/use-remove-item'
-import type { Cart, LineItem, RemoveItemHook } from '@commerce/types/cart'
+} from '@vercel/commerce/utils/types'
+import { ValidationError } from '@vercel/commerce/utils/errors'
+import useRemoveItem, { UseRemoveItem } from '@vercel/commerce/cart/use-remove-item'
+import type { Cart, LineItem, RemoveItemHook } from '@vercel/commerce/types/cart'
import useCart from './use-cart'
export type RemoveItemFn = T extends LineItem
diff --git a/framework/bigcommerce/cart/use-update-item.tsx b/packages/bigcommerce/src/cart/use-update-item.tsx
similarity index 89%
rename from framework/bigcommerce/cart/use-update-item.tsx
rename to packages/bigcommerce/src/cart/use-update-item.tsx
index a4c7d178e..b15690ed7 100644
--- a/framework/bigcommerce/cart/use-update-item.tsx
+++ b/packages/bigcommerce/src/cart/use-update-item.tsx
@@ -3,10 +3,10 @@ import debounce from 'lodash.debounce'
import type {
MutationHookContext,
HookFetcherContext,
-} from '@commerce/utils/types'
-import { ValidationError } from '@commerce/utils/errors'
-import useUpdateItem, { UseUpdateItem } from '@commerce/cart/use-update-item'
-import type { LineItem, UpdateItemHook } from '@commerce/types/cart'
+} from '@vercel/commerce/utils/types'
+import { ValidationError } from '@vercel/commerce/utils/errors'
+import useUpdateItem, { UseUpdateItem } from '@vercel/commerce/cart/use-update-item'
+import type { LineItem, UpdateItemHook } from '@vercel/commerce/types/cart'
import { handler as removeItemHandler } from './use-remove-item'
import useCart from './use-cart'
diff --git a/framework/saleor/checkout/use-checkout.tsx b/packages/bigcommerce/src/checkout/use-checkout.tsx
similarity index 64%
rename from framework/saleor/checkout/use-checkout.tsx
rename to packages/bigcommerce/src/checkout/use-checkout.tsx
index 942f85b83..cab52bb60 100644
--- a/framework/saleor/checkout/use-checkout.tsx
+++ b/packages/bigcommerce/src/checkout/use-checkout.tsx
@@ -1,5 +1,5 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCheckout, { UseCheckout } from '@commerce/checkout/use-checkout'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCheckout, { UseCheckout } from '@vercel/commerce/checkout/use-checkout'
export default useCheckout as UseCheckout
diff --git a/framework/bigcommerce/commerce.config.json b/packages/bigcommerce/src/commerce.config.json
similarity index 100%
rename from framework/bigcommerce/commerce.config.json
rename to packages/bigcommerce/src/commerce.config.json
diff --git a/framework/bigcommerce/customer/address/use-add-item.tsx b/packages/bigcommerce/src/customer/address/use-add-item.tsx
similarity index 62%
rename from framework/bigcommerce/customer/address/use-add-item.tsx
rename to packages/bigcommerce/src/customer/address/use-add-item.tsx
index ac9dcd5cf..fabd11b1d 100644
--- a/framework/bigcommerce/customer/address/use-add-item.tsx
+++ b/packages/bigcommerce/src/customer/address/use-add-item.tsx
@@ -1,5 +1,5 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/address/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
+import useAddItem, { UseAddItem } from '@vercel/commerce/customer/address/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
export default useAddItem as UseAddItem
diff --git a/framework/bigcommerce/customer/card/use-add-item.tsx b/packages/bigcommerce/src/customer/card/use-add-item.tsx
similarity index 63%
rename from framework/bigcommerce/customer/card/use-add-item.tsx
rename to packages/bigcommerce/src/customer/card/use-add-item.tsx
index 7e3afa9c5..938e6cd61 100644
--- a/framework/bigcommerce/customer/card/use-add-item.tsx
+++ b/packages/bigcommerce/src/customer/card/use-add-item.tsx
@@ -1,5 +1,5 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/card/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
+import useAddItem, { UseAddItem } from '@vercel/commerce/customer/card/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
export default useAddItem as UseAddItem
diff --git a/framework/bigcommerce/customer/index.ts b/packages/bigcommerce/src/customer/index.ts
similarity index 100%
rename from framework/bigcommerce/customer/index.ts
rename to packages/bigcommerce/src/customer/index.ts
diff --git a/framework/bigcommerce/customer/use-customer.tsx b/packages/bigcommerce/src/customer/use-customer.tsx
similarity index 79%
rename from framework/bigcommerce/customer/use-customer.tsx
rename to packages/bigcommerce/src/customer/use-customer.tsx
index ddecc2fcf..36bf88617 100644
--- a/framework/bigcommerce/customer/use-customer.tsx
+++ b/packages/bigcommerce/src/customer/use-customer.tsx
@@ -1,5 +1,5 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCustomer, { UseCustomer } from '@commerce/customer/use-customer'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCustomer, { UseCustomer } from '@vercel/commerce/customer/use-customer'
import type { CustomerHook } from '../types/customer'
export default useCustomer as UseCustomer
diff --git a/framework/bigcommerce/fetcher.ts b/packages/bigcommerce/src/fetcher.ts
similarity index 88%
rename from framework/bigcommerce/fetcher.ts
rename to packages/bigcommerce/src/fetcher.ts
index f8ca0c578..bc8a6b9aa 100644
--- a/framework/bigcommerce/fetcher.ts
+++ b/packages/bigcommerce/src/fetcher.ts
@@ -1,5 +1,5 @@
-import { FetcherError } from '@commerce/utils/errors'
-import type { Fetcher } from '@commerce/utils/types'
+import { FetcherError } from '@vercel/commerce/utils/errors'
+import type { Fetcher } from '@vercel/commerce/utils/types'
async function getText(res: Response) {
try {
diff --git a/framework/bigcommerce/index.tsx b/packages/bigcommerce/src/index.tsx
similarity index 93%
rename from framework/bigcommerce/index.tsx
rename to packages/bigcommerce/src/index.tsx
index 3259836b9..a7de60924 100644
--- a/framework/bigcommerce/index.tsx
+++ b/packages/bigcommerce/src/index.tsx
@@ -1,4 +1,4 @@
-import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
+import { getCommerceProvider, useCommerce as useCoreCommerce } from '@vercel/commerce'
import { bigcommerceProvider, BigcommerceProvider } from './provider'
export { bigcommerceProvider }
diff --git a/framework/bigcommerce/lib/get-slug.ts b/packages/bigcommerce/src/lib/get-slug.ts
similarity index 100%
rename from framework/bigcommerce/lib/get-slug.ts
rename to packages/bigcommerce/src/lib/get-slug.ts
diff --git a/framework/bigcommerce/lib/immutability.ts b/packages/bigcommerce/src/lib/immutability.ts
similarity index 100%
rename from framework/bigcommerce/lib/immutability.ts
rename to packages/bigcommerce/src/lib/immutability.ts
diff --git a/framework/bigcommerce/lib/normalize.ts b/packages/bigcommerce/src/lib/normalize.ts
similarity index 100%
rename from framework/bigcommerce/lib/normalize.ts
rename to packages/bigcommerce/src/lib/normalize.ts
diff --git a/framework/bigcommerce/next.config.js b/packages/bigcommerce/src/next.config.cjs
similarity index 100%
rename from framework/bigcommerce/next.config.js
rename to packages/bigcommerce/src/next.config.cjs
diff --git a/framework/bigcommerce/product/index.ts b/packages/bigcommerce/src/product/index.ts
similarity index 100%
rename from framework/bigcommerce/product/index.ts
rename to packages/bigcommerce/src/product/index.ts
diff --git a/packages/bigcommerce/src/product/use-price.tsx b/packages/bigcommerce/src/product/use-price.tsx
new file mode 100644
index 000000000..fd42d7033
--- /dev/null
+++ b/packages/bigcommerce/src/product/use-price.tsx
@@ -0,0 +1,2 @@
+export * from '@vercel/commerce/product/use-price'
+export { default } from '@vercel/commerce/product/use-price'
diff --git a/framework/bigcommerce/product/use-search.tsx b/packages/bigcommerce/src/product/use-search.tsx
similarity index 91%
rename from framework/bigcommerce/product/use-search.tsx
rename to packages/bigcommerce/src/product/use-search.tsx
index 76fab00a4..fd918e341 100644
--- a/framework/bigcommerce/product/use-search.tsx
+++ b/packages/bigcommerce/src/product/use-search.tsx
@@ -1,5 +1,5 @@
-import { SWRHook } from '@commerce/utils/types'
-import useSearch, { UseSearch } from '@commerce/product/use-search'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useSearch, { UseSearch } from '@vercel/commerce/product/use-search'
import type { SearchProductsHook } from '../types/product'
export default useSearch as UseSearch
diff --git a/framework/bigcommerce/provider.ts b/packages/bigcommerce/src/provider.ts
similarity index 100%
rename from framework/bigcommerce/provider.ts
rename to packages/bigcommerce/src/provider.ts
diff --git a/framework/bigcommerce/types/cart.ts b/packages/bigcommerce/src/types/cart.ts
similarity index 94%
rename from framework/bigcommerce/types/cart.ts
rename to packages/bigcommerce/src/types/cart.ts
index 33c01e4c6..3b5d8288b 100644
--- a/framework/bigcommerce/types/cart.ts
+++ b/packages/bigcommerce/src/types/cart.ts
@@ -1,6 +1,6 @@
-import * as Core from '@commerce/types/cart'
+import * as Core from '@vercel/commerce/types/cart'
-export * from '@commerce/types/cart'
+export * from '@vercel/commerce/types/cart'
// TODO: this type should match:
// https://developer.bigcommerce.com/api-reference/cart-checkout/server-server-cart-api/cart/getacart#responses
diff --git a/packages/bigcommerce/src/types/checkout.ts b/packages/bigcommerce/src/types/checkout.ts
new file mode 100644
index 000000000..d139db685
--- /dev/null
+++ b/packages/bigcommerce/src/types/checkout.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/checkout'
diff --git a/packages/bigcommerce/src/types/common.ts b/packages/bigcommerce/src/types/common.ts
new file mode 100644
index 000000000..23b8daa11
--- /dev/null
+++ b/packages/bigcommerce/src/types/common.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/common'
diff --git a/packages/bigcommerce/src/types/customer.ts b/packages/bigcommerce/src/types/customer.ts
new file mode 100644
index 000000000..6e66366be
--- /dev/null
+++ b/packages/bigcommerce/src/types/customer.ts
@@ -0,0 +1,5 @@
+import * as Core from '@vercel/commerce/types/customer'
+
+export * from '@vercel/commerce/types/customer'
+
+export type CustomerSchema = Core.CustomerSchema
diff --git a/framework/bigcommerce/types/index.ts b/packages/bigcommerce/src/types/index.ts
similarity index 100%
rename from framework/bigcommerce/types/index.ts
rename to packages/bigcommerce/src/types/index.ts
diff --git a/packages/bigcommerce/src/types/login.ts b/packages/bigcommerce/src/types/login.ts
new file mode 100644
index 000000000..eff27ca46
--- /dev/null
+++ b/packages/bigcommerce/src/types/login.ts
@@ -0,0 +1,8 @@
+import * as Core from '@vercel/commerce/types/login'
+import type { LoginMutationVariables } from '../../schema'
+
+export * from '@vercel/commerce/types/login'
+
+export type LoginOperation = Core.LoginOperation & {
+ variables: LoginMutationVariables
+}
diff --git a/packages/bigcommerce/src/types/logout.ts b/packages/bigcommerce/src/types/logout.ts
new file mode 100644
index 000000000..1de06f8dc
--- /dev/null
+++ b/packages/bigcommerce/src/types/logout.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/logout'
diff --git a/framework/shopify/types/page.ts b/packages/bigcommerce/src/types/page.ts
similarity index 68%
rename from framework/shopify/types/page.ts
rename to packages/bigcommerce/src/types/page.ts
index 2bccfade2..ccbc29f7b 100644
--- a/framework/shopify/types/page.ts
+++ b/packages/bigcommerce/src/types/page.ts
@@ -1,5 +1,5 @@
-import * as Core from '@commerce/types/page'
-export * from '@commerce/types/page'
+import * as Core from '@vercel/commerce/types/page'
+export * from '@vercel/commerce/types/page'
export type Page = Core.Page
diff --git a/packages/bigcommerce/src/types/product.ts b/packages/bigcommerce/src/types/product.ts
new file mode 100644
index 000000000..72ca02f02
--- /dev/null
+++ b/packages/bigcommerce/src/types/product.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/product'
diff --git a/packages/bigcommerce/src/types/signup.ts b/packages/bigcommerce/src/types/signup.ts
new file mode 100644
index 000000000..3f0d1af5a
--- /dev/null
+++ b/packages/bigcommerce/src/types/signup.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/signup'
diff --git a/framework/bigcommerce/types/site.ts b/packages/bigcommerce/src/types/site.ts
similarity index 77%
rename from framework/bigcommerce/types/site.ts
rename to packages/bigcommerce/src/types/site.ts
index 12dd7038c..5c3074cc9 100644
--- a/framework/bigcommerce/types/site.ts
+++ b/packages/bigcommerce/src/types/site.ts
@@ -1,7 +1,7 @@
-import * as Core from '@commerce/types/site'
-import type { GetSiteInfoQuery, GetSiteInfoQueryVariables } from '../schema'
+import * as Core from '@vercel/commerce/types/site'
+import type { GetSiteInfoQuery, GetSiteInfoQueryVariables } from '../../schema'
-export * from '@commerce/types/site'
+export * from '@vercel/commerce/types/site'
export type BCCategory = NonNullable<
GetSiteInfoQuery['site']['categoryTree']
diff --git a/framework/bigcommerce/types/wishlist.ts b/packages/bigcommerce/src/types/wishlist.ts
similarity index 85%
rename from framework/bigcommerce/types/wishlist.ts
rename to packages/bigcommerce/src/types/wishlist.ts
index 9e9c52353..67cf58c26 100644
--- a/framework/bigcommerce/types/wishlist.ts
+++ b/packages/bigcommerce/src/types/wishlist.ts
@@ -1,8 +1,8 @@
-import * as Core from '@commerce/types/wishlist'
+import * as Core from '@vercel/commerce/types/wishlist'
import { definitions } from '../api/definitions/wishlist'
import type { ProductEdge } from '../api/operations/get-all-products'
-export * from '@commerce/types/wishlist'
+export * from '@vercel/commerce/types/wishlist'
export type WishlistItem = NonNullable<
definitions['wishlist_Full']['items']
diff --git a/framework/bigcommerce/wishlist/index.ts b/packages/bigcommerce/src/wishlist/index.ts
similarity index 100%
rename from framework/bigcommerce/wishlist/index.ts
rename to packages/bigcommerce/src/wishlist/index.ts
diff --git a/framework/bigcommerce/wishlist/use-add-item.tsx b/packages/bigcommerce/src/wishlist/use-add-item.tsx
similarity index 82%
rename from framework/bigcommerce/wishlist/use-add-item.tsx
rename to packages/bigcommerce/src/wishlist/use-add-item.tsx
index 3602acdfc..c9e237b0b 100644
--- a/framework/bigcommerce/wishlist/use-add-item.tsx
+++ b/packages/bigcommerce/src/wishlist/use-add-item.tsx
@@ -1,7 +1,7 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useAddItem, { UseAddItem } from '@commerce/wishlist/use-add-item'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useAddItem, { UseAddItem } from '@vercel/commerce/wishlist/use-add-item'
import type { AddItemHook } from '../types/wishlist'
import useCustomer from '../customer/use-customer'
import useWishlist from './use-wishlist'
diff --git a/framework/bigcommerce/wishlist/use-remove-item.tsx b/packages/bigcommerce/src/wishlist/use-remove-item.tsx
similarity index 85%
rename from framework/bigcommerce/wishlist/use-remove-item.tsx
rename to packages/bigcommerce/src/wishlist/use-remove-item.tsx
index 84bb579ce..40ca0da04 100644
--- a/framework/bigcommerce/wishlist/use-remove-item.tsx
+++ b/packages/bigcommerce/src/wishlist/use-remove-item.tsx
@@ -1,9 +1,9 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
import useRemoveItem, {
UseRemoveItem,
-} from '@commerce/wishlist/use-remove-item'
+} from '@vercel/commerce/wishlist/use-remove-item'
import type { RemoveItemHook } from '../types/wishlist'
import useCustomer from '../customer/use-customer'
import useWishlist from './use-wishlist'
diff --git a/framework/bigcommerce/wishlist/use-wishlist.tsx b/packages/bigcommerce/src/wishlist/use-wishlist.tsx
similarity index 90%
rename from framework/bigcommerce/wishlist/use-wishlist.tsx
rename to packages/bigcommerce/src/wishlist/use-wishlist.tsx
index 7c09f835a..e77d6885b 100644
--- a/framework/bigcommerce/wishlist/use-wishlist.tsx
+++ b/packages/bigcommerce/src/wishlist/use-wishlist.tsx
@@ -1,6 +1,6 @@
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
-import useWishlist, { UseWishlist } from '@commerce/wishlist/use-wishlist'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useWishlist, { UseWishlist } from '@vercel/commerce/wishlist/use-wishlist'
import type { GetWishlistHook } from '../types/wishlist'
import useCustomer from '../customer/use-customer'
diff --git a/packages/bigcommerce/taskfile.js b/packages/bigcommerce/taskfile.js
new file mode 100644
index 000000000..39b1b2a86
--- /dev/null
+++ b/packages/bigcommerce/taskfile.js
@@ -0,0 +1,20 @@
+export async function build(task, opts) {
+ await task
+ .source('src/**/*.+(ts|tsx|js)')
+ .swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
+ .target('dist')
+ .source('src/**/*.+(cjs|json)')
+ .target('dist')
+ task.$.log('Compiled src files')
+}
+
+export async function release(task) {
+ await task.clear('dist').start('build')
+}
+
+export default async function dev(task) {
+ const opts = { dev: true }
+ await task.clear('dist')
+ await task.start('build', opts)
+ await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
+}
diff --git a/packages/bigcommerce/tsconfig.json b/packages/bigcommerce/tsconfig.json
new file mode 100644
index 000000000..cd04ab2ff
--- /dev/null
+++ b/packages/bigcommerce/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "outDir": "dist",
+ "baseUrl": "src",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "declaration": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "incremental": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/packages/commerce/.prettierignore b/packages/commerce/.prettierignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/commerce/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/commerce/.prettierrc b/packages/commerce/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/packages/commerce/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/framework/commerce/README.md b/packages/commerce/README.md
similarity index 100%
rename from framework/commerce/README.md
rename to packages/commerce/README.md
diff --git a/packages/commerce/fixup.mjs b/packages/commerce/fixup.mjs
new file mode 100755
index 000000000..b276f5c14
--- /dev/null
+++ b/packages/commerce/fixup.mjs
@@ -0,0 +1,5 @@
+import { readFile, writeFile } from 'fs/promises'
+
+const packageJson = await readFile('package.json', 'utf8')
+
+writeFile('dist/package.json', packageJson, 'utf8')
diff --git a/framework/commerce/new-provider.md b/packages/commerce/new-provider.md
similarity index 59%
rename from framework/commerce/new-provider.md
rename to packages/commerce/new-provider.md
index 53b6c2a38..546b933f6 100644
--- a/framework/commerce/new-provider.md
+++ b/packages/commerce/new-provider.md
@@ -4,108 +4,82 @@
A commerce provider is a headless e-commerce platform that integrates with the [Commerce Framework](./README.md). Right now we have the following providers:
-- Local ([framework/local](../local))
-- Shopify ([framework/shopify](../shopify))
-- Swell ([framework/swell](../swell))
-- BigCommerce ([framework/bigcommerce](../bigcommerce))
-- Vendure ([framework/vendure](../vendure))
-- Saleor ([framework/saleor](../saleor))
-- OrderCloud ([framework/ordercloud](../ordercloud))
-- Spree ([framework/spree](../spree))
-- Kibo Commerce ([framework/kibocommerce](../kibocommerce))
-- Commerce.js ([framework/commercejs](../commercejs))
+- Local ([packages/local](../local))
+- Shopify ([packages/shopify](../shopify))
+- Swell ([packages/swell](../swell))
+- BigCommerce ([packages/bigcommerce](../bigcommerce))
+- Vendure ([packages/vendure](../vendure))
+- Saleor ([packages/saleor](../saleor))
+- OrderCloud ([packages/ordercloud](../ordercloud))
+- Spree ([packages/spree](../spree))
+- Kibo Commerce ([packages/kibocommerce](../kibocommerce))
+- Commerce.js ([packages/commercejs](../commercejs))
-Adding a commerce provider means adding a new folder in `framework` with a folder structure like the next one:
+Adding a commerce provider means adding a new folder in `packages` with a folder structure like the next one:
-- `api`
- - index.ts
-- `product`
- - usePrice
- - useSearch
- - getProduct
- - getAllProducts
-- `wishlist`
- - useWishlist
- - useAddItem
- - useRemoveItem
-- `auth`
- - useLogin
- - useLogout
- - useSignup
-- `customer`
- - useCustomer
- - getCustomerId
- - getCustomerWistlist
-- `cart`
- - useCart
- - useAddItem
- - useRemoveItem
- - useUpdateItem
+- `src`
+ - `api`
+ - index.ts
+ - `product`
+ - usePrice
+ - useSearch
+ - getProduct
+ - getAllProducts
+ - `wishlist`
+ - useWishlist
+ - useAddItem
+ - useRemoveItem
+ - `auth`
+ - useLogin
+ - useLogout
+ - useSignup
+ - `customer`
+ - useCustomer
+ - getCustomerId
+ - getCustomerWistlist
+ - `cart`
+ - useCart
+ - useAddItem
+ - useRemoveItem
+ - useUpdateItem
+ - `index.ts`
+ - `provider.ts`
+ - `commerce.config.json`
+ - `next.config.cjs`
+- `package.json`
+- `tsconfig.json`
- `env.template`
-- `index.ts`
-- `provider.ts`
-- `commerce.config.json`
-- `next.config.js`
- `README.md`
`provider.ts` exports a provider object with handlers for the [Commerce Hooks](./README.md#commerce-hooks) and `api/index.ts` exports a Node.js provider for the [Commerce API](./README.md#commerce-api)
> **Important:** We use TypeScript for every provider and expect its usage for every new one.
-The app imports from the provider directly instead of the core commerce folder (`framework/commerce`), but all providers are interchangeable and to achieve it every provider always has to implement the core types and helpers.
-
-The provider folder should only depend on `framework/commerce` and dependencies in the main `package.json`. In the future we'll move the `framework` folder to a package that can be shared easily for multiple apps.
+The app imports from the provider directly instead of the core commerce folder (`packages/commerce`), but all providers are interchangeable and to achieve it every provider always has to implement the core types and helpers.
## Updating the list of known providers
-Open [./config.js](./config.js) and add the provider name to the list in `PROVIDERS`.
+Open [/site/commerce-config.js](/site/commerce-config.js) and add the provider name to the list in `PROVIDERS`.
-Then, open [/.env.template](/.env.template) and add the provider name in the first line.
+Then, open [/site/.env.template](/site/.env.template) and add the provider name to the list there too.
## Adding the provider hooks
Using BigCommerce as an example. The first thing to do is export a `CommerceProvider` component that includes a `provider` object with all the handlers that can be used for hooks:
```tsx
-import type { ReactNode } from 'react'
-import {
- CommerceConfig,
- CommerceProvider as CoreCommerceProvider,
- useCommerce as useCoreCommerce,
-} from '@commerce'
-import { bigcommerceProvider } from './provider'
-import type { BigcommerceProvider } from './provider'
+import { getCommerceProvider, useCommerce as useCoreCommerce } from '@vercel/commerce'
+import { bigcommerceProvider, BigcommerceProvider } from './provider'
export { bigcommerceProvider }
export type { BigcommerceProvider }
-export const bigcommerceConfig: CommerceConfig = {
- locale: 'en-us',
- cartCookie: 'bc_cartId',
-}
-
-export type BigcommerceConfig = Partial
-
-export type BigcommerceProps = {
- children?: ReactNode
- locale: string
-} & BigcommerceConfig
-
-export function CommerceProvider({ children, ...config }: BigcommerceProps) {
- return (
-
- {children}
-
- )
-}
+export const CommerceProvider = getCommerceProvider(bigcommerceProvider)
export const useCommerce = () => useCoreCommerce()
```
-The exported types and components extend from the core ones exported by `@commerce`, which refers to `framework/commerce`.
+The exported types and components extend from the core ones exported by `@vercel/commerce`, which refers to `packages/commerce`.
The `bigcommerceProvider` object looks like this:
@@ -146,33 +120,23 @@ export const bigcommerceProvider = {
export type BigcommerceProvider = typeof bigcommerceProvider
```
-The provider object, in this case `bigcommerceProvider`, has to match the `Provider` type defined in [framework/commerce](./index.ts).
+The provider object, in this case `bigcommerceProvider`, has to match the `Provider` type defined in [packages/commerce](./src/index.tsx).
A hook handler, like `useCart`, looks like this:
```tsx
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
-import useCart, { UseCart, FetchCartInput } from '@commerce/cart/use-cart'
-import { normalizeCart } from '../lib/normalize'
-import type { Cart } from '../types'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCart, { UseCart } from '@vercel/commerce/cart/use-cart'
+import type { GetCartHook } from '@vercel/commerce/types/cart'
export default useCart as UseCart
-export const handler: SWRHook<
- Cart | null,
- {},
- FetchCartInput,
- { isEmpty?: boolean }
-> = {
+export const handler: SWRHook = {
fetchOptions: {
url: '/api/cart',
method: 'GET',
},
- async fetcher({ input: { cartId }, options, fetch }) {
- const data = cartId ? await fetch(options) : null
- return data && normalizeCart(data)
- },
useHook:
({ useData }) =>
(input) => {
@@ -200,21 +164,15 @@ In the case of data fetching hooks like `useCart` each handler has to implement
```tsx
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useAddItem, { UseAddItem } from '@commerce/cart/use-add-item'
-import { normalizeCart } from '../lib/normalize'
-import type {
- Cart,
- BigcommerceCart,
- CartItemBody,
- AddCartItemBody,
-} from '../types'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useAddItem, { UseAddItem } from '@vercel/commerce/cart/use-add-item'
+import type { AddItemHook } from '@vercel/commerce/types/cart'
import useCart from './use-cart'
export default useAddItem as UseAddItem
-export const handler: MutationHook = {
+export const handler: MutationHook = {
fetchOptions: {
url: '/api/cart',
method: 'POST',
@@ -229,12 +187,12 @@ export const handler: MutationHook = {
})
}
- const data = await fetch({
+ const data = await fetch({
...options,
body: { item },
})
- return normalizeCart(data)
+ return data
},
useHook:
({ fetch }) =>
@@ -276,9 +234,3 @@ When creating a PR for a new provider, include this list in the PR description a
* [ ] Custom checkout
* [ ] Typing (in progress)
* [ ] Tests
-
-## Adding the Node.js provider API
-
-TODO
-
-> The commerce API is currently going through a refactor in https://github.com/vercel/commerce/pull/252 - We'll update the docs once the API is released.
diff --git a/packages/commerce/package.json b/packages/commerce/package.json
new file mode 100644
index 000000000..17343a8b2
--- /dev/null
+++ b/packages/commerce/package.json
@@ -0,0 +1,83 @@
+{
+ "name": "@vercel/commerce",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "release": "taskr release",
+ "build": "taskr build",
+ "dev": "taskr",
+ "types": "tsc --emitDeclarationOnly",
+ "prettier-fix": "prettier --write ."
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": "./dist/index.js",
+ "./*": [
+ "./dist/*.js",
+ "./dist/*/index.js"
+ ],
+ "./config": "./dist/config.cjs"
+ },
+ "typesVersions": {
+ "*": {
+ "*": [
+ "src/*",
+ "src/*/index"
+ ],
+ "config": [
+ "dist/config.d.cts"
+ ]
+ }
+ },
+ "files": [
+ "dist"
+ ],
+ "publishConfig": {
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/*.d.ts",
+ "dist/*/index.d.ts"
+ ],
+ "config": [
+ "dist/config.d.cts"
+ ]
+ }
+ }
+ },
+ "dependencies": {
+ "@vercel/fetch": "^6.1.1",
+ "deepmerge": "^4.2.2",
+ "import-cwd": "^3.0.0",
+ "js-cookie": "^3.0.1",
+ "swr": "^1.2.0"
+ },
+ "peerDependencies": {
+ "next": "^12",
+ "react": "^17",
+ "react-dom": "^17"
+ },
+ "devDependencies": {
+ "@taskr/clear": "^1.1.0",
+ "@taskr/esnext": "^1.1.0",
+ "@taskr/watch": "^1.1.0",
+ "@types/js-cookie": "^3.0.1",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "lint-staged": "^12.1.7",
+ "next": "^12.0.8",
+ "prettier": "^2.5.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "taskr": "^1.1.0",
+ "taskr-swc": "^0.0.1",
+ "typescript": "^4.5.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ }
+}
diff --git a/framework/commerce/api/endpoints/cart.ts b/packages/commerce/src/api/endpoints/cart.ts
similarity index 100%
rename from framework/commerce/api/endpoints/cart.ts
rename to packages/commerce/src/api/endpoints/cart.ts
diff --git a/framework/commerce/api/endpoints/catalog/products.ts b/packages/commerce/src/api/endpoints/catalog/products.ts
similarity index 100%
rename from framework/commerce/api/endpoints/catalog/products.ts
rename to packages/commerce/src/api/endpoints/catalog/products.ts
diff --git a/framework/commerce/api/endpoints/checkout.ts b/packages/commerce/src/api/endpoints/checkout.ts
similarity index 100%
rename from framework/commerce/api/endpoints/checkout.ts
rename to packages/commerce/src/api/endpoints/checkout.ts
diff --git a/framework/commerce/api/endpoints/customer/address.ts b/packages/commerce/src/api/endpoints/customer/address.ts
similarity index 100%
rename from framework/commerce/api/endpoints/customer/address.ts
rename to packages/commerce/src/api/endpoints/customer/address.ts
diff --git a/framework/commerce/api/endpoints/customer/card.ts b/packages/commerce/src/api/endpoints/customer/card.ts
similarity index 100%
rename from framework/commerce/api/endpoints/customer/card.ts
rename to packages/commerce/src/api/endpoints/customer/card.ts
diff --git a/framework/commerce/api/endpoints/customer/index.ts b/packages/commerce/src/api/endpoints/customer/index.ts
similarity index 100%
rename from framework/commerce/api/endpoints/customer/index.ts
rename to packages/commerce/src/api/endpoints/customer/index.ts
diff --git a/framework/commerce/api/endpoints/login.ts b/packages/commerce/src/api/endpoints/login.ts
similarity index 100%
rename from framework/commerce/api/endpoints/login.ts
rename to packages/commerce/src/api/endpoints/login.ts
diff --git a/framework/commerce/api/endpoints/logout.ts b/packages/commerce/src/api/endpoints/logout.ts
similarity index 100%
rename from framework/commerce/api/endpoints/logout.ts
rename to packages/commerce/src/api/endpoints/logout.ts
diff --git a/framework/commerce/api/endpoints/signup.ts b/packages/commerce/src/api/endpoints/signup.ts
similarity index 100%
rename from framework/commerce/api/endpoints/signup.ts
rename to packages/commerce/src/api/endpoints/signup.ts
diff --git a/framework/commerce/api/endpoints/wishlist.ts b/packages/commerce/src/api/endpoints/wishlist.ts
similarity index 100%
rename from framework/commerce/api/endpoints/wishlist.ts
rename to packages/commerce/src/api/endpoints/wishlist.ts
diff --git a/framework/commerce/api/index.ts b/packages/commerce/src/api/index.ts
similarity index 100%
rename from framework/commerce/api/index.ts
rename to packages/commerce/src/api/index.ts
diff --git a/framework/commerce/api/operations.ts b/packages/commerce/src/api/operations.ts
similarity index 100%
rename from framework/commerce/api/operations.ts
rename to packages/commerce/src/api/operations.ts
diff --git a/framework/commerce/api/utils/errors.ts b/packages/commerce/src/api/utils/errors.ts
similarity index 100%
rename from framework/commerce/api/utils/errors.ts
rename to packages/commerce/src/api/utils/errors.ts
diff --git a/framework/commerce/api/utils/is-allowed-method.ts b/packages/commerce/src/api/utils/is-allowed-method.ts
similarity index 100%
rename from framework/commerce/api/utils/is-allowed-method.ts
rename to packages/commerce/src/api/utils/is-allowed-method.ts
diff --git a/framework/commerce/api/utils/is-allowed-operation.ts b/packages/commerce/src/api/utils/is-allowed-operation.ts
similarity index 100%
rename from framework/commerce/api/utils/is-allowed-operation.ts
rename to packages/commerce/src/api/utils/is-allowed-operation.ts
diff --git a/framework/commerce/api/utils/types.ts b/packages/commerce/src/api/utils/types.ts
similarity index 100%
rename from framework/commerce/api/utils/types.ts
rename to packages/commerce/src/api/utils/types.ts
diff --git a/framework/commerce/auth/use-login.tsx b/packages/commerce/src/auth/use-login.tsx
similarity index 100%
rename from framework/commerce/auth/use-login.tsx
rename to packages/commerce/src/auth/use-login.tsx
diff --git a/framework/commerce/auth/use-logout.tsx b/packages/commerce/src/auth/use-logout.tsx
similarity index 100%
rename from framework/commerce/auth/use-logout.tsx
rename to packages/commerce/src/auth/use-logout.tsx
diff --git a/framework/commerce/auth/use-signup.tsx b/packages/commerce/src/auth/use-signup.tsx
similarity index 100%
rename from framework/commerce/auth/use-signup.tsx
rename to packages/commerce/src/auth/use-signup.tsx
diff --git a/framework/commerce/cart/use-add-item.tsx b/packages/commerce/src/cart/use-add-item.tsx
similarity index 100%
rename from framework/commerce/cart/use-add-item.tsx
rename to packages/commerce/src/cart/use-add-item.tsx
diff --git a/framework/commerce/cart/use-cart.tsx b/packages/commerce/src/cart/use-cart.tsx
similarity index 100%
rename from framework/commerce/cart/use-cart.tsx
rename to packages/commerce/src/cart/use-cart.tsx
diff --git a/framework/commerce/cart/use-remove-item.tsx b/packages/commerce/src/cart/use-remove-item.tsx
similarity index 100%
rename from framework/commerce/cart/use-remove-item.tsx
rename to packages/commerce/src/cart/use-remove-item.tsx
diff --git a/framework/commerce/cart/use-update-item.tsx b/packages/commerce/src/cart/use-update-item.tsx
similarity index 100%
rename from framework/commerce/cart/use-update-item.tsx
rename to packages/commerce/src/cart/use-update-item.tsx
diff --git a/framework/commerce/checkout/use-checkout.ts b/packages/commerce/src/checkout/use-checkout.ts
similarity index 100%
rename from framework/commerce/checkout/use-checkout.ts
rename to packages/commerce/src/checkout/use-checkout.ts
diff --git a/framework/commerce/checkout/use-submit-checkout.tsx b/packages/commerce/src/checkout/use-submit-checkout.tsx
similarity index 100%
rename from framework/commerce/checkout/use-submit-checkout.tsx
rename to packages/commerce/src/checkout/use-submit-checkout.tsx
diff --git a/packages/commerce/src/config.cjs b/packages/commerce/src/config.cjs
new file mode 100644
index 000000000..aabc16e0c
--- /dev/null
+++ b/packages/commerce/src/config.cjs
@@ -0,0 +1,31 @@
+/**
+ * This file is expected to be used in next.config.js only
+ */
+
+const path = require('path')
+const merge = require('deepmerge')
+const importCwd = require('import-cwd')
+
+function withCommerceConfig(nextConfig = {}) {
+ const commerce = nextConfig.commerce || {}
+ const { provider } = commerce
+
+ if (!provider) {
+ throw new Error(
+ `The commerce provider is missing, please add a valid provider name`
+ )
+ }
+
+ const commerceNextConfig = importCwd(path.join(provider, 'next.config'))
+ const config = merge(nextConfig, commerceNextConfig)
+
+ config.env = config.env || {}
+
+ Object.entries(config.commerce.features).forEach(([k, v]) => {
+ if (v) config.env[`COMMERCE_${k.toUpperCase()}_ENABLED`] = true
+ })
+
+ return config
+}
+
+module.exports = { withCommerceConfig }
diff --git a/framework/commerce/customer/address/use-add-item.tsx b/packages/commerce/src/customer/address/use-add-item.tsx
similarity index 100%
rename from framework/commerce/customer/address/use-add-item.tsx
rename to packages/commerce/src/customer/address/use-add-item.tsx
diff --git a/framework/commerce/customer/address/use-addresses.tsx b/packages/commerce/src/customer/address/use-addresses.tsx
similarity index 100%
rename from framework/commerce/customer/address/use-addresses.tsx
rename to packages/commerce/src/customer/address/use-addresses.tsx
diff --git a/framework/commerce/customer/address/use-remove-item.tsx b/packages/commerce/src/customer/address/use-remove-item.tsx
similarity index 100%
rename from framework/commerce/customer/address/use-remove-item.tsx
rename to packages/commerce/src/customer/address/use-remove-item.tsx
diff --git a/framework/commerce/customer/address/use-update-item.tsx b/packages/commerce/src/customer/address/use-update-item.tsx
similarity index 100%
rename from framework/commerce/customer/address/use-update-item.tsx
rename to packages/commerce/src/customer/address/use-update-item.tsx
diff --git a/framework/commerce/customer/card/use-add-item.tsx b/packages/commerce/src/customer/card/use-add-item.tsx
similarity index 100%
rename from framework/commerce/customer/card/use-add-item.tsx
rename to packages/commerce/src/customer/card/use-add-item.tsx
diff --git a/framework/commerce/customer/card/use-cards.tsx b/packages/commerce/src/customer/card/use-cards.tsx
similarity index 100%
rename from framework/commerce/customer/card/use-cards.tsx
rename to packages/commerce/src/customer/card/use-cards.tsx
diff --git a/framework/commerce/customer/card/use-remove-item.tsx b/packages/commerce/src/customer/card/use-remove-item.tsx
similarity index 100%
rename from framework/commerce/customer/card/use-remove-item.tsx
rename to packages/commerce/src/customer/card/use-remove-item.tsx
diff --git a/framework/commerce/customer/card/use-update-item.tsx b/packages/commerce/src/customer/card/use-update-item.tsx
similarity index 100%
rename from framework/commerce/customer/card/use-update-item.tsx
rename to packages/commerce/src/customer/card/use-update-item.tsx
diff --git a/framework/commerce/customer/use-customer.tsx b/packages/commerce/src/customer/use-customer.tsx
similarity index 100%
rename from framework/commerce/customer/use-customer.tsx
rename to packages/commerce/src/customer/use-customer.tsx
diff --git a/framework/commerce/index.tsx b/packages/commerce/src/index.tsx
similarity index 99%
rename from framework/commerce/index.tsx
rename to packages/commerce/src/index.tsx
index eaa878a9e..8450f1e3e 100644
--- a/framework/commerce/index.tsx
+++ b/packages/commerce/src/index.tsx
@@ -16,7 +16,7 @@ import type {
Login,
Logout,
Checkout,
-} from '@commerce/types'
+} from './types'
import type { Fetcher, SWRHook, MutationHook } from './utils/types'
diff --git a/framework/commerce/product/use-price.tsx b/packages/commerce/src/product/use-price.tsx
similarity index 100%
rename from framework/commerce/product/use-price.tsx
rename to packages/commerce/src/product/use-price.tsx
diff --git a/framework/commerce/product/use-search.tsx b/packages/commerce/src/product/use-search.tsx
similarity index 100%
rename from framework/commerce/product/use-search.tsx
rename to packages/commerce/src/product/use-search.tsx
diff --git a/framework/commerce/types/cart.ts b/packages/commerce/src/types/cart.ts
similarity index 100%
rename from framework/commerce/types/cart.ts
rename to packages/commerce/src/types/cart.ts
diff --git a/framework/commerce/types/checkout.ts b/packages/commerce/src/types/checkout.ts
similarity index 100%
rename from framework/commerce/types/checkout.ts
rename to packages/commerce/src/types/checkout.ts
diff --git a/framework/commerce/types/common.ts b/packages/commerce/src/types/common.ts
similarity index 100%
rename from framework/commerce/types/common.ts
rename to packages/commerce/src/types/common.ts
diff --git a/framework/commerce/types/customer/address.ts b/packages/commerce/src/types/customer/address.ts
similarity index 100%
rename from framework/commerce/types/customer/address.ts
rename to packages/commerce/src/types/customer/address.ts
diff --git a/framework/commerce/types/customer/card.ts b/packages/commerce/src/types/customer/card.ts
similarity index 100%
rename from framework/commerce/types/customer/card.ts
rename to packages/commerce/src/types/customer/card.ts
diff --git a/framework/commerce/types/customer/index.ts b/packages/commerce/src/types/customer/index.ts
similarity index 100%
rename from framework/commerce/types/customer/index.ts
rename to packages/commerce/src/types/customer/index.ts
diff --git a/framework/commerce/types/index.ts b/packages/commerce/src/types/index.ts
similarity index 100%
rename from framework/commerce/types/index.ts
rename to packages/commerce/src/types/index.ts
diff --git a/framework/commerce/types/login.ts b/packages/commerce/src/types/login.ts
similarity index 100%
rename from framework/commerce/types/login.ts
rename to packages/commerce/src/types/login.ts
diff --git a/framework/commerce/types/logout.ts b/packages/commerce/src/types/logout.ts
similarity index 100%
rename from framework/commerce/types/logout.ts
rename to packages/commerce/src/types/logout.ts
diff --git a/framework/commerce/types/page.ts b/packages/commerce/src/types/page.ts
similarity index 100%
rename from framework/commerce/types/page.ts
rename to packages/commerce/src/types/page.ts
diff --git a/framework/commerce/types/product.ts b/packages/commerce/src/types/product.ts
similarity index 100%
rename from framework/commerce/types/product.ts
rename to packages/commerce/src/types/product.ts
diff --git a/framework/commerce/types/signup.ts b/packages/commerce/src/types/signup.ts
similarity index 100%
rename from framework/commerce/types/signup.ts
rename to packages/commerce/src/types/signup.ts
diff --git a/framework/commerce/types/site.ts b/packages/commerce/src/types/site.ts
similarity index 100%
rename from framework/commerce/types/site.ts
rename to packages/commerce/src/types/site.ts
diff --git a/framework/commerce/types/wishlist.ts b/packages/commerce/src/types/wishlist.ts
similarity index 100%
rename from framework/commerce/types/wishlist.ts
rename to packages/commerce/src/types/wishlist.ts
diff --git a/framework/commerce/utils/default-fetcher.ts b/packages/commerce/src/utils/default-fetcher.ts
similarity index 100%
rename from framework/commerce/utils/default-fetcher.ts
rename to packages/commerce/src/utils/default-fetcher.ts
diff --git a/framework/commerce/utils/define-property.ts b/packages/commerce/src/utils/define-property.ts
similarity index 100%
rename from framework/commerce/utils/define-property.ts
rename to packages/commerce/src/utils/define-property.ts
diff --git a/framework/commerce/utils/errors.ts b/packages/commerce/src/utils/errors.ts
similarity index 100%
rename from framework/commerce/utils/errors.ts
rename to packages/commerce/src/utils/errors.ts
diff --git a/framework/commerce/utils/types.ts b/packages/commerce/src/utils/types.ts
similarity index 100%
rename from framework/commerce/utils/types.ts
rename to packages/commerce/src/utils/types.ts
diff --git a/framework/commerce/utils/use-data.tsx b/packages/commerce/src/utils/use-data.tsx
similarity index 100%
rename from framework/commerce/utils/use-data.tsx
rename to packages/commerce/src/utils/use-data.tsx
diff --git a/framework/commerce/utils/use-hook.ts b/packages/commerce/src/utils/use-hook.ts
similarity index 100%
rename from framework/commerce/utils/use-hook.ts
rename to packages/commerce/src/utils/use-hook.ts
diff --git a/framework/commerce/wishlist/index.ts b/packages/commerce/src/wishlist/index.ts
similarity index 100%
rename from framework/commerce/wishlist/index.ts
rename to packages/commerce/src/wishlist/index.ts
diff --git a/framework/commerce/wishlist/use-add-item.tsx b/packages/commerce/src/wishlist/use-add-item.tsx
similarity index 100%
rename from framework/commerce/wishlist/use-add-item.tsx
rename to packages/commerce/src/wishlist/use-add-item.tsx
diff --git a/framework/commerce/wishlist/use-remove-item.tsx b/packages/commerce/src/wishlist/use-remove-item.tsx
similarity index 100%
rename from framework/commerce/wishlist/use-remove-item.tsx
rename to packages/commerce/src/wishlist/use-remove-item.tsx
diff --git a/framework/commerce/wishlist/use-wishlist.tsx b/packages/commerce/src/wishlist/use-wishlist.tsx
similarity index 100%
rename from framework/commerce/wishlist/use-wishlist.tsx
rename to packages/commerce/src/wishlist/use-wishlist.tsx
diff --git a/packages/commerce/taskfile.js b/packages/commerce/taskfile.js
new file mode 100644
index 000000000..39b1b2a86
--- /dev/null
+++ b/packages/commerce/taskfile.js
@@ -0,0 +1,20 @@
+export async function build(task, opts) {
+ await task
+ .source('src/**/*.+(ts|tsx|js)')
+ .swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
+ .target('dist')
+ .source('src/**/*.+(cjs|json)')
+ .target('dist')
+ task.$.log('Compiled src files')
+}
+
+export async function release(task) {
+ await task.clear('dist').start('build')
+}
+
+export default async function dev(task) {
+ const opts = { dev: true }
+ await task.clear('dist')
+ await task.start('build', opts)
+ await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
+}
diff --git a/packages/commerce/tsconfig.json b/packages/commerce/tsconfig.json
new file mode 100644
index 000000000..cd04ab2ff
--- /dev/null
+++ b/packages/commerce/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "outDir": "dist",
+ "baseUrl": "src",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "declaration": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "incremental": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/framework/commercejs/.env.template b/packages/commercejs/.env.template
similarity index 100%
rename from framework/commercejs/.env.template
rename to packages/commercejs/.env.template
diff --git a/packages/commercejs/.prettierignore b/packages/commercejs/.prettierignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/commercejs/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/commercejs/.prettierrc b/packages/commercejs/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/packages/commercejs/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/framework/commercejs/README.md b/packages/commercejs/README.md
similarity index 92%
rename from framework/commercejs/README.md
rename to packages/commercejs/README.md
index b0333c96a..20aaf70e5 100644
--- a/framework/commercejs/README.md
+++ b/packages/commercejs/README.md
@@ -7,7 +7,7 @@ To use this provider you must have a [Commerce.js account](https://commercejs.co
Next, copy the `.env.template` file in this directory to `.env.local` in the main directory (which will be ignored by Git):
```bash
-cp framework/commercejs/.env.template .env.local
+cp packages/commercejs/.env.template .env.local
```
Then, set the environment variables in `.env.local` to match the ones from your store. You'll need your Commerce.js public API key, which can be found in your Commerce.js dashboard in the `Developer -> API keys` section.
diff --git a/packages/commercejs/global.d.ts b/packages/commercejs/global.d.ts
new file mode 100644
index 000000000..3fc378752
--- /dev/null
+++ b/packages/commercejs/global.d.ts
@@ -0,0 +1 @@
+declare module '@components/checkout/context'
diff --git a/packages/commercejs/package.json b/packages/commercejs/package.json
new file mode 100644
index 000000000..f1ae97dba
--- /dev/null
+++ b/packages/commercejs/package.json
@@ -0,0 +1,80 @@
+{
+ "name": "@vercel/commerce-commercejs",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "release": "taskr release",
+ "build": "taskr build",
+ "dev": "taskr",
+ "types": "tsc --emitDeclarationOnly",
+ "prettier-fix": "prettier --write ."
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": "./dist/index.js",
+ "./*": [
+ "./dist/*.js",
+ "./dist/*/index.js"
+ ],
+ "./next.config": "./dist/next.config.cjs"
+ },
+ "typesVersions": {
+ "*": {
+ "*": [
+ "src/*",
+ "src/*/index"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ },
+ "files": [
+ "dist"
+ ],
+ "publishConfig": {
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/*.d.ts",
+ "dist/*/index.d.ts"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ }
+ },
+ "dependencies": {
+ "@chec/commerce.js": "^2.8.0",
+ "@vercel/commerce": "^0.0.1"
+ },
+ "peerDependencies": {
+ "next": "^12",
+ "react": "^17",
+ "react-dom": "^17"
+ },
+ "devDependencies": {
+ "@taskr/clear": "^1.1.0",
+ "@taskr/esnext": "^1.1.0",
+ "@taskr/watch": "^1.1.0",
+ "@types/chec__commerce.js": "^2.8.4",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "lint-staged": "^12.1.7",
+ "next": "^12.0.8",
+ "prettier": "^2.5.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "taskr": "^1.1.0",
+ "taskr-swc": "^0.0.1",
+ "typescript": "^4.5.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ }
+}
diff --git a/framework/commercejs/api/endpoints/cart/index.ts b/packages/commercejs/src/api/endpoints/cart/index.ts
similarity index 100%
rename from framework/commercejs/api/endpoints/cart/index.ts
rename to packages/commercejs/src/api/endpoints/cart/index.ts
diff --git a/framework/commercejs/api/endpoints/catalog/index.ts b/packages/commercejs/src/api/endpoints/catalog/index.ts
similarity index 100%
rename from framework/commercejs/api/endpoints/catalog/index.ts
rename to packages/commercejs/src/api/endpoints/catalog/index.ts
diff --git a/framework/commercejs/api/endpoints/catalog/products/index.ts b/packages/commercejs/src/api/endpoints/catalog/products/index.ts
similarity index 100%
rename from framework/commercejs/api/endpoints/catalog/products/index.ts
rename to packages/commercejs/src/api/endpoints/catalog/products/index.ts
diff --git a/framework/commercejs/api/endpoints/checkout/get-checkout.ts b/packages/commercejs/src/api/endpoints/checkout/get-checkout.ts
similarity index 100%
rename from framework/commercejs/api/endpoints/checkout/get-checkout.ts
rename to packages/commercejs/src/api/endpoints/checkout/get-checkout.ts
diff --git a/framework/commercejs/api/endpoints/checkout/index.ts b/packages/commercejs/src/api/endpoints/checkout/index.ts
similarity index 79%
rename from framework/commercejs/api/endpoints/checkout/index.ts
rename to packages/commercejs/src/api/endpoints/checkout/index.ts
index 3fc7332e2..1072902e6 100644
--- a/framework/commercejs/api/endpoints/checkout/index.ts
+++ b/packages/commercejs/src/api/endpoints/checkout/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import checkoutEndpoint from '@commerce/api/endpoints/checkout'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import checkoutEndpoint from '@vercel/commerce/api/endpoints/checkout'
import type { CheckoutSchema } from '../../../types/checkout'
import type { CommercejsAPI } from '../..'
diff --git a/framework/commercejs/api/endpoints/checkout/submit-checkout.ts b/packages/commercejs/src/api/endpoints/checkout/submit-checkout.ts
similarity index 88%
rename from framework/commercejs/api/endpoints/checkout/submit-checkout.ts
rename to packages/commercejs/src/api/endpoints/checkout/submit-checkout.ts
index a06f349d7..e0f3012cc 100644
--- a/framework/commercejs/api/endpoints/checkout/submit-checkout.ts
+++ b/packages/commercejs/src/api/endpoints/checkout/submit-checkout.ts
@@ -1,5 +1,5 @@
-import type { CardFields } from '@commerce/types/customer/card'
-import type { AddressFields } from '@commerce/types/customer/address'
+import type { CardFields } from '@vercel/commerce/types/customer/card'
+import type { AddressFields } from '@vercel/commerce/types/customer/address'
import type { CheckoutEndpoint } from '.'
import sdkFetcherFunction from '../../utils/sdk-fetch'
import { normalizeTestCheckout } from '../../../utils/normalize-checkout'
diff --git a/framework/commercejs/api/endpoints/customer/address/index.ts b/packages/commercejs/src/api/endpoints/customer/address/index.ts
similarity index 100%
rename from framework/commercejs/api/endpoints/customer/address/index.ts
rename to packages/commercejs/src/api/endpoints/customer/address/index.ts
diff --git a/framework/commercejs/api/endpoints/customer/card/index.ts b/packages/commercejs/src/api/endpoints/customer/card/index.ts
similarity index 100%
rename from framework/commercejs/api/endpoints/customer/card/index.ts
rename to packages/commercejs/src/api/endpoints/customer/card/index.ts
diff --git a/framework/commercejs/api/endpoints/customer/index.ts b/packages/commercejs/src/api/endpoints/customer/index.ts
similarity index 100%
rename from framework/commercejs/api/endpoints/customer/index.ts
rename to packages/commercejs/src/api/endpoints/customer/index.ts
diff --git a/framework/commercejs/api/endpoints/login/index.ts b/packages/commercejs/src/api/endpoints/login/index.ts
similarity index 75%
rename from framework/commercejs/api/endpoints/login/index.ts
rename to packages/commercejs/src/api/endpoints/login/index.ts
index d9eb5abce..a6dbb4432 100644
--- a/framework/commercejs/api/endpoints/login/index.ts
+++ b/packages/commercejs/src/api/endpoints/login/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import loginEndpoint from '@commerce/api/endpoints/login'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import loginEndpoint from '@vercel/commerce/api/endpoints/login'
import type { LoginSchema } from '../../../types/login'
import type { CommercejsAPI } from '../..'
import login from './login'
diff --git a/framework/commercejs/api/endpoints/login/login.ts b/packages/commercejs/src/api/endpoints/login/login.ts
similarity index 100%
rename from framework/commercejs/api/endpoints/login/login.ts
rename to packages/commercejs/src/api/endpoints/login/login.ts
diff --git a/framework/commercejs/api/endpoints/logout/index.ts b/packages/commercejs/src/api/endpoints/logout/index.ts
similarity index 100%
rename from framework/commercejs/api/endpoints/logout/index.ts
rename to packages/commercejs/src/api/endpoints/logout/index.ts
diff --git a/framework/commercejs/api/endpoints/signup/index.ts b/packages/commercejs/src/api/endpoints/signup/index.ts
similarity index 100%
rename from framework/commercejs/api/endpoints/signup/index.ts
rename to packages/commercejs/src/api/endpoints/signup/index.ts
diff --git a/framework/commercejs/api/endpoints/wishlist/index.tsx b/packages/commercejs/src/api/endpoints/wishlist/index.tsx
similarity index 100%
rename from framework/commercejs/api/endpoints/wishlist/index.tsx
rename to packages/commercejs/src/api/endpoints/wishlist/index.tsx
diff --git a/framework/commercejs/api/index.ts b/packages/commercejs/src/api/index.ts
similarity index 89%
rename from framework/commercejs/api/index.ts
rename to packages/commercejs/src/api/index.ts
index faccd5a01..1bc821865 100644
--- a/framework/commercejs/api/index.ts
+++ b/packages/commercejs/src/api/index.ts
@@ -1,5 +1,5 @@
-import type { CommerceAPI, CommerceAPIConfig } from '@commerce/api'
-import { getCommerceApi as commerceApi } from '@commerce/api'
+import type { CommerceAPI, CommerceAPIConfig } from '@vercel/commerce/api'
+import { getCommerceApi as commerceApi } from '@vercel/commerce/api'
import getAllPages from './operations/get-all-pages'
import getPage from './operations/get-page'
diff --git a/framework/commercejs/api/operations/get-all-pages.ts b/packages/commercejs/src/api/operations/get-all-pages.ts
similarity index 100%
rename from framework/commercejs/api/operations/get-all-pages.ts
rename to packages/commercejs/src/api/operations/get-all-pages.ts
diff --git a/framework/commercejs/api/operations/get-all-product-paths.ts b/packages/commercejs/src/api/operations/get-all-product-paths.ts
similarity index 92%
rename from framework/commercejs/api/operations/get-all-product-paths.ts
rename to packages/commercejs/src/api/operations/get-all-product-paths.ts
index 570d43b13..03b7eee96 100644
--- a/framework/commercejs/api/operations/get-all-product-paths.ts
+++ b/packages/commercejs/src/api/operations/get-all-product-paths.ts
@@ -1,4 +1,4 @@
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type {
GetAllProductPathsOperation,
CommercejsProduct,
diff --git a/framework/commercejs/api/operations/get-all-products.ts b/packages/commercejs/src/api/operations/get-all-products.ts
similarity index 91%
rename from framework/commercejs/api/operations/get-all-products.ts
rename to packages/commercejs/src/api/operations/get-all-products.ts
index 043b0491c..485ea22ee 100644
--- a/framework/commercejs/api/operations/get-all-products.ts
+++ b/packages/commercejs/src/api/operations/get-all-products.ts
@@ -1,4 +1,4 @@
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type { GetAllProductsOperation } from '../../types/product'
import type { CommercejsConfig, Provider } from '../index'
diff --git a/framework/commercejs/api/operations/get-page.ts b/packages/commercejs/src/api/operations/get-page.ts
similarity index 100%
rename from framework/commercejs/api/operations/get-page.ts
rename to packages/commercejs/src/api/operations/get-page.ts
diff --git a/framework/commercejs/api/operations/get-product.ts b/packages/commercejs/src/api/operations/get-product.ts
similarity index 93%
rename from framework/commercejs/api/operations/get-product.ts
rename to packages/commercejs/src/api/operations/get-product.ts
index f71aab278..c8fa5901b 100644
--- a/framework/commercejs/api/operations/get-product.ts
+++ b/packages/commercejs/src/api/operations/get-product.ts
@@ -1,4 +1,4 @@
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type { GetProductOperation } from '../../types/product'
import type { CommercejsConfig, Provider } from '../index'
import { normalizeProduct } from '../../utils/normalize-product'
diff --git a/framework/commercejs/api/operations/get-site-info.ts b/packages/commercejs/src/api/operations/get-site-info.ts
similarity index 92%
rename from framework/commercejs/api/operations/get-site-info.ts
rename to packages/commercejs/src/api/operations/get-site-info.ts
index 922fd7e76..0b4046d7c 100644
--- a/framework/commercejs/api/operations/get-site-info.ts
+++ b/packages/commercejs/src/api/operations/get-site-info.ts
@@ -1,4 +1,4 @@
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type { Category, GetSiteInfoOperation } from '../../types/site'
import { normalizeCategory } from '../../utils/normalize-category'
import type { CommercejsConfig, Provider } from '../index'
diff --git a/framework/commercejs/api/operations/index.ts b/packages/commercejs/src/api/operations/index.ts
similarity index 100%
rename from framework/commercejs/api/operations/index.ts
rename to packages/commercejs/src/api/operations/index.ts
diff --git a/framework/commercejs/api/utils/graphql-fetch.ts b/packages/commercejs/src/api/utils/graphql-fetch.ts
similarity index 71%
rename from framework/commercejs/api/utils/graphql-fetch.ts
rename to packages/commercejs/src/api/utils/graphql-fetch.ts
index 805177405..64ebf4d6b 100644
--- a/framework/commercejs/api/utils/graphql-fetch.ts
+++ b/packages/commercejs/src/api/utils/graphql-fetch.ts
@@ -1,7 +1,7 @@
-import type { GraphQLFetcher } from '@commerce/api'
+import type { GraphQLFetcher } from '@vercel/commerce/api'
import type { CommercejsConfig } from '../'
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
const fetchGraphqlApi: (getConfig: () => CommercejsConfig) => GraphQLFetcher =
() => async () => {
diff --git a/framework/commercejs/api/utils/sdk-fetch.ts b/packages/commercejs/src/api/utils/sdk-fetch.ts
similarity index 100%
rename from framework/commercejs/api/utils/sdk-fetch.ts
rename to packages/commercejs/src/api/utils/sdk-fetch.ts
diff --git a/framework/commercejs/auth/index.ts b/packages/commercejs/src/auth/index.ts
similarity index 100%
rename from framework/commercejs/auth/index.ts
rename to packages/commercejs/src/auth/index.ts
diff --git a/framework/commercejs/auth/use-login.tsx b/packages/commercejs/src/auth/use-login.tsx
similarity index 80%
rename from framework/commercejs/auth/use-login.tsx
rename to packages/commercejs/src/auth/use-login.tsx
index 7bc9fd534..4287d39d6 100644
--- a/framework/commercejs/auth/use-login.tsx
+++ b/packages/commercejs/src/auth/use-login.tsx
@@ -1,7 +1,7 @@
import { useCallback } from 'react'
-import { MutationHook } from '@commerce/utils/types'
-import useLogin, { UseLogin } from '@commerce/auth/use-login'
-import type { LoginHook } from '@commerce/types/login'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useLogin, { UseLogin } from '@vercel/commerce/auth/use-login'
+import type { LoginHook } from '@vercel/commerce/types/login'
import { getDeploymentUrl } from '../utils/get-deployment-url'
export default useLogin as UseLogin
diff --git a/framework/commercejs/auth/use-logout.tsx b/packages/commercejs/src/auth/use-logout.tsx
similarity index 74%
rename from framework/commercejs/auth/use-logout.tsx
rename to packages/commercejs/src/auth/use-logout.tsx
index 6b841637f..7c60f3442 100644
--- a/framework/commercejs/auth/use-logout.tsx
+++ b/packages/commercejs/src/auth/use-logout.tsx
@@ -1,8 +1,8 @@
import { useCallback } from 'react'
import Cookies from 'js-cookie'
-import { MutationHook } from '@commerce/utils/types'
-import useLogout, { UseLogout } from '@commerce/auth/use-logout'
-import type { LogoutHook } from '@commerce/types/logout'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useLogout, { UseLogout } from '@vercel/commerce/auth/use-logout'
+import type { LogoutHook } from '@vercel/commerce/types/logout'
import useCustomer from '../customer/use-customer'
import { CUSTOMER_COOKIE } from '../constants'
diff --git a/framework/commercejs/auth/use-signup.tsx b/packages/commercejs/src/auth/use-signup.tsx
similarity index 64%
rename from framework/commercejs/auth/use-signup.tsx
rename to packages/commercejs/src/auth/use-signup.tsx
index 07fabce0f..1cc9538e7 100644
--- a/framework/commercejs/auth/use-signup.tsx
+++ b/packages/commercejs/src/auth/use-signup.tsx
@@ -1,5 +1,5 @@
-import { MutationHook } from '@commerce/utils/types'
-import useSignup, { UseSignup } from '@commerce/auth/use-signup'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useSignup, { UseSignup } from '@vercel/commerce/auth/use-signup'
export default useSignup as UseSignup
diff --git a/framework/commercejs/cart/index.ts b/packages/commercejs/src/cart/index.ts
similarity index 100%
rename from framework/commercejs/cart/index.ts
rename to packages/commercejs/src/cart/index.ts
diff --git a/framework/commercejs/cart/use-add-item.tsx b/packages/commercejs/src/cart/use-add-item.tsx
similarity index 84%
rename from framework/commercejs/cart/use-add-item.tsx
rename to packages/commercejs/src/cart/use-add-item.tsx
index 24dd057b6..3bbad1147 100644
--- a/framework/commercejs/cart/use-add-item.tsx
+++ b/packages/commercejs/src/cart/use-add-item.tsx
@@ -1,7 +1,7 @@
-import type { AddItemHook } from '@commerce/types/cart'
-import type { MutationHook } from '@commerce/utils/types'
+import type { AddItemHook } from '@vercel/commerce/types/cart'
+import type { MutationHook } from '@vercel/commerce/utils/types'
import { useCallback } from 'react'
-import useAddItem, { UseAddItem } from '@commerce/cart/use-add-item'
+import useAddItem, { UseAddItem } from '@vercel/commerce/cart/use-add-item'
import type { CommercejsCart } from '../types/cart'
import { normalizeCart } from '../utils/normalize-cart'
import useCart from './use-cart'
diff --git a/framework/commercejs/cart/use-cart.tsx b/packages/commercejs/src/cart/use-cart.tsx
similarity index 83%
rename from framework/commercejs/cart/use-cart.tsx
rename to packages/commercejs/src/cart/use-cart.tsx
index beb807362..57592ec37 100644
--- a/framework/commercejs/cart/use-cart.tsx
+++ b/packages/commercejs/src/cart/use-cart.tsx
@@ -1,7 +1,7 @@
import { useMemo } from 'react'
-import type { GetCartHook } from '@commerce/types/cart'
-import { SWRHook } from '@commerce/utils/types'
-import useCart, { UseCart } from '@commerce/cart/use-cart'
+import type { GetCartHook } from '@vercel/commerce/types/cart'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCart, { UseCart } from '@vercel/commerce/cart/use-cart'
import type { CommercejsCart } from '../types/cart'
import { normalizeCart } from '../utils/normalize-cart'
diff --git a/framework/commercejs/cart/use-remove-item.tsx b/packages/commercejs/src/cart/use-remove-item.tsx
similarity index 81%
rename from framework/commercejs/cart/use-remove-item.tsx
rename to packages/commercejs/src/cart/use-remove-item.tsx
index 9b492e9eb..c9e57872d 100644
--- a/framework/commercejs/cart/use-remove-item.tsx
+++ b/packages/commercejs/src/cart/use-remove-item.tsx
@@ -1,7 +1,7 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import type { RemoveItemHook } from '@commerce/types/cart'
-import useRemoveItem, { UseRemoveItem } from '@commerce/cart/use-remove-item'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import type { RemoveItemHook } from '@vercel/commerce/types/cart'
+import useRemoveItem, { UseRemoveItem } from '@vercel/commerce/cart/use-remove-item'
import type { CommercejsCart } from '../types/cart'
import { normalizeCart } from '../utils/normalize-cart'
import useCart from './use-cart'
diff --git a/framework/commercejs/cart/use-update-item.tsx b/packages/commercejs/src/cart/use-update-item.tsx
similarity index 89%
rename from framework/commercejs/cart/use-update-item.tsx
rename to packages/commercejs/src/cart/use-update-item.tsx
index 8e890de49..1546be036 100644
--- a/framework/commercejs/cart/use-update-item.tsx
+++ b/packages/commercejs/src/cart/use-update-item.tsx
@@ -1,12 +1,12 @@
-import type { UpdateItemHook, LineItem } from '@commerce/types/cart'
+import type { UpdateItemHook, LineItem } from '@vercel/commerce/types/cart'
import type {
HookFetcherContext,
MutationHookContext,
-} from '@commerce/utils/types'
-import { ValidationError } from '@commerce/utils/errors'
+} from '@vercel/commerce/utils/types'
+import { ValidationError } from '@vercel/commerce/utils/errors'
import debounce from 'lodash.debounce'
import { useCallback } from 'react'
-import useUpdateItem, { UseUpdateItem } from '@commerce/cart/use-update-item'
+import useUpdateItem, { UseUpdateItem } from '@vercel/commerce/cart/use-update-item'
import type { CommercejsCart } from '../types/cart'
import { normalizeCart } from '../utils/normalize-cart'
import useCart from './use-cart'
diff --git a/framework/commercejs/checkout/index.ts b/packages/commercejs/src/checkout/index.ts
similarity index 100%
rename from framework/commercejs/checkout/index.ts
rename to packages/commercejs/src/checkout/index.ts
diff --git a/framework/commercejs/checkout/use-checkout.tsx b/packages/commercejs/src/checkout/use-checkout.tsx
similarity index 85%
rename from framework/commercejs/checkout/use-checkout.tsx
rename to packages/commercejs/src/checkout/use-checkout.tsx
index f41b01a59..52a19a740 100644
--- a/framework/commercejs/checkout/use-checkout.tsx
+++ b/packages/commercejs/src/checkout/use-checkout.tsx
@@ -1,8 +1,8 @@
-import type { GetCheckoutHook } from '@commerce/types/checkout'
+import type { GetCheckoutHook } from '@vercel/commerce/types/checkout'
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
-import useCheckout, { UseCheckout } from '@commerce/checkout/use-checkout'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCheckout, { UseCheckout } from '@vercel/commerce/checkout/use-checkout'
import useSubmitCheckout from './use-submit-checkout'
import { useCheckoutContext } from '@components/checkout/context'
diff --git a/framework/commercejs/checkout/use-submit-checkout.tsx b/packages/commercejs/src/checkout/use-submit-checkout.tsx
similarity index 82%
rename from framework/commercejs/checkout/use-submit-checkout.tsx
rename to packages/commercejs/src/checkout/use-submit-checkout.tsx
index 77039ef51..2cb723281 100644
--- a/framework/commercejs/checkout/use-submit-checkout.tsx
+++ b/packages/commercejs/src/checkout/use-submit-checkout.tsx
@@ -1,10 +1,10 @@
-import type { SubmitCheckoutHook } from '@commerce/types/checkout'
-import type { MutationHook } from '@commerce/utils/types'
+import type { SubmitCheckoutHook } from '@vercel/commerce/types/checkout'
+import type { MutationHook } from '@vercel/commerce/utils/types'
import { useCallback } from 'react'
import useSubmitCheckout, {
UseSubmitCheckout,
-} from '@commerce/checkout/use-submit-checkout'
+} from '@vercel/commerce/checkout/use-submit-checkout'
import { useCheckoutContext } from '@components/checkout/context'
export default useSubmitCheckout as UseSubmitCheckout
diff --git a/framework/commercejs/commerce.config.json b/packages/commercejs/src/commerce.config.json
similarity index 100%
rename from framework/commercejs/commerce.config.json
rename to packages/commercejs/src/commerce.config.json
diff --git a/framework/commercejs/constants.ts b/packages/commercejs/src/constants.ts
similarity index 100%
rename from framework/commercejs/constants.ts
rename to packages/commercejs/src/constants.ts
diff --git a/framework/commercejs/customer/address/index.ts b/packages/commercejs/src/customer/address/index.ts
similarity index 100%
rename from framework/commercejs/customer/address/index.ts
rename to packages/commercejs/src/customer/address/index.ts
diff --git a/framework/commercejs/customer/address/use-add-item.tsx b/packages/commercejs/src/customer/address/use-add-item.tsx
similarity index 70%
rename from framework/commercejs/customer/address/use-add-item.tsx
rename to packages/commercejs/src/customer/address/use-add-item.tsx
index 3e0022761..0f02059b1 100644
--- a/framework/commercejs/customer/address/use-add-item.tsx
+++ b/packages/commercejs/src/customer/address/use-add-item.tsx
@@ -1,7 +1,7 @@
-import type { AddItemHook } from '@commerce/types/customer/address'
-import type { MutationHook } from '@commerce/utils/types'
+import type { AddItemHook } from '@vercel/commerce/types/customer/address'
+import type { MutationHook } from '@vercel/commerce/utils/types'
import { useCallback } from 'react'
-import useAddItem, { UseAddItem } from '@commerce/customer/address/use-add-item'
+import useAddItem, { UseAddItem } from '@vercel/commerce/customer/address/use-add-item'
import { useCheckoutContext } from '@components/checkout/context'
export default useAddItem as UseAddItem
diff --git a/framework/commercejs/customer/address/use-addresses.tsx b/packages/commercejs/src/customer/address/use-addresses.tsx
similarity index 75%
rename from framework/commercejs/customer/address/use-addresses.tsx
rename to packages/commercejs/src/customer/address/use-addresses.tsx
index 5d0ad0ab6..a56255dfb 100644
--- a/framework/commercejs/customer/address/use-addresses.tsx
+++ b/packages/commercejs/src/customer/address/use-addresses.tsx
@@ -1,10 +1,10 @@
-import type { GetAddressesHook } from '@commerce/types/customer/address'
+import type { GetAddressesHook } from '@vercel/commerce/types/customer/address'
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
+import { SWRHook } from '@vercel/commerce/utils/types'
import useAddresses, {
UseAddresses,
-} from '@commerce/customer/address/use-addresses'
+} from '@vercel/commerce/customer/address/use-addresses'
export default useAddresses as UseAddresses
diff --git a/framework/commercejs/customer/card/index.ts b/packages/commercejs/src/customer/card/index.ts
similarity index 100%
rename from framework/commercejs/customer/card/index.ts
rename to packages/commercejs/src/customer/card/index.ts
diff --git a/framework/commercejs/customer/card/use-add-item.tsx b/packages/commercejs/src/customer/card/use-add-item.tsx
similarity index 70%
rename from framework/commercejs/customer/card/use-add-item.tsx
rename to packages/commercejs/src/customer/card/use-add-item.tsx
index d83c44cd5..d4c179b18 100644
--- a/framework/commercejs/customer/card/use-add-item.tsx
+++ b/packages/commercejs/src/customer/card/use-add-item.tsx
@@ -1,7 +1,7 @@
-import type { AddItemHook } from '@commerce/types/customer/card'
-import type { MutationHook } from '@commerce/utils/types'
+import type { AddItemHook } from '@vercel/commerce/types/customer/card'
+import type { MutationHook } from '@vercel/commerce/utils/types'
import { useCallback } from 'react'
-import useAddItem, { UseAddItem } from '@commerce/customer/card/use-add-item'
+import useAddItem, { UseAddItem } from '@vercel/commerce/customer/card/use-add-item'
import { useCheckoutContext } from '@components/checkout/context'
export default useAddItem as UseAddItem
diff --git a/framework/commercejs/customer/card/use-cards.tsx b/packages/commercejs/src/customer/card/use-cards.tsx
similarity index 71%
rename from framework/commercejs/customer/card/use-cards.tsx
rename to packages/commercejs/src/customer/card/use-cards.tsx
index 2372eaa53..7c956a67c 100644
--- a/framework/commercejs/customer/card/use-cards.tsx
+++ b/packages/commercejs/src/customer/card/use-cards.tsx
@@ -1,7 +1,7 @@
-import type { GetCardsHook } from '@commerce/types/customer/card'
+import type { GetCardsHook } from '@vercel/commerce/types/customer/card'
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
-import useCard, { UseCards } from '@commerce/customer/card/use-cards'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCard, { UseCards } from '@vercel/commerce/customer/card/use-cards'
export default useCard as UseCards
diff --git a/framework/commercejs/customer/index.ts b/packages/commercejs/src/customer/index.ts
similarity index 100%
rename from framework/commercejs/customer/index.ts
rename to packages/commercejs/src/customer/index.ts
diff --git a/framework/commercejs/customer/use-customer.tsx b/packages/commercejs/src/customer/use-customer.tsx
similarity index 87%
rename from framework/commercejs/customer/use-customer.tsx
rename to packages/commercejs/src/customer/use-customer.tsx
index 3f91b5abe..4906223fd 100644
--- a/framework/commercejs/customer/use-customer.tsx
+++ b/packages/commercejs/src/customer/use-customer.tsx
@@ -1,7 +1,7 @@
import Cookies from 'js-cookie'
import { decode } from 'jsonwebtoken'
-import { SWRHook } from '@commerce/utils/types'
-import useCustomer, { UseCustomer } from '@commerce/customer/use-customer'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCustomer, { UseCustomer } from '@vercel/commerce/customer/use-customer'
import { CUSTOMER_COOKIE, API_URL } from '../constants'
import type { CustomerHook } from '../types/customer'
diff --git a/framework/commercejs/fetcher.ts b/packages/commercejs/src/fetcher.ts
similarity index 93%
rename from framework/commercejs/fetcher.ts
rename to packages/commercejs/src/fetcher.ts
index c556582bf..ab47ae9c8 100644
--- a/framework/commercejs/fetcher.ts
+++ b/packages/commercejs/src/fetcher.ts
@@ -1,6 +1,6 @@
import { commerce } from './lib/commercejs'
-import type { Fetcher } from '@commerce/utils/types'
-import { FetcherError } from '@commerce/utils/errors'
+import type { Fetcher } from '@vercel/commerce/utils/types'
+import { FetcherError } from '@vercel/commerce/utils/errors'
function isValidSDKQuery(query?: string): query is keyof typeof commerce {
if (!query) return false
diff --git a/framework/commercejs/index.tsx b/packages/commercejs/src/index.tsx
similarity index 93%
rename from framework/commercejs/index.tsx
rename to packages/commercejs/src/index.tsx
index c1ca7e4be..9da7c1103 100644
--- a/framework/commercejs/index.tsx
+++ b/packages/commercejs/src/index.tsx
@@ -1,5 +1,5 @@
import { commercejsProvider, CommercejsProvider } from './provider'
-import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
+import { getCommerceProvider, useCommerce as useCoreCommerce } from '@vercel/commerce'
export { commercejsProvider }
export type { CommercejsProvider }
diff --git a/framework/commercejs/lib/commercejs.ts b/packages/commercejs/src/lib/commercejs.ts
similarity index 100%
rename from framework/commercejs/lib/commercejs.ts
rename to packages/commercejs/src/lib/commercejs.ts
diff --git a/framework/commercejs/next.config.js b/packages/commercejs/src/next.config.cjs
similarity index 100%
rename from framework/commercejs/next.config.js
rename to packages/commercejs/src/next.config.cjs
diff --git a/framework/commercejs/product/index.ts b/packages/commercejs/src/product/index.ts
similarity index 100%
rename from framework/commercejs/product/index.ts
rename to packages/commercejs/src/product/index.ts
diff --git a/packages/commercejs/src/product/use-price.tsx b/packages/commercejs/src/product/use-price.tsx
new file mode 100644
index 000000000..fd42d7033
--- /dev/null
+++ b/packages/commercejs/src/product/use-price.tsx
@@ -0,0 +1,2 @@
+export * from '@vercel/commerce/product/use-price'
+export { default } from '@vercel/commerce/product/use-price'
diff --git a/framework/commercejs/product/use-search.tsx b/packages/commercejs/src/product/use-search.tsx
similarity index 86%
rename from framework/commercejs/product/use-search.tsx
rename to packages/commercejs/src/product/use-search.tsx
index e0561dc1f..ec8ad618f 100644
--- a/framework/commercejs/product/use-search.tsx
+++ b/packages/commercejs/src/product/use-search.tsx
@@ -1,6 +1,6 @@
-import { SWRHook } from '@commerce/utils/types'
-import useSearch, { UseSearch } from '@commerce/product/use-search'
-import { SearchProductsHook } from '@commerce/types/product'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useSearch, { UseSearch } from '@vercel/commerce/product/use-search'
+import { SearchProductsHook } from '@vercel/commerce/types/product'
import type { CommercejsProduct } from '../types/product'
import { getProductSearchVariables } from '../utils/product-search'
import { normalizeProduct } from '../utils/normalize-product'
diff --git a/framework/commercejs/provider.ts b/packages/commercejs/src/provider.ts
similarity index 100%
rename from framework/commercejs/provider.ts
rename to packages/commercejs/src/provider.ts
diff --git a/framework/commercejs/types/cart.ts b/packages/commercejs/src/types/cart.ts
similarity index 78%
rename from framework/commercejs/types/cart.ts
rename to packages/commercejs/src/types/cart.ts
index fe7b7bdc2..9de68397b 100644
--- a/framework/commercejs/types/cart.ts
+++ b/packages/commercejs/src/types/cart.ts
@@ -1,4 +1,4 @@
-export * from '@commerce/types/cart'
+export * from '@vercel/commerce/types/cart'
export type { Cart as CommercejsCart } from '@chec/commerce.js/types/cart'
export type { LineItem as CommercejsLineItem } from '@chec/commerce.js/types/line-item'
diff --git a/framework/commercejs/types/checkout.ts b/packages/commercejs/src/types/checkout.ts
similarity index 69%
rename from framework/commercejs/types/checkout.ts
rename to packages/commercejs/src/types/checkout.ts
index 47b6a63b9..970d5cfad 100644
--- a/framework/commercejs/types/checkout.ts
+++ b/packages/commercejs/src/types/checkout.ts
@@ -1,3 +1,3 @@
-export * from '@commerce/types/checkout'
+export * from '@vercel/commerce/types/checkout'
export type { CheckoutCapture as CommercejsCheckoutCapture } from '@chec/commerce.js/types/checkout-capture'
diff --git a/packages/commercejs/src/types/common.ts b/packages/commercejs/src/types/common.ts
new file mode 100644
index 000000000..23b8daa11
--- /dev/null
+++ b/packages/commercejs/src/types/common.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/common'
diff --git a/packages/commercejs/src/types/customer.ts b/packages/commercejs/src/types/customer.ts
new file mode 100644
index 000000000..c637055b9
--- /dev/null
+++ b/packages/commercejs/src/types/customer.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/customer'
diff --git a/framework/commercejs/types/index.ts b/packages/commercejs/src/types/index.ts
similarity index 100%
rename from framework/commercejs/types/index.ts
rename to packages/commercejs/src/types/index.ts
diff --git a/framework/commercejs/types/login.ts b/packages/commercejs/src/types/login.ts
similarity index 56%
rename from framework/commercejs/types/login.ts
rename to packages/commercejs/src/types/login.ts
index 97f879078..0706a2f1f 100644
--- a/framework/commercejs/types/login.ts
+++ b/packages/commercejs/src/types/login.ts
@@ -1,5 +1,5 @@
-import { LoginBody, LoginTypes } from '@commerce/types/login'
-export * from '@commerce/types/login'
+import { LoginBody, LoginTypes } from '@vercel/commerce/types/login'
+export * from '@vercel/commerce/types/login'
export type LoginHook = {
data: null
diff --git a/packages/commercejs/src/types/logout.ts b/packages/commercejs/src/types/logout.ts
new file mode 100644
index 000000000..1de06f8dc
--- /dev/null
+++ b/packages/commercejs/src/types/logout.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/logout'
diff --git a/packages/commercejs/src/types/page.ts b/packages/commercejs/src/types/page.ts
new file mode 100644
index 000000000..12f6b02d7
--- /dev/null
+++ b/packages/commercejs/src/types/page.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/page'
diff --git a/framework/commercejs/types/product.ts b/packages/commercejs/src/types/product.ts
similarity index 78%
rename from framework/commercejs/types/product.ts
rename to packages/commercejs/src/types/product.ts
index 4db475d95..7cdab703e 100644
--- a/framework/commercejs/types/product.ts
+++ b/packages/commercejs/src/types/product.ts
@@ -1,4 +1,4 @@
-export * from '@commerce/types/product'
+export * from '@vercel/commerce/types/product'
export type { Product as CommercejsProduct } from '@chec/commerce.js/types/product'
export type { Variant as CommercejsVariant } from '@chec/commerce.js/types/variant'
diff --git a/packages/commercejs/src/types/signup.ts b/packages/commercejs/src/types/signup.ts
new file mode 100644
index 000000000..3f0d1af5a
--- /dev/null
+++ b/packages/commercejs/src/types/signup.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/signup'
diff --git a/framework/commercejs/types/site.ts b/packages/commercejs/src/types/site.ts
similarity index 66%
rename from framework/commercejs/types/site.ts
rename to packages/commercejs/src/types/site.ts
index 8fd61a07d..346278b43 100644
--- a/framework/commercejs/types/site.ts
+++ b/packages/commercejs/src/types/site.ts
@@ -1,3 +1,3 @@
-export * from '@commerce/types/site'
+export * from '@vercel/commerce/types/site'
export type { Category as CommercejsCategory } from '@chec/commerce.js/types/category'
diff --git a/packages/commercejs/src/types/wishlist.ts b/packages/commercejs/src/types/wishlist.ts
new file mode 100644
index 000000000..af92d9f63
--- /dev/null
+++ b/packages/commercejs/src/types/wishlist.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/wishlist'
diff --git a/framework/commercejs/utils/get-deployment-url.ts b/packages/commercejs/src/utils/get-deployment-url.ts
similarity index 100%
rename from framework/commercejs/utils/get-deployment-url.ts
rename to packages/commercejs/src/utils/get-deployment-url.ts
diff --git a/framework/commercejs/utils/normalize-cart.ts b/packages/commercejs/src/utils/normalize-cart.ts
similarity index 100%
rename from framework/commercejs/utils/normalize-cart.ts
rename to packages/commercejs/src/utils/normalize-cart.ts
diff --git a/framework/commercejs/utils/normalize-category.ts b/packages/commercejs/src/utils/normalize-category.ts
similarity index 82%
rename from framework/commercejs/utils/normalize-category.ts
rename to packages/commercejs/src/utils/normalize-category.ts
index e47969e81..41900928e 100644
--- a/framework/commercejs/utils/normalize-category.ts
+++ b/packages/commercejs/src/utils/normalize-category.ts
@@ -1,4 +1,4 @@
-import type { Category } from '@commerce/types/site'
+import type { Category } from '@vercel/commerce/types/site'
import type { Category as CommercejsCategory } from '@chec/commerce.js/types/category'
export function normalizeCategory(
diff --git a/framework/commercejs/utils/normalize-checkout.ts b/packages/commercejs/src/utils/normalize-checkout.ts
similarity index 92%
rename from framework/commercejs/utils/normalize-checkout.ts
rename to packages/commercejs/src/utils/normalize-checkout.ts
index 2cc996f88..db136e0b8 100644
--- a/framework/commercejs/utils/normalize-checkout.ts
+++ b/packages/commercejs/src/utils/normalize-checkout.ts
@@ -1,5 +1,5 @@
-import type { CardFields } from '@commerce/types/customer/card'
-import type { AddressFields } from '@commerce/types/customer/address'
+import type { CardFields } from '@vercel/commerce/types/customer/card'
+import type { AddressFields } from '@vercel/commerce/types/customer/address'
import type { CommercejsCheckoutCapture } from '../types/checkout'
/**
diff --git a/framework/commercejs/utils/normalize-product.ts b/packages/commercejs/src/utils/normalize-product.ts
similarity index 100%
rename from framework/commercejs/utils/normalize-product.ts
rename to packages/commercejs/src/utils/normalize-product.ts
diff --git a/framework/commercejs/utils/product-search.ts b/packages/commercejs/src/utils/product-search.ts
similarity index 94%
rename from framework/commercejs/utils/product-search.ts
rename to packages/commercejs/src/utils/product-search.ts
index b1ee96681..9a4d42982 100644
--- a/framework/commercejs/utils/product-search.ts
+++ b/packages/commercejs/src/utils/product-search.ts
@@ -1,4 +1,4 @@
-import { SearchProductsBody } from '@commerce/types/product'
+import { SearchProductsBody } from '@vercel/commerce/types/product'
const getFilterVariables = ({
search,
diff --git a/framework/commercejs/wishlist/use-add-item.tsx b/packages/commercejs/src/wishlist/use-add-item.tsx
similarity index 100%
rename from framework/commercejs/wishlist/use-add-item.tsx
rename to packages/commercejs/src/wishlist/use-add-item.tsx
diff --git a/framework/commercejs/wishlist/use-remove-item.tsx b/packages/commercejs/src/wishlist/use-remove-item.tsx
similarity index 100%
rename from framework/commercejs/wishlist/use-remove-item.tsx
rename to packages/commercejs/src/wishlist/use-remove-item.tsx
diff --git a/framework/commercejs/wishlist/use-wishlist.tsx b/packages/commercejs/src/wishlist/use-wishlist.tsx
similarity index 92%
rename from framework/commercejs/wishlist/use-wishlist.tsx
rename to packages/commercejs/src/wishlist/use-wishlist.tsx
index 125ee2686..781614394 100644
--- a/framework/commercejs/wishlist/use-wishlist.tsx
+++ b/packages/commercejs/src/wishlist/use-wishlist.tsx
@@ -1,4 +1,4 @@
-import { HookFetcher } from '@commerce/utils/types'
+import { HookFetcher } from '@vercel/commerce/utils/types'
export type Wishlist = {
items: [
diff --git a/packages/commercejs/taskfile.js b/packages/commercejs/taskfile.js
new file mode 100644
index 000000000..39b1b2a86
--- /dev/null
+++ b/packages/commercejs/taskfile.js
@@ -0,0 +1,20 @@
+export async function build(task, opts) {
+ await task
+ .source('src/**/*.+(ts|tsx|js)')
+ .swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
+ .target('dist')
+ .source('src/**/*.+(cjs|json)')
+ .target('dist')
+ task.$.log('Compiled src files')
+}
+
+export async function release(task) {
+ await task.clear('dist').start('build')
+}
+
+export default async function dev(task) {
+ const opts = { dev: true }
+ await task.clear('dist')
+ await task.start('build', opts)
+ await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
+}
diff --git a/packages/commercejs/tsconfig.json b/packages/commercejs/tsconfig.json
new file mode 100644
index 000000000..8f98f047b
--- /dev/null
+++ b/packages/commercejs/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "outDir": "dist",
+ "baseUrl": "src",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "declaration": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "incremental": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src", "global.d.ts"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/framework/commercelayer/.env.template b/packages/commercelayer/.env.template
similarity index 100%
rename from framework/commercelayer/.env.template
rename to packages/commercelayer/.env.template
diff --git a/framework/commercelayer/README.md b/packages/commercelayer/README.md
similarity index 100%
rename from framework/commercelayer/README.md
rename to packages/commercelayer/README.md
diff --git a/framework/commercelayer/api/endpoints/cart/index.ts b/packages/commercelayer/api/endpoints/cart/index.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/cart/index.ts
rename to packages/commercelayer/api/endpoints/cart/index.ts
diff --git a/framework/commercelayer/api/endpoints/catalog/index.ts b/packages/commercelayer/api/endpoints/catalog/index.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/catalog/index.ts
rename to packages/commercelayer/api/endpoints/catalog/index.ts
diff --git a/framework/commercelayer/api/endpoints/catalog/products.ts b/packages/commercelayer/api/endpoints/catalog/products.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/catalog/products.ts
rename to packages/commercelayer/api/endpoints/catalog/products.ts
diff --git a/framework/commercelayer/api/endpoints/checkout/get-checkout.ts b/packages/commercelayer/api/endpoints/checkout/get-checkout.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/checkout/get-checkout.ts
rename to packages/commercelayer/api/endpoints/checkout/get-checkout.ts
diff --git a/framework/commercelayer/api/endpoints/checkout/index.ts b/packages/commercelayer/api/endpoints/checkout/index.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/checkout/index.ts
rename to packages/commercelayer/api/endpoints/checkout/index.ts
diff --git a/framework/commercelayer/api/endpoints/customer/address.ts b/packages/commercelayer/api/endpoints/customer/address.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/customer/address.ts
rename to packages/commercelayer/api/endpoints/customer/address.ts
diff --git a/framework/commercelayer/api/endpoints/customer/card.ts b/packages/commercelayer/api/endpoints/customer/card.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/customer/card.ts
rename to packages/commercelayer/api/endpoints/customer/card.ts
diff --git a/framework/commercelayer/api/endpoints/customer/index.ts b/packages/commercelayer/api/endpoints/customer/index.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/customer/index.ts
rename to packages/commercelayer/api/endpoints/customer/index.ts
diff --git a/framework/commercelayer/api/endpoints/login/index.ts b/packages/commercelayer/api/endpoints/login/index.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/login/index.ts
rename to packages/commercelayer/api/endpoints/login/index.ts
diff --git a/framework/commercelayer/api/endpoints/login/login.ts b/packages/commercelayer/api/endpoints/login/login.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/login/login.ts
rename to packages/commercelayer/api/endpoints/login/login.ts
diff --git a/framework/commercelayer/api/endpoints/logout/index.ts b/packages/commercelayer/api/endpoints/logout/index.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/logout/index.ts
rename to packages/commercelayer/api/endpoints/logout/index.ts
diff --git a/framework/commercelayer/api/endpoints/signup/index.ts b/packages/commercelayer/api/endpoints/signup/index.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/signup/index.ts
rename to packages/commercelayer/api/endpoints/signup/index.ts
diff --git a/framework/commercelayer/api/endpoints/wishlist/index.ts b/packages/commercelayer/api/endpoints/wishlist/index.ts
similarity index 100%
rename from framework/commercelayer/api/endpoints/wishlist/index.ts
rename to packages/commercelayer/api/endpoints/wishlist/index.ts
diff --git a/framework/commercelayer/api/index.ts b/packages/commercelayer/api/index.ts
similarity index 100%
rename from framework/commercelayer/api/index.ts
rename to packages/commercelayer/api/index.ts
diff --git a/framework/commercelayer/api/operations/get-all-pages.ts b/packages/commercelayer/api/operations/get-all-pages.ts
similarity index 100%
rename from framework/commercelayer/api/operations/get-all-pages.ts
rename to packages/commercelayer/api/operations/get-all-pages.ts
diff --git a/framework/commercelayer/api/operations/get-all-product-paths.ts b/packages/commercelayer/api/operations/get-all-product-paths.ts
similarity index 100%
rename from framework/commercelayer/api/operations/get-all-product-paths.ts
rename to packages/commercelayer/api/operations/get-all-product-paths.ts
diff --git a/framework/commercelayer/api/operations/get-all-products.ts b/packages/commercelayer/api/operations/get-all-products.ts
similarity index 100%
rename from framework/commercelayer/api/operations/get-all-products.ts
rename to packages/commercelayer/api/operations/get-all-products.ts
diff --git a/framework/commercelayer/api/operations/get-customer-wishlist.ts b/packages/commercelayer/api/operations/get-customer-wishlist.ts
similarity index 100%
rename from framework/commercelayer/api/operations/get-customer-wishlist.ts
rename to packages/commercelayer/api/operations/get-customer-wishlist.ts
diff --git a/framework/commercelayer/api/operations/get-page.ts b/packages/commercelayer/api/operations/get-page.ts
similarity index 100%
rename from framework/commercelayer/api/operations/get-page.ts
rename to packages/commercelayer/api/operations/get-page.ts
diff --git a/framework/commercelayer/api/operations/get-product.ts b/packages/commercelayer/api/operations/get-product.ts
similarity index 100%
rename from framework/commercelayer/api/operations/get-product.ts
rename to packages/commercelayer/api/operations/get-product.ts
diff --git a/framework/commercelayer/api/operations/get-site-info.ts b/packages/commercelayer/api/operations/get-site-info.ts
similarity index 100%
rename from framework/commercelayer/api/operations/get-site-info.ts
rename to packages/commercelayer/api/operations/get-site-info.ts
diff --git a/framework/commercelayer/api/operations/index.ts b/packages/commercelayer/api/operations/index.ts
similarity index 100%
rename from framework/commercelayer/api/operations/index.ts
rename to packages/commercelayer/api/operations/index.ts
diff --git a/framework/commercelayer/api/utils/cookies.ts b/packages/commercelayer/api/utils/cookies.ts
similarity index 100%
rename from framework/commercelayer/api/utils/cookies.ts
rename to packages/commercelayer/api/utils/cookies.ts
diff --git a/framework/commercelayer/api/utils/fetch-local.ts b/packages/commercelayer/api/utils/fetch-local.ts
similarity index 100%
rename from framework/commercelayer/api/utils/fetch-local.ts
rename to packages/commercelayer/api/utils/fetch-local.ts
diff --git a/framework/commercelayer/api/utils/fetch.ts b/packages/commercelayer/api/utils/fetch.ts
similarity index 100%
rename from framework/commercelayer/api/utils/fetch.ts
rename to packages/commercelayer/api/utils/fetch.ts
diff --git a/framework/commercelayer/api/utils/getCredentials.ts b/packages/commercelayer/api/utils/getCredentials.ts
similarity index 100%
rename from framework/commercelayer/api/utils/getCredentials.ts
rename to packages/commercelayer/api/utils/getCredentials.ts
diff --git a/framework/commercelayer/api/utils/normalizeLineItems.ts b/packages/commercelayer/api/utils/normalizeLineItems.ts
similarity index 100%
rename from framework/commercelayer/api/utils/normalizeLineItems.ts
rename to packages/commercelayer/api/utils/normalizeLineItems.ts
diff --git a/framework/commercelayer/auth/index.ts b/packages/commercelayer/auth/index.ts
similarity index 100%
rename from framework/commercelayer/auth/index.ts
rename to packages/commercelayer/auth/index.ts
diff --git a/framework/commercelayer/auth/use-login.tsx b/packages/commercelayer/auth/use-login.tsx
similarity index 100%
rename from framework/commercelayer/auth/use-login.tsx
rename to packages/commercelayer/auth/use-login.tsx
diff --git a/framework/commercelayer/auth/use-logout.tsx b/packages/commercelayer/auth/use-logout.tsx
similarity index 100%
rename from framework/commercelayer/auth/use-logout.tsx
rename to packages/commercelayer/auth/use-logout.tsx
diff --git a/framework/commercelayer/auth/use-signup.tsx b/packages/commercelayer/auth/use-signup.tsx
similarity index 100%
rename from framework/commercelayer/auth/use-signup.tsx
rename to packages/commercelayer/auth/use-signup.tsx
diff --git a/framework/commercelayer/auth/use-token.tsx b/packages/commercelayer/auth/use-token.tsx
similarity index 100%
rename from framework/commercelayer/auth/use-token.tsx
rename to packages/commercelayer/auth/use-token.tsx
diff --git a/framework/commercelayer/cart/index.ts b/packages/commercelayer/cart/index.ts
similarity index 100%
rename from framework/commercelayer/cart/index.ts
rename to packages/commercelayer/cart/index.ts
diff --git a/framework/commercelayer/cart/use-add-item.tsx b/packages/commercelayer/cart/use-add-item.tsx
similarity index 100%
rename from framework/commercelayer/cart/use-add-item.tsx
rename to packages/commercelayer/cart/use-add-item.tsx
diff --git a/framework/commercelayer/cart/use-cart.tsx b/packages/commercelayer/cart/use-cart.tsx
similarity index 100%
rename from framework/commercelayer/cart/use-cart.tsx
rename to packages/commercelayer/cart/use-cart.tsx
diff --git a/framework/commercelayer/cart/use-remove-item.tsx b/packages/commercelayer/cart/use-remove-item.tsx
similarity index 100%
rename from framework/commercelayer/cart/use-remove-item.tsx
rename to packages/commercelayer/cart/use-remove-item.tsx
diff --git a/framework/commercelayer/cart/use-update-item.tsx b/packages/commercelayer/cart/use-update-item.tsx
similarity index 100%
rename from framework/commercelayer/cart/use-update-item.tsx
rename to packages/commercelayer/cart/use-update-item.tsx
diff --git a/framework/commercelayer/checkout/use-checkout.tsx b/packages/commercelayer/checkout/use-checkout.tsx
similarity index 100%
rename from framework/commercelayer/checkout/use-checkout.tsx
rename to packages/commercelayer/checkout/use-checkout.tsx
diff --git a/framework/commercelayer/commerce.config.json b/packages/commercelayer/commerce.config.json
similarity index 100%
rename from framework/commercelayer/commerce.config.json
rename to packages/commercelayer/commerce.config.json
diff --git a/framework/commercelayer/const.ts b/packages/commercelayer/const.ts
similarity index 100%
rename from framework/commercelayer/const.ts
rename to packages/commercelayer/const.ts
diff --git a/framework/commercelayer/customer/address/use-add-item.tsx b/packages/commercelayer/customer/address/use-add-item.tsx
similarity index 100%
rename from framework/commercelayer/customer/address/use-add-item.tsx
rename to packages/commercelayer/customer/address/use-add-item.tsx
diff --git a/framework/commercelayer/customer/card/use-add-item.tsx b/packages/commercelayer/customer/card/use-add-item.tsx
similarity index 100%
rename from framework/commercelayer/customer/card/use-add-item.tsx
rename to packages/commercelayer/customer/card/use-add-item.tsx
diff --git a/framework/commercelayer/customer/index.ts b/packages/commercelayer/customer/index.ts
similarity index 100%
rename from framework/commercelayer/customer/index.ts
rename to packages/commercelayer/customer/index.ts
diff --git a/framework/commercelayer/customer/use-customer.tsx b/packages/commercelayer/customer/use-customer.tsx
similarity index 100%
rename from framework/commercelayer/customer/use-customer.tsx
rename to packages/commercelayer/customer/use-customer.tsx
diff --git a/framework/commercelayer/data.json b/packages/commercelayer/data.json
similarity index 100%
rename from framework/commercelayer/data.json
rename to packages/commercelayer/data.json
diff --git a/framework/commercelayer/fetcher.ts b/packages/commercelayer/fetcher.ts
similarity index 100%
rename from framework/commercelayer/fetcher.ts
rename to packages/commercelayer/fetcher.ts
diff --git a/framework/commercelayer/index.tsx b/packages/commercelayer/index.tsx
similarity index 100%
rename from framework/commercelayer/index.tsx
rename to packages/commercelayer/index.tsx
diff --git a/framework/commercelayer/next.config.js b/packages/commercelayer/next.config.js
similarity index 100%
rename from framework/commercelayer/next.config.js
rename to packages/commercelayer/next.config.js
diff --git a/framework/commercelayer/product/index.ts b/packages/commercelayer/product/index.ts
similarity index 100%
rename from framework/commercelayer/product/index.ts
rename to packages/commercelayer/product/index.ts
diff --git a/framework/bigcommerce/product/use-price.tsx b/packages/commercelayer/product/use-price.tsx
similarity index 100%
rename from framework/bigcommerce/product/use-price.tsx
rename to packages/commercelayer/product/use-price.tsx
diff --git a/framework/commercelayer/product/use-search.tsx b/packages/commercelayer/product/use-search.tsx
similarity index 100%
rename from framework/commercelayer/product/use-search.tsx
rename to packages/commercelayer/product/use-search.tsx
diff --git a/framework/commercelayer/provider.ts b/packages/commercelayer/provider.ts
similarity index 100%
rename from framework/commercelayer/provider.ts
rename to packages/commercelayer/provider.ts
diff --git a/framework/commercelayer/utils/handle-fetch-response.ts b/packages/commercelayer/utils/handle-fetch-response.ts
similarity index 100%
rename from framework/commercelayer/utils/handle-fetch-response.ts
rename to packages/commercelayer/utils/handle-fetch-response.ts
diff --git a/framework/commercelayer/wishlist/use-add-item.tsx b/packages/commercelayer/wishlist/use-add-item.tsx
similarity index 100%
rename from framework/commercelayer/wishlist/use-add-item.tsx
rename to packages/commercelayer/wishlist/use-add-item.tsx
diff --git a/framework/commercelayer/wishlist/use-remove-item.tsx b/packages/commercelayer/wishlist/use-remove-item.tsx
similarity index 100%
rename from framework/commercelayer/wishlist/use-remove-item.tsx
rename to packages/commercelayer/wishlist/use-remove-item.tsx
diff --git a/framework/commercelayer/wishlist/use-wishlist.tsx b/packages/commercelayer/wishlist/use-wishlist.tsx
similarity index 100%
rename from framework/commercelayer/wishlist/use-wishlist.tsx
rename to packages/commercelayer/wishlist/use-wishlist.tsx
diff --git a/framework/kibocommerce/.env.template b/packages/kibocommerce/.env.template
similarity index 100%
rename from framework/kibocommerce/.env.template
rename to packages/kibocommerce/.env.template
diff --git a/packages/kibocommerce/.prettierignore b/packages/kibocommerce/.prettierignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/kibocommerce/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/kibocommerce/.prettierrc b/packages/kibocommerce/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/packages/kibocommerce/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/framework/kibocommerce/README.md b/packages/kibocommerce/README.md
similarity index 95%
rename from framework/kibocommerce/README.md
rename to packages/kibocommerce/README.md
index dc7589635..13fa331d2 100644
--- a/framework/kibocommerce/README.md
+++ b/packages/kibocommerce/README.md
@@ -3,7 +3,7 @@
If you already have a Kibo Commerce account and want to use your current store, then copy the `.env.template` file in this directory to `.env.local` in the main directory (which will be ignored by Git):
```bash
-cp framework/kibocommerce/.env.template .env.local
+cp packages/kibocommerce/.env.template .env.local
```
Then, set the environment variables in `.env.local` to match the ones from your store.
@@ -22,7 +22,7 @@ KIBO_AUTH_URL='https://home.mozu.com'
- `KIBO_CART_COOKIE` - configurable cookie name for cart.
- `KIBO_CUSTOMER_COOKIE` - configurable cookie name for shopper identifier/authentication cookie
- `KIBO_CLIENT_ID` - Unique Application (Client) ID of your Application
-- `KIBO_SHARED_SECRET` - Secret API key used to authenticate application/client id.
+- `KIBO_SHARED_SECRET` - Secret API key used to authenticate application/client id.
Your Kibo Client ID and Shared Secret can be found from your [Kibo eCommerce Dev Center](https://mozu.com/login)
diff --git a/framework/kibocommerce/codegen.json b/packages/kibocommerce/codegen.json
similarity index 78%
rename from framework/kibocommerce/codegen.json
rename to packages/kibocommerce/codegen.json
index cf25363ed..ede2d2f3b 100644
--- a/framework/kibocommerce/codegen.json
+++ b/packages/kibocommerce/codegen.json
@@ -2,9 +2,8 @@
"schema": {
"https://t17194-s21127.dev10.kubedev.kibo-dev.com/graphql": {}
},
-
"generates": {
- "./framework/kibocommerce/schema.d.ts": {
+ "./schema.d.ts": {
"plugins": ["typescript", "typescript-operations"],
"config": {
"scalars": {
@@ -12,7 +11,7 @@
}
}
},
- "./framework/kibocommerce/schema.graphql": {
+ "./schema.graphql": {
"plugins": ["schema-ast"]
}
},
@@ -20,4 +19,3 @@
"afterAllFileWrite": ["prettier --write"]
}
}
-
\ No newline at end of file
diff --git a/packages/kibocommerce/package.json b/packages/kibocommerce/package.json
new file mode 100644
index 000000000..6d27b3804
--- /dev/null
+++ b/packages/kibocommerce/package.json
@@ -0,0 +1,85 @@
+{
+ "name": "@vercel/commerce-kibocommerce",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "release": "taskr release",
+ "build": "taskr build",
+ "dev": "taskr",
+ "types": "tsc --emitDeclarationOnly",
+ "prettier-fix": "prettier --write .",
+ "generate": "graphql-codegen"
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": "./dist/index.js",
+ "./*": [
+ "./dist/*.js",
+ "./dist/*/index.js"
+ ],
+ "./next.config": "./dist/next.config.cjs"
+ },
+ "typesVersions": {
+ "*": {
+ "*": [
+ "src/*",
+ "src/*/index"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ },
+ "files": [
+ "dist",
+ "schema.d.ts"
+ ],
+ "publishConfig": {
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/*.d.ts",
+ "dist/*/index.d.ts"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ }
+ },
+ "dependencies": {
+ "@vercel/commerce": "^0.0.1",
+ "@vercel/fetch": "^6.1.1"
+ },
+ "peerDependencies": {
+ "next": "^12",
+ "react": "^17",
+ "react-dom": "^17"
+ },
+ "devDependencies": {
+ "@graphql-codegen/cli": "^2.3.1",
+ "@graphql-codegen/schema-ast": "^2.4.1",
+ "@graphql-codegen/typescript": "^2.4.2",
+ "@graphql-codegen/typescript-operations": "^2.2.2",
+ "@taskr/clear": "^1.1.0",
+ "@taskr/esnext": "^1.1.0",
+ "@taskr/watch": "^1.1.0",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "lint-staged": "^12.1.7",
+ "next": "^12.0.8",
+ "prettier": "^2.5.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "taskr": "^1.1.0",
+ "taskr-swc": "^0.0.1",
+ "typescript": "^4.5.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ }
+}
diff --git a/framework/kibocommerce/schema.d.ts b/packages/kibocommerce/schema.d.ts
similarity index 100%
rename from framework/kibocommerce/schema.d.ts
rename to packages/kibocommerce/schema.d.ts
diff --git a/framework/kibocommerce/schema.graphql b/packages/kibocommerce/schema.graphql
similarity index 100%
rename from framework/kibocommerce/schema.graphql
rename to packages/kibocommerce/schema.graphql
diff --git a/framework/kibocommerce/api/endpoints/cart/add-item.ts b/packages/kibocommerce/src/api/endpoints/cart/add-item.ts
similarity index 98%
rename from framework/kibocommerce/api/endpoints/cart/add-item.ts
rename to packages/kibocommerce/src/api/endpoints/cart/add-item.ts
index 6cda2a944..6dfea1e0c 100644
--- a/framework/kibocommerce/api/endpoints/cart/add-item.ts
+++ b/packages/kibocommerce/src/api/endpoints/cart/add-item.ts
@@ -1,4 +1,3 @@
-import { Product } from './../../../schema.d'
import { normalizeCart } from '../../../lib/normalize'
import type { CartEndpoint } from '.'
import addToCurrentCartMutation from '../../../api/mutations/addToCart-mutation'
diff --git a/framework/kibocommerce/api/endpoints/cart/get-cart.ts b/packages/kibocommerce/src/api/endpoints/cart/get-cart.ts
similarity index 96%
rename from framework/kibocommerce/api/endpoints/cart/get-cart.ts
rename to packages/kibocommerce/src/api/endpoints/cart/get-cart.ts
index b7e672092..6a6ec3ab4 100644
--- a/framework/kibocommerce/api/endpoints/cart/get-cart.ts
+++ b/packages/kibocommerce/src/api/endpoints/cart/get-cart.ts
@@ -1,6 +1,6 @@
import CookieHandler from '../../../api/utils/cookie-handler'
import { normalizeCart } from '../../../lib/normalize'
-import { Cart } from '../../../schema'
+import { Cart } from '../../../../schema'
import type { CartEndpoint } from '.'
import { getCartQuery } from '../../queries/get-cart-query'
diff --git a/framework/kibocommerce/api/endpoints/cart/index.ts b/packages/kibocommerce/src/api/endpoints/cart/index.ts
similarity index 79%
rename from framework/kibocommerce/api/endpoints/cart/index.ts
rename to packages/kibocommerce/src/api/endpoints/cart/index.ts
index 53de2424e..d4e8118ac 100644
--- a/framework/kibocommerce/api/endpoints/cart/index.ts
+++ b/packages/kibocommerce/src/api/endpoints/cart/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import cartEndpoint from '@commerce/api/endpoints/cart'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import cartEndpoint from '@vercel/commerce/api/endpoints/cart'
import type { KiboCommerceAPI } from '../..'
import getCart from './get-cart';
import addItem from './add-item';
diff --git a/framework/kibocommerce/api/endpoints/cart/remove-item.ts b/packages/kibocommerce/src/api/endpoints/cart/remove-item.ts
similarity index 100%
rename from framework/kibocommerce/api/endpoints/cart/remove-item.ts
rename to packages/kibocommerce/src/api/endpoints/cart/remove-item.ts
diff --git a/framework/kibocommerce/api/endpoints/cart/update-item.ts b/packages/kibocommerce/src/api/endpoints/cart/update-item.ts
similarity index 100%
rename from framework/kibocommerce/api/endpoints/cart/update-item.ts
rename to packages/kibocommerce/src/api/endpoints/cart/update-item.ts
diff --git a/framework/kibocommerce/api/endpoints/catalog/products/index.ts b/packages/kibocommerce/src/api/endpoints/catalog/products/index.ts
similarity index 73%
rename from framework/kibocommerce/api/endpoints/catalog/products/index.ts
rename to packages/kibocommerce/src/api/endpoints/catalog/products/index.ts
index 12c72b27e..a838eb56e 100644
--- a/framework/kibocommerce/api/endpoints/catalog/products/index.ts
+++ b/packages/kibocommerce/src/api/endpoints/catalog/products/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import productsEndpoint from '@commerce/api/endpoints/catalog/products'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import productsEndpoint from '@vercel/commerce/api/endpoints/catalog/products'
import type { KiboCommerceAPI } from '../../..'
import getProducts from '../products/products'
diff --git a/framework/kibocommerce/api/endpoints/catalog/products/products.ts b/packages/kibocommerce/src/api/endpoints/catalog/products/products.ts
similarity index 94%
rename from framework/kibocommerce/api/endpoints/catalog/products/products.ts
rename to packages/kibocommerce/src/api/endpoints/catalog/products/products.ts
index a4f5e6dac..189922d53 100644
--- a/framework/kibocommerce/api/endpoints/catalog/products/products.ts
+++ b/packages/kibocommerce/src/api/endpoints/catalog/products/products.ts
@@ -1,4 +1,4 @@
-import { Product } from '@commerce/types/product'
+import { Product } from '@vercel/commerce/types/product'
import { ProductsEndpoint } from '.'
import productSearchQuery from '../../../queries/product-search-query'
import { buildProductSearchVars } from '../../../../lib/product-search-vars'
diff --git a/framework/kibocommerce/api/endpoints/checkout/index.ts b/packages/kibocommerce/src/api/endpoints/checkout/index.ts
similarity index 100%
rename from framework/kibocommerce/api/endpoints/checkout/index.ts
rename to packages/kibocommerce/src/api/endpoints/checkout/index.ts
diff --git a/framework/kibocommerce/api/endpoints/customer/address.ts b/packages/kibocommerce/src/api/endpoints/customer/address.ts
similarity index 100%
rename from framework/kibocommerce/api/endpoints/customer/address.ts
rename to packages/kibocommerce/src/api/endpoints/customer/address.ts
diff --git a/framework/kibocommerce/api/endpoints/customer/card.ts b/packages/kibocommerce/src/api/endpoints/customer/card.ts
similarity index 100%
rename from framework/kibocommerce/api/endpoints/customer/card.ts
rename to packages/kibocommerce/src/api/endpoints/customer/card.ts
diff --git a/framework/kibocommerce/api/endpoints/customer/customer.ts b/packages/kibocommerce/src/api/endpoints/customer/customer.ts
similarity index 100%
rename from framework/kibocommerce/api/endpoints/customer/customer.ts
rename to packages/kibocommerce/src/api/endpoints/customer/customer.ts
diff --git a/framework/kibocommerce/api/endpoints/customer/index.ts b/packages/kibocommerce/src/api/endpoints/customer/index.ts
similarity index 77%
rename from framework/kibocommerce/api/endpoints/customer/index.ts
rename to packages/kibocommerce/src/api/endpoints/customer/index.ts
index c32bcfa91..20bd44da9 100644
--- a/framework/kibocommerce/api/endpoints/customer/index.ts
+++ b/packages/kibocommerce/src/api/endpoints/customer/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import customerEndpoint from '@commerce/api/endpoints/customer'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import customerEndpoint from '@vercel/commerce/api/endpoints/customer'
import type { CustomerSchema } from '../../../types/customer'
import type { KiboCommerceAPI } from '../..'
import getLoggedInCustomer from './customer'
diff --git a/framework/kibocommerce/api/endpoints/login/index.ts b/packages/kibocommerce/src/api/endpoints/login/index.ts
similarity index 76%
rename from framework/kibocommerce/api/endpoints/login/index.ts
rename to packages/kibocommerce/src/api/endpoints/login/index.ts
index f76e0f644..679a92d90 100644
--- a/framework/kibocommerce/api/endpoints/login/index.ts
+++ b/packages/kibocommerce/src/api/endpoints/login/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import loginEndpoint from '@commerce/api/endpoints/login'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import loginEndpoint from '@vercel/commerce/api/endpoints/login'
import type { LoginSchema } from '../../../types/login'
import type { KiboCommerceAPI } from '../..'
import login from './login'
diff --git a/framework/kibocommerce/api/endpoints/login/login.ts b/packages/kibocommerce/src/api/endpoints/login/login.ts
similarity index 92%
rename from framework/kibocommerce/api/endpoints/login/login.ts
rename to packages/kibocommerce/src/api/endpoints/login/login.ts
index 84410a281..7a08069c6 100644
--- a/framework/kibocommerce/api/endpoints/login/login.ts
+++ b/packages/kibocommerce/src/api/endpoints/login/login.ts
@@ -1,4 +1,4 @@
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
import type { LoginEndpoint } from '.'
import { loginMutation } from '../../mutations/login-mutation'
import { prepareSetCookie } from '../../../lib/prepare-set-cookie';
@@ -14,7 +14,7 @@ const login: LoginEndpoint['handlers']['login'] = async ({
config,
commerce,
}) => {
-
+
if (!(email && password)) {
return res.status(400).json({
data: null,
@@ -28,17 +28,17 @@ const login: LoginEndpoint['handlers']['login'] = async ({
const variables = { loginInput : { username: email, password }};
response = await config.fetch(loginMutation, { variables })
const { account: token } = response.data;
-
+
// Set Cookie
const cookieExpirationDate = getCookieExpirationDate(config.customerCookieMaxAgeInDays)
-
+
const authCookie = prepareSetCookie(
config.customerCookie,
JSON.stringify(token),
token.accessTokenExpiration ? { expires: cookieExpirationDate }: {},
)
- setCookies(res, [authCookie])
-
+ setCookies(res, [authCookie])
+
} catch (error) {
// Check if the email and password didn't match an existing account
if (
@@ -63,4 +63,4 @@ const login: LoginEndpoint['handlers']['login'] = async ({
res.status(200).json({ data: response })
}
-export default login
\ No newline at end of file
+export default login
diff --git a/framework/kibocommerce/api/endpoints/logout/index.ts b/packages/kibocommerce/src/api/endpoints/logout/index.ts
similarity index 76%
rename from framework/kibocommerce/api/endpoints/logout/index.ts
rename to packages/kibocommerce/src/api/endpoints/logout/index.ts
index ec4ded011..00804afb3 100644
--- a/framework/kibocommerce/api/endpoints/logout/index.ts
+++ b/packages/kibocommerce/src/api/endpoints/logout/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import logoutEndpoint from '@commerce/api/endpoints/logout'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import logoutEndpoint from '@vercel/commerce/api/endpoints/logout'
import type { LogoutSchema } from '../../../types/logout'
import type { KiboCommerceAPI } from '../..'
import logout from './logout'
diff --git a/framework/kibocommerce/api/endpoints/logout/logout.ts b/packages/kibocommerce/src/api/endpoints/logout/logout.ts
similarity index 100%
rename from framework/kibocommerce/api/endpoints/logout/logout.ts
rename to packages/kibocommerce/src/api/endpoints/logout/logout.ts
diff --git a/framework/kibocommerce/api/endpoints/signup/index.ts b/packages/kibocommerce/src/api/endpoints/signup/index.ts
similarity index 76%
rename from framework/kibocommerce/api/endpoints/signup/index.ts
rename to packages/kibocommerce/src/api/endpoints/signup/index.ts
index 3eda94d06..8b2fec006 100644
--- a/framework/kibocommerce/api/endpoints/signup/index.ts
+++ b/packages/kibocommerce/src/api/endpoints/signup/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import signupEndpoint from '@commerce/api/endpoints/signup'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import signupEndpoint from '@vercel/commerce/api/endpoints/signup'
import type { SignupSchema } from '../../../types/signup'
import type { KiboCommerceAPI } from '../..'
import signup from './signup'
diff --git a/framework/kibocommerce/api/endpoints/signup/signup.ts b/packages/kibocommerce/src/api/endpoints/signup/signup.ts
similarity index 95%
rename from framework/kibocommerce/api/endpoints/signup/signup.ts
rename to packages/kibocommerce/src/api/endpoints/signup/signup.ts
index 77790ca3a..b3d988475 100644
--- a/framework/kibocommerce/api/endpoints/signup/signup.ts
+++ b/packages/kibocommerce/src/api/endpoints/signup/signup.ts
@@ -1,4 +1,4 @@
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
import type { SignupEndpoint } from '.'
import { registerUserMutation, registerUserLoginMutation } from '../../mutations/signup-mutation'
import { prepareSetCookie } from '../../../lib/prepare-set-cookie';
@@ -14,7 +14,7 @@ const signup: SignupEndpoint['handlers']['signup'] = async ({
config,
commerce,
}) => {
-
+
if (!(email && password)) {
return res.status(400).json({
data: null,
@@ -35,7 +35,7 @@ const signup: SignupEndpoint['handlers']['signup'] = async ({
id: 0
}
}
-
+
const registerUserResponse = await config.fetch(registerUserMutation, { variables: registerUserVariables})
const accountId = registerUserResponse.data?.account?.id;
@@ -52,7 +52,7 @@ const signup: SignupEndpoint['handlers']['signup'] = async ({
response = await config.fetch(registerUserLoginMutation, { variables: registerUserLoginVairables})
const { account: token } = response.data;
-
+
// Set Cookie
const cookieExpirationDate = getCookieExpirationDate(config.customerCookieMaxAgeInDays)
@@ -62,7 +62,7 @@ const signup: SignupEndpoint['handlers']['signup'] = async ({
token.accessTokenExpiration ? { expires: cookieExpirationDate }: {},
)
- setCookies(res, [authCookie])
+ setCookies(res, [authCookie])
} catch (error) {
// Check if the email and password didn't match an existing account
@@ -88,4 +88,4 @@ const signup: SignupEndpoint['handlers']['signup'] = async ({
res.status(200).json({ data: response })
}
-export default signup
\ No newline at end of file
+export default signup
diff --git a/framework/kibocommerce/api/endpoints/wishlist/add-item.ts b/packages/kibocommerce/src/api/endpoints/wishlist/add-item.ts
similarity index 100%
rename from framework/kibocommerce/api/endpoints/wishlist/add-item.ts
rename to packages/kibocommerce/src/api/endpoints/wishlist/add-item.ts
diff --git a/framework/kibocommerce/api/endpoints/wishlist/get-wishlist.ts b/packages/kibocommerce/src/api/endpoints/wishlist/get-wishlist.ts
similarity index 100%
rename from framework/kibocommerce/api/endpoints/wishlist/get-wishlist.ts
rename to packages/kibocommerce/src/api/endpoints/wishlist/get-wishlist.ts
diff --git a/framework/kibocommerce/api/endpoints/wishlist/index.ts b/packages/kibocommerce/src/api/endpoints/wishlist/index.ts
similarity index 78%
rename from framework/kibocommerce/api/endpoints/wishlist/index.ts
rename to packages/kibocommerce/src/api/endpoints/wishlist/index.ts
index 052cdcef6..58344be72 100644
--- a/framework/kibocommerce/api/endpoints/wishlist/index.ts
+++ b/packages/kibocommerce/src/api/endpoints/wishlist/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import wishlistEndpoint from '@commerce/api/endpoints/wishlist'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import wishlistEndpoint from '@vercel/commerce/api/endpoints/wishlist'
import type { KiboCommerceAPI } from '../..'
import getWishlist from './get-wishlist'
import addItem from './add-item'
diff --git a/framework/kibocommerce/api/endpoints/wishlist/remove-item.ts b/packages/kibocommerce/src/api/endpoints/wishlist/remove-item.ts
similarity index 100%
rename from framework/kibocommerce/api/endpoints/wishlist/remove-item.ts
rename to packages/kibocommerce/src/api/endpoints/wishlist/remove-item.ts
diff --git a/framework/kibocommerce/api/fragments/cartItemDetails.ts b/packages/kibocommerce/src/api/fragments/cartItemDetails.ts
similarity index 100%
rename from framework/kibocommerce/api/fragments/cartItemDetails.ts
rename to packages/kibocommerce/src/api/fragments/cartItemDetails.ts
diff --git a/framework/kibocommerce/api/fragments/category.ts b/packages/kibocommerce/src/api/fragments/category.ts
similarity index 100%
rename from framework/kibocommerce/api/fragments/category.ts
rename to packages/kibocommerce/src/api/fragments/category.ts
diff --git a/framework/kibocommerce/api/fragments/product.ts b/packages/kibocommerce/src/api/fragments/product.ts
similarity index 100%
rename from framework/kibocommerce/api/fragments/product.ts
rename to packages/kibocommerce/src/api/fragments/product.ts
diff --git a/framework/kibocommerce/api/fragments/productDetails.ts b/packages/kibocommerce/src/api/fragments/productDetails.ts
similarity index 100%
rename from framework/kibocommerce/api/fragments/productDetails.ts
rename to packages/kibocommerce/src/api/fragments/productDetails.ts
diff --git a/framework/kibocommerce/api/fragments/search.ts b/packages/kibocommerce/src/api/fragments/search.ts
similarity index 100%
rename from framework/kibocommerce/api/fragments/search.ts
rename to packages/kibocommerce/src/api/fragments/search.ts
diff --git a/framework/kibocommerce/api/index.ts b/packages/kibocommerce/src/api/index.ts
similarity index 93%
rename from framework/kibocommerce/api/index.ts
rename to packages/kibocommerce/src/api/index.ts
index a79745c57..aa6d9604e 100644
--- a/framework/kibocommerce/api/index.ts
+++ b/packages/kibocommerce/src/api/index.ts
@@ -1,5 +1,5 @@
-import type { CommerceAPI, CommerceAPIConfig } from '@commerce/api'
-import { getCommerceApi as commerceApi } from '@commerce/api'
+import type { CommerceAPI, CommerceAPIConfig } from '@vercel/commerce/api'
+import { getCommerceApi as commerceApi } from '@vercel/commerce/api'
import createFetchGraphqlApi from './utils/fetch-graphql-api'
import getAllPages from './operations/get-all-pages'
diff --git a/framework/kibocommerce/api/mutations/addItemToWishlist-mutation.ts b/packages/kibocommerce/src/api/mutations/addItemToWishlist-mutation.ts
similarity index 100%
rename from framework/kibocommerce/api/mutations/addItemToWishlist-mutation.ts
rename to packages/kibocommerce/src/api/mutations/addItemToWishlist-mutation.ts
diff --git a/framework/kibocommerce/api/mutations/addToCart-mutation.ts b/packages/kibocommerce/src/api/mutations/addToCart-mutation.ts
similarity index 100%
rename from framework/kibocommerce/api/mutations/addToCart-mutation.ts
rename to packages/kibocommerce/src/api/mutations/addToCart-mutation.ts
diff --git a/framework/kibocommerce/api/mutations/create-wishlist-mutation.ts b/packages/kibocommerce/src/api/mutations/create-wishlist-mutation.ts
similarity index 100%
rename from framework/kibocommerce/api/mutations/create-wishlist-mutation.ts
rename to packages/kibocommerce/src/api/mutations/create-wishlist-mutation.ts
diff --git a/framework/kibocommerce/api/mutations/login-mutation.ts b/packages/kibocommerce/src/api/mutations/login-mutation.ts
similarity index 100%
rename from framework/kibocommerce/api/mutations/login-mutation.ts
rename to packages/kibocommerce/src/api/mutations/login-mutation.ts
diff --git a/framework/kibocommerce/api/mutations/removeItemFromCart-mutation.ts b/packages/kibocommerce/src/api/mutations/removeItemFromCart-mutation.ts
similarity index 100%
rename from framework/kibocommerce/api/mutations/removeItemFromCart-mutation.ts
rename to packages/kibocommerce/src/api/mutations/removeItemFromCart-mutation.ts
diff --git a/framework/kibocommerce/api/mutations/removeItemFromWishlist-mutation.ts b/packages/kibocommerce/src/api/mutations/removeItemFromWishlist-mutation.ts
similarity index 100%
rename from framework/kibocommerce/api/mutations/removeItemFromWishlist-mutation.ts
rename to packages/kibocommerce/src/api/mutations/removeItemFromWishlist-mutation.ts
diff --git a/framework/kibocommerce/api/mutations/signup-mutation.ts b/packages/kibocommerce/src/api/mutations/signup-mutation.ts
similarity index 100%
rename from framework/kibocommerce/api/mutations/signup-mutation.ts
rename to packages/kibocommerce/src/api/mutations/signup-mutation.ts
diff --git a/framework/kibocommerce/api/mutations/updateCartItemQuantity-mutation.ts b/packages/kibocommerce/src/api/mutations/updateCartItemQuantity-mutation.ts
similarity index 100%
rename from framework/kibocommerce/api/mutations/updateCartItemQuantity-mutation.ts
rename to packages/kibocommerce/src/api/mutations/updateCartItemQuantity-mutation.ts
diff --git a/framework/kibocommerce/api/operations/get-all-pages.ts b/packages/kibocommerce/src/api/operations/get-all-pages.ts
similarity index 92%
rename from framework/kibocommerce/api/operations/get-all-pages.ts
rename to packages/kibocommerce/src/api/operations/get-all-pages.ts
index 6bc0e4a8c..7607e194e 100644
--- a/framework/kibocommerce/api/operations/get-all-pages.ts
+++ b/packages/kibocommerce/src/api/operations/get-all-pages.ts
@@ -1,4 +1,4 @@
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type { KiboCommerceConfig } from '../index'
import { getAllPagesQuery } from '../queries/get-all-pages-query'
import { GetPagesQueryParams } from "../../types/page";
@@ -30,9 +30,9 @@ export default function getAllPagesOperation({
const { data } = await cfg.fetch(query, { variables });
const pages = data.documentListDocuments.items.map(normalizePage);
-
+
return { pages }
}
return getAllPages
-}
\ No newline at end of file
+}
diff --git a/framework/kibocommerce/api/operations/get-all-product-paths.ts b/packages/kibocommerce/src/api/operations/get-all-product-paths.ts
similarity index 100%
rename from framework/kibocommerce/api/operations/get-all-product-paths.ts
rename to packages/kibocommerce/src/api/operations/get-all-product-paths.ts
diff --git a/framework/kibocommerce/api/operations/get-all-products.ts b/packages/kibocommerce/src/api/operations/get-all-products.ts
similarity index 81%
rename from framework/kibocommerce/api/operations/get-all-products.ts
rename to packages/kibocommerce/src/api/operations/get-all-products.ts
index c60b88f4e..bddafbffa 100644
--- a/framework/kibocommerce/api/operations/get-all-products.ts
+++ b/packages/kibocommerce/src/api/operations/get-all-products.ts
@@ -1,6 +1,6 @@
-import { Product } from '@commerce/types/product'
-import { GetAllProductsOperation } from '@commerce/types/product'
-import type { OperationContext } from '@commerce/api/operations'
+import { Product } from '@vercel/commerce/types/product'
+import { GetAllProductsOperation } from '@vercel/commerce/types/product'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type { KiboCommerceConfig } from '../index'
import { getAllProductsQuery } from '../queries/get-all-products-query';
import { normalizeProduct } from '../../lib/normalize'
@@ -23,7 +23,7 @@ export default function getAllProductsOperation({
const { data } = await cfg.fetch(query);
let normalizedProducts = data.products.items ? data.products.items.map( (item:any) => normalizeProduct(item, cfg)) : [];
-
+
return {
products: normalizedProducts,
}
diff --git a/framework/kibocommerce/api/operations/get-customer-wishlist.ts b/packages/kibocommerce/src/api/operations/get-customer-wishlist.ts
similarity index 94%
rename from framework/kibocommerce/api/operations/get-customer-wishlist.ts
rename to packages/kibocommerce/src/api/operations/get-customer-wishlist.ts
index a2a60e9ae..c2792ad32 100644
--- a/framework/kibocommerce/api/operations/get-customer-wishlist.ts
+++ b/packages/kibocommerce/src/api/operations/get-customer-wishlist.ts
@@ -1,11 +1,11 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type {
GetCustomerWishlistOperation,
Wishlist,
-} from '@commerce/types/wishlist'
+} from '@vercel/commerce/types/wishlist'
// import type { RecursivePartial, RecursiveRequired } from '../utils/types'
import { KiboCommerceConfig } from '..'
// import getAllProducts, { ProductEdge } from './get-all-products'
@@ -42,7 +42,7 @@ export default function getCustomerWishlistOperation({
}): Promise {
let customerWishlist ={}
try {
-
+
config = commerce.getConfig(config)
const result= await config?.fetch(getCustomerWishlistQuery,{variables})
customerWishlist= result?.data?.customerWishlist;
diff --git a/framework/kibocommerce/api/operations/get-page.ts b/packages/kibocommerce/src/api/operations/get-page.ts
similarity index 92%
rename from framework/kibocommerce/api/operations/get-page.ts
rename to packages/kibocommerce/src/api/operations/get-page.ts
index 8cfccb7db..69289cba0 100644
--- a/framework/kibocommerce/api/operations/get-page.ts
+++ b/packages/kibocommerce/src/api/operations/get-page.ts
@@ -1,11 +1,11 @@
import type {
OperationContext,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type { KiboCommerceConfig, KiboCommerceProvider } from '..'
import { normalizePage } from '../../lib/normalize'
import { getPageQuery } from '../queries/get-page-query'
import type { Page, GetPageQueryParams } from "../../types/page";
-import type { Document } from '../../schema'
+import type { Document } from '../../../schema'
export default function getPageOperation({
commerce,
@@ -37,4 +37,4 @@ export default function getPageOperation({
}
return getPage
-}
\ No newline at end of file
+}
diff --git a/framework/kibocommerce/api/operations/get-product.ts b/packages/kibocommerce/src/api/operations/get-product.ts
similarity index 78%
rename from framework/kibocommerce/api/operations/get-product.ts
rename to packages/kibocommerce/src/api/operations/get-product.ts
index a3acf44d9..c41b1bf04 100644
--- a/framework/kibocommerce/api/operations/get-product.ts
+++ b/packages/kibocommerce/src/api/operations/get-product.ts
@@ -1,7 +1,7 @@
import type { KiboCommerceConfig } from '../index'
-import { Product } from '@commerce/types/product'
-import { GetProductOperation } from '@commerce/types/product'
-import type { OperationContext } from '@commerce/api/operations'
+import { Product } from '@vercel/commerce/types/product'
+import { GetProductOperation } from '@vercel/commerce/types/product'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import { getProductQuery } from '../queries/get-product-query'
import { normalizeProduct } from '../../lib/normalize'
@@ -20,14 +20,14 @@ export default function getProductOperation({
preview?: boolean
} = {}): Promise {
const productVariables = { productCode: variables?.slug}
-
+
const cfg = commerce.getConfig(config)
const { data } = await cfg.fetch(query, { variables: productVariables });
const normalizedProduct = normalizeProduct(data.product, cfg)
-
+
return {
- product: normalizedProduct
+ product: normalizedProduct
}
}
diff --git a/framework/kibocommerce/api/operations/get-site-info.ts b/packages/kibocommerce/src/api/operations/get-site-info.ts
similarity index 88%
rename from framework/kibocommerce/api/operations/get-site-info.ts
rename to packages/kibocommerce/src/api/operations/get-site-info.ts
index 1bd0ddf63..6b72d3b47 100644
--- a/framework/kibocommerce/api/operations/get-site-info.ts
+++ b/packages/kibocommerce/src/api/operations/get-site-info.ts
@@ -1,5 +1,5 @@
-import { OperationContext } from '@commerce/api/operations'
-import { Category } from '@commerce/types/site'
+import { OperationContext } from '@vercel/commerce/api/operations'
+import { Category } from '@vercel/commerce/types/site'
import { KiboCommerceConfig } from '../index'
import {categoryTreeQuery} from '../queries/get-categories-tree-query'
import { normalizeCategory } from '../../lib/normalize'
diff --git a/framework/kibocommerce/api/operations/index.ts b/packages/kibocommerce/src/api/operations/index.ts
similarity index 100%
rename from framework/kibocommerce/api/operations/index.ts
rename to packages/kibocommerce/src/api/operations/index.ts
diff --git a/framework/kibocommerce/api/queries/get-all-pages-query.ts b/packages/kibocommerce/src/api/queries/get-all-pages-query.ts
similarity index 100%
rename from framework/kibocommerce/api/queries/get-all-pages-query.ts
rename to packages/kibocommerce/src/api/queries/get-all-pages-query.ts
diff --git a/framework/kibocommerce/api/queries/get-all-products-query.ts b/packages/kibocommerce/src/api/queries/get-all-products-query.ts
similarity index 100%
rename from framework/kibocommerce/api/queries/get-all-products-query.ts
rename to packages/kibocommerce/src/api/queries/get-all-products-query.ts
diff --git a/framework/kibocommerce/api/queries/get-anonymous-shopper-token-query.ts b/packages/kibocommerce/src/api/queries/get-anonymous-shopper-token-query.ts
similarity index 100%
rename from framework/kibocommerce/api/queries/get-anonymous-shopper-token-query.ts
rename to packages/kibocommerce/src/api/queries/get-anonymous-shopper-token-query.ts
diff --git a/framework/kibocommerce/api/queries/get-cart-query.ts b/packages/kibocommerce/src/api/queries/get-cart-query.ts
similarity index 100%
rename from framework/kibocommerce/api/queries/get-cart-query.ts
rename to packages/kibocommerce/src/api/queries/get-cart-query.ts
diff --git a/framework/kibocommerce/api/queries/get-categories-tree-query.ts b/packages/kibocommerce/src/api/queries/get-categories-tree-query.ts
similarity index 100%
rename from framework/kibocommerce/api/queries/get-categories-tree-query.ts
rename to packages/kibocommerce/src/api/queries/get-categories-tree-query.ts
diff --git a/framework/kibocommerce/api/queries/get-customer-account-query.ts b/packages/kibocommerce/src/api/queries/get-customer-account-query.ts
similarity index 100%
rename from framework/kibocommerce/api/queries/get-customer-account-query.ts
rename to packages/kibocommerce/src/api/queries/get-customer-account-query.ts
diff --git a/framework/kibocommerce/api/queries/get-customer-wishlist-query.ts b/packages/kibocommerce/src/api/queries/get-customer-wishlist-query.ts
similarity index 100%
rename from framework/kibocommerce/api/queries/get-customer-wishlist-query.ts
rename to packages/kibocommerce/src/api/queries/get-customer-wishlist-query.ts
diff --git a/framework/kibocommerce/api/queries/get-page-query.ts b/packages/kibocommerce/src/api/queries/get-page-query.ts
similarity index 100%
rename from framework/kibocommerce/api/queries/get-page-query.ts
rename to packages/kibocommerce/src/api/queries/get-page-query.ts
diff --git a/framework/kibocommerce/api/queries/get-product-query.ts b/packages/kibocommerce/src/api/queries/get-product-query.ts
similarity index 100%
rename from framework/kibocommerce/api/queries/get-product-query.ts
rename to packages/kibocommerce/src/api/queries/get-product-query.ts
diff --git a/framework/kibocommerce/api/queries/product-search-query.ts b/packages/kibocommerce/src/api/queries/product-search-query.ts
similarity index 100%
rename from framework/kibocommerce/api/queries/product-search-query.ts
rename to packages/kibocommerce/src/api/queries/product-search-query.ts
diff --git a/framework/kibocommerce/api/utils/api-auth-helper.ts b/packages/kibocommerce/src/api/utils/api-auth-helper.ts
similarity index 90%
rename from framework/kibocommerce/api/utils/api-auth-helper.ts
rename to packages/kibocommerce/src/api/utils/api-auth-helper.ts
index cc4c0acf0..20cfc7403 100644
--- a/framework/kibocommerce/api/utils/api-auth-helper.ts
+++ b/packages/kibocommerce/src/api/utils/api-auth-helper.ts
@@ -1,8 +1,10 @@
-import getNextConfig from 'next/config'
import type { KiboCommerceConfig } from '../index'
import type { FetchOptions } from '@vercel/fetch'
import fetch from './fetch'
+// This object is persisted during development
+const authCache: { kiboAuthTicket?: AppAuthTicket } = {}
+
interface AppAuthTicket {
access_token: string
token_type: string
@@ -12,19 +14,17 @@ interface AppAuthTicket {
}
interface AuthTicketCache {
- getAuthTicket: () => Promise
+ getAuthTicket: () => Promise
setAuthTicket: (kiboAuthTicket: AppAuthTicket) => void
}
class RuntimeMemCache implements AuthTicketCache {
constructor() {}
async getAuthTicket() {
- const { serverRuntimeConfig } = getNextConfig()
- return serverRuntimeConfig.kiboAuthTicket
+ return authCache.kiboAuthTicket
}
setAuthTicket(kiboAuthTicket: AppAuthTicket) {
- const { serverRuntimeConfig } = getNextConfig()
- serverRuntimeConfig.kiboAuthTicket = kiboAuthTicket
+ authCache.kiboAuthTicket = kiboAuthTicket
}
}
@@ -105,6 +105,6 @@ export class APIAuthenticationHelper {
authTicket = await this.refreshTicket(authTicket)
}
- return authTicket.access_token
+ return authTicket!.access_token
}
}
diff --git a/framework/kibocommerce/api/utils/cookie-handler.ts b/packages/kibocommerce/src/api/utils/cookie-handler.ts
similarity index 100%
rename from framework/kibocommerce/api/utils/cookie-handler.ts
rename to packages/kibocommerce/src/api/utils/cookie-handler.ts
diff --git a/framework/kibocommerce/api/utils/fetch-graphql-api.ts b/packages/kibocommerce/src/api/utils/fetch-graphql-api.ts
similarity index 90%
rename from framework/kibocommerce/api/utils/fetch-graphql-api.ts
rename to packages/kibocommerce/src/api/utils/fetch-graphql-api.ts
index 8638b35b7..cf84f5e41 100644
--- a/framework/kibocommerce/api/utils/fetch-graphql-api.ts
+++ b/packages/kibocommerce/src/api/utils/fetch-graphql-api.ts
@@ -1,5 +1,5 @@
-import { FetcherError } from '@commerce/utils/errors'
-import type { GraphQLFetcher } from '@commerce/api'
+import { FetcherError } from '@vercel/commerce/utils/errors'
+import type { GraphQLFetcher } from '@vercel/commerce/api'
import type { KiboCommerceConfig } from '../index'
import fetch from './fetch'
import { APIAuthenticationHelper } from './api-auth-helper';
diff --git a/framework/kibocommerce/api/utils/fetch-local.ts b/packages/kibocommerce/src/api/utils/fetch-local.ts
similarity index 89%
rename from framework/kibocommerce/api/utils/fetch-local.ts
rename to packages/kibocommerce/src/api/utils/fetch-local.ts
index 2612188a9..fa3a214cb 100644
--- a/framework/kibocommerce/api/utils/fetch-local.ts
+++ b/packages/kibocommerce/src/api/utils/fetch-local.ts
@@ -1,5 +1,5 @@
-import { FetcherError } from '@commerce/utils/errors'
-import type { GraphQLFetcher } from '@commerce/api'
+import { FetcherError } from '@vercel/commerce/utils/errors'
+import type { GraphQLFetcher } from '@vercel/commerce/api'
import type { KiboCommerceConfig } from '../index'
import fetch from './fetch'
diff --git a/framework/kibocommerce/api/utils/fetch.ts b/packages/kibocommerce/src/api/utils/fetch.ts
similarity index 100%
rename from framework/kibocommerce/api/utils/fetch.ts
rename to packages/kibocommerce/src/api/utils/fetch.ts
diff --git a/framework/kibocommerce/api/utils/get-anonymous-shopper-token.ts b/packages/kibocommerce/src/api/utils/get-anonymous-shopper-token.ts
similarity index 100%
rename from framework/kibocommerce/api/utils/get-anonymous-shopper-token.ts
rename to packages/kibocommerce/src/api/utils/get-anonymous-shopper-token.ts
diff --git a/framework/kibocommerce/api/utils/get-customer-id.ts b/packages/kibocommerce/src/api/utils/get-customer-id.ts
similarity index 100%
rename from framework/kibocommerce/api/utils/get-customer-id.ts
rename to packages/kibocommerce/src/api/utils/get-customer-id.ts
diff --git a/framework/kibocommerce/auth/index.ts b/packages/kibocommerce/src/auth/index.ts
similarity index 100%
rename from framework/kibocommerce/auth/index.ts
rename to packages/kibocommerce/src/auth/index.ts
diff --git a/framework/kibocommerce/auth/use-login.tsx b/packages/kibocommerce/src/auth/use-login.tsx
similarity index 84%
rename from framework/kibocommerce/auth/use-login.tsx
rename to packages/kibocommerce/src/auth/use-login.tsx
index 44b807b8c..c9d1fac17 100644
--- a/framework/kibocommerce/auth/use-login.tsx
+++ b/packages/kibocommerce/src/auth/use-login.tsx
@@ -1,8 +1,8 @@
-import { MutationHook } from '@commerce/utils/types'
-import useLogin, { UseLogin } from '@commerce/auth/use-login'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useLogin, { UseLogin } from '@vercel/commerce/auth/use-login'
import { useCallback } from 'react'
-import { CommerceError } from '@commerce/utils/errors'
+import { CommerceError } from '@vercel/commerce/utils/errors'
import type { LoginHook } from '../types/login'
import useCustomer from '../customer/use-customer'
import useCart from '../cart/use-cart'
diff --git a/framework/kibocommerce/auth/use-logout.tsx b/packages/kibocommerce/src/auth/use-logout.tsx
similarity index 78%
rename from framework/kibocommerce/auth/use-logout.tsx
rename to packages/kibocommerce/src/auth/use-logout.tsx
index 3e344fb09..83e5a4b0c 100644
--- a/framework/kibocommerce/auth/use-logout.tsx
+++ b/packages/kibocommerce/src/auth/use-logout.tsx
@@ -1,6 +1,6 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import useLogout, { UseLogout } from '@commerce/auth/use-logout'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import useLogout, { UseLogout } from '@vercel/commerce/auth/use-logout'
import type { LogoutHook } from '../types/logout'
import useCustomer from '../customer/use-customer'
import useCart from '../cart/use-cart'
@@ -14,7 +14,7 @@ export const handler: MutationHook = {
},
useHook: ({ fetch }) => () => {
const { mutate } = useCustomer()
- const { mutate: mutateCart } = useCart()
+ const { mutate: mutateCart } = useCart()
return useCallback(
async function logout() {
diff --git a/framework/kibocommerce/auth/use-signup.tsx b/packages/kibocommerce/src/auth/use-signup.tsx
similarity index 83%
rename from framework/kibocommerce/auth/use-signup.tsx
rename to packages/kibocommerce/src/auth/use-signup.tsx
index 8f443c42d..b06126df6 100644
--- a/framework/kibocommerce/auth/use-signup.tsx
+++ b/packages/kibocommerce/src/auth/use-signup.tsx
@@ -1,7 +1,7 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useSignup, { UseSignup } from '@commerce/auth/use-signup'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useSignup, { UseSignup } from '@vercel/commerce/auth/use-signup'
import type { SignupHook } from '../types/signup'
import useCustomer from '../customer/use-customer'
diff --git a/framework/kibocommerce/cart/index.ts b/packages/kibocommerce/src/cart/index.ts
similarity index 100%
rename from framework/kibocommerce/cart/index.ts
rename to packages/kibocommerce/src/cart/index.ts
diff --git a/framework/kibocommerce/cart/use-add-item.tsx b/packages/kibocommerce/src/cart/use-add-item.tsx
similarity index 77%
rename from framework/kibocommerce/cart/use-add-item.tsx
rename to packages/kibocommerce/src/cart/use-add-item.tsx
index 1ac6ac6f8..bb7b8befc 100644
--- a/framework/kibocommerce/cart/use-add-item.tsx
+++ b/packages/kibocommerce/src/cart/use-add-item.tsx
@@ -1,8 +1,8 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useAddItem, { UseAddItem } from '@commerce/cart/use-add-item'
-import type { AddItemHook } from '@commerce/types/cart'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useAddItem, { UseAddItem } from '@vercel/commerce/cart/use-add-item'
+import type { AddItemHook } from '@vercel/commerce/types/cart'
import useCart from './use-cart'
export default useAddItem as UseAddItem
diff --git a/framework/kibocommerce/cart/use-cart.tsx b/packages/kibocommerce/src/cart/use-cart.tsx
similarity index 85%
rename from framework/kibocommerce/cart/use-cart.tsx
rename to packages/kibocommerce/src/cart/use-cart.tsx
index 0c565e094..0af0738ec 100644
--- a/framework/kibocommerce/cart/use-cart.tsx
+++ b/packages/kibocommerce/src/cart/use-cart.tsx
@@ -1,6 +1,6 @@
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
-import useCart, { UseCart } from '@commerce/cart/use-cart'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCart, { UseCart } from '@vercel/commerce/cart/use-cart'
export default useCart as UseCart
diff --git a/framework/kibocommerce/cart/use-remove-item.tsx b/packages/kibocommerce/src/cart/use-remove-item.tsx
similarity index 84%
rename from framework/kibocommerce/cart/use-remove-item.tsx
rename to packages/kibocommerce/src/cart/use-remove-item.tsx
index 1376f29ce..3fa883c2f 100644
--- a/framework/kibocommerce/cart/use-remove-item.tsx
+++ b/packages/kibocommerce/src/cart/use-remove-item.tsx
@@ -2,10 +2,10 @@ import { useCallback } from 'react'
import type {
MutationHookContext,
HookFetcherContext,
-} from '@commerce/utils/types'
-import { ValidationError } from '@commerce/utils/errors'
-import useRemoveItem, { UseRemoveItem } from '@commerce/cart/use-remove-item'
-import type { Cart, LineItem, RemoveItemHook } from '@commerce/types/cart'
+} from '@vercel/commerce/utils/types'
+import { ValidationError } from '@vercel/commerce/utils/errors'
+import useRemoveItem, { UseRemoveItem } from '@vercel/commerce/cart/use-remove-item'
+import type { Cart, LineItem, RemoveItemHook } from '@vercel/commerce/types/cart'
import useCart from './use-cart'
export type RemoveItemFn = T extends LineItem
diff --git a/framework/kibocommerce/cart/use-update-item.tsx b/packages/kibocommerce/src/cart/use-update-item.tsx
similarity index 89%
rename from framework/kibocommerce/cart/use-update-item.tsx
rename to packages/kibocommerce/src/cart/use-update-item.tsx
index 0f9f5754d..931782c4f 100644
--- a/framework/kibocommerce/cart/use-update-item.tsx
+++ b/packages/kibocommerce/src/cart/use-update-item.tsx
@@ -3,10 +3,10 @@ import debounce from 'lodash.debounce'
import type {
MutationHookContext,
HookFetcherContext,
-} from '@commerce/utils/types'
-import { ValidationError } from '@commerce/utils/errors'
-import useUpdateItem, { UseUpdateItem } from '@commerce/cart/use-update-item'
-import type { LineItem, UpdateItemHook } from '@commerce/types/cart'
+} from '@vercel/commerce/utils/types'
+import { ValidationError } from '@vercel/commerce/utils/errors'
+import useUpdateItem, { UseUpdateItem } from '@vercel/commerce/cart/use-update-item'
+import type { LineItem, UpdateItemHook } from '@vercel/commerce/types/cart'
import { handler as removeItemHandler } from './use-remove-item'
import useCart from './use-cart'
diff --git a/framework/bigcommerce/checkout/use-checkout.tsx b/packages/kibocommerce/src/checkout/use-checkout.tsx
similarity index 64%
rename from framework/bigcommerce/checkout/use-checkout.tsx
rename to packages/kibocommerce/src/checkout/use-checkout.tsx
index 942f85b83..cab52bb60 100644
--- a/framework/bigcommerce/checkout/use-checkout.tsx
+++ b/packages/kibocommerce/src/checkout/use-checkout.tsx
@@ -1,5 +1,5 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCheckout, { UseCheckout } from '@commerce/checkout/use-checkout'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCheckout, { UseCheckout } from '@vercel/commerce/checkout/use-checkout'
export default useCheckout as UseCheckout
diff --git a/framework/kibocommerce/commerce.config.json b/packages/kibocommerce/src/commerce.config.json
similarity index 100%
rename from framework/kibocommerce/commerce.config.json
rename to packages/kibocommerce/src/commerce.config.json
diff --git a/packages/kibocommerce/src/customer/address/use-add-item.tsx b/packages/kibocommerce/src/customer/address/use-add-item.tsx
new file mode 100644
index 000000000..fabd11b1d
--- /dev/null
+++ b/packages/kibocommerce/src/customer/address/use-add-item.tsx
@@ -0,0 +1,15 @@
+import useAddItem, { UseAddItem } from '@vercel/commerce/customer/address/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+
+export default useAddItem as UseAddItem
+
+export const handler: MutationHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ fetch }) =>
+ () =>
+ async () => ({}),
+}
diff --git a/framework/local/customer/address/use-add-item.tsx b/packages/kibocommerce/src/customer/card/use-add-item.tsx
similarity index 63%
rename from framework/local/customer/address/use-add-item.tsx
rename to packages/kibocommerce/src/customer/card/use-add-item.tsx
index ac9dcd5cf..938e6cd61 100644
--- a/framework/local/customer/address/use-add-item.tsx
+++ b/packages/kibocommerce/src/customer/card/use-add-item.tsx
@@ -1,5 +1,5 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/address/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
+import useAddItem, { UseAddItem } from '@vercel/commerce/customer/card/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
export default useAddItem as UseAddItem
diff --git a/framework/kibocommerce/customer/index.ts b/packages/kibocommerce/src/customer/index.ts
similarity index 100%
rename from framework/kibocommerce/customer/index.ts
rename to packages/kibocommerce/src/customer/index.ts
diff --git a/framework/kibocommerce/customer/use-customer.tsx b/packages/kibocommerce/src/customer/use-customer.tsx
similarity index 78%
rename from framework/kibocommerce/customer/use-customer.tsx
rename to packages/kibocommerce/src/customer/use-customer.tsx
index 238b1229b..73e804a4b 100644
--- a/framework/kibocommerce/customer/use-customer.tsx
+++ b/packages/kibocommerce/src/customer/use-customer.tsx
@@ -1,5 +1,5 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCustomer, { UseCustomer } from '@commerce/customer/use-customer'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCustomer, { UseCustomer } from '@vercel/commerce/customer/use-customer'
import type { CustomerHook } from '../types/customer'
export default useCustomer as UseCustomer
diff --git a/framework/kibocommerce/fetcher.ts b/packages/kibocommerce/src/fetcher.ts
similarity index 88%
rename from framework/kibocommerce/fetcher.ts
rename to packages/kibocommerce/src/fetcher.ts
index f8ca0c578..bc8a6b9aa 100644
--- a/framework/kibocommerce/fetcher.ts
+++ b/packages/kibocommerce/src/fetcher.ts
@@ -1,5 +1,5 @@
-import { FetcherError } from '@commerce/utils/errors'
-import type { Fetcher } from '@commerce/utils/types'
+import { FetcherError } from '@vercel/commerce/utils/errors'
+import type { Fetcher } from '@vercel/commerce/utils/types'
async function getText(res: Response) {
try {
diff --git a/framework/kibocommerce/index.tsx b/packages/kibocommerce/src/index.tsx
similarity index 93%
rename from framework/kibocommerce/index.tsx
rename to packages/kibocommerce/src/index.tsx
index af8b66ee6..43077a535 100644
--- a/framework/kibocommerce/index.tsx
+++ b/packages/kibocommerce/src/index.tsx
@@ -1,4 +1,4 @@
-import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
+import { getCommerceProvider, useCommerce as useCoreCommerce } from '@vercel/commerce'
import { kiboCommerceProvider, KibocommerceProvider } from './provider'
export { kiboCommerceProvider }
diff --git a/framework/kibocommerce/lib/get-cookie-expiration-date.ts b/packages/kibocommerce/src/lib/get-cookie-expiration-date.ts
similarity index 100%
rename from framework/kibocommerce/lib/get-cookie-expiration-date.ts
rename to packages/kibocommerce/src/lib/get-cookie-expiration-date.ts
diff --git a/framework/kibocommerce/lib/get-slug.ts b/packages/kibocommerce/src/lib/get-slug.ts
similarity index 100%
rename from framework/kibocommerce/lib/get-slug.ts
rename to packages/kibocommerce/src/lib/get-slug.ts
diff --git a/framework/kibocommerce/lib/immutability.ts b/packages/kibocommerce/src/lib/immutability.ts
similarity index 100%
rename from framework/kibocommerce/lib/immutability.ts
rename to packages/kibocommerce/src/lib/immutability.ts
diff --git a/framework/kibocommerce/lib/normalize.ts b/packages/kibocommerce/src/lib/normalize.ts
similarity index 99%
rename from framework/kibocommerce/lib/normalize.ts
rename to packages/kibocommerce/src/lib/normalize.ts
index 5fd03b855..00d0a44c7 100644
--- a/framework/kibocommerce/lib/normalize.ts
+++ b/packages/kibocommerce/src/lib/normalize.ts
@@ -1,6 +1,6 @@
import update from './immutability'
import getSlug from './get-slug'
-import type { PrCategory, CustomerAccountInput, Document } from '../schema'
+import type { PrCategory, CustomerAccountInput, Document } from '../../schema'
import { Page } from '../types/page';
import { Customer } from '../types/customer'
diff --git a/framework/kibocommerce/lib/prepare-set-cookie.ts b/packages/kibocommerce/src/lib/prepare-set-cookie.ts
similarity index 100%
rename from framework/kibocommerce/lib/prepare-set-cookie.ts
rename to packages/kibocommerce/src/lib/prepare-set-cookie.ts
diff --git a/framework/kibocommerce/lib/product-search-vars.ts b/packages/kibocommerce/src/lib/product-search-vars.ts
similarity index 100%
rename from framework/kibocommerce/lib/product-search-vars.ts
rename to packages/kibocommerce/src/lib/product-search-vars.ts
diff --git a/framework/kibocommerce/lib/set-cookie.ts b/packages/kibocommerce/src/lib/set-cookie.ts
similarity index 100%
rename from framework/kibocommerce/lib/set-cookie.ts
rename to packages/kibocommerce/src/lib/set-cookie.ts
diff --git a/framework/kibocommerce/next.config.js b/packages/kibocommerce/src/next.config.cjs
similarity index 100%
rename from framework/kibocommerce/next.config.js
rename to packages/kibocommerce/src/next.config.cjs
diff --git a/framework/kibocommerce/product/index.ts b/packages/kibocommerce/src/product/index.ts
similarity index 100%
rename from framework/kibocommerce/product/index.ts
rename to packages/kibocommerce/src/product/index.ts
diff --git a/packages/kibocommerce/src/product/use-price.tsx b/packages/kibocommerce/src/product/use-price.tsx
new file mode 100644
index 000000000..fd42d7033
--- /dev/null
+++ b/packages/kibocommerce/src/product/use-price.tsx
@@ -0,0 +1,2 @@
+export * from '@vercel/commerce/product/use-price'
+export { default } from '@vercel/commerce/product/use-price'
diff --git a/framework/kibocommerce/product/use-search.tsx b/packages/kibocommerce/src/product/use-search.tsx
similarity index 89%
rename from framework/kibocommerce/product/use-search.tsx
rename to packages/kibocommerce/src/product/use-search.tsx
index 204ca3181..4a9107b4a 100644
--- a/framework/kibocommerce/product/use-search.tsx
+++ b/packages/kibocommerce/src/product/use-search.tsx
@@ -1,5 +1,5 @@
-import { SWRHook } from '@commerce/utils/types'
-import useSearch, { UseSearch } from '@commerce/product/use-search'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useSearch, { UseSearch } from '@vercel/commerce/product/use-search'
export default useSearch as UseSearch
export const handler: SWRHook = {
diff --git a/framework/kibocommerce/provider.ts b/packages/kibocommerce/src/provider.ts
similarity index 100%
rename from framework/kibocommerce/provider.ts
rename to packages/kibocommerce/src/provider.ts
diff --git a/framework/kibocommerce/types/customer.ts b/packages/kibocommerce/src/types/customer.ts
similarity index 87%
rename from framework/kibocommerce/types/customer.ts
rename to packages/kibocommerce/src/types/customer.ts
index 0061f070c..29f68fef1 100644
--- a/framework/kibocommerce/types/customer.ts
+++ b/packages/kibocommerce/src/types/customer.ts
@@ -1,6 +1,6 @@
-import * as Core from '@commerce/types/customer'
+import * as Core from '@vercel/commerce/types/customer'
export type Maybe = T | null
-export * from '@commerce/types/customer'
+export * from '@vercel/commerce/types/customer'
export type Scalars = {
ID: string
String: string
diff --git a/packages/kibocommerce/src/types/login.ts b/packages/kibocommerce/src/types/login.ts
new file mode 100644
index 000000000..2e7b198b2
--- /dev/null
+++ b/packages/kibocommerce/src/types/login.ts
@@ -0,0 +1,8 @@
+import * as Core from '@vercel/commerce/types/login'
+import type { CustomerUserAuthInfoInput } from '../../schema'
+
+export * from '@vercel/commerce/types/login'
+
+export type LoginOperation = Core.LoginOperation & {
+ variables: CustomerUserAuthInfoInput
+}
diff --git a/packages/kibocommerce/src/types/logout.ts b/packages/kibocommerce/src/types/logout.ts
new file mode 100644
index 000000000..1de06f8dc
--- /dev/null
+++ b/packages/kibocommerce/src/types/logout.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/logout'
diff --git a/framework/kibocommerce/types/page.ts b/packages/kibocommerce/src/types/page.ts
similarity index 90%
rename from framework/kibocommerce/types/page.ts
rename to packages/kibocommerce/src/types/page.ts
index b6bf6d2d6..f311eb8b8 100644
--- a/framework/kibocommerce/types/page.ts
+++ b/packages/kibocommerce/src/types/page.ts
@@ -1,4 +1,4 @@
-import * as Core from '@commerce/types/page'
+import * as Core from '@vercel/commerce/types/page'
export type Maybe = T | null
export type Scalars = {
ID: string
@@ -14,7 +14,7 @@ export type Scalars = {
Object: any
}
-export * from '@commerce/types/page'
+export * from '@vercel/commerce/types/page'
export type Page = Core.Page
diff --git a/packages/kibocommerce/src/types/signup.ts b/packages/kibocommerce/src/types/signup.ts
new file mode 100644
index 000000000..3f0d1af5a
--- /dev/null
+++ b/packages/kibocommerce/src/types/signup.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/signup'
diff --git a/framework/kibocommerce/wishlist/index.ts b/packages/kibocommerce/src/wishlist/index.ts
similarity index 100%
rename from framework/kibocommerce/wishlist/index.ts
rename to packages/kibocommerce/src/wishlist/index.ts
diff --git a/framework/kibocommerce/wishlist/use-add-item.tsx b/packages/kibocommerce/src/wishlist/use-add-item.tsx
similarity index 77%
rename from framework/kibocommerce/wishlist/use-add-item.tsx
rename to packages/kibocommerce/src/wishlist/use-add-item.tsx
index 15e6c44a7..3f634e31e 100644
--- a/framework/kibocommerce/wishlist/use-add-item.tsx
+++ b/packages/kibocommerce/src/wishlist/use-add-item.tsx
@@ -1,8 +1,8 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useAddItem, { UseAddItem } from '@commerce/wishlist/use-add-item'
-import type { AddItemHook } from '@commerce/types/wishlist'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useAddItem, { UseAddItem } from '@vercel/commerce/wishlist/use-add-item'
+import type { AddItemHook } from '@vercel/commerce/types/wishlist'
import useCustomer from '../customer/use-customer'
import useWishlist from './use-wishlist'
diff --git a/framework/kibocommerce/wishlist/use-remove-item.tsx b/packages/kibocommerce/src/wishlist/use-remove-item.tsx
similarity index 79%
rename from framework/kibocommerce/wishlist/use-remove-item.tsx
rename to packages/kibocommerce/src/wishlist/use-remove-item.tsx
index d83a3d5bf..490154a45 100644
--- a/framework/kibocommerce/wishlist/use-remove-item.tsx
+++ b/packages/kibocommerce/src/wishlist/use-remove-item.tsx
@@ -1,10 +1,10 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
import useRemoveItem, {
UseRemoveItem,
-} from '@commerce/wishlist/use-remove-item'
-import type { RemoveItemHook } from '@commerce/types/wishlist'
+} from '@vercel/commerce/wishlist/use-remove-item'
+import type { RemoveItemHook } from '@vercel/commerce/types/wishlist'
import useCustomer from '../customer/use-customer'
import useWishlist from './use-wishlist'
diff --git a/framework/kibocommerce/wishlist/use-wishlist.tsx b/packages/kibocommerce/src/wishlist/use-wishlist.tsx
similarity index 86%
rename from framework/kibocommerce/wishlist/use-wishlist.tsx
rename to packages/kibocommerce/src/wishlist/use-wishlist.tsx
index f29c182ff..a91eb419b 100644
--- a/framework/kibocommerce/wishlist/use-wishlist.tsx
+++ b/packages/kibocommerce/src/wishlist/use-wishlist.tsx
@@ -1,7 +1,7 @@
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
-import useWishlist, { UseWishlist } from '@commerce/wishlist/use-wishlist'
-import type { GetWishlistHook } from '@commerce/types/wishlist'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useWishlist, { UseWishlist } from '@vercel/commerce/wishlist/use-wishlist'
+import type { GetWishlistHook } from '@vercel/commerce/types/wishlist'
import useCustomer from '../customer/use-customer'
export default useWishlist as UseWishlist
diff --git a/packages/kibocommerce/taskfile.js b/packages/kibocommerce/taskfile.js
new file mode 100644
index 000000000..39b1b2a86
--- /dev/null
+++ b/packages/kibocommerce/taskfile.js
@@ -0,0 +1,20 @@
+export async function build(task, opts) {
+ await task
+ .source('src/**/*.+(ts|tsx|js)')
+ .swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
+ .target('dist')
+ .source('src/**/*.+(cjs|json)')
+ .target('dist')
+ task.$.log('Compiled src files')
+}
+
+export async function release(task) {
+ await task.clear('dist').start('build')
+}
+
+export default async function dev(task) {
+ const opts = { dev: true }
+ await task.clear('dist')
+ await task.start('build', opts)
+ await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
+}
diff --git a/packages/kibocommerce/tsconfig.json b/packages/kibocommerce/tsconfig.json
new file mode 100644
index 000000000..cd04ab2ff
--- /dev/null
+++ b/packages/kibocommerce/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "outDir": "dist",
+ "baseUrl": "src",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "declaration": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "incremental": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/framework/local/.env.template b/packages/local/.env.template
similarity index 100%
rename from framework/local/.env.template
rename to packages/local/.env.template
diff --git a/packages/local/.prettierignore b/packages/local/.prettierignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/local/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/local/.prettierrc b/packages/local/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/packages/local/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/framework/local/README.md b/packages/local/README.md
similarity index 100%
rename from framework/local/README.md
rename to packages/local/README.md
diff --git a/packages/local/package.json b/packages/local/package.json
new file mode 100644
index 000000000..3ec3e69a4
--- /dev/null
+++ b/packages/local/package.json
@@ -0,0 +1,79 @@
+{
+ "name": "@vercel/commerce-local",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "release": "taskr release",
+ "build": "taskr build",
+ "dev": "taskr",
+ "types": "tsc --emitDeclarationOnly",
+ "prettier-fix": "prettier --write ."
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": "./dist/index.js",
+ "./*": [
+ "./dist/*.js",
+ "./dist/*/index.js"
+ ],
+ "./next.config": "./dist/next.config.cjs"
+ },
+ "typesVersions": {
+ "*": {
+ "*": [
+ "src/*",
+ "src/*/index"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ },
+ "files": [
+ "dist"
+ ],
+ "publishConfig": {
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/*.d.ts",
+ "dist/*/index.d.ts"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ }
+ },
+ "dependencies": {
+ "@vercel/commerce": "^0.0.1",
+ "@vercel/fetch": "^6.1.1"
+ },
+ "peerDependencies": {
+ "next": "^12",
+ "react": "^17",
+ "react-dom": "^17"
+ },
+ "devDependencies": {
+ "@taskr/clear": "^1.1.0",
+ "@taskr/esnext": "^1.1.0",
+ "@taskr/watch": "^1.1.0",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "lint-staged": "^12.1.7",
+ "next": "^12.0.8",
+ "prettier": "^2.5.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "taskr": "^1.1.0",
+ "taskr-swc": "^0.0.1",
+ "typescript": "^4.5.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ }
+}
diff --git a/framework/local/api/endpoints/cart/index.ts b/packages/local/src/api/endpoints/cart/index.ts
similarity index 100%
rename from framework/local/api/endpoints/cart/index.ts
rename to packages/local/src/api/endpoints/cart/index.ts
diff --git a/framework/local/api/endpoints/catalog/index.ts b/packages/local/src/api/endpoints/catalog/index.ts
similarity index 100%
rename from framework/local/api/endpoints/catalog/index.ts
rename to packages/local/src/api/endpoints/catalog/index.ts
diff --git a/framework/local/api/endpoints/catalog/products.ts b/packages/local/src/api/endpoints/catalog/products.ts
similarity index 100%
rename from framework/local/api/endpoints/catalog/products.ts
rename to packages/local/src/api/endpoints/catalog/products.ts
diff --git a/framework/local/api/endpoints/checkout/index.ts b/packages/local/src/api/endpoints/checkout/index.ts
similarity index 100%
rename from framework/local/api/endpoints/checkout/index.ts
rename to packages/local/src/api/endpoints/checkout/index.ts
diff --git a/framework/local/api/endpoints/customer/address.ts b/packages/local/src/api/endpoints/customer/address.ts
similarity index 100%
rename from framework/local/api/endpoints/customer/address.ts
rename to packages/local/src/api/endpoints/customer/address.ts
diff --git a/framework/local/api/endpoints/customer/card.ts b/packages/local/src/api/endpoints/customer/card.ts
similarity index 100%
rename from framework/local/api/endpoints/customer/card.ts
rename to packages/local/src/api/endpoints/customer/card.ts
diff --git a/framework/local/api/endpoints/customer/index.ts b/packages/local/src/api/endpoints/customer/index.ts
similarity index 100%
rename from framework/local/api/endpoints/customer/index.ts
rename to packages/local/src/api/endpoints/customer/index.ts
diff --git a/framework/local/api/endpoints/login/index.ts b/packages/local/src/api/endpoints/login/index.ts
similarity index 100%
rename from framework/local/api/endpoints/login/index.ts
rename to packages/local/src/api/endpoints/login/index.ts
diff --git a/framework/local/api/endpoints/logout/index.ts b/packages/local/src/api/endpoints/logout/index.ts
similarity index 100%
rename from framework/local/api/endpoints/logout/index.ts
rename to packages/local/src/api/endpoints/logout/index.ts
diff --git a/framework/local/api/endpoints/signup/index.ts b/packages/local/src/api/endpoints/signup/index.ts
similarity index 100%
rename from framework/local/api/endpoints/signup/index.ts
rename to packages/local/src/api/endpoints/signup/index.ts
diff --git a/framework/local/api/endpoints/wishlist/index.tsx b/packages/local/src/api/endpoints/wishlist/index.tsx
similarity index 100%
rename from framework/local/api/endpoints/wishlist/index.tsx
rename to packages/local/src/api/endpoints/wishlist/index.tsx
diff --git a/framework/local/api/index.ts b/packages/local/src/api/index.ts
similarity index 88%
rename from framework/local/api/index.ts
rename to packages/local/src/api/index.ts
index 9f403d2b3..3b24a3045 100644
--- a/framework/local/api/index.ts
+++ b/packages/local/src/api/index.ts
@@ -1,5 +1,5 @@
-import type { CommerceAPI, CommerceAPIConfig } from '@commerce/api'
-import { getCommerceApi as commerceApi } from '@commerce/api'
+import type { CommerceAPI, CommerceAPIConfig } from '@vercel/commerce/api'
+import { getCommerceApi as commerceApi } from '@vercel/commerce/api'
import createFetcher from './utils/fetch-local'
import getAllPages from './operations/get-all-pages'
diff --git a/framework/local/api/operations/get-all-pages.ts b/packages/local/src/api/operations/get-all-pages.ts
similarity index 100%
rename from framework/local/api/operations/get-all-pages.ts
rename to packages/local/src/api/operations/get-all-pages.ts
diff --git a/framework/local/api/operations/get-all-product-paths.ts b/packages/local/src/api/operations/get-all-product-paths.ts
similarity index 100%
rename from framework/local/api/operations/get-all-product-paths.ts
rename to packages/local/src/api/operations/get-all-product-paths.ts
diff --git a/framework/local/api/operations/get-all-products.ts b/packages/local/src/api/operations/get-all-products.ts
similarity index 72%
rename from framework/local/api/operations/get-all-products.ts
rename to packages/local/src/api/operations/get-all-products.ts
index 21a04559d..2d11950ce 100644
--- a/framework/local/api/operations/get-all-products.ts
+++ b/packages/local/src/api/operations/get-all-products.ts
@@ -1,6 +1,6 @@
-import { Product } from '@commerce/types/product'
-import { GetAllProductsOperation } from '@commerce/types/product'
-import type { OperationContext } from '@commerce/api/operations'
+import { Product } from '@vercel/commerce/types/product'
+import { GetAllProductsOperation } from '@vercel/commerce/types/product'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type { LocalConfig, Provider } from '../index'
import data from '../../data.json'
diff --git a/framework/local/api/operations/get-customer-wishlist.ts b/packages/local/src/api/operations/get-customer-wishlist.ts
similarity index 100%
rename from framework/local/api/operations/get-customer-wishlist.ts
rename to packages/local/src/api/operations/get-customer-wishlist.ts
diff --git a/framework/local/api/operations/get-page.ts b/packages/local/src/api/operations/get-page.ts
similarity index 100%
rename from framework/local/api/operations/get-page.ts
rename to packages/local/src/api/operations/get-page.ts
diff --git a/framework/local/api/operations/get-product.ts b/packages/local/src/api/operations/get-product.ts
similarity index 73%
rename from framework/local/api/operations/get-product.ts
rename to packages/local/src/api/operations/get-product.ts
index 690b1aab9..b77be3acb 100644
--- a/framework/local/api/operations/get-product.ts
+++ b/packages/local/src/api/operations/get-product.ts
@@ -1,8 +1,8 @@
import type { LocalConfig } from '../index'
-import { Product } from '@commerce/types/product'
-import { GetProductOperation } from '@commerce/types/product'
+import { Product } from '@vercel/commerce/types/product'
+import { GetProductOperation } from '@vercel/commerce/types/product'
import data from '../../data.json'
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
export default function getProductOperation({
commerce,
diff --git a/framework/local/api/operations/get-site-info.ts b/packages/local/src/api/operations/get-site-info.ts
similarity index 87%
rename from framework/local/api/operations/get-site-info.ts
rename to packages/local/src/api/operations/get-site-info.ts
index d43ed8359..c07a479cb 100644
--- a/framework/local/api/operations/get-site-info.ts
+++ b/packages/local/src/api/operations/get-site-info.ts
@@ -1,5 +1,5 @@
-import { OperationContext } from '@commerce/api/operations'
-import { Category } from '@commerce/types/site'
+import { OperationContext } from '@vercel/commerce/api/operations'
+import { Category } from '@vercel/commerce/types/site'
import { LocalConfig } from '../index'
export type GetSiteInfoResult<
diff --git a/framework/local/api/operations/index.ts b/packages/local/src/api/operations/index.ts
similarity index 100%
rename from framework/local/api/operations/index.ts
rename to packages/local/src/api/operations/index.ts
diff --git a/framework/local/api/utils/fetch-local.ts b/packages/local/src/api/utils/fetch-local.ts
similarity index 87%
rename from framework/local/api/utils/fetch-local.ts
rename to packages/local/src/api/utils/fetch-local.ts
index aa85cf27b..ae84fff8b 100644
--- a/framework/local/api/utils/fetch-local.ts
+++ b/packages/local/src/api/utils/fetch-local.ts
@@ -1,5 +1,5 @@
-import { FetcherError } from '@commerce/utils/errors'
-import type { GraphQLFetcher } from '@commerce/api'
+import { FetcherError } from '@vercel/commerce/utils/errors'
+import type { GraphQLFetcher } from '@vercel/commerce/api'
import type { LocalConfig } from '../index'
import fetch from './fetch'
diff --git a/framework/local/api/utils/fetch.ts b/packages/local/src/api/utils/fetch.ts
similarity index 100%
rename from framework/local/api/utils/fetch.ts
rename to packages/local/src/api/utils/fetch.ts
diff --git a/framework/local/auth/index.ts b/packages/local/src/auth/index.ts
similarity index 100%
rename from framework/local/auth/index.ts
rename to packages/local/src/auth/index.ts
diff --git a/framework/ordercloud/auth/use-login.tsx b/packages/local/src/auth/use-login.tsx
similarity index 65%
rename from framework/ordercloud/auth/use-login.tsx
rename to packages/local/src/auth/use-login.tsx
index 28351dc7f..20e3ed229 100644
--- a/framework/ordercloud/auth/use-login.tsx
+++ b/packages/local/src/auth/use-login.tsx
@@ -1,5 +1,5 @@
-import { MutationHook } from '@commerce/utils/types'
-import useLogin, { UseLogin } from '@commerce/auth/use-login'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useLogin, { UseLogin } from '@vercel/commerce/auth/use-login'
export default useLogin as UseLogin
diff --git a/framework/local/auth/use-logout.tsx b/packages/local/src/auth/use-logout.tsx
similarity index 64%
rename from framework/local/auth/use-logout.tsx
rename to packages/local/src/auth/use-logout.tsx
index 9b3fc3e44..4e74908f3 100644
--- a/framework/local/auth/use-logout.tsx
+++ b/packages/local/src/auth/use-logout.tsx
@@ -1,5 +1,5 @@
-import { MutationHook } from '@commerce/utils/types'
-import useLogout, { UseLogout } from '@commerce/auth/use-logout'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useLogout, { UseLogout } from '@vercel/commerce/auth/use-logout'
export default useLogout as UseLogout
diff --git a/framework/ordercloud/auth/use-signup.tsx b/packages/local/src/auth/use-signup.tsx
similarity index 70%
rename from framework/ordercloud/auth/use-signup.tsx
rename to packages/local/src/auth/use-signup.tsx
index e9ad13458..e48811403 100644
--- a/framework/ordercloud/auth/use-signup.tsx
+++ b/packages/local/src/auth/use-signup.tsx
@@ -1,7 +1,7 @@
import { useCallback } from 'react'
import useCustomer from '../customer/use-customer'
-import { MutationHook } from '@commerce/utils/types'
-import useSignup, { UseSignup } from '@commerce/auth/use-signup'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useSignup, { UseSignup } from '@vercel/commerce/auth/use-signup'
export default useSignup as UseSignup
diff --git a/framework/local/cart/index.ts b/packages/local/src/cart/index.ts
similarity index 100%
rename from framework/local/cart/index.ts
rename to packages/local/src/cart/index.ts
diff --git a/framework/local/cart/use-add-item.tsx b/packages/local/src/cart/use-add-item.tsx
similarity index 69%
rename from framework/local/cart/use-add-item.tsx
rename to packages/local/src/cart/use-add-item.tsx
index 7f3d1061f..2be6e0aaa 100644
--- a/framework/local/cart/use-add-item.tsx
+++ b/packages/local/src/cart/use-add-item.tsx
@@ -1,5 +1,5 @@
-import useAddItem, { UseAddItem } from '@commerce/cart/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
+import useAddItem, { UseAddItem } from '@vercel/commerce/cart/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
export default useAddItem as UseAddItem
export const handler: MutationHook = {
diff --git a/framework/local/cart/use-cart.tsx b/packages/local/src/cart/use-cart.tsx
similarity index 85%
rename from framework/local/cart/use-cart.tsx
rename to packages/local/src/cart/use-cart.tsx
index b3e509a21..8f92de3c9 100644
--- a/framework/local/cart/use-cart.tsx
+++ b/packages/local/src/cart/use-cart.tsx
@@ -1,6 +1,6 @@
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
-import useCart, { UseCart } from '@commerce/cart/use-cart'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCart, { UseCart } from '@vercel/commerce/cart/use-cart'
export default useCart as UseCart
diff --git a/framework/local/cart/use-remove-item.tsx b/packages/local/src/cart/use-remove-item.tsx
similarity index 68%
rename from framework/local/cart/use-remove-item.tsx
rename to packages/local/src/cart/use-remove-item.tsx
index b4ed583b8..92d52c997 100644
--- a/framework/local/cart/use-remove-item.tsx
+++ b/packages/local/src/cart/use-remove-item.tsx
@@ -1,5 +1,7 @@
-import { MutationHook } from '@commerce/utils/types'
-import useRemoveItem, { UseRemoveItem } from '@commerce/cart/use-remove-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useRemoveItem, {
+ UseRemoveItem,
+} from '@vercel/commerce/cart/use-remove-item'
export default useRemoveItem as UseRemoveItem
diff --git a/framework/local/cart/use-update-item.tsx b/packages/local/src/cart/use-update-item.tsx
similarity index 66%
rename from framework/local/cart/use-update-item.tsx
rename to packages/local/src/cart/use-update-item.tsx
index 06d703f70..950f422e1 100644
--- a/framework/local/cart/use-update-item.tsx
+++ b/packages/local/src/cart/use-update-item.tsx
@@ -1,5 +1,7 @@
-import { MutationHook } from '@commerce/utils/types'
-import useUpdateItem, { UseUpdateItem } from '@commerce/cart/use-update-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useUpdateItem, {
+ UseUpdateItem,
+} from '@vercel/commerce/cart/use-update-item'
export default useUpdateItem as UseUpdateItem
diff --git a/framework/local/checkout/use-checkout.tsx b/packages/local/src/checkout/use-checkout.tsx
similarity index 63%
rename from framework/local/checkout/use-checkout.tsx
rename to packages/local/src/checkout/use-checkout.tsx
index 942f85b83..76997be73 100644
--- a/framework/local/checkout/use-checkout.tsx
+++ b/packages/local/src/checkout/use-checkout.tsx
@@ -1,5 +1,7 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCheckout, { UseCheckout } from '@commerce/checkout/use-checkout'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCheckout, {
+ UseCheckout,
+} from '@vercel/commerce/checkout/use-checkout'
export default useCheckout as UseCheckout
diff --git a/framework/local/commerce.config.json b/packages/local/src/commerce.config.json
similarity index 100%
rename from framework/local/commerce.config.json
rename to packages/local/src/commerce.config.json
diff --git a/packages/local/src/customer/address/use-add-item.tsx b/packages/local/src/customer/address/use-add-item.tsx
new file mode 100644
index 000000000..4f85c8472
--- /dev/null
+++ b/packages/local/src/customer/address/use-add-item.tsx
@@ -0,0 +1,17 @@
+import useAddItem, {
+ UseAddItem,
+} from '@vercel/commerce/customer/address/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+
+export default useAddItem as UseAddItem
+
+export const handler: MutationHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ fetch }) =>
+ () =>
+ async () => ({}),
+}
diff --git a/packages/local/src/customer/card/use-add-item.tsx b/packages/local/src/customer/card/use-add-item.tsx
new file mode 100644
index 000000000..77d149eff
--- /dev/null
+++ b/packages/local/src/customer/card/use-add-item.tsx
@@ -0,0 +1,17 @@
+import useAddItem, {
+ UseAddItem,
+} from '@vercel/commerce/customer/card/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+
+export default useAddItem as UseAddItem
+
+export const handler: MutationHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ fetch }) =>
+ () =>
+ async () => ({}),
+}
diff --git a/framework/local/customer/index.ts b/packages/local/src/customer/index.ts
similarity index 100%
rename from framework/local/customer/index.ts
rename to packages/local/src/customer/index.ts
diff --git a/framework/local/customer/use-customer.tsx b/packages/local/src/customer/use-customer.tsx
similarity index 66%
rename from framework/local/customer/use-customer.tsx
rename to packages/local/src/customer/use-customer.tsx
index 41757cd0d..04c48943d 100644
--- a/framework/local/customer/use-customer.tsx
+++ b/packages/local/src/customer/use-customer.tsx
@@ -1,5 +1,7 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCustomer, { UseCustomer } from '@commerce/customer/use-customer'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCustomer, {
+ UseCustomer,
+} from '@vercel/commerce/customer/use-customer'
export default useCustomer as UseCustomer
export const handler: SWRHook = {
diff --git a/framework/local/data.json b/packages/local/src/data.json
similarity index 100%
rename from framework/local/data.json
rename to packages/local/src/data.json
diff --git a/framework/local/fetcher.ts b/packages/local/src/fetcher.ts
similarity index 78%
rename from framework/local/fetcher.ts
rename to packages/local/src/fetcher.ts
index 69943d1df..27f3ceb0c 100644
--- a/framework/local/fetcher.ts
+++ b/packages/local/src/fetcher.ts
@@ -1,4 +1,4 @@
-import { Fetcher } from '@commerce/utils/types'
+import { Fetcher } from '@vercel/commerce/utils/types'
export const fetcher: Fetcher = async () => {
console.log('FETCHER')
diff --git a/framework/local/index.tsx b/packages/local/src/index.tsx
similarity index 73%
rename from framework/local/index.tsx
rename to packages/local/src/index.tsx
index dcc713e69..ae3df810e 100644
--- a/framework/local/index.tsx
+++ b/packages/local/src/index.tsx
@@ -1,4 +1,7 @@
-import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
+import {
+ getCommerceProvider,
+ useCommerce as useCoreCommerce,
+} from '@vercel/commerce'
import { localProvider, LocalProvider } from './provider'
export { localProvider }
diff --git a/framework/local/next.config.js b/packages/local/src/next.config.cjs
similarity index 100%
rename from framework/local/next.config.js
rename to packages/local/src/next.config.cjs
diff --git a/framework/local/product/index.ts b/packages/local/src/product/index.ts
similarity index 100%
rename from framework/local/product/index.ts
rename to packages/local/src/product/index.ts
diff --git a/packages/local/src/product/use-price.tsx b/packages/local/src/product/use-price.tsx
new file mode 100644
index 000000000..fd42d7033
--- /dev/null
+++ b/packages/local/src/product/use-price.tsx
@@ -0,0 +1,2 @@
+export * from '@vercel/commerce/product/use-price'
+export { default } from '@vercel/commerce/product/use-price'
diff --git a/framework/local/product/use-search.tsx b/packages/local/src/product/use-search.tsx
similarity index 67%
rename from framework/local/product/use-search.tsx
rename to packages/local/src/product/use-search.tsx
index 30e699537..b84889cca 100644
--- a/framework/local/product/use-search.tsx
+++ b/packages/local/src/product/use-search.tsx
@@ -1,5 +1,5 @@
-import { SWRHook } from '@commerce/utils/types'
-import useSearch, { UseSearch } from '@commerce/product/use-search'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useSearch, { UseSearch } from '@vercel/commerce/product/use-search'
export default useSearch as UseSearch
export const handler: SWRHook = {
diff --git a/framework/local/provider.ts b/packages/local/src/provider.ts
similarity index 100%
rename from framework/local/provider.ts
rename to packages/local/src/provider.ts
diff --git a/framework/local/wishlist/use-add-item.tsx b/packages/local/src/wishlist/use-add-item.tsx
similarity index 100%
rename from framework/local/wishlist/use-add-item.tsx
rename to packages/local/src/wishlist/use-add-item.tsx
diff --git a/framework/local/wishlist/use-remove-item.tsx b/packages/local/src/wishlist/use-remove-item.tsx
similarity index 100%
rename from framework/local/wishlist/use-remove-item.tsx
rename to packages/local/src/wishlist/use-remove-item.tsx
diff --git a/framework/local/wishlist/use-wishlist.tsx b/packages/local/src/wishlist/use-wishlist.tsx
similarity index 86%
rename from framework/local/wishlist/use-wishlist.tsx
rename to packages/local/src/wishlist/use-wishlist.tsx
index 9fe0e758f..b2785d46f 100644
--- a/framework/local/wishlist/use-wishlist.tsx
+++ b/packages/local/src/wishlist/use-wishlist.tsx
@@ -1,5 +1,5 @@
-import { HookFetcher } from '@commerce/utils/types'
-import type { Product } from '@commerce/types/product'
+import { HookFetcher } from '@vercel/commerce/utils/types'
+import type { Product } from '@vercel/commerce/types/product'
const defaultOpts = {}
diff --git a/packages/local/taskfile.js b/packages/local/taskfile.js
new file mode 100644
index 000000000..39b1b2a86
--- /dev/null
+++ b/packages/local/taskfile.js
@@ -0,0 +1,20 @@
+export async function build(task, opts) {
+ await task
+ .source('src/**/*.+(ts|tsx|js)')
+ .swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
+ .target('dist')
+ .source('src/**/*.+(cjs|json)')
+ .target('dist')
+ task.$.log('Compiled src files')
+}
+
+export async function release(task) {
+ await task.clear('dist').start('build')
+}
+
+export default async function dev(task) {
+ const opts = { dev: true }
+ await task.clear('dist')
+ await task.start('build', opts)
+ await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
+}
diff --git a/packages/local/tsconfig.json b/packages/local/tsconfig.json
new file mode 100644
index 000000000..cd04ab2ff
--- /dev/null
+++ b/packages/local/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "outDir": "dist",
+ "baseUrl": "src",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "declaration": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "incremental": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/framework/ordercloud/.env.template b/packages/ordercloud/.env.template
similarity index 100%
rename from framework/ordercloud/.env.template
rename to packages/ordercloud/.env.template
diff --git a/packages/ordercloud/.prettierignore b/packages/ordercloud/.prettierignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/ordercloud/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/ordercloud/.prettierrc b/packages/ordercloud/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/packages/ordercloud/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/framework/ordercloud/README.md b/packages/ordercloud/README.md
similarity index 100%
rename from framework/ordercloud/README.md
rename to packages/ordercloud/README.md
diff --git a/packages/ordercloud/package.json b/packages/ordercloud/package.json
new file mode 100644
index 000000000..8c6439c54
--- /dev/null
+++ b/packages/ordercloud/package.json
@@ -0,0 +1,80 @@
+{
+ "name": "@vercel/commerce-ordercloud",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "release": "taskr release",
+ "build": "taskr build",
+ "dev": "taskr",
+ "types": "tsc --emitDeclarationOnly",
+ "prettier-fix": "prettier --write ."
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": "./dist/index.js",
+ "./*": [
+ "./dist/*.js",
+ "./dist/*/index.js"
+ ],
+ "./next.config": "./dist/next.config.cjs"
+ },
+ "typesVersions": {
+ "*": {
+ "*": [
+ "src/*",
+ "src/*/index"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ },
+ "files": [
+ "dist"
+ ],
+ "publishConfig": {
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/*.d.ts",
+ "dist/*/index.d.ts"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ }
+ },
+ "dependencies": {
+ "@vercel/commerce": "^0.0.1",
+ "@vercel/fetch": "^6.1.1",
+ "stripe": "^8.197.0"
+ },
+ "peerDependencies": {
+ "next": "^12",
+ "react": "^17",
+ "react-dom": "^17"
+ },
+ "devDependencies": {
+ "@taskr/clear": "^1.1.0",
+ "@taskr/esnext": "^1.1.0",
+ "@taskr/watch": "^1.1.0",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "lint-staged": "^12.1.7",
+ "next": "^12.0.8",
+ "prettier": "^2.5.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "taskr": "^1.1.0",
+ "taskr-swc": "^0.0.1",
+ "typescript": "^4.5.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ }
+}
diff --git a/framework/ordercloud/api/endpoints/cart/add-item.ts b/packages/ordercloud/src/api/endpoints/cart/add-item.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/cart/add-item.ts
rename to packages/ordercloud/src/api/endpoints/cart/add-item.ts
diff --git a/framework/ordercloud/api/endpoints/cart/get-cart.ts b/packages/ordercloud/src/api/endpoints/cart/get-cart.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/cart/get-cart.ts
rename to packages/ordercloud/src/api/endpoints/cart/get-cart.ts
diff --git a/framework/ordercloud/api/endpoints/cart/index.ts b/packages/ordercloud/src/api/endpoints/cart/index.ts
similarity index 81%
rename from framework/ordercloud/api/endpoints/cart/index.ts
rename to packages/ordercloud/src/api/endpoints/cart/index.ts
index 756bce9fe..f36364c46 100644
--- a/framework/ordercloud/api/endpoints/cart/index.ts
+++ b/packages/ordercloud/src/api/endpoints/cart/index.ts
@@ -1,8 +1,8 @@
import type { CartSchema } from '../../../types/cart'
import type { OrdercloudAPI } from '../..'
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import cartEndpoint from '@commerce/api/endpoints/cart'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import cartEndpoint from '@vercel/commerce/api/endpoints/cart'
import getCart from './get-cart'
import addItem from './add-item'
diff --git a/framework/ordercloud/api/endpoints/cart/remove-item.ts b/packages/ordercloud/src/api/endpoints/cart/remove-item.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/cart/remove-item.ts
rename to packages/ordercloud/src/api/endpoints/cart/remove-item.ts
diff --git a/framework/ordercloud/api/endpoints/cart/update-item.ts b/packages/ordercloud/src/api/endpoints/cart/update-item.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/cart/update-item.ts
rename to packages/ordercloud/src/api/endpoints/cart/update-item.ts
diff --git a/framework/ordercloud/api/endpoints/catalog/products/get-products.ts b/packages/ordercloud/src/api/endpoints/catalog/products/get-products.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/catalog/products/get-products.ts
rename to packages/ordercloud/src/api/endpoints/catalog/products/get-products.ts
diff --git a/framework/ordercloud/api/endpoints/catalog/products/index.ts b/packages/ordercloud/src/api/endpoints/catalog/products/index.ts
similarity index 66%
rename from framework/ordercloud/api/endpoints/catalog/products/index.ts
rename to packages/ordercloud/src/api/endpoints/catalog/products/index.ts
index 98727a3d3..d775d6fc1 100644
--- a/framework/ordercloud/api/endpoints/catalog/products/index.ts
+++ b/packages/ordercloud/src/api/endpoints/catalog/products/index.ts
@@ -1,9 +1,9 @@
import type { OrdercloudAPI } from '../../../../api'
-import { createEndpoint, GetAPISchema } from '@commerce/api'
-import { ProductsSchema } from '@commerce/types/product'
+import { createEndpoint, GetAPISchema } from '@vercel/commerce/api'
+import { ProductsSchema } from '@vercel/commerce/types/product'
import getProducts from './get-products'
-import productsEndpoint from '@commerce/api/endpoints/catalog/products'
+import productsEndpoint from '@vercel/commerce/api/endpoints/catalog/products'
export type ProductsAPI = GetAPISchema
diff --git a/framework/ordercloud/api/endpoints/checkout/get-checkout.ts b/packages/ordercloud/src/api/endpoints/checkout/get-checkout.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/checkout/get-checkout.ts
rename to packages/ordercloud/src/api/endpoints/checkout/get-checkout.ts
diff --git a/framework/ordercloud/api/endpoints/checkout/index.ts b/packages/ordercloud/src/api/endpoints/checkout/index.ts
similarity index 79%
rename from framework/ordercloud/api/endpoints/checkout/index.ts
rename to packages/ordercloud/src/api/endpoints/checkout/index.ts
index e1b8a9f1c..44a9a6933 100644
--- a/framework/ordercloud/api/endpoints/checkout/index.ts
+++ b/packages/ordercloud/src/api/endpoints/checkout/index.ts
@@ -1,8 +1,8 @@
import type { CheckoutSchema } from '../../../types/checkout'
import type { OrdercloudAPI } from '../..'
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import checkoutEndpoint from '@commerce/api/endpoints/checkout'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import checkoutEndpoint from '@vercel/commerce/api/endpoints/checkout'
import getCheckout from './get-checkout'
import submitCheckout from './submit-checkout'
diff --git a/framework/ordercloud/api/endpoints/checkout/submit-checkout.ts b/packages/ordercloud/src/api/endpoints/checkout/submit-checkout.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/checkout/submit-checkout.ts
rename to packages/ordercloud/src/api/endpoints/checkout/submit-checkout.ts
diff --git a/framework/ordercloud/api/endpoints/customer/address/add-item.ts b/packages/ordercloud/src/api/endpoints/customer/address/add-item.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/customer/address/add-item.ts
rename to packages/ordercloud/src/api/endpoints/customer/address/add-item.ts
diff --git a/framework/ordercloud/api/endpoints/customer/address/get-addresses.ts b/packages/ordercloud/src/api/endpoints/customer/address/get-addresses.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/customer/address/get-addresses.ts
rename to packages/ordercloud/src/api/endpoints/customer/address/get-addresses.ts
diff --git a/framework/ordercloud/api/endpoints/customer/address/index.ts b/packages/ordercloud/src/api/endpoints/customer/address/index.ts
similarity index 82%
rename from framework/ordercloud/api/endpoints/customer/address/index.ts
rename to packages/ordercloud/src/api/endpoints/customer/address/index.ts
index 0691fd1db..f6ab7e306 100644
--- a/framework/ordercloud/api/endpoints/customer/address/index.ts
+++ b/packages/ordercloud/src/api/endpoints/customer/address/index.ts
@@ -1,8 +1,8 @@
import type { CustomerAddressSchema } from '../../../../types/customer/address'
import type { OrdercloudAPI } from '../../..'
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import customerAddressEndpoint from '@commerce/api/endpoints/customer/address'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import customerAddressEndpoint from '@vercel/commerce/api/endpoints/customer/address'
import getAddresses from './get-addresses'
import addItem from './add-item'
diff --git a/framework/ordercloud/api/endpoints/customer/address/remove-item.ts b/packages/ordercloud/src/api/endpoints/customer/address/remove-item.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/customer/address/remove-item.ts
rename to packages/ordercloud/src/api/endpoints/customer/address/remove-item.ts
diff --git a/framework/ordercloud/api/endpoints/customer/address/update-item.ts b/packages/ordercloud/src/api/endpoints/customer/address/update-item.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/customer/address/update-item.ts
rename to packages/ordercloud/src/api/endpoints/customer/address/update-item.ts
diff --git a/framework/ordercloud/api/endpoints/customer/card/add-item.ts b/packages/ordercloud/src/api/endpoints/customer/card/add-item.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/customer/card/add-item.ts
rename to packages/ordercloud/src/api/endpoints/customer/card/add-item.ts
diff --git a/framework/ordercloud/api/endpoints/customer/card/get-cards.ts b/packages/ordercloud/src/api/endpoints/customer/card/get-cards.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/customer/card/get-cards.ts
rename to packages/ordercloud/src/api/endpoints/customer/card/get-cards.ts
diff --git a/framework/ordercloud/api/endpoints/customer/card/index.ts b/packages/ordercloud/src/api/endpoints/customer/card/index.ts
similarity index 81%
rename from framework/ordercloud/api/endpoints/customer/card/index.ts
rename to packages/ordercloud/src/api/endpoints/customer/card/index.ts
index 672939a8b..7116e3cb5 100644
--- a/framework/ordercloud/api/endpoints/customer/card/index.ts
+++ b/packages/ordercloud/src/api/endpoints/customer/card/index.ts
@@ -1,8 +1,8 @@
import type { CustomerCardSchema } from '../../../../types/customer/card'
import type { OrdercloudAPI } from '../../..'
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import customerCardEndpoint from '@commerce/api/endpoints/customer/card'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import customerCardEndpoint from '@vercel/commerce/api/endpoints/customer/card'
import getCards from './get-cards'
import addItem from './add-item'
diff --git a/framework/ordercloud/api/endpoints/customer/card/remove-item.ts b/packages/ordercloud/src/api/endpoints/customer/card/remove-item.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/customer/card/remove-item.ts
rename to packages/ordercloud/src/api/endpoints/customer/card/remove-item.ts
diff --git a/framework/ordercloud/api/endpoints/customer/card/update-item.ts b/packages/ordercloud/src/api/endpoints/customer/card/update-item.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/customer/card/update-item.ts
rename to packages/ordercloud/src/api/endpoints/customer/card/update-item.ts
diff --git a/framework/ordercloud/api/endpoints/customer/index.ts b/packages/ordercloud/src/api/endpoints/customer/index.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/customer/index.ts
rename to packages/ordercloud/src/api/endpoints/customer/index.ts
diff --git a/framework/ordercloud/api/endpoints/login/index.ts b/packages/ordercloud/src/api/endpoints/login/index.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/login/index.ts
rename to packages/ordercloud/src/api/endpoints/login/index.ts
diff --git a/framework/ordercloud/api/endpoints/logout/index.ts b/packages/ordercloud/src/api/endpoints/logout/index.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/logout/index.ts
rename to packages/ordercloud/src/api/endpoints/logout/index.ts
diff --git a/framework/ordercloud/api/endpoints/signup/index.ts b/packages/ordercloud/src/api/endpoints/signup/index.ts
similarity index 100%
rename from framework/ordercloud/api/endpoints/signup/index.ts
rename to packages/ordercloud/src/api/endpoints/signup/index.ts
diff --git a/framework/ordercloud/api/endpoints/wishlist/index.tsx b/packages/ordercloud/src/api/endpoints/wishlist/index.tsx
similarity index 100%
rename from framework/ordercloud/api/endpoints/wishlist/index.tsx
rename to packages/ordercloud/src/api/endpoints/wishlist/index.tsx
diff --git a/framework/ordercloud/api/index.ts b/packages/ordercloud/src/api/index.ts
similarity index 92%
rename from framework/ordercloud/api/index.ts
rename to packages/ordercloud/src/api/index.ts
index df62843ab..d1a809eca 100644
--- a/framework/ordercloud/api/index.ts
+++ b/packages/ordercloud/src/api/index.ts
@@ -1,5 +1,5 @@
-import type { CommerceAPI, CommerceAPIConfig } from '@commerce/api'
-import { getCommerceApi as commerceApi } from '@commerce/api'
+import type { CommerceAPI, CommerceAPIConfig } from '@vercel/commerce/api'
+import { getCommerceApi as commerceApi } from '@vercel/commerce/api'
import { createBuyerFetcher, createMiddlewareFetcher } from './utils/fetch-rest'
import createGraphqlFetcher from './utils/fetch-graphql'
diff --git a/framework/ordercloud/api/operations/get-all-pages.ts b/packages/ordercloud/src/api/operations/get-all-pages.ts
similarity index 87%
rename from framework/ordercloud/api/operations/get-all-pages.ts
rename to packages/ordercloud/src/api/operations/get-all-pages.ts
index 1727532e2..2720e5244 100644
--- a/framework/ordercloud/api/operations/get-all-pages.ts
+++ b/packages/ordercloud/src/api/operations/get-all-pages.ts
@@ -1,6 +1,6 @@
import type { OrdercloudConfig } from '../'
-import { GetAllPagesOperation } from '@commerce/types/page'
+import { GetAllPagesOperation } from '@vercel/commerce/types/page'
export type Page = { url: string }
export type GetAllPagesResult = { pages: Page[] }
diff --git a/framework/ordercloud/api/operations/get-all-product-paths.ts b/packages/ordercloud/src/api/operations/get-all-product-paths.ts
similarity index 85%
rename from framework/ordercloud/api/operations/get-all-product-paths.ts
rename to packages/ordercloud/src/api/operations/get-all-product-paths.ts
index 1ac23c033..8a79bee1e 100644
--- a/framework/ordercloud/api/operations/get-all-product-paths.ts
+++ b/packages/ordercloud/src/api/operations/get-all-product-paths.ts
@@ -1,5 +1,5 @@
-import type { OperationContext } from '@commerce/api/operations'
-import type { GetAllProductPathsOperation } from '@commerce/types/product'
+import type { OperationContext } from '@vercel/commerce/api/operations'
+import type { GetAllProductPathsOperation } from '@vercel/commerce/types/product'
import type { RawProduct } from '../../types/product'
import type { OrdercloudConfig, Provider } from '../'
diff --git a/framework/ordercloud/api/operations/get-all-products.ts b/packages/ordercloud/src/api/operations/get-all-products.ts
similarity index 86%
rename from framework/ordercloud/api/operations/get-all-products.ts
rename to packages/ordercloud/src/api/operations/get-all-products.ts
index 6af24d945..5b4861f8d 100644
--- a/framework/ordercloud/api/operations/get-all-products.ts
+++ b/packages/ordercloud/src/api/operations/get-all-products.ts
@@ -1,5 +1,5 @@
-import type { GetAllProductsOperation } from '@commerce/types/product'
-import type { OperationContext } from '@commerce/api/operations'
+import type { GetAllProductsOperation } from '@vercel/commerce/types/product'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type { RawProduct } from '../../types/product'
import type { OrdercloudConfig, Provider } from '../index'
diff --git a/framework/ordercloud/api/operations/get-page.ts b/packages/ordercloud/src/api/operations/get-page.ts
similarity index 82%
rename from framework/ordercloud/api/operations/get-page.ts
rename to packages/ordercloud/src/api/operations/get-page.ts
index 529f130e2..e403d1660 100644
--- a/framework/ordercloud/api/operations/get-page.ts
+++ b/packages/ordercloud/src/api/operations/get-page.ts
@@ -1,4 +1,4 @@
-import { GetPageOperation } from '@commerce/types/page'
+import { GetPageOperation } from '@vercel/commerce/types/page'
export type Page = any
export type GetPageResult = { page?: Page }
diff --git a/framework/ordercloud/api/operations/get-product.ts b/packages/ordercloud/src/api/operations/get-product.ts
similarity index 91%
rename from framework/ordercloud/api/operations/get-product.ts
rename to packages/ordercloud/src/api/operations/get-product.ts
index 864f931d4..b63b86c23 100644
--- a/framework/ordercloud/api/operations/get-product.ts
+++ b/packages/ordercloud/src/api/operations/get-product.ts
@@ -1,5 +1,5 @@
-import type { OperationContext } from '@commerce/api/operations'
-import type { GetProductOperation } from '@commerce/types/product'
+import type { OperationContext } from '@vercel/commerce/api/operations'
+import type { GetProductOperation } from '@vercel/commerce/types/product'
import type { RawProduct, RawSpec, RawVariant } from '../../types/product'
import type { OrdercloudConfig, Provider } from '../index'
diff --git a/framework/ordercloud/api/operations/get-site-info.ts b/packages/ordercloud/src/api/operations/get-site-info.ts
similarity index 87%
rename from framework/ordercloud/api/operations/get-site-info.ts
rename to packages/ordercloud/src/api/operations/get-site-info.ts
index 95188c58e..ec0ed5dd3 100644
--- a/framework/ordercloud/api/operations/get-site-info.ts
+++ b/packages/ordercloud/src/api/operations/get-site-info.ts
@@ -1,5 +1,5 @@
-import type { OperationContext } from '@commerce/api/operations'
-import type { Category, GetSiteInfoOperation } from '@commerce/types/site'
+import type { OperationContext } from '@vercel/commerce/api/operations'
+import type { Category, GetSiteInfoOperation } from '@vercel/commerce/types/site'
import type { RawCategory } from '../../types/category'
import type { OrdercloudConfig, Provider } from '../index'
diff --git a/framework/ordercloud/api/operations/index.ts b/packages/ordercloud/src/api/operations/index.ts
similarity index 100%
rename from framework/ordercloud/api/operations/index.ts
rename to packages/ordercloud/src/api/operations/index.ts
diff --git a/framework/ordercloud/api/utils/cart.ts b/packages/ordercloud/src/api/utils/cart.ts
similarity index 100%
rename from framework/ordercloud/api/utils/cart.ts
rename to packages/ordercloud/src/api/utils/cart.ts
diff --git a/framework/ordercloud/api/utils/fetch-graphql.ts b/packages/ordercloud/src/api/utils/fetch-graphql.ts
similarity index 71%
rename from framework/ordercloud/api/utils/fetch-graphql.ts
rename to packages/ordercloud/src/api/utils/fetch-graphql.ts
index af72a337c..3c1058deb 100644
--- a/framework/ordercloud/api/utils/fetch-graphql.ts
+++ b/packages/ordercloud/src/api/utils/fetch-graphql.ts
@@ -1,7 +1,7 @@
-import type { GraphQLFetcher } from '@commerce/api'
+import type { GraphQLFetcher } from '@vercel/commerce/api'
import type { OrdercloudConfig } from '../'
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
const fetchGraphqlApi: (getConfig: () => OrdercloudConfig) => GraphQLFetcher =
() => async () => {
diff --git a/framework/ordercloud/api/utils/fetch-rest.ts b/packages/ordercloud/src/api/utils/fetch-rest.ts
similarity index 98%
rename from framework/ordercloud/api/utils/fetch-rest.ts
rename to packages/ordercloud/src/api/utils/fetch-rest.ts
index 61461f72b..5b70b9dff 100644
--- a/framework/ordercloud/api/utils/fetch-rest.ts
+++ b/packages/ordercloud/src/api/utils/fetch-rest.ts
@@ -1,5 +1,5 @@
import vercelFetch from '@vercel/fetch'
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
import { CustomNodeJsGlobal } from '../../types/node';
import { OrdercloudConfig } from '../index'
diff --git a/framework/ordercloud/auth/index.ts b/packages/ordercloud/src/auth/index.ts
similarity index 100%
rename from framework/ordercloud/auth/index.ts
rename to packages/ordercloud/src/auth/index.ts
diff --git a/framework/local/auth/use-login.tsx b/packages/ordercloud/src/auth/use-login.tsx
similarity index 65%
rename from framework/local/auth/use-login.tsx
rename to packages/ordercloud/src/auth/use-login.tsx
index 28351dc7f..20e3ed229 100644
--- a/framework/local/auth/use-login.tsx
+++ b/packages/ordercloud/src/auth/use-login.tsx
@@ -1,5 +1,5 @@
-import { MutationHook } from '@commerce/utils/types'
-import useLogin, { UseLogin } from '@commerce/auth/use-login'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useLogin, { UseLogin } from '@vercel/commerce/auth/use-login'
export default useLogin as UseLogin
diff --git a/framework/ordercloud/auth/use-logout.tsx b/packages/ordercloud/src/auth/use-logout.tsx
similarity index 64%
rename from framework/ordercloud/auth/use-logout.tsx
rename to packages/ordercloud/src/auth/use-logout.tsx
index 9b3fc3e44..4e74908f3 100644
--- a/framework/ordercloud/auth/use-logout.tsx
+++ b/packages/ordercloud/src/auth/use-logout.tsx
@@ -1,5 +1,5 @@
-import { MutationHook } from '@commerce/utils/types'
-import useLogout, { UseLogout } from '@commerce/auth/use-logout'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useLogout, { UseLogout } from '@vercel/commerce/auth/use-logout'
export default useLogout as UseLogout
diff --git a/framework/local/auth/use-signup.tsx b/packages/ordercloud/src/auth/use-signup.tsx
similarity index 70%
rename from framework/local/auth/use-signup.tsx
rename to packages/ordercloud/src/auth/use-signup.tsx
index e9ad13458..e48811403 100644
--- a/framework/local/auth/use-signup.tsx
+++ b/packages/ordercloud/src/auth/use-signup.tsx
@@ -1,7 +1,7 @@
import { useCallback } from 'react'
import useCustomer from '../customer/use-customer'
-import { MutationHook } from '@commerce/utils/types'
-import useSignup, { UseSignup } from '@commerce/auth/use-signup'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useSignup, { UseSignup } from '@vercel/commerce/auth/use-signup'
export default useSignup as UseSignup
diff --git a/framework/ordercloud/cart/index.ts b/packages/ordercloud/src/cart/index.ts
similarity index 100%
rename from framework/ordercloud/cart/index.ts
rename to packages/ordercloud/src/cart/index.ts
diff --git a/framework/ordercloud/cart/use-add-item.tsx b/packages/ordercloud/src/cart/use-add-item.tsx
similarity index 77%
rename from framework/ordercloud/cart/use-add-item.tsx
rename to packages/ordercloud/src/cart/use-add-item.tsx
index 4699202c3..c9d315301 100644
--- a/framework/ordercloud/cart/use-add-item.tsx
+++ b/packages/ordercloud/src/cart/use-add-item.tsx
@@ -1,9 +1,9 @@
-import type { AddItemHook } from '@commerce/types/cart'
-import type { MutationHook } from '@commerce/utils/types'
+import type { AddItemHook } from '@vercel/commerce/types/cart'
+import type { MutationHook } from '@vercel/commerce/utils/types'
import { useCallback } from 'react'
-import { CommerceError } from '@commerce/utils/errors'
-import useAddItem, { UseAddItem } from '@commerce/cart/use-add-item'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useAddItem, { UseAddItem } from '@vercel/commerce/cart/use-add-item'
import useCart from './use-cart'
export default useAddItem as UseAddItem
diff --git a/framework/ordercloud/cart/use-cart.tsx b/packages/ordercloud/src/cart/use-cart.tsx
similarity index 78%
rename from framework/ordercloud/cart/use-cart.tsx
rename to packages/ordercloud/src/cart/use-cart.tsx
index d194f4097..01c3a1cab 100644
--- a/framework/ordercloud/cart/use-cart.tsx
+++ b/packages/ordercloud/src/cart/use-cart.tsx
@@ -1,8 +1,8 @@
-import type { GetCartHook } from '@commerce/types/cart'
+import type { GetCartHook } from '@vercel/commerce/types/cart'
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
-import useCart, { UseCart } from '@commerce/cart/use-cart'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCart, { UseCart } from '@vercel/commerce/cart/use-cart'
export default useCart as UseCart
diff --git a/framework/ordercloud/cart/use-remove-item.tsx b/packages/ordercloud/src/cart/use-remove-item.tsx
similarity index 84%
rename from framework/ordercloud/cart/use-remove-item.tsx
rename to packages/ordercloud/src/cart/use-remove-item.tsx
index 748ba963d..fba15f8d5 100644
--- a/framework/ordercloud/cart/use-remove-item.tsx
+++ b/packages/ordercloud/src/cart/use-remove-item.tsx
@@ -1,13 +1,13 @@
import type {
MutationHookContext,
HookFetcherContext,
-} from '@commerce/utils/types'
-import type { Cart, LineItem, RemoveItemHook } from '@commerce/types/cart'
+} from '@vercel/commerce/utils/types'
+import type { Cart, LineItem, RemoveItemHook } from '@vercel/commerce/types/cart'
import { useCallback } from 'react'
-import { ValidationError } from '@commerce/utils/errors'
-import useRemoveItem, { UseRemoveItem } from '@commerce/cart/use-remove-item'
+import { ValidationError } from '@vercel/commerce/utils/errors'
+import useRemoveItem, { UseRemoveItem } from '@vercel/commerce/cart/use-remove-item'
import useCart from './use-cart'
diff --git a/framework/ordercloud/cart/use-update-item.tsx b/packages/ordercloud/src/cart/use-update-item.tsx
similarity index 87%
rename from framework/ordercloud/cart/use-update-item.tsx
rename to packages/ordercloud/src/cart/use-update-item.tsx
index cc9d93b03..7a5f6fcf7 100644
--- a/framework/ordercloud/cart/use-update-item.tsx
+++ b/packages/ordercloud/src/cart/use-update-item.tsx
@@ -1,15 +1,15 @@
import type {
HookFetcherContext,
MutationHookContext,
-} from '@commerce/utils/types'
-import type { UpdateItemHook, LineItem } from '@commerce/types/cart'
+} from '@vercel/commerce/utils/types'
+import type { UpdateItemHook, LineItem } from '@vercel/commerce/types/cart'
import { useCallback } from 'react'
import debounce from 'lodash.debounce'
-import { MutationHook } from '@commerce/utils/types'
-import { ValidationError } from '@commerce/utils/errors'
-import useUpdateItem, { UseUpdateItem } from '@commerce/cart/use-update-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import { ValidationError } from '@vercel/commerce/utils/errors'
+import useUpdateItem, { UseUpdateItem } from '@vercel/commerce/cart/use-update-item'
import { handler as removeItemHandler } from './use-remove-item'
import useCart from './use-cart'
diff --git a/framework/ordercloud/checkout/index.ts b/packages/ordercloud/src/checkout/index.ts
similarity index 100%
rename from framework/ordercloud/checkout/index.ts
rename to packages/ordercloud/src/checkout/index.ts
diff --git a/framework/ordercloud/checkout/use-checkout.tsx b/packages/ordercloud/src/checkout/use-checkout.tsx
similarity index 81%
rename from framework/ordercloud/checkout/use-checkout.tsx
rename to packages/ordercloud/src/checkout/use-checkout.tsx
index f9892bbc1..f60ebfdd9 100644
--- a/framework/ordercloud/checkout/use-checkout.tsx
+++ b/packages/ordercloud/src/checkout/use-checkout.tsx
@@ -1,8 +1,8 @@
-import type { GetCheckoutHook } from '@commerce/types/checkout'
+import type { GetCheckoutHook } from '@vercel/commerce/types/checkout'
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
-import useCheckout, { UseCheckout } from '@commerce/checkout/use-checkout'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCheckout, { UseCheckout } from '@vercel/commerce/checkout/use-checkout'
import useSubmitCheckout from './use-submit-checkout'
export default useCheckout as UseCheckout
diff --git a/framework/ordercloud/checkout/use-submit-checkout.tsx b/packages/ordercloud/src/checkout/use-submit-checkout.tsx
similarity index 75%
rename from framework/ordercloud/checkout/use-submit-checkout.tsx
rename to packages/ordercloud/src/checkout/use-submit-checkout.tsx
index 91d734208..79c438499 100644
--- a/framework/ordercloud/checkout/use-submit-checkout.tsx
+++ b/packages/ordercloud/src/checkout/use-submit-checkout.tsx
@@ -1,10 +1,10 @@
-import type { SubmitCheckoutHook } from '@commerce/types/checkout'
-import type { MutationHook } from '@commerce/utils/types'
+import type { SubmitCheckoutHook } from '@vercel/commerce/types/checkout'
+import type { MutationHook } from '@vercel/commerce/utils/types'
import { useCallback } from 'react'
import useSubmitCheckout, {
UseSubmitCheckout,
-} from '@commerce/checkout/use-submit-checkout'
+} from '@vercel/commerce/checkout/use-submit-checkout'
export default useSubmitCheckout as UseSubmitCheckout
@@ -14,7 +14,7 @@ export const handler: MutationHook = {
method: 'POST',
},
async fetcher({ input: item, options, fetch }) {
- // @TODO: Make form validations in here, import generic error like import { CommerceError } from '@commerce/utils/errors'
+ // @TODO: Make form validations in here, import generic error like import { CommerceError } from '@vercel/commerce/utils/errors'
// Get payment and delivery information in here
const data = await fetch({
diff --git a/framework/ordercloud/commerce.config.json b/packages/ordercloud/src/commerce.config.json
similarity index 100%
rename from framework/ordercloud/commerce.config.json
rename to packages/ordercloud/src/commerce.config.json
diff --git a/framework/ordercloud/constants.ts b/packages/ordercloud/src/constants.ts
similarity index 100%
rename from framework/ordercloud/constants.ts
rename to packages/ordercloud/src/constants.ts
diff --git a/framework/ordercloud/customer/address/index.ts b/packages/ordercloud/src/customer/address/index.ts
similarity index 100%
rename from framework/ordercloud/customer/address/index.ts
rename to packages/ordercloud/src/customer/address/index.ts
diff --git a/framework/ordercloud/customer/address/use-add-item.tsx b/packages/ordercloud/src/customer/address/use-add-item.tsx
similarity index 76%
rename from framework/ordercloud/customer/address/use-add-item.tsx
rename to packages/ordercloud/src/customer/address/use-add-item.tsx
index cf3f22c46..798f5fe22 100644
--- a/framework/ordercloud/customer/address/use-add-item.tsx
+++ b/packages/ordercloud/src/customer/address/use-add-item.tsx
@@ -1,8 +1,8 @@
-import type { AddItemHook } from '@commerce/types/customer/address'
-import type { MutationHook } from '@commerce/utils/types'
+import type { AddItemHook } from '@vercel/commerce/types/customer/address'
+import type { MutationHook } from '@vercel/commerce/utils/types'
import { useCallback } from 'react'
-import useAddItem, { UseAddItem } from '@commerce/customer/address/use-add-item'
+import useAddItem, { UseAddItem } from '@vercel/commerce/customer/address/use-add-item'
import useAddresses from './use-addresses'
export default useAddItem as UseAddItem
diff --git a/framework/ordercloud/customer/address/use-addresses.tsx b/packages/ordercloud/src/customer/address/use-addresses.tsx
similarity index 79%
rename from framework/ordercloud/customer/address/use-addresses.tsx
rename to packages/ordercloud/src/customer/address/use-addresses.tsx
index e9ddc7001..fd6807a25 100644
--- a/framework/ordercloud/customer/address/use-addresses.tsx
+++ b/packages/ordercloud/src/customer/address/use-addresses.tsx
@@ -1,10 +1,10 @@
-import type { GetAddressesHook } from '@commerce/types/customer/address'
+import type { GetAddressesHook } from '@vercel/commerce/types/customer/address'
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
+import { SWRHook } from '@vercel/commerce/utils/types'
import useAddresses, {
UseAddresses,
-} from '@commerce/customer/address/use-addresses'
+} from '@vercel/commerce/customer/address/use-addresses'
export default useAddresses as UseAddresses
diff --git a/framework/ordercloud/customer/address/use-remove-item.tsx b/packages/ordercloud/src/customer/address/use-remove-item.tsx
similarity index 86%
rename from framework/ordercloud/customer/address/use-remove-item.tsx
rename to packages/ordercloud/src/customer/address/use-remove-item.tsx
index 4e6282c99..ac805dbc5 100644
--- a/framework/ordercloud/customer/address/use-remove-item.tsx
+++ b/packages/ordercloud/src/customer/address/use-remove-item.tsx
@@ -1,15 +1,15 @@
import type {
MutationHookContext,
HookFetcherContext,
-} from '@commerce/utils/types'
-import type { Address, RemoveItemHook } from '@commerce/types/customer/address'
+} from '@vercel/commerce/utils/types'
+import type { Address, RemoveItemHook } from '@vercel/commerce/types/customer/address'
import { useCallback } from 'react'
-import { ValidationError } from '@commerce/utils/errors'
+import { ValidationError } from '@vercel/commerce/utils/errors'
import useRemoveItem, {
UseRemoveItem,
-} from '@commerce/customer/address/use-remove-item'
+} from '@vercel/commerce/customer/address/use-remove-item'
import useAddresses from './use-addresses'
diff --git a/framework/ordercloud/customer/address/use-update-item.tsx b/packages/ordercloud/src/customer/address/use-update-item.tsx
similarity index 81%
rename from framework/ordercloud/customer/address/use-update-item.tsx
rename to packages/ordercloud/src/customer/address/use-update-item.tsx
index 720a339d8..d65956b7b 100644
--- a/framework/ordercloud/customer/address/use-update-item.tsx
+++ b/packages/ordercloud/src/customer/address/use-update-item.tsx
@@ -1,15 +1,15 @@
import type {
HookFetcherContext,
MutationHookContext,
-} from '@commerce/utils/types'
-import type { UpdateItemHook, Address } from '@commerce/types/customer/address'
+} from '@vercel/commerce/utils/types'
+import type { UpdateItemHook, Address } from '@vercel/commerce/types/customer/address'
import { useCallback } from 'react'
-import { MutationHook } from '@commerce/utils/types'
+import { MutationHook } from '@vercel/commerce/utils/types'
import useUpdateItem, {
UseUpdateItem,
-} from '@commerce/customer/address/use-update-item'
+} from '@vercel/commerce/customer/address/use-update-item'
import useAddresses from './use-addresses'
diff --git a/framework/ordercloud/customer/card/index.ts b/packages/ordercloud/src/customer/card/index.ts
similarity index 100%
rename from framework/ordercloud/customer/card/index.ts
rename to packages/ordercloud/src/customer/card/index.ts
diff --git a/framework/ordercloud/customer/card/use-add-item.tsx b/packages/ordercloud/src/customer/card/use-add-item.tsx
similarity index 76%
rename from framework/ordercloud/customer/card/use-add-item.tsx
rename to packages/ordercloud/src/customer/card/use-add-item.tsx
index 6c6a6d7fd..8e7d27885 100644
--- a/framework/ordercloud/customer/card/use-add-item.tsx
+++ b/packages/ordercloud/src/customer/card/use-add-item.tsx
@@ -1,8 +1,8 @@
-import type { AddItemHook } from '@commerce/types/customer/card'
-import type { MutationHook } from '@commerce/utils/types'
+import type { AddItemHook } from '@vercel/commerce/types/customer/card'
+import type { MutationHook } from '@vercel/commerce/utils/types'
import { useCallback } from 'react'
-import useAddItem, { UseAddItem } from '@commerce/customer/card/use-add-item'
+import useAddItem, { UseAddItem } from '@vercel/commerce/customer/card/use-add-item'
import useCards from './use-cards'
export default useAddItem as UseAddItem
diff --git a/framework/ordercloud/customer/card/use-cards.tsx b/packages/ordercloud/src/customer/card/use-cards.tsx
similarity index 76%
rename from framework/ordercloud/customer/card/use-cards.tsx
rename to packages/ordercloud/src/customer/card/use-cards.tsx
index 92236deb2..6438543e1 100644
--- a/framework/ordercloud/customer/card/use-cards.tsx
+++ b/packages/ordercloud/src/customer/card/use-cards.tsx
@@ -1,8 +1,8 @@
-import type { GetCardsHook } from '@commerce/types/customer/card'
+import type { GetCardsHook } from '@vercel/commerce/types/customer/card'
import { useMemo } from 'react'
-import { SWRHook } from '@commerce/utils/types'
-import useCard, { UseCards } from '@commerce/customer/card/use-cards'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCard, { UseCards } from '@vercel/commerce/customer/card/use-cards'
export default useCard as UseCards
diff --git a/framework/ordercloud/customer/card/use-remove-item.tsx b/packages/ordercloud/src/customer/card/use-remove-item.tsx
similarity index 86%
rename from framework/ordercloud/customer/card/use-remove-item.tsx
rename to packages/ordercloud/src/customer/card/use-remove-item.tsx
index dc0781b95..23979bf3f 100644
--- a/framework/ordercloud/customer/card/use-remove-item.tsx
+++ b/packages/ordercloud/src/customer/card/use-remove-item.tsx
@@ -1,15 +1,15 @@
import type {
MutationHookContext,
HookFetcherContext,
-} from '@commerce/utils/types'
-import type { Card, RemoveItemHook } from '@commerce/types/customer/card'
+} from '@vercel/commerce/utils/types'
+import type { Card, RemoveItemHook } from '@vercel/commerce/types/customer/card'
import { useCallback } from 'react'
-import { ValidationError } from '@commerce/utils/errors'
+import { ValidationError } from '@vercel/commerce/utils/errors'
import useRemoveItem, {
UseRemoveItem,
-} from '@commerce/customer/card/use-remove-item'
+} from '@vercel/commerce/customer/card/use-remove-item'
import useCards from './use-cards'
diff --git a/framework/ordercloud/customer/card/use-update-item.tsx b/packages/ordercloud/src/customer/card/use-update-item.tsx
similarity index 81%
rename from framework/ordercloud/customer/card/use-update-item.tsx
rename to packages/ordercloud/src/customer/card/use-update-item.tsx
index 0dfb218d5..faa900744 100644
--- a/framework/ordercloud/customer/card/use-update-item.tsx
+++ b/packages/ordercloud/src/customer/card/use-update-item.tsx
@@ -1,15 +1,15 @@
import type {
HookFetcherContext,
MutationHookContext,
-} from '@commerce/utils/types'
-import type { UpdateItemHook, Card } from '@commerce/types/customer/card'
+} from '@vercel/commerce/utils/types'
+import type { UpdateItemHook, Card } from '@vercel/commerce/types/customer/card'
import { useCallback } from 'react'
-import { MutationHook } from '@commerce/utils/types'
+import { MutationHook } from '@vercel/commerce/utils/types'
import useUpdateItem, {
UseUpdateItem,
-} from '@commerce/customer/card/use-update-item'
+} from '@vercel/commerce/customer/card/use-update-item'
import useCards from './use-cards'
diff --git a/framework/ordercloud/customer/index.ts b/packages/ordercloud/src/customer/index.ts
similarity index 100%
rename from framework/ordercloud/customer/index.ts
rename to packages/ordercloud/src/customer/index.ts
diff --git a/framework/ordercloud/customer/use-customer.tsx b/packages/ordercloud/src/customer/use-customer.tsx
similarity index 66%
rename from framework/ordercloud/customer/use-customer.tsx
rename to packages/ordercloud/src/customer/use-customer.tsx
index 41757cd0d..6eaede14f 100644
--- a/framework/ordercloud/customer/use-customer.tsx
+++ b/packages/ordercloud/src/customer/use-customer.tsx
@@ -1,5 +1,5 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCustomer, { UseCustomer } from '@commerce/customer/use-customer'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCustomer, { UseCustomer } from '@vercel/commerce/customer/use-customer'
export default useCustomer as UseCustomer
export const handler: SWRHook = {
diff --git a/framework/ordercloud/fetcher.ts b/packages/ordercloud/src/fetcher.ts
similarity index 87%
rename from framework/ordercloud/fetcher.ts
rename to packages/ordercloud/src/fetcher.ts
index 6f314a71e..1da35718e 100644
--- a/framework/ordercloud/fetcher.ts
+++ b/packages/ordercloud/src/fetcher.ts
@@ -1,4 +1,4 @@
-import { Fetcher } from '@commerce/utils/types'
+import { Fetcher } from '@vercel/commerce/utils/types'
const clientFetcher: Fetcher = async ({ method, url, body }) => {
const response = await fetch(url!, {
diff --git a/framework/ordercloud/index.tsx b/packages/ordercloud/src/index.tsx
similarity index 93%
rename from framework/ordercloud/index.tsx
rename to packages/ordercloud/src/index.tsx
index 6a01c2ee4..b282942e8 100644
--- a/framework/ordercloud/index.tsx
+++ b/packages/ordercloud/src/index.tsx
@@ -1,5 +1,5 @@
import { ordercloudProvider, OrdercloudProvider } from './provider'
-import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
+import { getCommerceProvider, useCommerce as useCoreCommerce } from '@vercel/commerce'
export { ordercloudProvider }
export type { OrdercloudProvider }
diff --git a/framework/ordercloud/next.config.js b/packages/ordercloud/src/next.config.cjs
similarity index 100%
rename from framework/ordercloud/next.config.js
rename to packages/ordercloud/src/next.config.cjs
diff --git a/framework/ordercloud/product/index.ts b/packages/ordercloud/src/product/index.ts
similarity index 100%
rename from framework/ordercloud/product/index.ts
rename to packages/ordercloud/src/product/index.ts
diff --git a/packages/ordercloud/src/product/use-price.tsx b/packages/ordercloud/src/product/use-price.tsx
new file mode 100644
index 000000000..fd42d7033
--- /dev/null
+++ b/packages/ordercloud/src/product/use-price.tsx
@@ -0,0 +1,2 @@
+export * from '@vercel/commerce/product/use-price'
+export { default } from '@vercel/commerce/product/use-price'
diff --git a/framework/ordercloud/product/use-search.tsx b/packages/ordercloud/src/product/use-search.tsx
similarity index 84%
rename from framework/ordercloud/product/use-search.tsx
rename to packages/ordercloud/src/product/use-search.tsx
index 390e84ba1..0cb54e92c 100644
--- a/framework/ordercloud/product/use-search.tsx
+++ b/packages/ordercloud/src/product/use-search.tsx
@@ -1,6 +1,6 @@
-import { SWRHook } from '@commerce/utils/types'
-import useSearch, { UseSearch } from '@commerce/product/use-search'
-import { SearchProductsHook } from '@commerce/types/product'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useSearch, { UseSearch } from '@vercel/commerce/product/use-search'
+import { SearchProductsHook } from '@vercel/commerce/types/product'
export default useSearch as UseSearch
export const handler: SWRHook = {
diff --git a/framework/ordercloud/provider.ts b/packages/ordercloud/src/provider.ts
similarity index 100%
rename from framework/ordercloud/provider.ts
rename to packages/ordercloud/src/provider.ts
diff --git a/framework/ordercloud/types/cart.ts b/packages/ordercloud/src/types/cart.ts
similarity index 96%
rename from framework/ordercloud/types/cart.ts
rename to packages/ordercloud/src/types/cart.ts
index 4716c355d..389a5a666 100644
--- a/framework/ordercloud/types/cart.ts
+++ b/packages/ordercloud/src/types/cart.ts
@@ -1,6 +1,6 @@
-import * as Core from '@commerce/types/cart'
+import * as Core from '@vercel/commerce/types/cart'
-export * from '@commerce/types/cart'
+export * from '@vercel/commerce/types/cart'
export interface OrdercloudCart {
ID: string
diff --git a/framework/ordercloud/types/category.ts b/packages/ordercloud/src/types/category.ts
similarity index 100%
rename from framework/ordercloud/types/category.ts
rename to packages/ordercloud/src/types/category.ts
diff --git a/framework/ordercloud/types/checkout.ts b/packages/ordercloud/src/types/checkout.ts
similarity index 66%
rename from framework/ordercloud/types/checkout.ts
rename to packages/ordercloud/src/types/checkout.ts
index 17cbf43de..976d78e7a 100644
--- a/framework/ordercloud/types/checkout.ts
+++ b/packages/ordercloud/src/types/checkout.ts
@@ -1,4 +1,4 @@
-import * as Core from '@commerce/types/checkout'
+import * as Core from '@vercel/commerce/types/checkout'
export type CheckoutTypes = Core.CheckoutTypes
export type CheckoutSchema = Core.CheckoutSchema
diff --git a/framework/ordercloud/types/customer/address.ts b/packages/ordercloud/src/types/customer/address.ts
similarity index 91%
rename from framework/ordercloud/types/customer/address.ts
rename to packages/ordercloud/src/types/customer/address.ts
index 9c7f4bd33..3576b676c 100644
--- a/framework/ordercloud/types/customer/address.ts
+++ b/packages/ordercloud/src/types/customer/address.ts
@@ -1,4 +1,4 @@
-import * as Core from '@commerce/types/customer/address'
+import * as Core from '@vercel/commerce/types/customer/address'
export type CustomerAddressTypes = Core.CustomerAddressTypes
export type CustomerAddressSchema =
diff --git a/framework/ordercloud/types/customer/card.ts b/packages/ordercloud/src/types/customer/card.ts
similarity index 85%
rename from framework/ordercloud/types/customer/card.ts
rename to packages/ordercloud/src/types/customer/card.ts
index 6bf575332..293d5041a 100644
--- a/framework/ordercloud/types/customer/card.ts
+++ b/packages/ordercloud/src/types/customer/card.ts
@@ -1,4 +1,4 @@
-import * as Core from '@commerce/types/customer/card'
+import * as Core from '@vercel/commerce/types/customer/card'
export type CustomerCardTypes = Core.CustomerCardTypes
export type CustomerCardSchema = Core.CustomerCardSchema
diff --git a/framework/ordercloud/types/node.d.ts b/packages/ordercloud/src/types/node.d.ts
similarity index 100%
rename from framework/ordercloud/types/node.d.ts
rename to packages/ordercloud/src/types/node.d.ts
diff --git a/framework/ordercloud/types/product.ts b/packages/ordercloud/src/types/product.ts
similarity index 100%
rename from framework/ordercloud/types/product.ts
rename to packages/ordercloud/src/types/product.ts
diff --git a/framework/ordercloud/utils/product.ts b/packages/ordercloud/src/utils/product.ts
similarity index 95%
rename from framework/ordercloud/utils/product.ts
rename to packages/ordercloud/src/utils/product.ts
index ee334f175..6da3bf86b 100644
--- a/framework/ordercloud/utils/product.ts
+++ b/packages/ordercloud/src/utils/product.ts
@@ -1,4 +1,4 @@
-import type { Product } from '@commerce/types/product'
+import type { Product } from '@vercel/commerce/types/product'
import type { RawProduct } from '../types/product'
diff --git a/framework/ordercloud/wishlist/use-add-item.tsx b/packages/ordercloud/src/wishlist/use-add-item.tsx
similarity index 100%
rename from framework/ordercloud/wishlist/use-add-item.tsx
rename to packages/ordercloud/src/wishlist/use-add-item.tsx
diff --git a/framework/ordercloud/wishlist/use-remove-item.tsx b/packages/ordercloud/src/wishlist/use-remove-item.tsx
similarity index 100%
rename from framework/ordercloud/wishlist/use-remove-item.tsx
rename to packages/ordercloud/src/wishlist/use-remove-item.tsx
diff --git a/framework/ordercloud/wishlist/use-wishlist.tsx b/packages/ordercloud/src/wishlist/use-wishlist.tsx
similarity index 86%
rename from framework/ordercloud/wishlist/use-wishlist.tsx
rename to packages/ordercloud/src/wishlist/use-wishlist.tsx
index 9fe0e758f..b2785d46f 100644
--- a/framework/ordercloud/wishlist/use-wishlist.tsx
+++ b/packages/ordercloud/src/wishlist/use-wishlist.tsx
@@ -1,5 +1,5 @@
-import { HookFetcher } from '@commerce/utils/types'
-import type { Product } from '@commerce/types/product'
+import { HookFetcher } from '@vercel/commerce/utils/types'
+import type { Product } from '@vercel/commerce/types/product'
const defaultOpts = {}
diff --git a/packages/ordercloud/taskfile.js b/packages/ordercloud/taskfile.js
new file mode 100644
index 000000000..39b1b2a86
--- /dev/null
+++ b/packages/ordercloud/taskfile.js
@@ -0,0 +1,20 @@
+export async function build(task, opts) {
+ await task
+ .source('src/**/*.+(ts|tsx|js)')
+ .swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
+ .target('dist')
+ .source('src/**/*.+(cjs|json)')
+ .target('dist')
+ task.$.log('Compiled src files')
+}
+
+export async function release(task) {
+ await task.clear('dist').start('build')
+}
+
+export default async function dev(task) {
+ const opts = { dev: true }
+ await task.clear('dist')
+ await task.start('build', opts)
+ await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
+}
diff --git a/packages/ordercloud/tsconfig.json b/packages/ordercloud/tsconfig.json
new file mode 100644
index 000000000..cd04ab2ff
--- /dev/null
+++ b/packages/ordercloud/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "outDir": "dist",
+ "baseUrl": "src",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "declaration": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "incremental": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/framework/saleor/.env.template b/packages/saleor/.env.template
similarity index 100%
rename from framework/saleor/.env.template
rename to packages/saleor/.env.template
diff --git a/packages/saleor/.prettierignore b/packages/saleor/.prettierignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/saleor/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/saleor/.prettierrc b/packages/saleor/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/packages/saleor/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/framework/saleor/README.md b/packages/saleor/README.md
similarity index 93%
rename from framework/saleor/README.md
rename to packages/saleor/README.md
index dba25a243..277639622 100644
--- a/framework/saleor/README.md
+++ b/packages/saleor/README.md
@@ -9,7 +9,7 @@ This provider requires Saleor **3.x** or higher.
Copy the `.env.template` file in this directory to `.env.local` in the main directory (which will be ignored by Git):
```bash
-cp framework/saleor/.env.template .env.local
+cp packages/saleor/.env.template .env.local
```
Then, set the environment following variables in your `.env.local`. Both, `NEXT_PUBLIC_SALEOR_API_URL` and `COMMERCE_IMAGE_HOST` must point to your own Saleor instance.
diff --git a/codegen.json b/packages/saleor/codegen.json
similarity index 59%
rename from codegen.json
rename to packages/saleor/codegen.json
index d9a5c09ce..abbbbf142 100644
--- a/codegen.json
+++ b/packages/saleor/codegen.json
@@ -4,26 +4,26 @@
},
"documents": [
{
- "./framework/saleor/utils/queries/get-all-products-query.ts": {
+ "./src/utils/queries/get-all-products-query.ts": {
"noRequire": true
}
},
{
- "./framework/saleor/utils/queries/get-all-products-paths-query.ts": {
+ "./src/utils/queries/get-all-products-paths-query.ts": {
"noRequire": true
}
},
{
- "./framework/saleor/utils/queries/get-products.ts": {
+ "./src/utils/queries/get-products.ts": {
"noRequire": true
}
}
],
"generates": {
- "./framework/saleor/schema.d.ts": {
+ "./schema.d.ts": {
"plugins": ["typescript", "typescript-operations"]
},
- "./framework/saleor/schema.graphql": {
+ "./schema.graphql": {
"plugins": ["schema-ast"]
}
},
diff --git a/packages/saleor/package.json b/packages/saleor/package.json
new file mode 100644
index 000000000..43ba1b7c7
--- /dev/null
+++ b/packages/saleor/package.json
@@ -0,0 +1,85 @@
+{
+ "name": "@vercel/commerce-saleor",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "release": "taskr release",
+ "build": "taskr build",
+ "dev": "taskr",
+ "types": "tsc --emitDeclarationOnly",
+ "prettier-fix": "prettier --write .",
+ "generate": "graphql-codegen"
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": "./dist/index.js",
+ "./*": [
+ "./dist/*.js",
+ "./dist/*/index.js"
+ ],
+ "./next.config": "./dist/next.config.cjs"
+ },
+ "typesVersions": {
+ "*": {
+ "*": [
+ "src/*",
+ "src/*/index"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ },
+ "files": [
+ "dist",
+ "schema.d.ts"
+ ],
+ "publishConfig": {
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/*.d.ts",
+ "dist/*/index.d.ts"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ }
+ },
+ "dependencies": {
+ "@vercel/commerce": "^0.0.1",
+ "@vercel/fetch": "^6.1.1"
+ },
+ "peerDependencies": {
+ "next": "^12",
+ "react": "^17",
+ "react-dom": "^17"
+ },
+ "devDependencies": {
+ "@graphql-codegen/cli": "^2.3.1",
+ "@graphql-codegen/schema-ast": "^2.4.1",
+ "@graphql-codegen/typescript": "^2.4.2",
+ "@graphql-codegen/typescript-operations": "^2.2.2",
+ "@taskr/clear": "^1.1.0",
+ "@taskr/esnext": "^1.1.0",
+ "@taskr/watch": "^1.1.0",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "lint-staged": "^12.1.7",
+ "next": "^12.0.8",
+ "prettier": "^2.5.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "taskr": "^1.1.0",
+ "taskr-swc": "^0.0.1",
+ "typescript": "^4.5.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ }
+}
diff --git a/framework/saleor/schema.d.ts b/packages/saleor/schema.d.ts
similarity index 100%
rename from framework/saleor/schema.d.ts
rename to packages/saleor/schema.d.ts
diff --git a/framework/saleor/schema.graphql b/packages/saleor/schema.graphql
similarity index 100%
rename from framework/saleor/schema.graphql
rename to packages/saleor/schema.graphql
diff --git a/framework/saleor/api/cart.ts b/packages/saleor/src/api/cart.ts
similarity index 100%
rename from framework/saleor/api/cart.ts
rename to packages/saleor/src/api/cart.ts
diff --git a/framework/saleor/api/catalog/products.ts b/packages/saleor/src/api/catalog/products.ts
similarity index 100%
rename from framework/saleor/api/catalog/products.ts
rename to packages/saleor/src/api/catalog/products.ts
diff --git a/framework/saleor/api/checkout.ts b/packages/saleor/src/api/checkout.ts
similarity index 100%
rename from framework/saleor/api/checkout.ts
rename to packages/saleor/src/api/checkout.ts
diff --git a/framework/saleor/api/customers/index.ts b/packages/saleor/src/api/customers/index.ts
similarity index 100%
rename from framework/saleor/api/customers/index.ts
rename to packages/saleor/src/api/customers/index.ts
diff --git a/framework/saleor/api/customers/login.ts b/packages/saleor/src/api/customers/login.ts
similarity index 100%
rename from framework/saleor/api/customers/login.ts
rename to packages/saleor/src/api/customers/login.ts
diff --git a/framework/saleor/api/customers/logout.ts b/packages/saleor/src/api/customers/logout.ts
similarity index 100%
rename from framework/saleor/api/customers/logout.ts
rename to packages/saleor/src/api/customers/logout.ts
diff --git a/framework/saleor/api/customers/signup.ts b/packages/saleor/src/api/customers/signup.ts
similarity index 100%
rename from framework/saleor/api/customers/signup.ts
rename to packages/saleor/src/api/customers/signup.ts
diff --git a/framework/saleor/api/endpoints/cart.ts b/packages/saleor/src/api/endpoints/cart.ts
similarity index 100%
rename from framework/saleor/api/endpoints/cart.ts
rename to packages/saleor/src/api/endpoints/cart.ts
diff --git a/framework/saleor/api/endpoints/catalog/products.ts b/packages/saleor/src/api/endpoints/catalog/products.ts
similarity index 100%
rename from framework/saleor/api/endpoints/catalog/products.ts
rename to packages/saleor/src/api/endpoints/catalog/products.ts
diff --git a/framework/saleor/api/endpoints/checkout/index.ts b/packages/saleor/src/api/endpoints/checkout/index.ts
similarity index 88%
rename from framework/saleor/api/endpoints/checkout/index.ts
rename to packages/saleor/src/api/endpoints/checkout/index.ts
index 2113a64d3..2468c8d97 100644
--- a/framework/saleor/api/endpoints/checkout/index.ts
+++ b/packages/saleor/src/api/endpoints/checkout/index.ts
@@ -1,6 +1,6 @@
-import { CommerceAPI, GetAPISchema, createEndpoint } from '@commerce/api'
-import checkoutEndpoint from '@commerce/api/endpoints/checkout'
-import { CheckoutSchema } from '@commerce/types/checkout'
+import { CommerceAPI, GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import checkoutEndpoint from '@vercel/commerce/api/endpoints/checkout'
+import { CheckoutSchema } from '@vercel/commerce/types/checkout'
export type CheckoutAPI = GetAPISchema
diff --git a/framework/saleor/api/endpoints/customer/address.ts b/packages/saleor/src/api/endpoints/customer/address.ts
similarity index 100%
rename from framework/saleor/api/endpoints/customer/address.ts
rename to packages/saleor/src/api/endpoints/customer/address.ts
diff --git a/framework/saleor/api/endpoints/customer/card.ts b/packages/saleor/src/api/endpoints/customer/card.ts
similarity index 100%
rename from framework/saleor/api/endpoints/customer/card.ts
rename to packages/saleor/src/api/endpoints/customer/card.ts
diff --git a/framework/saleor/api/endpoints/customer/index.ts b/packages/saleor/src/api/endpoints/customer/index.ts
similarity index 100%
rename from framework/saleor/api/endpoints/customer/index.ts
rename to packages/saleor/src/api/endpoints/customer/index.ts
diff --git a/framework/saleor/api/endpoints/login.ts b/packages/saleor/src/api/endpoints/login.ts
similarity index 100%
rename from framework/saleor/api/endpoints/login.ts
rename to packages/saleor/src/api/endpoints/login.ts
diff --git a/framework/saleor/api/endpoints/logout.ts b/packages/saleor/src/api/endpoints/logout.ts
similarity index 100%
rename from framework/saleor/api/endpoints/logout.ts
rename to packages/saleor/src/api/endpoints/logout.ts
diff --git a/framework/saleor/api/endpoints/signup.ts b/packages/saleor/src/api/endpoints/signup.ts
similarity index 100%
rename from framework/saleor/api/endpoints/signup.ts
rename to packages/saleor/src/api/endpoints/signup.ts
diff --git a/framework/saleor/api/endpoints/wishlist.ts b/packages/saleor/src/api/endpoints/wishlist.ts
similarity index 100%
rename from framework/saleor/api/endpoints/wishlist.ts
rename to packages/saleor/src/api/endpoints/wishlist.ts
diff --git a/framework/saleor/api/index.ts b/packages/saleor/src/api/index.ts
similarity index 96%
rename from framework/saleor/api/index.ts
rename to packages/saleor/src/api/index.ts
index 074607666..7ee17f693 100644
--- a/framework/saleor/api/index.ts
+++ b/packages/saleor/src/api/index.ts
@@ -1,4 +1,4 @@
-import { CommerceAPI, CommerceAPIConfig, getCommerceApi as commerceApi } from '@commerce/api'
+import { CommerceAPI, CommerceAPIConfig, getCommerceApi as commerceApi } from '@vercel/commerce/api'
import * as operations from './operations'
import * as Const from '../const'
diff --git a/framework/saleor/api/operations/get-all-pages.ts b/packages/saleor/src/api/operations/get-all-pages.ts
similarity index 88%
rename from framework/saleor/api/operations/get-all-pages.ts
rename to packages/saleor/src/api/operations/get-all-pages.ts
index 7ba07450d..37f2e3ab2 100644
--- a/framework/saleor/api/operations/get-all-pages.ts
+++ b/packages/saleor/src/api/operations/get-all-pages.ts
@@ -1,6 +1,6 @@
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
-import { QueryPagesArgs, PageCountableEdge } from '../../schema'
+import { QueryPagesArgs, PageCountableEdge } from '../../../schema'
import type { SaleorConfig, Provider } from '..'
import * as Query from '../../utils/queries'
diff --git a/framework/saleor/api/operations/get-all-product-paths.ts b/packages/saleor/src/api/operations/get-all-product-paths.ts
similarity index 87%
rename from framework/saleor/api/operations/get-all-product-paths.ts
rename to packages/saleor/src/api/operations/get-all-product-paths.ts
index c04964147..66e8f95c9 100644
--- a/framework/saleor/api/operations/get-all-product-paths.ts
+++ b/packages/saleor/src/api/operations/get-all-product-paths.ts
@@ -1,5 +1,5 @@
-import type { OperationContext } from '@commerce/api/operations'
-import { ProductCountableEdge } from '../../schema'
+import type { OperationContext } from '@vercel/commerce/api/operations'
+import { ProductCountableEdge } from '../../../schema'
import type { Provider, SaleorConfig } from '..'
import { getAllProductsPathsQuery } from '../../utils/queries'
diff --git a/framework/saleor/api/operations/get-all-products.ts b/packages/saleor/src/api/operations/get-all-products.ts
similarity index 84%
rename from framework/saleor/api/operations/get-all-products.ts
rename to packages/saleor/src/api/operations/get-all-products.ts
index 4cb7555d6..f7982adee 100644
--- a/framework/saleor/api/operations/get-all-products.ts
+++ b/packages/saleor/src/api/operations/get-all-products.ts
@@ -1,12 +1,12 @@
-import type { OperationContext } from '@commerce/api/operations'
-import { Product } from '@commerce/types/product'
+import type { OperationContext } from '@vercel/commerce/api/operations'
+import { Product } from '@vercel/commerce/types/product'
-import { ProductCountableEdge } from '../../schema'
+import { ProductCountableEdge } from '../../../schema'
import type { Provider, SaleorConfig } from '..'
import { normalizeProduct } from '../../utils'
import * as Query from '../../utils/queries'
-import { GraphQLFetcherResult } from '@commerce/api'
+import { GraphQLFetcherResult } from '@vercel/commerce/api'
type ReturnType = {
products: Product[]
diff --git a/framework/saleor/api/operations/get-page.ts b/packages/saleor/src/api/operations/get-page.ts
similarity index 89%
rename from framework/saleor/api/operations/get-page.ts
rename to packages/saleor/src/api/operations/get-page.ts
index 1e6c8cf2b..bab9d92c5 100644
--- a/framework/saleor/api/operations/get-page.ts
+++ b/packages/saleor/src/api/operations/get-page.ts
@@ -1,6 +1,6 @@
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type { Provider, SaleorConfig } from '..'
-import { QueryPageArgs } from '../../schema'
+import { QueryPageArgs } from '../../../schema'
import * as Query from '../../utils/queries'
diff --git a/framework/saleor/api/operations/get-product.ts b/packages/saleor/src/api/operations/get-product.ts
similarity index 92%
rename from framework/saleor/api/operations/get-product.ts
rename to packages/saleor/src/api/operations/get-product.ts
index e5e8e596f..5a33dec7b 100644
--- a/framework/saleor/api/operations/get-product.ts
+++ b/packages/saleor/src/api/operations/get-product.ts
@@ -1,4 +1,4 @@
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import { normalizeProduct } from '../../utils'
import type { Provider, SaleorConfig } from '..'
diff --git a/framework/saleor/api/operations/get-site-info.ts b/packages/saleor/src/api/operations/get-site-info.ts
similarity index 84%
rename from framework/saleor/api/operations/get-site-info.ts
rename to packages/saleor/src/api/operations/get-site-info.ts
index 917b96ce4..6ce7408e4 100644
--- a/framework/saleor/api/operations/get-site-info.ts
+++ b/packages/saleor/src/api/operations/get-site-info.ts
@@ -1,5 +1,5 @@
-import type { OperationContext } from '@commerce/api/operations'
-import { Category } from '@commerce/types/site'
+import type { OperationContext } from '@vercel/commerce/api/operations'
+import { Category } from '@vercel/commerce/types/site'
import type { SaleorConfig, Provider } from '..'
import { getCategories, getVendors } from '../../utils'
diff --git a/framework/saleor/api/operations/index.ts b/packages/saleor/src/api/operations/index.ts
similarity index 100%
rename from framework/saleor/api/operations/index.ts
rename to packages/saleor/src/api/operations/index.ts
diff --git a/framework/saleor/api/operations/login.ts b/packages/saleor/src/api/operations/login.ts
similarity index 93%
rename from framework/saleor/api/operations/login.ts
rename to packages/saleor/src/api/operations/login.ts
index 9d3a7fe9f..76d1e7844 100644
--- a/framework/saleor/api/operations/login.ts
+++ b/packages/saleor/src/api/operations/login.ts
@@ -1,5 +1,5 @@
import type { ServerResponse } from 'http'
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type { Provider, SaleorConfig } from '..'
import { throwUserErrors } from '../../utils'
diff --git a/framework/saleor/api/utils/fetch-all-products.ts b/packages/saleor/src/api/utils/fetch-all-products.ts
similarity index 93%
rename from framework/saleor/api/utils/fetch-all-products.ts
rename to packages/saleor/src/api/utils/fetch-all-products.ts
index 1cfb3157c..761e1271d 100644
--- a/framework/saleor/api/utils/fetch-all-products.ts
+++ b/packages/saleor/src/api/utils/fetch-all-products.ts
@@ -1,4 +1,4 @@
-import { ProductCountableEdge } from '../../schema'
+import { ProductCountableEdge } from '../../../schema'
import { SaleorConfig } from '..'
const fetchAllProducts = async ({
diff --git a/framework/saleor/api/utils/fetch-graphql-api.ts b/packages/saleor/src/api/utils/fetch-graphql-api.ts
similarity index 93%
rename from framework/saleor/api/utils/fetch-graphql-api.ts
rename to packages/saleor/src/api/utils/fetch-graphql-api.ts
index 3145409ad..de4d45aae 100644
--- a/framework/saleor/api/utils/fetch-graphql-api.ts
+++ b/packages/saleor/src/api/utils/fetch-graphql-api.ts
@@ -1,4 +1,4 @@
-import type { GraphQLFetcher } from '@commerce/api'
+import type { GraphQLFetcher } from '@vercel/commerce/api'
import fetch from './fetch'
import { API_URL } from '../../const'
diff --git a/framework/saleor/api/utils/fetch.ts b/packages/saleor/src/api/utils/fetch.ts
similarity index 100%
rename from framework/saleor/api/utils/fetch.ts
rename to packages/saleor/src/api/utils/fetch.ts
diff --git a/framework/saleor/api/utils/is-allowed-method.ts b/packages/saleor/src/api/utils/is-allowed-method.ts
similarity index 100%
rename from framework/saleor/api/utils/is-allowed-method.ts
rename to packages/saleor/src/api/utils/is-allowed-method.ts
diff --git a/framework/saleor/api/wishlist.ts b/packages/saleor/src/api/wishlist.ts
similarity index 100%
rename from framework/saleor/api/wishlist.ts
rename to packages/saleor/src/api/wishlist.ts
diff --git a/framework/saleor/auth/use-login.tsx b/packages/saleor/src/auth/use-login.tsx
similarity index 82%
rename from framework/saleor/auth/use-login.tsx
rename to packages/saleor/src/auth/use-login.tsx
index b8b7e35e0..33f95da2b 100644
--- a/framework/saleor/auth/use-login.tsx
+++ b/packages/saleor/src/auth/use-login.tsx
@@ -1,13 +1,13 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
import useCustomer from '../customer/use-customer'
import * as mutation from '../utils/mutations'
-import { Mutation, MutationTokenCreateArgs } from '../schema'
-import useLogin, { UseLogin } from '@commerce/auth/use-login'
+import { Mutation, MutationTokenCreateArgs } from '../../schema'
+import useLogin, { UseLogin } from '@vercel/commerce/auth/use-login'
import { setCSRFToken, setToken, throwUserErrors, checkoutAttach, getCheckoutId } from '../utils'
-import { LoginHook } from '@commerce/types/login'
+import { LoginHook } from '@vercel/commerce/types/login'
export default useLogin as UseLogin
diff --git a/framework/saleor/auth/use-logout.tsx b/packages/saleor/src/auth/use-logout.tsx
similarity index 81%
rename from framework/saleor/auth/use-logout.tsx
rename to packages/saleor/src/auth/use-logout.tsx
index fe75df84b..396cb472a 100644
--- a/framework/saleor/auth/use-logout.tsx
+++ b/packages/saleor/src/auth/use-logout.tsx
@@ -1,10 +1,10 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import useLogout, { UseLogout } from '@commerce/auth/use-logout'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import useLogout, { UseLogout } from '@vercel/commerce/auth/use-logout'
import useCustomer from '../customer/use-customer'
import * as mutation from '../utils/mutations'
import { setCSRFToken, setToken, setCheckoutToken } from '../utils/customer-token'
-import { LogoutHook } from '@commerce/types/logout'
+import { LogoutHook } from '@vercel/commerce/types/logout'
export default useLogout as UseLogout
diff --git a/framework/saleor/auth/use-signup.tsx b/packages/saleor/src/auth/use-signup.tsx
similarity index 82%
rename from framework/saleor/auth/use-signup.tsx
rename to packages/saleor/src/auth/use-signup.tsx
index bad3d60b1..e29ee3b1a 100644
--- a/framework/saleor/auth/use-signup.tsx
+++ b/packages/saleor/src/auth/use-signup.tsx
@@ -1,13 +1,13 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useSignup, { UseSignup } from '@commerce/auth/use-signup'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useSignup, { UseSignup } from '@vercel/commerce/auth/use-signup'
import useCustomer from '../customer/use-customer'
-import { AccountRegisterInput, Mutation, MutationAccountRegisterArgs } from '../schema'
+import { AccountRegisterInput, Mutation, MutationAccountRegisterArgs } from '../../schema'
import * as mutation from '../utils/mutations'
import { handleAutomaticLogin, throwUserErrors } from '../utils'
-import { SignupHook } from '@commerce/types/signup'
+import { SignupHook } from '@vercel/commerce/types/signup'
export default useSignup as UseSignup
diff --git a/framework/saleor/cart/index.ts b/packages/saleor/src/cart/index.ts
similarity index 100%
rename from framework/saleor/cart/index.ts
rename to packages/saleor/src/cart/index.ts
diff --git a/framework/saleor/cart/use-add-item.tsx b/packages/saleor/src/cart/use-add-item.tsx
similarity index 79%
rename from framework/saleor/cart/use-add-item.tsx
rename to packages/saleor/src/cart/use-add-item.tsx
index 3af368e70..2db070233 100644
--- a/framework/saleor/cart/use-add-item.tsx
+++ b/packages/saleor/src/cart/use-add-item.tsx
@@ -1,15 +1,15 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useAddItem, { UseAddItem } from '@commerce/cart/use-add-item'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useAddItem, { UseAddItem } from '@vercel/commerce/cart/use-add-item'
import useCart from './use-cart'
import * as mutation from '../utils/mutations'
import { getCheckoutId, checkoutToCart } from '../utils'
-import { Mutation, MutationCheckoutLinesAddArgs } from '../schema'
-import { AddItemHook } from '@commerce/types/cart'
+import { Mutation, MutationCheckoutLinesAddArgs } from '../../schema'
+import { AddItemHook } from '@vercel/commerce/types/cart'
export default useAddItem as UseAddItem
diff --git a/framework/saleor/cart/use-cart.tsx b/packages/saleor/src/cart/use-cart.tsx
similarity index 86%
rename from framework/saleor/cart/use-cart.tsx
rename to packages/saleor/src/cart/use-cart.tsx
index ab80ea395..9360875d4 100644
--- a/framework/saleor/cart/use-cart.tsx
+++ b/packages/saleor/src/cart/use-cart.tsx
@@ -1,10 +1,10 @@
import { useMemo } from 'react'
-import useCommerceCart, { UseCart } from '@commerce/cart/use-cart'
+import useCommerceCart, { UseCart } from '@vercel/commerce/cart/use-cart'
-import { SWRHook } from '@commerce/utils/types'
+import { SWRHook } from '@vercel/commerce/utils/types'
import { checkoutCreate, checkoutToCart, getCheckoutId } from '../utils'
import * as query from '../utils/queries'
-import { GetCartHook } from '@commerce/types/cart'
+import { GetCartHook } from '@vercel/commerce/types/cart'
export default useCommerceCart as UseCart
diff --git a/framework/saleor/cart/use-remove-item.tsx b/packages/saleor/src/cart/use-remove-item.tsx
similarity index 85%
rename from framework/saleor/cart/use-remove-item.tsx
rename to packages/saleor/src/cart/use-remove-item.tsx
index 17be31e0c..09d1acab7 100644
--- a/framework/saleor/cart/use-remove-item.tsx
+++ b/packages/saleor/src/cart/use-remove-item.tsx
@@ -1,10 +1,10 @@
import { useCallback } from 'react'
-import type { MutationHookContext, HookFetcherContext, MutationHook } from '@commerce/utils/types'
-import useRemoveItem, { UseRemoveItem } from '@commerce/cart/use-remove-item'
+import type { MutationHookContext, HookFetcherContext, MutationHook } from '@vercel/commerce/utils/types'
+import useRemoveItem, { UseRemoveItem } from '@vercel/commerce/cart/use-remove-item'
import useCart from './use-cart'
import * as mutation from '../utils/mutations'
import { getCheckoutId, checkoutToCart } from '../utils'
-import { Mutation, MutationCheckoutLineDeleteArgs } from '../schema'
+import { Mutation, MutationCheckoutLineDeleteArgs } from '../../schema'
import { LineItem, RemoveItemHook } from '../types/cart'
export default useRemoveItem as UseRemoveItem
diff --git a/framework/saleor/cart/use-update-item.tsx b/packages/saleor/src/cart/use-update-item.tsx
similarity index 89%
rename from framework/saleor/cart/use-update-item.tsx
rename to packages/saleor/src/cart/use-update-item.tsx
index bd596132d..ffca9b2f8 100644
--- a/framework/saleor/cart/use-update-item.tsx
+++ b/packages/saleor/src/cart/use-update-item.tsx
@@ -1,15 +1,15 @@
import { useCallback } from 'react'
import debounce from 'lodash.debounce'
-import type { HookFetcherContext, MutationHookContext } from '@commerce/utils/types'
-import { ValidationError } from '@commerce/utils/errors'
-import useUpdateItem, { UseUpdateItem } from '@commerce/cart/use-update-item'
+import type { HookFetcherContext, MutationHookContext } from '@vercel/commerce/utils/types'
+import { ValidationError } from '@vercel/commerce/utils/errors'
+import useUpdateItem, { UseUpdateItem } from '@vercel/commerce/cart/use-update-item'
import useCart from './use-cart'
import { handler as removeItemHandler } from './use-remove-item'
import type { LineItem } from '../types'
import { checkoutToCart } from '../utils'
import { getCheckoutId } from '../utils'
-import { Mutation, MutationCheckoutLinesUpdateArgs } from '../schema'
+import { Mutation, MutationCheckoutLinesUpdateArgs } from '../../schema'
import * as mutation from '../utils/mutations'
diff --git a/framework/shopify/checkout/use-checkout.tsx b/packages/saleor/src/checkout/use-checkout.tsx
similarity index 64%
rename from framework/shopify/checkout/use-checkout.tsx
rename to packages/saleor/src/checkout/use-checkout.tsx
index 942f85b83..cab52bb60 100644
--- a/framework/shopify/checkout/use-checkout.tsx
+++ b/packages/saleor/src/checkout/use-checkout.tsx
@@ -1,5 +1,5 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCheckout, { UseCheckout } from '@commerce/checkout/use-checkout'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCheckout, { UseCheckout } from '@vercel/commerce/checkout/use-checkout'
export default useCheckout as UseCheckout
diff --git a/framework/saleor/commerce.config.json b/packages/saleor/src/commerce.config.json
similarity index 100%
rename from framework/saleor/commerce.config.json
rename to packages/saleor/src/commerce.config.json
diff --git a/framework/saleor/const.ts b/packages/saleor/src/const.ts
similarity index 100%
rename from framework/saleor/const.ts
rename to packages/saleor/src/const.ts
diff --git a/packages/saleor/src/customer/address/use-add-item.tsx b/packages/saleor/src/customer/address/use-add-item.tsx
new file mode 100644
index 000000000..fabd11b1d
--- /dev/null
+++ b/packages/saleor/src/customer/address/use-add-item.tsx
@@ -0,0 +1,15 @@
+import useAddItem, { UseAddItem } from '@vercel/commerce/customer/address/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+
+export default useAddItem as UseAddItem
+
+export const handler: MutationHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ fetch }) =>
+ () =>
+ async () => ({}),
+}
diff --git a/framework/local/customer/card/use-add-item.tsx b/packages/saleor/src/customer/card/use-add-item.tsx
similarity index 63%
rename from framework/local/customer/card/use-add-item.tsx
rename to packages/saleor/src/customer/card/use-add-item.tsx
index 7e3afa9c5..938e6cd61 100644
--- a/framework/local/customer/card/use-add-item.tsx
+++ b/packages/saleor/src/customer/card/use-add-item.tsx
@@ -1,5 +1,5 @@
-import useAddItem, { UseAddItem } from '@commerce/customer/card/use-add-item'
-import { MutationHook } from '@commerce/utils/types'
+import useAddItem, { UseAddItem } from '@vercel/commerce/customer/card/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
export default useAddItem as UseAddItem
diff --git a/framework/saleor/customer/index.ts b/packages/saleor/src/customer/index.ts
similarity index 100%
rename from framework/saleor/customer/index.ts
rename to packages/saleor/src/customer/index.ts
diff --git a/framework/saleor/customer/use-customer.tsx b/packages/saleor/src/customer/use-customer.tsx
similarity index 73%
rename from framework/saleor/customer/use-customer.tsx
rename to packages/saleor/src/customer/use-customer.tsx
index 1e0e63d5a..841793886 100644
--- a/framework/saleor/customer/use-customer.tsx
+++ b/packages/saleor/src/customer/use-customer.tsx
@@ -1,6 +1,6 @@
-import useCustomer, { UseCustomer } from '@commerce/customer/use-customer'
-import { CustomerHook } from '@commerce/types/customer'
-import { SWRHook } from '@commerce/utils/types'
+import useCustomer, { UseCustomer } from '@vercel/commerce/customer/use-customer'
+import { CustomerHook } from '@vercel/commerce/types/customer'
+import { SWRHook } from '@vercel/commerce/utils/types'
import * as query from '../utils/queries'
diff --git a/framework/saleor/fetcher.ts b/packages/saleor/src/fetcher.ts
similarity index 89%
rename from framework/saleor/fetcher.ts
rename to packages/saleor/src/fetcher.ts
index 9d3c0bf89..c1be921c5 100644
--- a/framework/saleor/fetcher.ts
+++ b/packages/saleor/src/fetcher.ts
@@ -1,4 +1,4 @@
-import { Fetcher } from '@commerce/utils/types'
+import { Fetcher } from '@vercel/commerce/utils/types'
import { API_URL } from './const'
import { getToken, handleFetchResponse } from './utils'
diff --git a/framework/saleor/index.tsx b/packages/saleor/src/index.tsx
similarity index 93%
rename from framework/saleor/index.tsx
rename to packages/saleor/src/index.tsx
index 0fa217943..cf9aaf6e8 100644
--- a/framework/saleor/index.tsx
+++ b/packages/saleor/src/index.tsx
@@ -1,4 +1,4 @@
-import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
+import { getCommerceProvider, useCommerce as useCoreCommerce } from '@vercel/commerce'
import { saleorProvider, SaleorProvider } from './provider'
export { saleorProvider }
diff --git a/framework/saleor/next.config.js b/packages/saleor/src/next.config.cjs
similarity index 100%
rename from framework/saleor/next.config.js
rename to packages/saleor/src/next.config.cjs
diff --git a/packages/saleor/src/product/use-price.tsx b/packages/saleor/src/product/use-price.tsx
new file mode 100644
index 000000000..fd42d7033
--- /dev/null
+++ b/packages/saleor/src/product/use-price.tsx
@@ -0,0 +1,2 @@
+export * from '@vercel/commerce/product/use-price'
+export { default } from '@vercel/commerce/product/use-price'
diff --git a/framework/saleor/product/use-search.tsx b/packages/saleor/src/product/use-search.tsx
similarity index 84%
rename from framework/saleor/product/use-search.tsx
rename to packages/saleor/src/product/use-search.tsx
index cc763c4b7..69212cba1 100644
--- a/framework/saleor/product/use-search.tsx
+++ b/packages/saleor/src/product/use-search.tsx
@@ -1,12 +1,12 @@
-import { SWRHook } from '@commerce/utils/types'
-import { Product } from '@commerce/types/product'
-import useSearch, { UseSearch } from '@commerce/product/use-search'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import { Product } from '@vercel/commerce/types/product'
+import useSearch, { UseSearch } from '@vercel/commerce/product/use-search'
-import { ProductCountableEdge } from '../schema'
+import { ProductCountableEdge } from '../../schema'
import { getSearchVariables, normalizeProduct } from '../utils'
import * as query from '../utils/queries'
-import { SearchProductsHook } from '@commerce/types/product'
+import { SearchProductsHook } from '@vercel/commerce/types/product'
export default useSearch as UseSearch
diff --git a/framework/saleor/provider.ts b/packages/saleor/src/provider.ts
similarity index 100%
rename from framework/saleor/provider.ts
rename to packages/saleor/src/provider.ts
diff --git a/framework/saleor/types.ts b/packages/saleor/src/types.ts
similarity index 90%
rename from framework/saleor/types.ts
rename to packages/saleor/src/types.ts
index 2025b8898..1bbf94cf3 100644
--- a/framework/saleor/types.ts
+++ b/packages/saleor/src/types.ts
@@ -1,5 +1,5 @@
-import type { Cart as CoreCart } from '@commerce/types'
-import { CheckoutLine } from './schema'
+import type { Cart as CoreCart } from '@vercel/commerce/types'
+import { CheckoutLine } from '../schema'
export type SaleorCheckout = {
id: string
diff --git a/framework/saleor/types/cart.ts b/packages/saleor/src/types/cart.ts
similarity index 88%
rename from framework/saleor/types/cart.ts
rename to packages/saleor/src/types/cart.ts
index 1f4ba61df..9a4d29387 100644
--- a/framework/saleor/types/cart.ts
+++ b/packages/saleor/src/types/cart.ts
@@ -1,6 +1,6 @@
-import * as Core from '@commerce/types/cart'
+import * as Core from '@vercel/commerce/types/cart'
-export * from '@commerce/types/cart'
+export * from '@vercel/commerce/types/cart'
export type SaleorCart = {}
diff --git a/framework/saleor/utils/checkout-attach.ts b/packages/saleor/src/utils/checkout-attach.ts
similarity index 83%
rename from framework/saleor/utils/checkout-attach.ts
rename to packages/saleor/src/utils/checkout-attach.ts
index 476c73e77..c7ab44ab0 100644
--- a/framework/saleor/utils/checkout-attach.ts
+++ b/packages/saleor/src/utils/checkout-attach.ts
@@ -1,5 +1,5 @@
import * as mutation from './mutations'
-import { CheckoutCustomerAttach } from '../schema'
+import { CheckoutCustomerAttach } from '../../schema'
export const checkoutAttach = async (fetch: any, { variables, headers }: any): Promise => {
const data = await fetch({
diff --git a/framework/saleor/utils/checkout-create.ts b/packages/saleor/src/utils/checkout-create.ts
similarity index 85%
rename from framework/saleor/utils/checkout-create.ts
rename to packages/saleor/src/utils/checkout-create.ts
index c1b6e4023..0e86c1335 100644
--- a/framework/saleor/utils/checkout-create.ts
+++ b/packages/saleor/src/utils/checkout-create.ts
@@ -1,8 +1,8 @@
import Cookies from 'js-cookie'
import * as mutation from './mutations'
-import { CheckoutCreate } from '../schema'
-import { CHECKOUT_ID_COOKIE } from '@framework/const'
+import { CheckoutCreate } from '../../schema'
+import { CHECKOUT_ID_COOKIE } from '../const'
export const checkoutCreate = async (fetch: any): Promise => {
const data = await fetch({ query: mutation.CheckoutCreate })
diff --git a/framework/saleor/utils/checkout-to-cart.ts b/packages/saleor/src/utils/checkout-to-cart.ts
similarity index 91%
rename from framework/saleor/utils/checkout-to-cart.ts
rename to packages/saleor/src/utils/checkout-to-cart.ts
index 0bfcf6ed9..4c228adea 100644
--- a/framework/saleor/utils/checkout-to-cart.ts
+++ b/packages/saleor/src/utils/checkout-to-cart.ts
@@ -1,5 +1,5 @@
import { Cart } from '../types'
-import { CommerceError } from '@commerce/utils/errors'
+import { CommerceError } from '@vercel/commerce/utils/errors'
import {
CheckoutLinesAdd,
@@ -9,7 +9,7 @@ import {
Checkout,
Maybe,
CheckoutLineDelete,
-} from '../schema'
+} from '../../schema'
import { normalizeCart } from './normalize'
import throwUserErrors from './throw-user-errors'
diff --git a/framework/saleor/utils/customer-token.ts b/packages/saleor/src/utils/customer-token.ts
similarity index 100%
rename from framework/saleor/utils/customer-token.ts
rename to packages/saleor/src/utils/customer-token.ts
diff --git a/framework/saleor/utils/fragments/checkout-details.ts b/packages/saleor/src/utils/fragments/checkout-details.ts
similarity index 100%
rename from framework/saleor/utils/fragments/checkout-details.ts
rename to packages/saleor/src/utils/fragments/checkout-details.ts
diff --git a/framework/saleor/utils/fragments/index.ts b/packages/saleor/src/utils/fragments/index.ts
similarity index 100%
rename from framework/saleor/utils/fragments/index.ts
rename to packages/saleor/src/utils/fragments/index.ts
diff --git a/framework/saleor/utils/fragments/product.ts b/packages/saleor/src/utils/fragments/product.ts
similarity index 100%
rename from framework/saleor/utils/fragments/product.ts
rename to packages/saleor/src/utils/fragments/product.ts
diff --git a/framework/saleor/utils/get-categories.ts b/packages/saleor/src/utils/get-categories.ts
similarity index 81%
rename from framework/saleor/utils/get-categories.ts
rename to packages/saleor/src/utils/get-categories.ts
index 990c0a404..e2cc72533 100644
--- a/framework/saleor/utils/get-categories.ts
+++ b/packages/saleor/src/utils/get-categories.ts
@@ -1,6 +1,6 @@
-import { Category } from '@commerce/types/site'
+import { Category } from '@vercel/commerce/types/site'
import { SaleorConfig } from '../api'
-import { CollectionCountableEdge } from '../schema'
+import { CollectionCountableEdge } from '../../schema'
import * as query from './queries'
const getCategories = async (config: SaleorConfig): Promise => {
diff --git a/framework/saleor/utils/get-checkout-id.ts b/packages/saleor/src/utils/get-checkout-id.ts
similarity index 100%
rename from framework/saleor/utils/get-checkout-id.ts
rename to packages/saleor/src/utils/get-checkout-id.ts
diff --git a/framework/saleor/utils/get-search-variables.ts b/packages/saleor/src/utils/get-search-variables.ts
similarity index 100%
rename from framework/saleor/utils/get-search-variables.ts
rename to packages/saleor/src/utils/get-search-variables.ts
diff --git a/framework/saleor/utils/get-sort-variables.ts b/packages/saleor/src/utils/get-sort-variables.ts
similarity index 100%
rename from framework/saleor/utils/get-sort-variables.ts
rename to packages/saleor/src/utils/get-sort-variables.ts
diff --git a/framework/saleor/utils/get-vendors.ts b/packages/saleor/src/utils/get-vendors.ts
similarity index 100%
rename from framework/saleor/utils/get-vendors.ts
rename to packages/saleor/src/utils/get-vendors.ts
diff --git a/framework/saleor/utils/handle-fetch-response.ts b/packages/saleor/src/utils/handle-fetch-response.ts
similarity index 90%
rename from framework/saleor/utils/handle-fetch-response.ts
rename to packages/saleor/src/utils/handle-fetch-response.ts
index 6a2b5f57b..33fe15c17 100644
--- a/framework/saleor/utils/handle-fetch-response.ts
+++ b/packages/saleor/src/utils/handle-fetch-response.ts
@@ -1,4 +1,4 @@
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
export function getError(errors: any[], status: number) {
errors = errors ?? [{ message: 'Failed to fetch Saleor API' }]
diff --git a/framework/saleor/utils/handle-login.ts b/packages/saleor/src/utils/handle-login.ts
similarity index 91%
rename from framework/saleor/utils/handle-login.ts
rename to packages/saleor/src/utils/handle-login.ts
index 4ef390174..b1beaeda9 100644
--- a/framework/saleor/utils/handle-login.ts
+++ b/packages/saleor/src/utils/handle-login.ts
@@ -1,5 +1,5 @@
-import { FetcherOptions } from '@commerce/utils/types'
-import { CreateToken, Mutation, MutationTokenCreateArgs } from '../schema'
+import { FetcherOptions } from '@vercel/commerce/utils/types'
+import { CreateToken, Mutation, MutationTokenCreateArgs } from '../../schema'
import { setToken, setCSRFToken } from './customer-token'
import * as mutation from './mutations'
import throwUserErrors from './throw-user-errors'
diff --git a/framework/saleor/utils/index.ts b/packages/saleor/src/utils/index.ts
similarity index 100%
rename from framework/saleor/utils/index.ts
rename to packages/saleor/src/utils/index.ts
diff --git a/framework/saleor/utils/mutations/account-create.ts b/packages/saleor/src/utils/mutations/account-create.ts
similarity index 100%
rename from framework/saleor/utils/mutations/account-create.ts
rename to packages/saleor/src/utils/mutations/account-create.ts
diff --git a/framework/saleor/utils/mutations/checkout-attach.ts b/packages/saleor/src/utils/mutations/checkout-attach.ts
similarity index 100%
rename from framework/saleor/utils/mutations/checkout-attach.ts
rename to packages/saleor/src/utils/mutations/checkout-attach.ts
diff --git a/framework/saleor/utils/mutations/checkout-create.ts b/packages/saleor/src/utils/mutations/checkout-create.ts
similarity index 100%
rename from framework/saleor/utils/mutations/checkout-create.ts
rename to packages/saleor/src/utils/mutations/checkout-create.ts
diff --git a/framework/saleor/utils/mutations/checkout-line-add.ts b/packages/saleor/src/utils/mutations/checkout-line-add.ts
similarity index 100%
rename from framework/saleor/utils/mutations/checkout-line-add.ts
rename to packages/saleor/src/utils/mutations/checkout-line-add.ts
diff --git a/framework/saleor/utils/mutations/checkout-line-remove.ts b/packages/saleor/src/utils/mutations/checkout-line-remove.ts
similarity index 100%
rename from framework/saleor/utils/mutations/checkout-line-remove.ts
rename to packages/saleor/src/utils/mutations/checkout-line-remove.ts
diff --git a/framework/saleor/utils/mutations/checkout-line-update.ts b/packages/saleor/src/utils/mutations/checkout-line-update.ts
similarity index 100%
rename from framework/saleor/utils/mutations/checkout-line-update.ts
rename to packages/saleor/src/utils/mutations/checkout-line-update.ts
diff --git a/framework/saleor/utils/mutations/index.ts b/packages/saleor/src/utils/mutations/index.ts
similarity index 100%
rename from framework/saleor/utils/mutations/index.ts
rename to packages/saleor/src/utils/mutations/index.ts
diff --git a/framework/saleor/utils/mutations/session-create.ts b/packages/saleor/src/utils/mutations/session-create.ts
similarity index 100%
rename from framework/saleor/utils/mutations/session-create.ts
rename to packages/saleor/src/utils/mutations/session-create.ts
diff --git a/framework/saleor/utils/mutations/session-destroy.ts b/packages/saleor/src/utils/mutations/session-destroy.ts
similarity index 100%
rename from framework/saleor/utils/mutations/session-destroy.ts
rename to packages/saleor/src/utils/mutations/session-destroy.ts
diff --git a/framework/saleor/utils/normalize.ts b/packages/saleor/src/utils/normalize.ts
similarity index 97%
rename from framework/saleor/utils/normalize.ts
rename to packages/saleor/src/utils/normalize.ts
index 56091db15..a4ff4b52c 100644
--- a/framework/saleor/utils/normalize.ts
+++ b/packages/saleor/src/utils/normalize.ts
@@ -1,6 +1,6 @@
-import { Product } from '@commerce/types/product'
+import { Product } from '@vercel/commerce/types/product'
-import { Product as SaleorProduct, Checkout, CheckoutLine, Money, ProductVariant } from '../schema'
+import { Product as SaleorProduct, Checkout, CheckoutLine, Money, ProductVariant } from '../../schema'
import type { Cart, LineItem } from '../types'
diff --git a/framework/saleor/utils/queries/checkout-one.ts b/packages/saleor/src/utils/queries/checkout-one.ts
similarity index 100%
rename from framework/saleor/utils/queries/checkout-one.ts
rename to packages/saleor/src/utils/queries/checkout-one.ts
diff --git a/framework/saleor/utils/queries/collection-many.ts b/packages/saleor/src/utils/queries/collection-many.ts
similarity index 100%
rename from framework/saleor/utils/queries/collection-many.ts
rename to packages/saleor/src/utils/queries/collection-many.ts
diff --git a/framework/saleor/utils/queries/collection-one.ts b/packages/saleor/src/utils/queries/collection-one.ts
similarity index 100%
rename from framework/saleor/utils/queries/collection-one.ts
rename to packages/saleor/src/utils/queries/collection-one.ts
diff --git a/framework/saleor/utils/queries/customer-current.ts b/packages/saleor/src/utils/queries/customer-current.ts
similarity index 100%
rename from framework/saleor/utils/queries/customer-current.ts
rename to packages/saleor/src/utils/queries/customer-current.ts
diff --git a/framework/saleor/utils/queries/customer-one.ts b/packages/saleor/src/utils/queries/customer-one.ts
similarity index 100%
rename from framework/saleor/utils/queries/customer-one.ts
rename to packages/saleor/src/utils/queries/customer-one.ts
diff --git a/framework/saleor/utils/queries/get-all-product-vendors-query.ts b/packages/saleor/src/utils/queries/get-all-product-vendors-query.ts
similarity index 100%
rename from framework/saleor/utils/queries/get-all-product-vendors-query.ts
rename to packages/saleor/src/utils/queries/get-all-product-vendors-query.ts
diff --git a/framework/saleor/utils/queries/get-all-products-paths-query.ts b/packages/saleor/src/utils/queries/get-all-products-paths-query.ts
similarity index 100%
rename from framework/saleor/utils/queries/get-all-products-paths-query.ts
rename to packages/saleor/src/utils/queries/get-all-products-paths-query.ts
diff --git a/framework/saleor/utils/queries/index.ts b/packages/saleor/src/utils/queries/index.ts
similarity index 100%
rename from framework/saleor/utils/queries/index.ts
rename to packages/saleor/src/utils/queries/index.ts
diff --git a/framework/saleor/utils/queries/page-many.ts b/packages/saleor/src/utils/queries/page-many.ts
similarity index 100%
rename from framework/saleor/utils/queries/page-many.ts
rename to packages/saleor/src/utils/queries/page-many.ts
diff --git a/framework/saleor/utils/queries/page-one.ts b/packages/saleor/src/utils/queries/page-one.ts
similarity index 100%
rename from framework/saleor/utils/queries/page-one.ts
rename to packages/saleor/src/utils/queries/page-one.ts
diff --git a/framework/saleor/utils/queries/product-many.ts b/packages/saleor/src/utils/queries/product-many.ts
similarity index 100%
rename from framework/saleor/utils/queries/product-many.ts
rename to packages/saleor/src/utils/queries/product-many.ts
diff --git a/framework/saleor/utils/queries/product-one-by-slug.ts b/packages/saleor/src/utils/queries/product-one-by-slug.ts
similarity index 100%
rename from framework/saleor/utils/queries/product-one-by-slug.ts
rename to packages/saleor/src/utils/queries/product-one-by-slug.ts
diff --git a/framework/saleor/utils/throw-user-errors.ts b/packages/saleor/src/utils/throw-user-errors.ts
similarity index 83%
rename from framework/saleor/utils/throw-user-errors.ts
rename to packages/saleor/src/utils/throw-user-errors.ts
index 2991d78a6..59345e748 100644
--- a/framework/saleor/utils/throw-user-errors.ts
+++ b/packages/saleor/src/utils/throw-user-errors.ts
@@ -1,6 +1,6 @@
-import { ValidationError } from '@commerce/utils/errors'
+import { ValidationError } from '@vercel/commerce/utils/errors'
-import { CheckoutError, CheckoutErrorCode, AppError, AccountError, AccountErrorCode } from '../schema'
+import { CheckoutError, CheckoutErrorCode, AppError, AccountError, AccountErrorCode } from '../../schema'
export type UserErrors = Array
diff --git a/framework/saleor/wishlist/use-add-item.tsx b/packages/saleor/src/wishlist/use-add-item.tsx
similarity index 100%
rename from framework/saleor/wishlist/use-add-item.tsx
rename to packages/saleor/src/wishlist/use-add-item.tsx
diff --git a/framework/saleor/wishlist/use-remove-item.tsx b/packages/saleor/src/wishlist/use-remove-item.tsx
similarity index 100%
rename from framework/saleor/wishlist/use-remove-item.tsx
rename to packages/saleor/src/wishlist/use-remove-item.tsx
diff --git a/framework/saleor/wishlist/use-wishlist.tsx b/packages/saleor/src/wishlist/use-wishlist.tsx
similarity index 90%
rename from framework/saleor/wishlist/use-wishlist.tsx
rename to packages/saleor/src/wishlist/use-wishlist.tsx
index cdd9a643d..56e7ea0e7 100644
--- a/framework/saleor/wishlist/use-wishlist.tsx
+++ b/packages/saleor/src/wishlist/use-wishlist.tsx
@@ -1,8 +1,8 @@
// TODO: replace this hook and other wishlist hooks with a handler, or remove them if
// Saleor doesn't have a wishlist
-import { HookFetcher } from '@commerce/utils/types'
-import { Product } from '../schema'
+import { HookFetcher } from '@vercel/commerce/utils/types'
+import { Product } from '../../schema'
const defaultOpts = {}
diff --git a/packages/saleor/taskfile.js b/packages/saleor/taskfile.js
new file mode 100644
index 000000000..39b1b2a86
--- /dev/null
+++ b/packages/saleor/taskfile.js
@@ -0,0 +1,20 @@
+export async function build(task, opts) {
+ await task
+ .source('src/**/*.+(ts|tsx|js)')
+ .swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
+ .target('dist')
+ .source('src/**/*.+(cjs|json)')
+ .target('dist')
+ task.$.log('Compiled src files')
+}
+
+export async function release(task) {
+ await task.clear('dist').start('build')
+}
+
+export default async function dev(task) {
+ const opts = { dev: true }
+ await task.clear('dist')
+ await task.start('build', opts)
+ await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
+}
diff --git a/packages/saleor/tsconfig.json b/packages/saleor/tsconfig.json
new file mode 100644
index 000000000..cd04ab2ff
--- /dev/null
+++ b/packages/saleor/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "outDir": "dist",
+ "baseUrl": "src",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "declaration": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "incremental": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/framework/shopify/.env.template b/packages/shopify/.env.template
similarity index 100%
rename from framework/shopify/.env.template
rename to packages/shopify/.env.template
diff --git a/packages/shopify/.prettierignore b/packages/shopify/.prettierignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/shopify/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/shopify/.prettierrc b/packages/shopify/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/packages/shopify/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/framework/shopify/README.md b/packages/shopify/README.md
similarity index 98%
rename from framework/shopify/README.md
rename to packages/shopify/README.md
index 82d90fc55..15a6e1f11 100644
--- a/framework/shopify/README.md
+++ b/packages/shopify/README.md
@@ -7,7 +7,7 @@ Before getting started, a [Shopify](https://www.shopify.com/) account and store
Next, copy the `.env.template` file in this directory to `.env.local` in the main directory (which will be ignored by Git):
```bash
-cp framework/shopify/.env.template .env.local
+cp packages/shopify/.env.template .env.local
```
Then, set the environment variables in `.env.local` to match the ones from your store.
diff --git a/framework/shopify/codegen.json b/packages/shopify/codegen.json
similarity index 81%
rename from framework/shopify/codegen.json
rename to packages/shopify/codegen.json
index 9d7dcf8a9..4b1dd2087 100644
--- a/framework/shopify/codegen.json
+++ b/packages/shopify/codegen.json
@@ -8,13 +8,13 @@
},
"documents": [
{
- "./framework/shopify/**/*.{ts,tsx}": {
+ "./src/**/*.{ts,tsx}": {
"noRequire": true
}
}
],
"generates": {
- "./framework/shopify/schema.d.ts": {
+ "./schema.d.ts": {
"plugins": ["typescript", "typescript-operations"],
"config": {
"scalars": {
@@ -22,7 +22,7 @@
}
}
},
- "./framework/shopify/schema.graphql": {
+ "./schema.graphql": {
"plugins": ["schema-ast"]
}
},
diff --git a/packages/shopify/package.json b/packages/shopify/package.json
new file mode 100644
index 000000000..a98e3b507
--- /dev/null
+++ b/packages/shopify/package.json
@@ -0,0 +1,86 @@
+{
+ "name": "@vercel/commerce-shopify",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "release": "taskr release",
+ "build": "taskr build",
+ "dev": "taskr",
+ "types": "tsc --emitDeclarationOnly",
+ "prettier-fix": "prettier --write .",
+ "generate": "DOTENV_CONFIG_PATH=./.env graphql-codegen -r dotenv/config"
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": "./dist/index.js",
+ "./*": [
+ "./dist/*.js",
+ "./dist/*/index.js"
+ ],
+ "./next.config": "./dist/next.config.cjs"
+ },
+ "typesVersions": {
+ "*": {
+ "*": [
+ "src/*",
+ "src/*/index"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ },
+ "files": [
+ "dist",
+ "schema.d.ts"
+ ],
+ "publishConfig": {
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/*.d.ts",
+ "dist/*/index.d.ts"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ }
+ },
+ "dependencies": {
+ "@vercel/commerce": "^0.0.1",
+ "@vercel/fetch": "^6.1.1"
+ },
+ "peerDependencies": {
+ "next": "^12",
+ "react": "^17",
+ "react-dom": "^17"
+ },
+ "devDependencies": {
+ "@graphql-codegen/cli": "^2.3.1",
+ "@graphql-codegen/schema-ast": "^2.4.1",
+ "@graphql-codegen/typescript": "^2.4.2",
+ "@graphql-codegen/typescript-operations": "^2.2.2",
+ "@taskr/clear": "^1.1.0",
+ "@taskr/esnext": "^1.1.0",
+ "@taskr/watch": "^1.1.0",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "dotenv": "^12.0.3",
+ "lint-staged": "^12.1.7",
+ "next": "^12.0.8",
+ "prettier": "^2.5.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "taskr": "^1.1.0",
+ "taskr-swc": "^0.0.1",
+ "typescript": "^4.5.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ }
+}
diff --git a/framework/shopify/schema.d.ts b/packages/shopify/schema.d.ts
similarity index 100%
rename from framework/shopify/schema.d.ts
rename to packages/shopify/schema.d.ts
diff --git a/framework/shopify/schema.graphql b/packages/shopify/schema.graphql
similarity index 100%
rename from framework/shopify/schema.graphql
rename to packages/shopify/schema.graphql
diff --git a/framework/shopify/api/endpoints/cart.ts b/packages/shopify/src/api/endpoints/cart.ts
similarity index 100%
rename from framework/shopify/api/endpoints/cart.ts
rename to packages/shopify/src/api/endpoints/cart.ts
diff --git a/framework/shopify/api/endpoints/catalog/products.ts b/packages/shopify/src/api/endpoints/catalog/products.ts
similarity index 100%
rename from framework/shopify/api/endpoints/catalog/products.ts
rename to packages/shopify/src/api/endpoints/catalog/products.ts
diff --git a/framework/shopify/api/endpoints/checkout/get-checkout.ts b/packages/shopify/src/api/endpoints/checkout/get-checkout.ts
similarity index 100%
rename from framework/shopify/api/endpoints/checkout/get-checkout.ts
rename to packages/shopify/src/api/endpoints/checkout/get-checkout.ts
diff --git a/framework/shopify/api/endpoints/checkout/index.ts b/packages/shopify/src/api/endpoints/checkout/index.ts
similarity index 76%
rename from framework/shopify/api/endpoints/checkout/index.ts
rename to packages/shopify/src/api/endpoints/checkout/index.ts
index 863564697..64020810d 100644
--- a/framework/shopify/api/endpoints/checkout/index.ts
+++ b/packages/shopify/src/api/endpoints/checkout/index.ts
@@ -1,5 +1,5 @@
-import { GetAPISchema, createEndpoint } from '@commerce/api'
-import checkoutEndpoint from '@commerce/api/endpoints/checkout'
+import { GetAPISchema, createEndpoint } from '@vercel/commerce/api'
+import checkoutEndpoint from '@vercel/commerce/api/endpoints/checkout'
import type { CheckoutSchema } from '../../../types/checkout'
import type { ShopifyAPI } from '../..'
import getCheckout from './get-checkout'
diff --git a/framework/shopify/api/endpoints/customer/address.ts b/packages/shopify/src/api/endpoints/customer/address.ts
similarity index 100%
rename from framework/shopify/api/endpoints/customer/address.ts
rename to packages/shopify/src/api/endpoints/customer/address.ts
diff --git a/framework/shopify/api/endpoints/customer/card.ts b/packages/shopify/src/api/endpoints/customer/card.ts
similarity index 100%
rename from framework/shopify/api/endpoints/customer/card.ts
rename to packages/shopify/src/api/endpoints/customer/card.ts
diff --git a/framework/shopify/api/endpoints/customer/index.ts b/packages/shopify/src/api/endpoints/customer/index.ts
similarity index 100%
rename from framework/shopify/api/endpoints/customer/index.ts
rename to packages/shopify/src/api/endpoints/customer/index.ts
diff --git a/framework/shopify/api/endpoints/login.ts b/packages/shopify/src/api/endpoints/login.ts
similarity index 100%
rename from framework/shopify/api/endpoints/login.ts
rename to packages/shopify/src/api/endpoints/login.ts
diff --git a/framework/shopify/api/endpoints/logout.ts b/packages/shopify/src/api/endpoints/logout.ts
similarity index 100%
rename from framework/shopify/api/endpoints/logout.ts
rename to packages/shopify/src/api/endpoints/logout.ts
diff --git a/framework/shopify/api/endpoints/signup.ts b/packages/shopify/src/api/endpoints/signup.ts
similarity index 100%
rename from framework/shopify/api/endpoints/signup.ts
rename to packages/shopify/src/api/endpoints/signup.ts
diff --git a/framework/shopify/api/endpoints/wishlist.ts b/packages/shopify/src/api/endpoints/wishlist.ts
similarity index 100%
rename from framework/shopify/api/endpoints/wishlist.ts
rename to packages/shopify/src/api/endpoints/wishlist.ts
diff --git a/framework/shopify/api/index.ts b/packages/shopify/src/api/index.ts
similarity index 97%
rename from framework/shopify/api/index.ts
rename to packages/shopify/src/api/index.ts
index 28c7d34b3..7ae6a4206 100644
--- a/framework/shopify/api/index.ts
+++ b/packages/shopify/src/api/index.ts
@@ -2,7 +2,7 @@ import {
CommerceAPI,
CommerceAPIConfig,
getCommerceApi as commerceApi,
-} from '@commerce/api'
+} from '@vercel/commerce/api'
import {
API_URL,
diff --git a/framework/shopify/api/operations/get-all-pages.ts b/packages/shopify/src/api/operations/get-all-pages.ts
similarity index 96%
rename from framework/shopify/api/operations/get-all-pages.ts
rename to packages/shopify/src/api/operations/get-all-pages.ts
index 38285ccca..2f6cc0916 100644
--- a/framework/shopify/api/operations/get-all-pages.ts
+++ b/packages/shopify/src/api/operations/get-all-pages.ts
@@ -1,12 +1,12 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import {
GetAllPagesQuery,
GetAllPagesQueryVariables,
PageEdge,
-} from '../../schema'
+} from '../../../schema'
import { normalizePages } from '../../utils'
import type { ShopifyConfig, Provider } from '..'
import type { GetAllPagesOperation, Page } from '../../types/page'
diff --git a/framework/shopify/api/operations/get-all-product-paths.ts b/packages/shopify/src/api/operations/get-all-product-paths.ts
similarity index 95%
rename from framework/shopify/api/operations/get-all-product-paths.ts
rename to packages/shopify/src/api/operations/get-all-product-paths.ts
index c84f8c90a..e5a7d2d8e 100644
--- a/framework/shopify/api/operations/get-all-product-paths.ts
+++ b/packages/shopify/src/api/operations/get-all-product-paths.ts
@@ -1,13 +1,13 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import { GetAllProductPathsOperation } from '../../types/product'
import {
GetAllProductPathsQuery,
GetAllProductPathsQueryVariables,
ProductEdge,
-} from '../../schema'
+} from '../../../schema'
import type { ShopifyConfig, Provider } from '..'
import { getAllProductsQuery } from '../../utils'
diff --git a/framework/shopify/api/operations/get-all-products.ts b/packages/shopify/src/api/operations/get-all-products.ts
similarity index 96%
rename from framework/shopify/api/operations/get-all-products.ts
rename to packages/shopify/src/api/operations/get-all-products.ts
index 08d781d5c..003e27204 100644
--- a/framework/shopify/api/operations/get-all-products.ts
+++ b/packages/shopify/src/api/operations/get-all-products.ts
@@ -1,13 +1,13 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import { GetAllProductsOperation } from '../../types/product'
import {
GetAllProductsQuery,
GetAllProductsQueryVariables,
Product as ShopifyProduct,
-} from '../../schema'
+} from '../../../schema'
import type { ShopifyConfig, Provider } from '..'
import getAllProductsQuery from '../../utils/queries/get-all-products-query'
import { normalizeProduct } from '../../utils'
diff --git a/framework/shopify/api/operations/get-page.ts b/packages/shopify/src/api/operations/get-page.ts
similarity index 95%
rename from framework/shopify/api/operations/get-page.ts
rename to packages/shopify/src/api/operations/get-page.ts
index 023ebeeb7..2cea52194 100644
--- a/framework/shopify/api/operations/get-page.ts
+++ b/packages/shopify/src/api/operations/get-page.ts
@@ -1,14 +1,14 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import { normalizePage } from '../../utils'
import type { ShopifyConfig, Provider } from '..'
import {
GetPageQuery,
GetPageQueryVariables,
Page as ShopifyPage,
-} from '../../schema'
+} from '../../../schema'
import { GetPageOperation } from '../../types/page'
import getPageQuery from '../../utils/queries/get-page-query'
diff --git a/framework/shopify/api/operations/get-product.ts b/packages/shopify/src/api/operations/get-product.ts
similarity index 91%
rename from framework/shopify/api/operations/get-product.ts
rename to packages/shopify/src/api/operations/get-product.ts
index 447b5c792..1697b0feb 100644
--- a/framework/shopify/api/operations/get-product.ts
+++ b/packages/shopify/src/api/operations/get-product.ts
@@ -1,11 +1,14 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import { GetProductOperation } from '../../types/product'
import { normalizeProduct, getProductQuery } from '../../utils'
import type { ShopifyConfig, Provider } from '..'
-import { GetProductBySlugQuery, Product as ShopifyProduct } from '../../schema'
+import {
+ GetProductBySlugQuery,
+ Product as ShopifyProduct,
+} from '../../../schema'
export default function getProductOperation({
commerce,
diff --git a/framework/shopify/api/operations/get-site-info.ts b/packages/shopify/src/api/operations/get-site-info.ts
similarity index 93%
rename from framework/shopify/api/operations/get-site-info.ts
rename to packages/shopify/src/api/operations/get-site-info.ts
index 7f51d1d5c..6bb6de4b0 100644
--- a/framework/shopify/api/operations/get-site-info.ts
+++ b/packages/shopify/src/api/operations/get-site-info.ts
@@ -1,8 +1,8 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
-import { GetSiteInfoQueryVariables } from '../../schema'
+} from '@vercel/commerce/api/operations'
+import { GetSiteInfoQueryVariables } from '../../../schema'
import type { ShopifyConfig, Provider } from '..'
import { GetSiteInfoOperation } from '../../types/site'
diff --git a/framework/shopify/api/operations/index.ts b/packages/shopify/src/api/operations/index.ts
similarity index 100%
rename from framework/shopify/api/operations/index.ts
rename to packages/shopify/src/api/operations/index.ts
diff --git a/framework/shopify/api/operations/login.ts b/packages/shopify/src/api/operations/login.ts
similarity index 89%
rename from framework/shopify/api/operations/login.ts
rename to packages/shopify/src/api/operations/login.ts
index 41e837a3f..5fad769bd 100644
--- a/framework/shopify/api/operations/login.ts
+++ b/packages/shopify/src/api/operations/login.ts
@@ -1,5 +1,5 @@
import type { ServerResponse } from 'http'
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type { LoginOperation } from '../../types/login'
import type { ShopifyConfig, Provider } from '..'
import {
@@ -7,7 +7,7 @@ import {
setCustomerToken,
throwUserErrors,
} from '../../utils'
-import { CustomerAccessTokenCreateMutation } from '../../schema'
+import { CustomerAccessTokenCreateMutation } from '../../../schema'
export default function loginOperation({
commerce,
diff --git a/framework/shopify/api/utils/fetch-graphql-api.ts b/packages/shopify/src/api/utils/fetch-graphql-api.ts
similarity index 94%
rename from framework/shopify/api/utils/fetch-graphql-api.ts
rename to packages/shopify/src/api/utils/fetch-graphql-api.ts
index c45d57e70..1970db572 100644
--- a/framework/shopify/api/utils/fetch-graphql-api.ts
+++ b/packages/shopify/src/api/utils/fetch-graphql-api.ts
@@ -1,4 +1,4 @@
-import type { GraphQLFetcher } from '@commerce/api'
+import type { GraphQLFetcher } from '@vercel/commerce/api'
import fetch from './fetch'
import { API_URL, API_TOKEN } from '../../const'
diff --git a/framework/shopify/api/utils/fetch.ts b/packages/shopify/src/api/utils/fetch.ts
similarity index 100%
rename from framework/shopify/api/utils/fetch.ts
rename to packages/shopify/src/api/utils/fetch.ts
diff --git a/framework/shopify/auth/use-login.tsx b/packages/shopify/src/auth/use-login.tsx
similarity index 87%
rename from framework/shopify/auth/use-login.tsx
rename to packages/shopify/src/auth/use-login.tsx
index 449dfa1f6..c9d183e33 100644
--- a/framework/shopify/auth/use-login.tsx
+++ b/packages/shopify/src/auth/use-login.tsx
@@ -1,7 +1,7 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useLogin, { UseLogin } from '@commerce/auth/use-login'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useLogin, { UseLogin } from '@vercel/commerce/auth/use-login'
import type { LoginHook } from '../types/login'
import useCustomer from '../customer/use-customer'
@@ -10,7 +10,7 @@ import {
throwUserErrors,
customerAccessTokenCreateMutation,
} from '../utils'
-import { Mutation, MutationCustomerAccessTokenCreateArgs } from '../schema'
+import { Mutation, MutationCustomerAccessTokenCreateArgs } from '../../schema'
export default useLogin as UseLogin
diff --git a/framework/shopify/auth/use-logout.tsx b/packages/shopify/src/auth/use-logout.tsx
similarity index 87%
rename from framework/shopify/auth/use-logout.tsx
rename to packages/shopify/src/auth/use-logout.tsx
index fdba8df84..c37b0fcc9 100644
--- a/framework/shopify/auth/use-logout.tsx
+++ b/packages/shopify/src/auth/use-logout.tsx
@@ -1,6 +1,6 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import useLogout, { UseLogout } from '@commerce/auth/use-logout'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import useLogout, { UseLogout } from '@vercel/commerce/auth/use-logout'
import type { LogoutHook } from '../types/logout'
import useCustomer from '../customer/use-customer'
import customerAccessTokenDeleteMutation from '../utils/mutations/customer-access-token-delete'
diff --git a/framework/shopify/auth/use-signup.tsx b/packages/shopify/src/auth/use-signup.tsx
similarity index 83%
rename from framework/shopify/auth/use-signup.tsx
rename to packages/shopify/src/auth/use-signup.tsx
index d241c61d8..8af0fec7d 100644
--- a/framework/shopify/auth/use-signup.tsx
+++ b/packages/shopify/src/auth/use-signup.tsx
@@ -1,10 +1,10 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useSignup, { UseSignup } from '@commerce/auth/use-signup'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useSignup, { UseSignup } from '@vercel/commerce/auth/use-signup'
import type { SignupHook } from '../types/signup'
import useCustomer from '../customer/use-customer'
-import { Mutation, MutationCustomerCreateArgs } from '../schema'
+import { Mutation, MutationCustomerCreateArgs } from '../../schema'
import {
handleAutomaticLogin,
diff --git a/framework/shopify/cart/index.ts b/packages/shopify/src/cart/index.ts
similarity index 100%
rename from framework/shopify/cart/index.ts
rename to packages/shopify/src/cart/index.ts
diff --git a/framework/shopify/cart/use-add-item.tsx b/packages/shopify/src/cart/use-add-item.tsx
similarity index 84%
rename from framework/shopify/cart/use-add-item.tsx
rename to packages/shopify/src/cart/use-add-item.tsx
index 367f90e24..5460bd726 100644
--- a/framework/shopify/cart/use-add-item.tsx
+++ b/packages/shopify/src/cart/use-add-item.tsx
@@ -1,7 +1,7 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useAddItem, { UseAddItem } from '@commerce/cart/use-add-item'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useAddItem, { UseAddItem } from '@vercel/commerce/cart/use-add-item'
import type { AddItemHook } from '../types/cart'
import useCart from './use-cart'
@@ -11,7 +11,7 @@ import {
checkoutToCart,
checkoutCreate,
} from '../utils'
-import { Mutation, MutationCheckoutLineItemsAddArgs } from '../schema'
+import { Mutation, MutationCheckoutLineItemsAddArgs } from '../../schema'
export default useAddItem as UseAddItem
diff --git a/framework/shopify/cart/use-cart.tsx b/packages/shopify/src/cart/use-cart.tsx
similarity index 91%
rename from framework/shopify/cart/use-cart.tsx
rename to packages/shopify/src/cart/use-cart.tsx
index 0b8c6657b..2fe68beef 100644
--- a/framework/shopify/cart/use-cart.tsx
+++ b/packages/shopify/src/cart/use-cart.tsx
@@ -1,7 +1,7 @@
import { useMemo } from 'react'
-import useCommerceCart, { UseCart } from '@commerce/cart/use-cart'
+import useCommerceCart, { UseCart } from '@vercel/commerce/cart/use-cart'
-import { SWRHook } from '@commerce/utils/types'
+import { SWRHook } from '@vercel/commerce/utils/types'
import { checkoutToCart } from '../utils'
import getCheckoutQuery from '../utils/queries/get-checkout-query'
import { GetCartHook } from '../types/cart'
diff --git a/framework/shopify/cart/use-remove-item.tsx b/packages/shopify/src/cart/use-remove-item.tsx
similarity index 90%
rename from framework/shopify/cart/use-remove-item.tsx
rename to packages/shopify/src/cart/use-remove-item.tsx
index 5e193358b..d04c7c5d2 100644
--- a/framework/shopify/cart/use-remove-item.tsx
+++ b/packages/shopify/src/cart/use-remove-item.tsx
@@ -2,9 +2,11 @@ import { useCallback } from 'react'
import type {
MutationHookContext,
HookFetcherContext,
-} from '@commerce/utils/types'
-import { ValidationError } from '@commerce/utils/errors'
-import useRemoveItem, { UseRemoveItem } from '@commerce/cart/use-remove-item'
+} from '@vercel/commerce/utils/types'
+import { ValidationError } from '@vercel/commerce/utils/errors'
+import useRemoveItem, {
+ UseRemoveItem,
+} from '@vercel/commerce/cart/use-remove-item'
import type { Cart, LineItem, RemoveItemHook } from '../types/cart'
import useCart from './use-cart'
@@ -24,7 +26,7 @@ import {
checkoutToCart,
} from '../utils'
-import { Mutation, MutationCheckoutLineItemsRemoveArgs } from '../schema'
+import { Mutation, MutationCheckoutLineItemsRemoveArgs } from '../../schema'
export const handler = {
fetchOptions: {
diff --git a/framework/shopify/cart/use-update-item.tsx b/packages/shopify/src/cart/use-update-item.tsx
similarity index 93%
rename from framework/shopify/cart/use-update-item.tsx
rename to packages/shopify/src/cart/use-update-item.tsx
index 83d0a220a..0e8258a51 100644
--- a/framework/shopify/cart/use-update-item.tsx
+++ b/packages/shopify/src/cart/use-update-item.tsx
@@ -3,9 +3,11 @@ import debounce from 'lodash.debounce'
import type {
HookFetcherContext,
MutationHookContext,
-} from '@commerce/utils/types'
-import { ValidationError } from '@commerce/utils/errors'
-import useUpdateItem, { UseUpdateItem } from '@commerce/cart/use-update-item'
+} from '@vercel/commerce/utils/types'
+import { ValidationError } from '@vercel/commerce/utils/errors'
+import useUpdateItem, {
+ UseUpdateItem,
+} from '@vercel/commerce/cart/use-update-item'
import useCart from './use-cart'
import { handler as removeItemHandler } from './use-remove-item'
@@ -15,7 +17,7 @@ import {
checkoutLineItemUpdateMutation,
checkoutToCart,
} from '../utils'
-import { Mutation, MutationCheckoutLineItemsUpdateArgs } from '../schema'
+import { Mutation, MutationCheckoutLineItemsUpdateArgs } from '../../schema'
export type UpdateItemActionInput = T extends LineItem
? Partial
diff --git a/packages/shopify/src/checkout/use-checkout.tsx b/packages/shopify/src/checkout/use-checkout.tsx
new file mode 100644
index 000000000..76997be73
--- /dev/null
+++ b/packages/shopify/src/checkout/use-checkout.tsx
@@ -0,0 +1,16 @@
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCheckout, {
+ UseCheckout,
+} from '@vercel/commerce/checkout/use-checkout'
+
+export default useCheckout as UseCheckout
+
+export const handler: SWRHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ useData }) =>
+ async (input) => ({}),
+}
diff --git a/framework/shopify/commerce.config.json b/packages/shopify/src/commerce.config.json
similarity index 100%
rename from framework/shopify/commerce.config.json
rename to packages/shopify/src/commerce.config.json
diff --git a/framework/shopify/const.ts b/packages/shopify/src/const.ts
similarity index 100%
rename from framework/shopify/const.ts
rename to packages/shopify/src/const.ts
diff --git a/packages/shopify/src/customer/address/use-add-item.tsx b/packages/shopify/src/customer/address/use-add-item.tsx
new file mode 100644
index 000000000..4f85c8472
--- /dev/null
+++ b/packages/shopify/src/customer/address/use-add-item.tsx
@@ -0,0 +1,17 @@
+import useAddItem, {
+ UseAddItem,
+} from '@vercel/commerce/customer/address/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+
+export default useAddItem as UseAddItem
+
+export const handler: MutationHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ fetch }) =>
+ () =>
+ async () => ({}),
+}
diff --git a/packages/shopify/src/customer/card/use-add-item.tsx b/packages/shopify/src/customer/card/use-add-item.tsx
new file mode 100644
index 000000000..77d149eff
--- /dev/null
+++ b/packages/shopify/src/customer/card/use-add-item.tsx
@@ -0,0 +1,17 @@
+import useAddItem, {
+ UseAddItem,
+} from '@vercel/commerce/customer/card/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+
+export default useAddItem as UseAddItem
+
+export const handler: MutationHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ fetch }) =>
+ () =>
+ async () => ({}),
+}
diff --git a/framework/shopify/customer/index.ts b/packages/shopify/src/customer/index.ts
similarity index 100%
rename from framework/shopify/customer/index.ts
rename to packages/shopify/src/customer/index.ts
diff --git a/framework/shopify/customer/use-customer.tsx b/packages/shopify/src/customer/use-customer.tsx
similarity index 85%
rename from framework/shopify/customer/use-customer.tsx
rename to packages/shopify/src/customer/use-customer.tsx
index 5c470e7de..6fc9a53a7 100644
--- a/framework/shopify/customer/use-customer.tsx
+++ b/packages/shopify/src/customer/use-customer.tsx
@@ -1,8 +1,10 @@
-import useCustomer, { UseCustomer } from '@commerce/customer/use-customer'
+import useCustomer, {
+ UseCustomer,
+} from '@vercel/commerce/customer/use-customer'
import type { CustomerHook } from '../types/customer'
-import { SWRHook } from '@commerce/utils/types'
+import { SWRHook } from '@vercel/commerce/utils/types'
import { getCustomerQuery, getCustomerToken } from '../utils'
-import { GetCustomerQuery, GetCustomerQueryVariables } from '../schema'
+import { GetCustomerQuery, GetCustomerQueryVariables } from '../../schema'
export default useCustomer as UseCustomer
diff --git a/framework/shopify/fetcher.ts b/packages/shopify/src/fetcher.ts
similarity index 91%
rename from framework/shopify/fetcher.ts
rename to packages/shopify/src/fetcher.ts
index 9a8d2d8d5..64f492620 100644
--- a/framework/shopify/fetcher.ts
+++ b/packages/shopify/src/fetcher.ts
@@ -1,4 +1,4 @@
-import { Fetcher } from '@commerce/utils/types'
+import { Fetcher } from '@vercel/commerce/utils/types'
import { API_TOKEN, API_URL } from './const'
import { handleFetchResponse } from './utils'
diff --git a/framework/shopify/index.tsx b/packages/shopify/src/index.tsx
similarity index 73%
rename from framework/shopify/index.tsx
rename to packages/shopify/src/index.tsx
index 6a8c6aa8b..51199bbe6 100644
--- a/framework/shopify/index.tsx
+++ b/packages/shopify/src/index.tsx
@@ -1,4 +1,7 @@
-import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
+import {
+ getCommerceProvider,
+ useCommerce as useCoreCommerce,
+} from '@vercel/commerce'
import { shopifyProvider, ShopifyProvider } from './provider'
export { shopifyProvider }
diff --git a/framework/shopify/next.config.js b/packages/shopify/src/next.config.cjs
similarity index 100%
rename from framework/shopify/next.config.js
rename to packages/shopify/src/next.config.cjs
diff --git a/packages/shopify/src/product/use-price.tsx b/packages/shopify/src/product/use-price.tsx
new file mode 100644
index 000000000..fd42d7033
--- /dev/null
+++ b/packages/shopify/src/product/use-price.tsx
@@ -0,0 +1,2 @@
+export * from '@vercel/commerce/product/use-price'
+export { default } from '@vercel/commerce/product/use-price'
diff --git a/framework/shopify/product/use-search.tsx b/packages/shopify/src/product/use-search.tsx
similarity index 93%
rename from framework/shopify/product/use-search.tsx
rename to packages/shopify/src/product/use-search.tsx
index b975c03fe..582423e9f 100644
--- a/framework/shopify/product/use-search.tsx
+++ b/packages/shopify/src/product/use-search.tsx
@@ -1,5 +1,5 @@
-import { SWRHook } from '@commerce/utils/types'
-import useSearch, { UseSearch } from '@commerce/product/use-search'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useSearch, { UseSearch } from '@vercel/commerce/product/use-search'
import {
CollectionEdge,
@@ -7,7 +7,7 @@ import {
GetProductsFromCollectionQueryVariables,
Product as ShopifyProduct,
ProductEdge,
-} from '../schema'
+} from '../../schema'
import {
getAllProductsQuery,
diff --git a/framework/shopify/provider.ts b/packages/shopify/src/provider.ts
similarity index 100%
rename from framework/shopify/provider.ts
rename to packages/shopify/src/provider.ts
diff --git a/framework/shopify/types/cart.ts b/packages/shopify/src/types/cart.ts
similarity index 88%
rename from framework/shopify/types/cart.ts
rename to packages/shopify/src/types/cart.ts
index 09410740a..243d369a5 100644
--- a/framework/shopify/types/cart.ts
+++ b/packages/shopify/src/types/cart.ts
@@ -1,6 +1,6 @@
-import * as Core from '@commerce/types/cart'
+import * as Core from '@vercel/commerce/types/cart'
-export * from '@commerce/types/cart'
+export * from '@vercel/commerce/types/cart'
export type ShopifyCart = {}
diff --git a/packages/shopify/src/types/checkout.ts b/packages/shopify/src/types/checkout.ts
new file mode 100644
index 000000000..d139db685
--- /dev/null
+++ b/packages/shopify/src/types/checkout.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/checkout'
diff --git a/packages/shopify/src/types/common.ts b/packages/shopify/src/types/common.ts
new file mode 100644
index 000000000..23b8daa11
--- /dev/null
+++ b/packages/shopify/src/types/common.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/common'
diff --git a/packages/shopify/src/types/customer.ts b/packages/shopify/src/types/customer.ts
new file mode 100644
index 000000000..6e66366be
--- /dev/null
+++ b/packages/shopify/src/types/customer.ts
@@ -0,0 +1,5 @@
+import * as Core from '@vercel/commerce/types/customer'
+
+export * from '@vercel/commerce/types/customer'
+
+export type CustomerSchema = Core.CustomerSchema
diff --git a/framework/shopify/types/index.ts b/packages/shopify/src/types/index.ts
similarity index 100%
rename from framework/shopify/types/index.ts
rename to packages/shopify/src/types/index.ts
diff --git a/packages/shopify/src/types/login.ts b/packages/shopify/src/types/login.ts
new file mode 100644
index 000000000..ab99bf8cd
--- /dev/null
+++ b/packages/shopify/src/types/login.ts
@@ -0,0 +1,8 @@
+import * as Core from '@vercel/commerce/types/login'
+import type { CustomerAccessTokenCreateInput } from '../../schema'
+
+export * from '@vercel/commerce/types/login'
+
+export type LoginOperation = Core.LoginOperation & {
+ variables: CustomerAccessTokenCreateInput
+}
diff --git a/packages/shopify/src/types/logout.ts b/packages/shopify/src/types/logout.ts
new file mode 100644
index 000000000..1de06f8dc
--- /dev/null
+++ b/packages/shopify/src/types/logout.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/logout'
diff --git a/framework/bigcommerce/types/page.ts b/packages/shopify/src/types/page.ts
similarity index 68%
rename from framework/bigcommerce/types/page.ts
rename to packages/shopify/src/types/page.ts
index 2bccfade2..ccbc29f7b 100644
--- a/framework/bigcommerce/types/page.ts
+++ b/packages/shopify/src/types/page.ts
@@ -1,5 +1,5 @@
-import * as Core from '@commerce/types/page'
-export * from '@commerce/types/page'
+import * as Core from '@vercel/commerce/types/page'
+export * from '@vercel/commerce/types/page'
export type Page = Core.Page
diff --git a/packages/shopify/src/types/product.ts b/packages/shopify/src/types/product.ts
new file mode 100644
index 000000000..72ca02f02
--- /dev/null
+++ b/packages/shopify/src/types/product.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/product'
diff --git a/packages/shopify/src/types/signup.ts b/packages/shopify/src/types/signup.ts
new file mode 100644
index 000000000..3f0d1af5a
--- /dev/null
+++ b/packages/shopify/src/types/signup.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/signup'
diff --git a/packages/shopify/src/types/site.ts b/packages/shopify/src/types/site.ts
new file mode 100644
index 000000000..96a2e476e
--- /dev/null
+++ b/packages/shopify/src/types/site.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/site'
diff --git a/packages/shopify/src/types/wishlist.ts b/packages/shopify/src/types/wishlist.ts
new file mode 100644
index 000000000..af92d9f63
--- /dev/null
+++ b/packages/shopify/src/types/wishlist.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/wishlist'
diff --git a/framework/shopify/utils/checkout-create.ts b/packages/shopify/src/utils/checkout-create.ts
similarity index 92%
rename from framework/shopify/utils/checkout-create.ts
rename to packages/shopify/src/utils/checkout-create.ts
index 36624ed05..2f681c95d 100644
--- a/framework/shopify/utils/checkout-create.ts
+++ b/packages/shopify/src/utils/checkout-create.ts
@@ -12,8 +12,8 @@ import {
CheckoutLineItemInput,
Mutation,
MutationCheckoutCreateArgs,
-} from '../schema'
-import { FetcherOptions } from '@commerce/utils/types'
+} from '../../schema'
+import { FetcherOptions } from '@vercel/commerce/utils/types'
export const checkoutCreate = async (
fetch: (options: FetcherOptions) => Promise,
diff --git a/framework/shopify/utils/checkout-to-cart.ts b/packages/shopify/src/utils/checkout-to-cart.ts
similarity index 91%
rename from framework/shopify/utils/checkout-to-cart.ts
rename to packages/shopify/src/utils/checkout-to-cart.ts
index 159cf0d7d..97b3f0a21 100644
--- a/framework/shopify/utils/checkout-to-cart.ts
+++ b/packages/shopify/src/utils/checkout-to-cart.ts
@@ -1,5 +1,5 @@
import type { Cart } from '../types/cart'
-import { CommerceError } from '@commerce/utils/errors'
+import { CommerceError } from '@vercel/commerce/utils/errors'
import {
CheckoutLineItemsAddPayload,
@@ -9,7 +9,7 @@ import {
CheckoutUserError,
Checkout,
Maybe,
-} from '../schema'
+} from '../../schema'
import { normalizeCart } from './normalize'
import throwUserErrors from './throw-user-errors'
diff --git a/packages/shopify/src/utils/colors.ts b/packages/shopify/src/utils/colors.ts
new file mode 100644
index 000000000..f9822c486
--- /dev/null
+++ b/packages/shopify/src/utils/colors.ts
@@ -0,0 +1,154 @@
+export const colorMap: Record = {
+ aliceblue: '#F0F8FF',
+ antiquewhite: '#FAEBD7',
+ aqua: '#00FFFF',
+ aquamarine: '#7FFFD4',
+ azure: '#F0FFFF',
+ beige: '#F5F5DC',
+ bisque: '#FFE4C4',
+ black: '#000000',
+ blanchedalmond: '#FFEBCD',
+ blue: '#0000FF',
+ blueviolet: '#8A2BE2',
+ brown: '#A52A2A',
+ burlywood: '#DEB887',
+ burgandy: '#800020',
+ burgundy: '#800020',
+ cadetblue: '#5F9EA0',
+ chartreuse: '#7FFF00',
+ chocolate: '#D2691E',
+ coral: '#FF7F50',
+ cornflowerblue: '#6495ED',
+ cornsilk: '#FFF8DC',
+ crimson: '#DC143C',
+ cyan: '#00FFFF',
+ darkblue: '#00008B',
+ darkcyan: '#008B8B',
+ darkgoldenrod: '#B8860B',
+ darkgray: '#A9A9A9',
+ darkgreen: '#006400',
+ darkgrey: '#A9A9A9',
+ darkkhaki: '#BDB76B',
+ darkmagenta: '#8B008B',
+ darkolivegreen: '#556B2F',
+ darkorange: '#FF8C00',
+ darkorchid: '#9932CC',
+ darkred: '#8B0000',
+ darksalmon: '#E9967A',
+ darkseagreen: '#8FBC8F',
+ darkslateblue: '#483D8B',
+ darkslategray: '#2F4F4F',
+ darkslategrey: '#2F4F4F',
+ darkturquoise: '#00CED1',
+ darkviolet: '#9400D3',
+ deeppink: '#FF1493',
+ deepskyblue: '#00BFFF',
+ dimgray: '#696969',
+ dimgrey: '#696969',
+ dodgerblue: '#1E90FF',
+ firebrick: '#B22222',
+ floralwhite: '#FFFAF0',
+ forestgreen: '#228B22',
+ fuchsia: '#FF00FF',
+ gainsboro: '#DCDCDC',
+ ghostwhite: '#F8F8FF',
+ gold: '#FFD700',
+ goldenrod: '#DAA520',
+ gray: '#808080',
+ green: '#008000',
+ greenyellow: '#ADFF2F',
+ grey: '#808080',
+ honeydew: '#F0FFF0',
+ hotpink: '#FF69B4',
+ indianred: '#CD5C5C',
+ indigo: '#4B0082',
+ ivory: '#FFFFF0',
+ khaki: '#F0E68C',
+ lavender: '#E6E6FA',
+ lavenderblush: '#FFF0F5',
+ lawngreen: '#7CFC00',
+ lemonchiffon: '#FFFACD',
+ lightblue: '#ADD8E6',
+ lightcoral: '#F08080',
+ lightcyan: '#E0FFFF',
+ lightgoldenrodyellow: '#FAFAD2',
+ lightgray: '#D3D3D3',
+ lightgreen: '#90EE90',
+ lightgrey: '#D3D3D3',
+ lightpink: '#FFB6C1',
+ lightsalmon: '#FFA07A',
+ lightseagreen: '#20B2AA',
+ lightskyblue: '#87CEFA',
+ lightslategray: '#778899',
+ lightslategrey: '#778899',
+ lightsteelblue: '#B0C4DE',
+ lightyellow: '#FFFFE0',
+ lime: '#00FF00',
+ limegreen: '#32CD32',
+ linen: '#FAF0E6',
+ magenta: '#FF00FF',
+ maroon: '#800000',
+ mediumaquamarine: '#66CDAA',
+ mediumblue: '#0000CD',
+ mediumorchid: '#BA55D3',
+ mediumpurple: '#9370DB',
+ mediumseagreen: '#3CB371',
+ mediumslateblue: '#7B68EE',
+ mediumspringgreen: '#00FA9A',
+ mediumturquoise: '#48D1CC',
+ mediumvioletred: '#C71585',
+ midnightblue: '#191970',
+ mintcream: '#F5FFFA',
+ mistyrose: '#FFE4E1',
+ moccasin: '#FFE4B5',
+ navajowhite: '#FFDEAD',
+ navy: '#000080',
+ oldlace: '#FDF5E6',
+ olive: '#808000',
+ olivedrab: '#6B8E23',
+ orange: '#FFA500',
+ orangered: '#FF4500',
+ orchid: '#DA70D6',
+ palegoldenrod: '#EEE8AA',
+ palegreen: '#98FB98',
+ paleturquoise: '#AFEEEE',
+ palevioletred: '#DB7093',
+ papayawhip: '#FFEFD5',
+ peachpuff: '#FFDAB9',
+ peru: '#CD853F',
+ pink: '#FFC0CB',
+ plum: '#DDA0DD',
+ powderblue: '#B0E0E6',
+ purple: '#800080',
+ rebeccapurple: '#663399',
+ red: '#FF0000',
+ rosybrown: '#BC8F8F',
+ royalblue: '#4169E1',
+ saddlebrown: '#8B4513',
+ salmon: '#FA8072',
+ sandybrown: '#F4A460',
+ seagreen: '#2E8B57',
+ seashell: '#FFF5EE',
+ sienna: '#A0522D',
+ silver: '#C0C0C0',
+ skyblue: '#87CEEB',
+ slateblue: '#6A5ACD',
+ slategray: '#708090',
+ slategrey: '#708090',
+ spacegrey: '#65737e',
+ spacegray: '#65737e',
+ snow: '#FFFAFA',
+ springgreen: '#00FF7F',
+ steelblue: '#4682B4',
+ tan: '#D2B48C',
+ teal: '#008080',
+ thistle: '#D8BFD8',
+ tomato: '#FF6347',
+ turquoise: '#40E0D0',
+ violet: '#EE82EE',
+ wheat: '#F5DEB3',
+ white: '#FFFFFF',
+ whitesmoke: '#F5F5F5',
+ yellow: '#FFFF00',
+ yellowgreen: '#9ACD32',
+}
diff --git a/framework/shopify/utils/customer-token.ts b/packages/shopify/src/utils/customer-token.ts
similarity index 100%
rename from framework/shopify/utils/customer-token.ts
rename to packages/shopify/src/utils/customer-token.ts
diff --git a/framework/shopify/utils/get-brands.ts b/packages/shopify/src/utils/get-brands.ts
similarity index 97%
rename from framework/shopify/utils/get-brands.ts
rename to packages/shopify/src/utils/get-brands.ts
index 3065e4ae8..eb87b519d 100644
--- a/framework/shopify/utils/get-brands.ts
+++ b/packages/shopify/src/utils/get-brands.ts
@@ -1,7 +1,7 @@
import {
GetAllProductVendorsQuery,
GetAllProductVendorsQueryVariables,
-} from '../schema'
+} from '../../schema'
import { ShopifyConfig } from '../api'
import getAllProductVendors from './queries/get-all-product-vendors-query'
diff --git a/framework/shopify/utils/get-categories.ts b/packages/shopify/src/utils/get-categories.ts
similarity index 93%
rename from framework/shopify/utils/get-categories.ts
rename to packages/shopify/src/utils/get-categories.ts
index 543ee2fa1..e5ca16dad 100644
--- a/framework/shopify/utils/get-categories.ts
+++ b/packages/shopify/src/utils/get-categories.ts
@@ -1,6 +1,6 @@
import type { Category } from '../types/site'
import { ShopifyConfig } from '../api'
-import { CollectionEdge } from '../schema'
+import { CollectionEdge } from '../../schema'
import { normalizeCategory } from './normalize'
import getSiteCollectionsQuery from './queries/get-all-collections-query'
diff --git a/framework/shopify/utils/get-checkout-id.ts b/packages/shopify/src/utils/get-checkout-id.ts
similarity index 100%
rename from framework/shopify/utils/get-checkout-id.ts
rename to packages/shopify/src/utils/get-checkout-id.ts
diff --git a/framework/shopify/utils/get-search-variables.ts b/packages/shopify/src/utils/get-search-variables.ts
similarity index 100%
rename from framework/shopify/utils/get-search-variables.ts
rename to packages/shopify/src/utils/get-search-variables.ts
diff --git a/framework/shopify/utils/get-sort-variables.ts b/packages/shopify/src/utils/get-sort-variables.ts
similarity index 100%
rename from framework/shopify/utils/get-sort-variables.ts
rename to packages/shopify/src/utils/get-sort-variables.ts
diff --git a/framework/shopify/utils/handle-account-activation.ts b/packages/shopify/src/utils/handle-account-activation.ts
similarity index 84%
rename from framework/shopify/utils/handle-account-activation.ts
rename to packages/shopify/src/utils/handle-account-activation.ts
index d11f80ba1..2519590c0 100644
--- a/framework/shopify/utils/handle-account-activation.ts
+++ b/packages/shopify/src/utils/handle-account-activation.ts
@@ -1,11 +1,11 @@
-import { FetcherOptions } from '@commerce/utils/types'
+import { FetcherOptions } from '@vercel/commerce/utils/types'
import throwUserErrors from './throw-user-errors'
import {
MutationCustomerActivateArgs,
MutationCustomerActivateByUrlArgs,
-} from '../schema'
-import { Mutation } from '../schema'
+} from '../../schema'
+import { Mutation } from '../../schema'
import { customerActivateByUrlMutation } from './mutations'
const handleAccountActivation = async (
diff --git a/framework/shopify/utils/handle-fetch-response.ts b/packages/shopify/src/utils/handle-fetch-response.ts
similarity index 90%
rename from framework/shopify/utils/handle-fetch-response.ts
rename to packages/shopify/src/utils/handle-fetch-response.ts
index 91d362d7d..927ab54f1 100644
--- a/framework/shopify/utils/handle-fetch-response.ts
+++ b/packages/shopify/src/utils/handle-fetch-response.ts
@@ -1,4 +1,4 @@
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
export function getError(errors: any[] | null, status: number) {
errors = errors ?? [{ message: 'Failed to fetch Shopify API' }]
diff --git a/framework/shopify/utils/handle-login.ts b/packages/shopify/src/utils/handle-login.ts
similarity index 87%
rename from framework/shopify/utils/handle-login.ts
rename to packages/shopify/src/utils/handle-login.ts
index de86fa1d2..dda6f6ebe 100644
--- a/framework/shopify/utils/handle-login.ts
+++ b/packages/shopify/src/utils/handle-login.ts
@@ -1,5 +1,5 @@
-import { FetcherOptions } from '@commerce/utils/types'
-import { CustomerAccessTokenCreateInput } from '../schema'
+import { FetcherOptions } from '@vercel/commerce/utils/types'
+import { CustomerAccessTokenCreateInput } from '../../schema'
import { setCustomerToken } from './customer-token'
import { customerAccessTokenCreateMutation } from './mutations'
import throwUserErrors from './throw-user-errors'
diff --git a/framework/shopify/utils/index.ts b/packages/shopify/src/utils/index.ts
similarity index 100%
rename from framework/shopify/utils/index.ts
rename to packages/shopify/src/utils/index.ts
diff --git a/framework/shopify/utils/mutations/associate-customer-with-checkout.ts b/packages/shopify/src/utils/mutations/associate-customer-with-checkout.ts
similarity index 100%
rename from framework/shopify/utils/mutations/associate-customer-with-checkout.ts
rename to packages/shopify/src/utils/mutations/associate-customer-with-checkout.ts
diff --git a/framework/shopify/utils/mutations/checkout-create.ts b/packages/shopify/src/utils/mutations/checkout-create.ts
similarity index 100%
rename from framework/shopify/utils/mutations/checkout-create.ts
rename to packages/shopify/src/utils/mutations/checkout-create.ts
diff --git a/framework/shopify/utils/mutations/checkout-line-item-add.ts b/packages/shopify/src/utils/mutations/checkout-line-item-add.ts
similarity index 100%
rename from framework/shopify/utils/mutations/checkout-line-item-add.ts
rename to packages/shopify/src/utils/mutations/checkout-line-item-add.ts
diff --git a/framework/shopify/utils/mutations/checkout-line-item-remove.ts b/packages/shopify/src/utils/mutations/checkout-line-item-remove.ts
similarity index 100%
rename from framework/shopify/utils/mutations/checkout-line-item-remove.ts
rename to packages/shopify/src/utils/mutations/checkout-line-item-remove.ts
diff --git a/framework/shopify/utils/mutations/checkout-line-item-update.ts b/packages/shopify/src/utils/mutations/checkout-line-item-update.ts
similarity index 100%
rename from framework/shopify/utils/mutations/checkout-line-item-update.ts
rename to packages/shopify/src/utils/mutations/checkout-line-item-update.ts
diff --git a/framework/shopify/utils/mutations/customer-access-token-create.ts b/packages/shopify/src/utils/mutations/customer-access-token-create.ts
similarity index 100%
rename from framework/shopify/utils/mutations/customer-access-token-create.ts
rename to packages/shopify/src/utils/mutations/customer-access-token-create.ts
diff --git a/framework/shopify/utils/mutations/customer-access-token-delete.ts b/packages/shopify/src/utils/mutations/customer-access-token-delete.ts
similarity index 100%
rename from framework/shopify/utils/mutations/customer-access-token-delete.ts
rename to packages/shopify/src/utils/mutations/customer-access-token-delete.ts
diff --git a/framework/shopify/utils/mutations/customer-activate-by-url.ts b/packages/shopify/src/utils/mutations/customer-activate-by-url.ts
similarity index 100%
rename from framework/shopify/utils/mutations/customer-activate-by-url.ts
rename to packages/shopify/src/utils/mutations/customer-activate-by-url.ts
diff --git a/framework/shopify/utils/mutations/customer-activate.ts b/packages/shopify/src/utils/mutations/customer-activate.ts
similarity index 100%
rename from framework/shopify/utils/mutations/customer-activate.ts
rename to packages/shopify/src/utils/mutations/customer-activate.ts
diff --git a/framework/shopify/utils/mutations/customer-create.ts b/packages/shopify/src/utils/mutations/customer-create.ts
similarity index 100%
rename from framework/shopify/utils/mutations/customer-create.ts
rename to packages/shopify/src/utils/mutations/customer-create.ts
diff --git a/framework/shopify/utils/mutations/index.ts b/packages/shopify/src/utils/mutations/index.ts
similarity index 100%
rename from framework/shopify/utils/mutations/index.ts
rename to packages/shopify/src/utils/mutations/index.ts
diff --git a/framework/shopify/utils/normalize.ts b/packages/shopify/src/utils/normalize.ts
similarity index 98%
rename from framework/shopify/utils/normalize.ts
rename to packages/shopify/src/utils/normalize.ts
index 96262f418..2782f59dd 100644
--- a/framework/shopify/utils/normalize.ts
+++ b/packages/shopify/src/utils/normalize.ts
@@ -15,8 +15,8 @@ import {
Page as ShopifyPage,
PageEdge,
Collection,
-} from '../schema'
-import { colorMap } from '@lib/colors'
+} from '../../schema'
+import { colorMap } from './colors'
const money = ({ amount, currencyCode }: MoneyV2) => {
return {
diff --git a/framework/shopify/utils/queries/get-all-collections-query.ts b/packages/shopify/src/utils/queries/get-all-collections-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-all-collections-query.ts
rename to packages/shopify/src/utils/queries/get-all-collections-query.ts
diff --git a/framework/shopify/utils/queries/get-all-pages-query.ts b/packages/shopify/src/utils/queries/get-all-pages-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-all-pages-query.ts
rename to packages/shopify/src/utils/queries/get-all-pages-query.ts
diff --git a/framework/shopify/utils/queries/get-all-product-vendors-query.ts b/packages/shopify/src/utils/queries/get-all-product-vendors-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-all-product-vendors-query.ts
rename to packages/shopify/src/utils/queries/get-all-product-vendors-query.ts
diff --git a/framework/shopify/utils/queries/get-all-products-paths-query.ts b/packages/shopify/src/utils/queries/get-all-products-paths-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-all-products-paths-query.ts
rename to packages/shopify/src/utils/queries/get-all-products-paths-query.ts
diff --git a/framework/shopify/utils/queries/get-all-products-query.ts b/packages/shopify/src/utils/queries/get-all-products-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-all-products-query.ts
rename to packages/shopify/src/utils/queries/get-all-products-query.ts
diff --git a/framework/shopify/utils/queries/get-checkout-query.ts b/packages/shopify/src/utils/queries/get-checkout-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-checkout-query.ts
rename to packages/shopify/src/utils/queries/get-checkout-query.ts
diff --git a/framework/shopify/utils/queries/get-collection-products-query.ts b/packages/shopify/src/utils/queries/get-collection-products-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-collection-products-query.ts
rename to packages/shopify/src/utils/queries/get-collection-products-query.ts
diff --git a/framework/shopify/utils/queries/get-customer-id-query.ts b/packages/shopify/src/utils/queries/get-customer-id-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-customer-id-query.ts
rename to packages/shopify/src/utils/queries/get-customer-id-query.ts
diff --git a/framework/shopify/utils/queries/get-customer-query.ts b/packages/shopify/src/utils/queries/get-customer-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-customer-query.ts
rename to packages/shopify/src/utils/queries/get-customer-query.ts
diff --git a/framework/shopify/utils/queries/get-page-query.ts b/packages/shopify/src/utils/queries/get-page-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-page-query.ts
rename to packages/shopify/src/utils/queries/get-page-query.ts
diff --git a/framework/shopify/utils/queries/get-product-query.ts b/packages/shopify/src/utils/queries/get-product-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-product-query.ts
rename to packages/shopify/src/utils/queries/get-product-query.ts
diff --git a/framework/shopify/utils/queries/get-site-info-query.ts b/packages/shopify/src/utils/queries/get-site-info-query.ts
similarity index 100%
rename from framework/shopify/utils/queries/get-site-info-query.ts
rename to packages/shopify/src/utils/queries/get-site-info-query.ts
diff --git a/framework/shopify/utils/queries/index.ts b/packages/shopify/src/utils/queries/index.ts
similarity index 100%
rename from framework/shopify/utils/queries/index.ts
rename to packages/shopify/src/utils/queries/index.ts
diff --git a/framework/shopify/utils/throw-user-errors.ts b/packages/shopify/src/utils/throw-user-errors.ts
similarity index 90%
rename from framework/shopify/utils/throw-user-errors.ts
rename to packages/shopify/src/utils/throw-user-errors.ts
index 5488ba282..2173b2b40 100644
--- a/framework/shopify/utils/throw-user-errors.ts
+++ b/packages/shopify/src/utils/throw-user-errors.ts
@@ -1,11 +1,11 @@
-import { ValidationError } from '@commerce/utils/errors'
+import { ValidationError } from '@vercel/commerce/utils/errors'
import {
CheckoutErrorCode,
CheckoutUserError,
CustomerErrorCode,
CustomerUserError,
-} from '../schema'
+} from '../../schema'
export type UserErrors = Array
diff --git a/framework/shopify/wishlist/use-add-item.tsx b/packages/shopify/src/wishlist/use-add-item.tsx
similarity index 100%
rename from framework/shopify/wishlist/use-add-item.tsx
rename to packages/shopify/src/wishlist/use-add-item.tsx
diff --git a/framework/shopify/wishlist/use-remove-item.tsx b/packages/shopify/src/wishlist/use-remove-item.tsx
similarity index 100%
rename from framework/shopify/wishlist/use-remove-item.tsx
rename to packages/shopify/src/wishlist/use-remove-item.tsx
diff --git a/framework/shopify/wishlist/use-wishlist.tsx b/packages/shopify/src/wishlist/use-wishlist.tsx
similarity index 90%
rename from framework/shopify/wishlist/use-wishlist.tsx
rename to packages/shopify/src/wishlist/use-wishlist.tsx
index d2ce9db5b..c95195040 100644
--- a/framework/shopify/wishlist/use-wishlist.tsx
+++ b/packages/shopify/src/wishlist/use-wishlist.tsx
@@ -1,8 +1,8 @@
// TODO: replace this hook and other wishlist hooks with a handler, or remove them if
// Shopify doesn't have a wishlist
-import { HookFetcher } from '@commerce/utils/types'
-import { Product } from '../schema'
+import { HookFetcher } from '@vercel/commerce/utils/types'
+import { Product } from '../../schema'
const defaultOpts = {}
diff --git a/packages/shopify/taskfile.js b/packages/shopify/taskfile.js
new file mode 100644
index 000000000..39b1b2a86
--- /dev/null
+++ b/packages/shopify/taskfile.js
@@ -0,0 +1,20 @@
+export async function build(task, opts) {
+ await task
+ .source('src/**/*.+(ts|tsx|js)')
+ .swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
+ .target('dist')
+ .source('src/**/*.+(cjs|json)')
+ .target('dist')
+ task.$.log('Compiled src files')
+}
+
+export async function release(task) {
+ await task.clear('dist').start('build')
+}
+
+export default async function dev(task) {
+ const opts = { dev: true }
+ await task.clear('dist')
+ await task.start('build', opts)
+ await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
+}
diff --git a/packages/shopify/tsconfig.json b/packages/shopify/tsconfig.json
new file mode 100644
index 000000000..cd04ab2ff
--- /dev/null
+++ b/packages/shopify/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "outDir": "dist",
+ "baseUrl": "src",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "declaration": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "incremental": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/framework/spree/.env.template b/packages/spree/.env.template
similarity index 100%
rename from framework/spree/.env.template
rename to packages/spree/.env.template
diff --git a/packages/spree/.prettierignore b/packages/spree/.prettierignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/spree/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/spree/.prettierrc b/packages/spree/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/packages/spree/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/framework/spree/README-assets/screenshots.png b/packages/spree/README-assets/screenshots.png
similarity index 100%
rename from framework/spree/README-assets/screenshots.png
rename to packages/spree/README-assets/screenshots.png
diff --git a/framework/spree/README.md b/packages/spree/README.md
similarity index 88%
rename from framework/spree/README.md
rename to packages/spree/README.md
index 7bbc733ab..0b172cb19 100644
--- a/framework/spree/README.md
+++ b/packages/spree/README.md
@@ -12,10 +12,10 @@ An integration of [Spree Commerce](https://spreecommerce.org/) within NextJS Com
1. Setup Nextjs Commerce - [instructions for setting up NextJS Commerce][2].
-1. Copy the `.env.template` file in this directory (`/framework/spree`) to `.env.local` in the main directory
+1. Copy the `.env.template` file in this directory (`/packages/spree`) to `.env.local` in the main directory
```bash
- cp framework/spree/.env.template .env.local
+ cp packages/spree/.env.template .env.local
```
1. Set `NEXT_PUBLIC_SPREE_CATEGORIES_TAXONOMY_PERMALINK` and `NEXT_PUBLIC_SPREE_BRANDS_TAXONOMY_PERMALINK` environment variables:
diff --git a/packages/spree/package.json b/packages/spree/package.json
new file mode 100644
index 000000000..d441f8b6e
--- /dev/null
+++ b/packages/spree/package.json
@@ -0,0 +1,81 @@
+{
+ "name": "@vercel/commerce-spree",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "release": "taskr release",
+ "build": "taskr build",
+ "dev": "taskr",
+ "types": "tsc --emitDeclarationOnly",
+ "prettier-fix": "prettier --write ."
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": "./dist/index.js",
+ "./*": [
+ "./dist/*.js",
+ "./dist/*/index.js"
+ ],
+ "./next.config": "./dist/next.config.cjs"
+ },
+ "typesVersions": {
+ "*": {
+ "*": [
+ "src/*",
+ "src/*/index"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ },
+ "files": [
+ "dist"
+ ],
+ "publishConfig": {
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/*.d.ts",
+ "dist/*/index.d.ts"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ }
+ },
+ "dependencies": {
+ "@spree/storefront-api-v2-sdk": "^5.1.1",
+ "@vercel/commerce": "^0.0.1",
+ "@vercel/fetch": "^6.1.1",
+ "swr": "^1.2.0"
+ },
+ "peerDependencies": {
+ "next": "^12",
+ "react": "^17",
+ "react-dom": "^17"
+ },
+ "devDependencies": {
+ "@taskr/clear": "^1.1.0",
+ "@taskr/esnext": "^1.1.0",
+ "@taskr/watch": "^1.1.0",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "lint-staged": "^12.1.7",
+ "next": "^12.0.8",
+ "prettier": "^2.5.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "taskr": "^1.1.0",
+ "taskr-swc": "^0.0.1",
+ "typescript": "^4.5.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ }
+}
diff --git a/framework/spree/api/endpoints/cart/index.ts b/packages/spree/src/api/endpoints/cart/index.ts
similarity index 100%
rename from framework/spree/api/endpoints/cart/index.ts
rename to packages/spree/src/api/endpoints/cart/index.ts
diff --git a/framework/spree/api/endpoints/catalog/index.ts b/packages/spree/src/api/endpoints/catalog/index.ts
similarity index 100%
rename from framework/spree/api/endpoints/catalog/index.ts
rename to packages/spree/src/api/endpoints/catalog/index.ts
diff --git a/framework/spree/api/endpoints/catalog/products.ts b/packages/spree/src/api/endpoints/catalog/products.ts
similarity index 100%
rename from framework/spree/api/endpoints/catalog/products.ts
rename to packages/spree/src/api/endpoints/catalog/products.ts
diff --git a/framework/spree/api/endpoints/checkout/get-checkout.ts b/packages/spree/src/api/endpoints/checkout/get-checkout.ts
similarity index 100%
rename from framework/spree/api/endpoints/checkout/get-checkout.ts
rename to packages/spree/src/api/endpoints/checkout/get-checkout.ts
diff --git a/framework/spree/api/endpoints/checkout/index.ts b/packages/spree/src/api/endpoints/checkout/index.ts
similarity index 61%
rename from framework/spree/api/endpoints/checkout/index.ts
rename to packages/spree/src/api/endpoints/checkout/index.ts
index 0a5ee9e72..2be2a5ded 100644
--- a/framework/spree/api/endpoints/checkout/index.ts
+++ b/packages/spree/src/api/endpoints/checkout/index.ts
@@ -1,7 +1,7 @@
-import { createEndpoint } from '@commerce/api'
-import type { GetAPISchema, CommerceAPI } from '@commerce/api'
-import checkoutEndpoint from '@commerce/api/endpoints/checkout'
-import type { CheckoutSchema } from '@commerce/types/checkout'
+import { createEndpoint } from '@vercel/commerce/api'
+import type { GetAPISchema, CommerceAPI } from '@vercel/commerce/api'
+import checkoutEndpoint from '@vercel/commerce/api/endpoints/checkout'
+import type { CheckoutSchema } from '@vercel/commerce/types/checkout'
import getCheckout from './get-checkout'
import type { SpreeApiProvider } from '../..'
diff --git a/framework/spree/api/endpoints/customer/address.ts b/packages/spree/src/api/endpoints/customer/address.ts
similarity index 100%
rename from framework/spree/api/endpoints/customer/address.ts
rename to packages/spree/src/api/endpoints/customer/address.ts
diff --git a/framework/spree/api/endpoints/customer/card.ts b/packages/spree/src/api/endpoints/customer/card.ts
similarity index 100%
rename from framework/spree/api/endpoints/customer/card.ts
rename to packages/spree/src/api/endpoints/customer/card.ts
diff --git a/framework/spree/api/endpoints/customer/index.ts b/packages/spree/src/api/endpoints/customer/index.ts
similarity index 100%
rename from framework/spree/api/endpoints/customer/index.ts
rename to packages/spree/src/api/endpoints/customer/index.ts
diff --git a/framework/spree/api/endpoints/login/index.ts b/packages/spree/src/api/endpoints/login/index.ts
similarity index 100%
rename from framework/spree/api/endpoints/login/index.ts
rename to packages/spree/src/api/endpoints/login/index.ts
diff --git a/framework/spree/api/endpoints/logout/index.ts b/packages/spree/src/api/endpoints/logout/index.ts
similarity index 100%
rename from framework/spree/api/endpoints/logout/index.ts
rename to packages/spree/src/api/endpoints/logout/index.ts
diff --git a/framework/spree/api/endpoints/signup/index.ts b/packages/spree/src/api/endpoints/signup/index.ts
similarity index 100%
rename from framework/spree/api/endpoints/signup/index.ts
rename to packages/spree/src/api/endpoints/signup/index.ts
diff --git a/framework/spree/api/endpoints/wishlist/index.tsx b/packages/spree/src/api/endpoints/wishlist/index.tsx
similarity index 100%
rename from framework/spree/api/endpoints/wishlist/index.tsx
rename to packages/spree/src/api/endpoints/wishlist/index.tsx
diff --git a/framework/spree/api/index.ts b/packages/spree/src/api/index.ts
similarity index 89%
rename from framework/spree/api/index.ts
rename to packages/spree/src/api/index.ts
index d9ef79e1a..3971ed540 100644
--- a/framework/spree/api/index.ts
+++ b/packages/spree/src/api/index.ts
@@ -1,5 +1,5 @@
-import type { CommerceAPI, CommerceAPIConfig } from '@commerce/api'
-import { getCommerceApi as commerceApi } from '@commerce/api'
+import type { CommerceAPI, CommerceAPIConfig } from '@vercel/commerce/api'
+import { getCommerceApi as commerceApi } from '@vercel/commerce/api'
import createApiFetch from './utils/create-api-fetch'
import getAllPages from './operations/get-all-pages'
diff --git a/framework/spree/api/operations/get-all-pages.ts b/packages/spree/src/api/operations/get-all-pages.ts
similarity index 94%
rename from framework/spree/api/operations/get-all-pages.ts
rename to packages/spree/src/api/operations/get-all-pages.ts
index 580a74999..b5fae62b1 100644
--- a/framework/spree/api/operations/get-all-pages.ts
+++ b/packages/spree/src/api/operations/get-all-pages.ts
@@ -1,8 +1,8 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
-import type { GetAllPagesOperation, Page } from '@commerce/types/page'
+} from '@vercel/commerce/api/operations'
+import type { GetAllPagesOperation, Page } from '@vercel/commerce/types/page'
import { requireConfigValue } from '../../isomorphic-config'
import normalizePage from '../../utils/normalizations/normalize-page'
import type { IPages } from '@spree/storefront-api-v2-sdk/types/interfaces/Page'
diff --git a/framework/spree/api/operations/get-all-product-paths.ts b/packages/spree/src/api/operations/get-all-product-paths.ts
similarity index 93%
rename from framework/spree/api/operations/get-all-product-paths.ts
rename to packages/spree/src/api/operations/get-all-product-paths.ts
index 4795d1fdb..424f46c4c 100644
--- a/framework/spree/api/operations/get-all-product-paths.ts
+++ b/packages/spree/src/api/operations/get-all-product-paths.ts
@@ -1,9 +1,9 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
-import type { Product } from '@commerce/types/product'
-import type { GetAllProductPathsOperation } from '@commerce/types/product'
+} from '@vercel/commerce/api/operations'
+import type { Product } from '@vercel/commerce/types/product'
+import type { GetAllProductPathsOperation } from '@vercel/commerce/types/product'
import { requireConfigValue } from '../../isomorphic-config'
import type { IProductsSlugs, SpreeSdkVariables } from '../../types'
import getProductPath from '../../utils/get-product-path'
diff --git a/framework/spree/api/operations/get-all-products.ts b/packages/spree/src/api/operations/get-all-products.ts
similarity index 93%
rename from framework/spree/api/operations/get-all-products.ts
rename to packages/spree/src/api/operations/get-all-products.ts
index a292e6097..2b718d929 100644
--- a/framework/spree/api/operations/get-all-products.ts
+++ b/packages/spree/src/api/operations/get-all-products.ts
@@ -1,9 +1,9 @@
-import type { Product } from '@commerce/types/product'
-import type { GetAllProductsOperation } from '@commerce/types/product'
+import type { Product } from '@vercel/commerce/types/product'
+import type { GetAllProductsOperation } from '@vercel/commerce/types/product'
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type { IProducts } from '@spree/storefront-api-v2-sdk/types/interfaces/Product'
import type { SpreeApiConfig, SpreeApiProvider } from '../index'
import type { SpreeSdkVariables } from '../../types'
diff --git a/framework/spree/api/operations/get-customer-wishlist.ts b/packages/spree/src/api/operations/get-customer-wishlist.ts
similarity index 100%
rename from framework/spree/api/operations/get-customer-wishlist.ts
rename to packages/spree/src/api/operations/get-customer-wishlist.ts
diff --git a/framework/spree/api/operations/get-page.ts b/packages/spree/src/api/operations/get-page.ts
similarity index 94%
rename from framework/spree/api/operations/get-page.ts
rename to packages/spree/src/api/operations/get-page.ts
index ecb02755d..711870e72 100644
--- a/framework/spree/api/operations/get-page.ts
+++ b/packages/spree/src/api/operations/get-page.ts
@@ -1,8 +1,8 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
-import type { GetPageOperation } from '@commerce/types/page'
+} from '@vercel/commerce/api/operations'
+import type { GetPageOperation } from '@vercel/commerce/types/page'
import type { SpreeSdkVariables } from '../../types'
import type { SpreeApiConfig, SpreeApiProvider } from '..'
import type { IPage } from '@spree/storefront-api-v2-sdk/types/interfaces/Page'
diff --git a/framework/spree/api/operations/get-product.ts b/packages/spree/src/api/operations/get-product.ts
similarity index 95%
rename from framework/spree/api/operations/get-product.ts
rename to packages/spree/src/api/operations/get-product.ts
index 18e9643cd..bd93791de 100644
--- a/framework/spree/api/operations/get-product.ts
+++ b/packages/spree/src/api/operations/get-product.ts
@@ -1,9 +1,9 @@
import type { SpreeApiConfig, SpreeApiProvider } from '../index'
-import type { GetProductOperation } from '@commerce/types/product'
+import type { GetProductOperation } from '@vercel/commerce/types/product'
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type { IProduct } from '@spree/storefront-api-v2-sdk/types/interfaces/Product'
import type { SpreeSdkVariables } from '../../types'
import MissingSlugVariableError from '../../errors/MissingSlugVariableError'
diff --git a/framework/spree/api/operations/get-site-info.ts b/packages/spree/src/api/operations/get-site-info.ts
similarity index 96%
rename from framework/spree/api/operations/get-site-info.ts
rename to packages/spree/src/api/operations/get-site-info.ts
index 4d9aaf0ad..13b11e4a4 100644
--- a/framework/spree/api/operations/get-site-info.ts
+++ b/packages/spree/src/api/operations/get-site-info.ts
@@ -1,8 +1,11 @@
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
-import type { Category, GetSiteInfoOperation } from '@commerce/types/site'
+} from '@vercel/commerce/api/operations'
+import type {
+ Category,
+ GetSiteInfoOperation,
+} from '@vercel/commerce/types/site'
import type {
ITaxons,
TaxonAttr,
diff --git a/framework/spree/api/operations/index.ts b/packages/spree/src/api/operations/index.ts
similarity index 100%
rename from framework/spree/api/operations/index.ts
rename to packages/spree/src/api/operations/index.ts
diff --git a/framework/spree/api/utils/create-api-fetch.ts b/packages/spree/src/api/utils/create-api-fetch.ts
similarity index 97%
rename from framework/spree/api/utils/create-api-fetch.ts
rename to packages/spree/src/api/utils/create-api-fetch.ts
index f6810592b..b26a2fb11 100644
--- a/framework/spree/api/utils/create-api-fetch.ts
+++ b/packages/spree/src/api/utils/create-api-fetch.ts
@@ -5,7 +5,7 @@ import convertSpreeErrorToGraphQlError from '../../utils/convert-spree-error-to-
import type { ResultResponse } from '@spree/storefront-api-v2-sdk/types/interfaces/ResultResponse'
import getSpreeSdkMethodFromEndpointPath from '../../utils/get-spree-sdk-method-from-endpoint-path'
import SpreeSdkMethodFromEndpointPathError from '../../errors/SpreeSdkMethodFromEndpointPathError'
-import { GraphQLFetcher, GraphQLFetcherResult } from '@commerce/api'
+import { GraphQLFetcher, GraphQLFetcherResult } from '@vercel/commerce/api'
import createCustomizedFetchFetcher, {
fetchResponseKey,
} from '../../utils/create-customized-fetch-fetcher'
diff --git a/framework/spree/api/utils/fetch.ts b/packages/spree/src/api/utils/fetch.ts
similarity index 100%
rename from framework/spree/api/utils/fetch.ts
rename to packages/spree/src/api/utils/fetch.ts
diff --git a/framework/spree/auth/index.ts b/packages/spree/src/auth/index.ts
similarity index 100%
rename from framework/spree/auth/index.ts
rename to packages/spree/src/auth/index.ts
diff --git a/framework/spree/auth/use-login.tsx b/packages/spree/src/auth/use-login.tsx
similarity index 88%
rename from framework/spree/auth/use-login.tsx
rename to packages/spree/src/auth/use-login.tsx
index 7398461e3..b23b8a649 100644
--- a/framework/spree/auth/use-login.tsx
+++ b/packages/spree/src/auth/use-login.tsx
@@ -1,9 +1,9 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import useLogin, { UseLogin } from '@commerce/auth/use-login'
-import type { LoginHook } from '@commerce/types/login'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import useLogin, { UseLogin } from '@vercel/commerce/auth/use-login'
+import type { LoginHook } from '@vercel/commerce/types/login'
import type { AuthTokenAttr } from '@spree/storefront-api-v2-sdk/types/interfaces/Authentication'
-import { FetcherError, ValidationError } from '@commerce/utils/errors'
+import { FetcherError, ValidationError } from '@vercel/commerce/utils/errors'
import useCustomer from '../customer/use-customer'
import useCart from '../cart/use-cart'
import useWishlist from '../wishlist/use-wishlist'
diff --git a/framework/spree/auth/use-logout.tsx b/packages/spree/src/auth/use-logout.tsx
similarity index 65%
rename from framework/spree/auth/use-logout.tsx
rename to packages/spree/src/auth/use-logout.tsx
index 0d8eb4bc9..8b2202123 100644
--- a/framework/spree/auth/use-logout.tsx
+++ b/packages/spree/src/auth/use-logout.tsx
@@ -1,6 +1,6 @@
-import { MutationHook } from '@commerce/utils/types'
-import useLogout, { UseLogout } from '@commerce/auth/use-logout'
-import type { LogoutHook } from '@commerce/types/logout'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useLogout, { UseLogout } from '@vercel/commerce/auth/use-logout'
+import type { LogoutHook } from '@vercel/commerce/types/logout'
import { useCallback } from 'react'
import useCustomer from '../customer/use-customer'
import useCart from '../cart/use-cart'
@@ -52,28 +52,29 @@ export const handler: MutationHook = {
return null
},
useHook: ({ fetch }) => {
- const useWrappedHook: ReturnType['useHook']> =
- () => {
- const customer = useCustomer({
- swrOptions: { isPaused: () => true },
- })
- const cart = useCart({
- swrOptions: { isPaused: () => true },
- })
- const wishlist = useWishlist({
- swrOptions: { isPaused: () => true },
- })
+ const useWrappedHook: ReturnType<
+ MutationHook['useHook']
+ > = () => {
+ const customer = useCustomer({
+ swrOptions: { isPaused: () => true },
+ })
+ const cart = useCart({
+ swrOptions: { isPaused: () => true },
+ })
+ const wishlist = useWishlist({
+ swrOptions: { isPaused: () => true },
+ })
- return useCallback(async () => {
- const data = await fetch()
+ return useCallback(async () => {
+ const data = await fetch()
- await customer.mutate(null, false)
- await cart.mutate(null, false)
- await wishlist.mutate(null, false)
+ await customer.mutate(null, false)
+ await cart.mutate(null, false)
+ await wishlist.mutate(null, false)
- return data
- }, [customer, cart, wishlist])
- }
+ return data
+ }, [customer, cart, wishlist])
+ }
return useWrappedHook
},
diff --git a/framework/spree/auth/use-signup.tsx b/packages/spree/src/auth/use-signup.tsx
similarity index 87%
rename from framework/spree/auth/use-signup.tsx
rename to packages/spree/src/auth/use-signup.tsx
index 46e87a291..7dd8879eb 100644
--- a/framework/spree/auth/use-signup.tsx
+++ b/packages/spree/src/auth/use-signup.tsx
@@ -1,9 +1,9 @@
import { useCallback } from 'react'
-import type { GraphQLFetcherResult } from '@commerce/api'
-import type { MutationHook } from '@commerce/utils/types'
-import useSignup, { UseSignup } from '@commerce/auth/use-signup'
-import type { SignupHook } from '@commerce/types/signup'
-import { ValidationError } from '@commerce/utils/errors'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import useSignup, { UseSignup } from '@vercel/commerce/auth/use-signup'
+import type { SignupHook } from '@vercel/commerce/types/signup'
+import { ValidationError } from '@vercel/commerce/utils/errors'
import type { IAccount } from '@spree/storefront-api-v2-sdk/types/interfaces/Account'
import type { AuthTokenAttr } from '@spree/storefront-api-v2-sdk/types/interfaces/Authentication'
import useCustomer from '../customer/use-customer'
diff --git a/framework/spree/cart/index.ts b/packages/spree/src/cart/index.ts
similarity index 100%
rename from framework/spree/cart/index.ts
rename to packages/spree/src/cart/index.ts
diff --git a/framework/spree/cart/use-add-item.tsx b/packages/spree/src/cart/use-add-item.tsx
similarity index 80%
rename from framework/spree/cart/use-add-item.tsx
rename to packages/spree/src/cart/use-add-item.tsx
index 74bdd633f..5f7d1f4d5 100644
--- a/framework/spree/cart/use-add-item.tsx
+++ b/packages/spree/src/cart/use-add-item.tsx
@@ -1,18 +1,18 @@
-import useAddItem from '@commerce/cart/use-add-item'
-import type { UseAddItem } from '@commerce/cart/use-add-item'
-import type { MutationHook } from '@commerce/utils/types'
+import useAddItem from '@vercel/commerce/cart/use-add-item'
+import type { UseAddItem } from '@vercel/commerce/cart/use-add-item'
+import type { MutationHook } from '@vercel/commerce/utils/types'
import { useCallback } from 'react'
import useCart from './use-cart'
-import type { AddItemHook } from '@commerce/types/cart'
+import type { AddItemHook } from '@vercel/commerce/types/cart'
import normalizeCart from '../utils/normalizations/normalize-cart'
-import type { GraphQLFetcherResult } from '@commerce/api'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
import type { IOrder } from '@spree/storefront-api-v2-sdk/types/interfaces/Order'
import type { IToken } from '@spree/storefront-api-v2-sdk/types/interfaces/Token'
import type { AddItem } from '@spree/storefront-api-v2-sdk/types/interfaces/endpoints/CartClass'
import { setCartToken } from '../utils/tokens/cart-token'
import ensureIToken from '../utils/tokens/ensure-itoken'
import createEmptyCart from '../utils/create-empty-cart'
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
import isLoggedIn from '../utils/tokens/is-logged-in'
export default useAddItem as UseAddItem
@@ -96,21 +96,22 @@ export const handler: MutationHook = {
}
},
useHook: ({ fetch }) => {
- const useWrappedHook: ReturnType['useHook']> =
- () => {
- const { mutate } = useCart()
+ const useWrappedHook: ReturnType<
+ MutationHook['useHook']
+ > = () => {
+ const { mutate } = useCart()
- return useCallback(
- async (input) => {
- const data = await fetch({ input })
+ return useCallback(
+ async (input) => {
+ const data = await fetch({ input })
- await mutate(data, false)
+ await mutate(data, false)
- return data
- },
- [mutate]
- )
- }
+ return data
+ },
+ [mutate]
+ )
+ }
return useWrappedHook
},
diff --git a/framework/spree/cart/use-cart.tsx b/packages/spree/src/cart/use-cart.tsx
similarity index 89%
rename from framework/spree/cart/use-cart.tsx
rename to packages/spree/src/cart/use-cart.tsx
index e700c27fa..699a023e1 100644
--- a/framework/spree/cart/use-cart.tsx
+++ b/packages/spree/src/cart/use-cart.tsx
@@ -1,13 +1,13 @@
import { useMemo } from 'react'
-import type { SWRHook } from '@commerce/utils/types'
-import useCart from '@commerce/cart/use-cart'
-import type { UseCart } from '@commerce/cart/use-cart'
-import type { GetCartHook } from '@commerce/types/cart'
+import type { SWRHook } from '@vercel/commerce/utils/types'
+import useCart from '@vercel/commerce/cart/use-cart'
+import type { UseCart } from '@vercel/commerce/cart/use-cart'
+import type { GetCartHook } from '@vercel/commerce/types/cart'
import normalizeCart from '../utils/normalizations/normalize-cart'
-import type { GraphQLFetcherResult } from '@commerce/api'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
import type { IOrder } from '@spree/storefront-api-v2-sdk/types/interfaces/Order'
import type { IToken } from '@spree/storefront-api-v2-sdk/types/interfaces/Token'
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
import { setCartToken } from '../utils/tokens/cart-token'
import ensureIToken from '../utils/tokens/ensure-itoken'
import isLoggedIn from '../utils/tokens/is-logged-in'
@@ -21,7 +21,7 @@ export default useCart as UseCart
// This handler avoids calling /api/cart.
// There doesn't seem to be a good reason to call it.
-// So far, only @framework/bigcommerce uses it.
+// So far, only bigcommerce uses it.
export const handler: SWRHook = {
// Provide fetchOptions for SWR cache key
fetchOptions: {
diff --git a/framework/spree/cart/use-remove-item.tsx b/packages/spree/src/cart/use-remove-item.tsx
similarity index 74%
rename from framework/spree/cart/use-remove-item.tsx
rename to packages/spree/src/cart/use-remove-item.tsx
index 42e7536a9..6bbecd32e 100644
--- a/framework/spree/cart/use-remove-item.tsx
+++ b/packages/spree/src/cart/use-remove-item.tsx
@@ -1,18 +1,18 @@
-import type { MutationHook } from '@commerce/utils/types'
-import useRemoveItem from '@commerce/cart/use-remove-item'
-import type { UseRemoveItem } from '@commerce/cart/use-remove-item'
-import type { RemoveItemHook } from '@commerce/types/cart'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import useRemoveItem from '@vercel/commerce/cart/use-remove-item'
+import type { UseRemoveItem } from '@vercel/commerce/cart/use-remove-item'
+import type { RemoveItemHook } from '@vercel/commerce/types/cart'
import useCart from './use-cart'
import { useCallback } from 'react'
import normalizeCart from '../utils/normalizations/normalize-cart'
import type { IOrder } from '@spree/storefront-api-v2-sdk/types/interfaces/Order'
-import type { GraphQLFetcherResult } from '@commerce/api'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
import type { IQuery } from '@spree/storefront-api-v2-sdk/types/interfaces/Query'
import type { IToken } from '@spree/storefront-api-v2-sdk/types/interfaces/Token'
import ensureIToken from '../utils/tokens/ensure-itoken'
import createEmptyCart from '../utils/create-empty-cart'
import { setCartToken } from '../utils/tokens/cart-token'
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
import isLoggedIn from '../utils/tokens/is-logged-in'
export default useRemoveItem as UseRemoveItem
@@ -94,24 +94,25 @@ export const handler: MutationHook = {
}
},
useHook: ({ fetch }) => {
- const useWrappedHook: ReturnType['useHook']> =
- () => {
- const { mutate } = useCart()
+ const useWrappedHook: ReturnType<
+ MutationHook['useHook']
+ > = () => {
+ const { mutate } = useCart()
- return useCallback(
- async (input) => {
- const data = await fetch({ input: { itemId: input.id } })
+ return useCallback(
+ async (input) => {
+ const data = await fetch({ input: { itemId: input.id } })
- // Upon calling cart.removeItem, Spree returns the old version of the cart,
- // with the already removed line item. Invalidate the useCart mutation
- // to fetch the cart again.
- await mutate(data, true)
+ // Upon calling cart.removeItem, Spree returns the old version of the cart,
+ // with the already removed line item. Invalidate the useCart mutation
+ // to fetch the cart again.
+ await mutate(data, true)
- return data
- },
- [mutate]
- )
- }
+ return data
+ },
+ [mutate]
+ )
+ }
return useWrappedHook
},
diff --git a/framework/spree/cart/use-update-item.tsx b/packages/spree/src/cart/use-update-item.tsx
similarity index 68%
rename from framework/spree/cart/use-update-item.tsx
rename to packages/spree/src/cart/use-update-item.tsx
index 86b8599fa..679d68ac7 100644
--- a/framework/spree/cart/use-update-item.tsx
+++ b/packages/spree/src/cart/use-update-item.tsx
@@ -1,12 +1,14 @@
-import type { MutationHook } from '@commerce/utils/types'
-import useUpdateItem, { UseUpdateItem } from '@commerce/cart/use-update-item'
-import type { UpdateItemHook } from '@commerce/types/cart'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import useUpdateItem, {
+ UseUpdateItem,
+} from '@vercel/commerce/cart/use-update-item'
+import type { UpdateItemHook } from '@vercel/commerce/types/cart'
import useCart from './use-cart'
import { useMemo } from 'react'
-import { FetcherError, ValidationError } from '@commerce/utils/errors'
+import { FetcherError, ValidationError } from '@vercel/commerce/utils/errors'
import type { IToken } from '@spree/storefront-api-v2-sdk/types/interfaces/Token'
import type { SetQuantity } from '@spree/storefront-api-v2-sdk/types/interfaces/endpoints/CartClass'
-import type { GraphQLFetcherResult } from '@commerce/api'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
import type { IOrder } from '@spree/storefront-api-v2-sdk/types/interfaces/Order'
import normalizeCart from '../utils/normalizations/normalize-cart'
import debounce from 'lodash.debounce'
@@ -103,42 +105,43 @@ export const handler: MutationHook = {
}
},
useHook: ({ fetch }) => {
- const useWrappedHook: ReturnType['useHook']> =
- (context) => {
- const { mutate } = useCart()
+ const useWrappedHook: ReturnType<
+ MutationHook['useHook']
+ > = (context) => {
+ const { mutate } = useCart()
- return useMemo(
- () =>
- debounce(async (input: UpdateItemHook['actionInput']) => {
- const itemId = context?.item?.id
- const productId = input.productId ?? context?.item?.productId
- const variantId = input.variantId ?? context?.item?.variantId
- const quantity = input.quantity
+ return useMemo(
+ () =>
+ debounce(async (input: UpdateItemHook['actionInput']) => {
+ const itemId = context?.item?.id
+ const productId = input.productId ?? context?.item?.productId
+ const variantId = input.variantId ?? context?.item?.variantId
+ const quantity = input.quantity
- if (!itemId || !productId || !variantId) {
- throw new ValidationError({
- message: 'Invalid input used for this operation',
- })
- }
-
- const data = await fetch({
- input: {
- item: {
- productId,
- variantId,
- quantity,
- },
- itemId,
- },
+ if (!itemId || !productId || !variantId) {
+ throw new ValidationError({
+ message: 'Invalid input used for this operation',
})
+ }
- await mutate(data, false)
+ const data = await fetch({
+ input: {
+ item: {
+ productId,
+ variantId,
+ quantity,
+ },
+ itemId,
+ },
+ })
- return data
- }, context?.wait ?? 500),
- [mutate, context]
- )
- }
+ await mutate(data, false)
+
+ return data
+ }, context?.wait ?? 500),
+ [mutate, context]
+ )
+ }
return useWrappedHook
},
diff --git a/framework/spree/checkout/use-checkout.tsx b/packages/spree/src/checkout/use-checkout.tsx
similarity index 71%
rename from framework/spree/checkout/use-checkout.tsx
rename to packages/spree/src/checkout/use-checkout.tsx
index dfd7fe02f..bd8e3ac75 100644
--- a/framework/spree/checkout/use-checkout.tsx
+++ b/packages/spree/src/checkout/use-checkout.tsx
@@ -1,5 +1,7 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCheckout, { UseCheckout } from '@commerce/checkout/use-checkout'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCheckout, {
+ UseCheckout,
+} from '@vercel/commerce/checkout/use-checkout'
export default useCheckout as UseCheckout
diff --git a/framework/spree/commerce.config.json b/packages/spree/src/commerce.config.json
similarity index 100%
rename from framework/spree/commerce.config.json
rename to packages/spree/src/commerce.config.json
diff --git a/framework/spree/customer/address/use-add-item.tsx b/packages/spree/src/customer/address/use-add-item.tsx
similarity index 60%
rename from framework/spree/customer/address/use-add-item.tsx
rename to packages/spree/src/customer/address/use-add-item.tsx
index c2f645a16..63296809d 100644
--- a/framework/spree/customer/address/use-add-item.tsx
+++ b/packages/spree/src/customer/address/use-add-item.tsx
@@ -1,6 +1,6 @@
-import useAddItem from '@commerce/customer/address/use-add-item'
-import type { UseAddItem } from '@commerce/customer/address/use-add-item'
-import type { MutationHook } from '@commerce/utils/types'
+import useAddItem from '@vercel/commerce/customer/address/use-add-item'
+import type { UseAddItem } from '@vercel/commerce/customer/address/use-add-item'
+import type { MutationHook } from '@vercel/commerce/utils/types'
export default useAddItem as UseAddItem
diff --git a/framework/spree/customer/card/use-add-item.tsx b/packages/spree/src/customer/card/use-add-item.tsx
similarity index 62%
rename from framework/spree/customer/card/use-add-item.tsx
rename to packages/spree/src/customer/card/use-add-item.tsx
index a8bb3cd88..402811453 100644
--- a/framework/spree/customer/card/use-add-item.tsx
+++ b/packages/spree/src/customer/card/use-add-item.tsx
@@ -1,6 +1,6 @@
-import useAddItem from '@commerce/customer/address/use-add-item'
-import type { UseAddItem } from '@commerce/customer/address/use-add-item'
-import type { MutationHook } from '@commerce/utils/types'
+import useAddItem from '@vercel/commerce/customer/address/use-add-item'
+import type { UseAddItem } from '@vercel/commerce/customer/address/use-add-item'
+import type { MutationHook } from '@vercel/commerce/utils/types'
export default useAddItem as UseAddItem
diff --git a/framework/spree/customer/index.ts b/packages/spree/src/customer/index.ts
similarity index 100%
rename from framework/spree/customer/index.ts
rename to packages/spree/src/customer/index.ts
diff --git a/framework/spree/customer/use-customer.tsx b/packages/spree/src/customer/use-customer.tsx
similarity index 82%
rename from framework/spree/customer/use-customer.tsx
rename to packages/spree/src/customer/use-customer.tsx
index 647645ac2..56f330d26 100644
--- a/framework/spree/customer/use-customer.tsx
+++ b/packages/spree/src/customer/use-customer.tsx
@@ -1,11 +1,11 @@
-import type { SWRHook } from '@commerce/utils/types'
-import useCustomer from '@commerce/customer/use-customer'
-import type { UseCustomer } from '@commerce/customer/use-customer'
-import type { CustomerHook } from '@commerce/types/customer'
+import type { SWRHook } from '@vercel/commerce/utils/types'
+import useCustomer from '@vercel/commerce/customer/use-customer'
+import type { UseCustomer } from '@vercel/commerce/customer/use-customer'
+import type { CustomerHook } from '@vercel/commerce/types/customer'
import type { IToken } from '@spree/storefront-api-v2-sdk/types/interfaces/Token'
-import type { GraphQLFetcherResult } from '@commerce/api'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
import type { IAccount } from '@spree/storefront-api-v2-sdk/types/interfaces/Account'
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
import normalizeUser from '../utils/normalizations/normalize-user'
import isLoggedIn from '../utils/tokens/is-logged-in'
import ensureIToken from '../utils/tokens/ensure-itoken'
diff --git a/framework/spree/errors/AccessTokenError.ts b/packages/spree/src/errors/AccessTokenError.ts
similarity index 100%
rename from framework/spree/errors/AccessTokenError.ts
rename to packages/spree/src/errors/AccessTokenError.ts
diff --git a/framework/spree/errors/MisconfigurationError.ts b/packages/spree/src/errors/MisconfigurationError.ts
similarity index 100%
rename from framework/spree/errors/MisconfigurationError.ts
rename to packages/spree/src/errors/MisconfigurationError.ts
diff --git a/framework/spree/errors/MissingConfigurationValueError.ts b/packages/spree/src/errors/MissingConfigurationValueError.ts
similarity index 100%
rename from framework/spree/errors/MissingConfigurationValueError.ts
rename to packages/spree/src/errors/MissingConfigurationValueError.ts
diff --git a/framework/spree/errors/MissingLineItemVariantError.ts b/packages/spree/src/errors/MissingLineItemVariantError.ts
similarity index 100%
rename from framework/spree/errors/MissingLineItemVariantError.ts
rename to packages/spree/src/errors/MissingLineItemVariantError.ts
diff --git a/framework/spree/errors/MissingOptionValueError.ts b/packages/spree/src/errors/MissingOptionValueError.ts
similarity index 100%
rename from framework/spree/errors/MissingOptionValueError.ts
rename to packages/spree/src/errors/MissingOptionValueError.ts
diff --git a/framework/spree/errors/MissingPrimaryVariantError.ts b/packages/spree/src/errors/MissingPrimaryVariantError.ts
similarity index 100%
rename from framework/spree/errors/MissingPrimaryVariantError.ts
rename to packages/spree/src/errors/MissingPrimaryVariantError.ts
diff --git a/framework/spree/errors/MissingProductError.ts b/packages/spree/src/errors/MissingProductError.ts
similarity index 100%
rename from framework/spree/errors/MissingProductError.ts
rename to packages/spree/src/errors/MissingProductError.ts
diff --git a/framework/spree/errors/MissingSlugVariableError.ts b/packages/spree/src/errors/MissingSlugVariableError.ts
similarity index 100%
rename from framework/spree/errors/MissingSlugVariableError.ts
rename to packages/spree/src/errors/MissingSlugVariableError.ts
diff --git a/framework/spree/errors/MissingVariantError.ts b/packages/spree/src/errors/MissingVariantError.ts
similarity index 100%
rename from framework/spree/errors/MissingVariantError.ts
rename to packages/spree/src/errors/MissingVariantError.ts
diff --git a/framework/spree/errors/RefreshTokenError.ts b/packages/spree/src/errors/RefreshTokenError.ts
similarity index 100%
rename from framework/spree/errors/RefreshTokenError.ts
rename to packages/spree/src/errors/RefreshTokenError.ts
diff --git a/framework/spree/errors/SpreeResponseContentError.ts b/packages/spree/src/errors/SpreeResponseContentError.ts
similarity index 100%
rename from framework/spree/errors/SpreeResponseContentError.ts
rename to packages/spree/src/errors/SpreeResponseContentError.ts
diff --git a/framework/spree/errors/SpreeSdkMethodFromEndpointPathError.ts b/packages/spree/src/errors/SpreeSdkMethodFromEndpointPathError.ts
similarity index 100%
rename from framework/spree/errors/SpreeSdkMethodFromEndpointPathError.ts
rename to packages/spree/src/errors/SpreeSdkMethodFromEndpointPathError.ts
diff --git a/framework/spree/errors/TokensNotRejectedError.ts b/packages/spree/src/errors/TokensNotRejectedError.ts
similarity index 100%
rename from framework/spree/errors/TokensNotRejectedError.ts
rename to packages/spree/src/errors/TokensNotRejectedError.ts
diff --git a/framework/spree/errors/UserTokenResponseParseError.ts b/packages/spree/src/errors/UserTokenResponseParseError.ts
similarity index 100%
rename from framework/spree/errors/UserTokenResponseParseError.ts
rename to packages/spree/src/errors/UserTokenResponseParseError.ts
diff --git a/framework/spree/fetcher.ts b/packages/spree/src/fetcher.ts
similarity index 96%
rename from framework/spree/fetcher.ts
rename to packages/spree/src/fetcher.ts
index 379cd3cb7..cb14c1e61 100644
--- a/framework/spree/fetcher.ts
+++ b/packages/spree/src/fetcher.ts
@@ -1,8 +1,8 @@
-import type { Fetcher } from '@commerce/utils/types'
+import type { Fetcher } from '@vercel/commerce/utils/types'
import convertSpreeErrorToGraphQlError from './utils/convert-spree-error-to-graph-ql-error'
import { makeClient, errors } from '@spree/storefront-api-v2-sdk'
import type { ResultResponse } from '@spree/storefront-api-v2-sdk/types/interfaces/ResultResponse'
-import type { GraphQLFetcherResult } from '@commerce/api'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
import { requireConfigValue } from './isomorphic-config'
import getSpreeSdkMethodFromEndpointPath from './utils/get-spree-sdk-method-from-endpoint-path'
import SpreeSdkMethodFromEndpointPathError from './errors/SpreeSdkMethodFromEndpointPathError'
diff --git a/framework/spree/index.tsx b/packages/spree/src/index.tsx
similarity index 93%
rename from framework/spree/index.tsx
rename to packages/spree/src/index.tsx
index f7eff69e9..9291e2b16 100644
--- a/framework/spree/index.tsx
+++ b/packages/spree/src/index.tsx
@@ -4,12 +4,12 @@ import {
CommerceProviderProps,
CoreCommerceProvider,
useCommerce as useCoreCommerce,
-} from '@commerce'
+} from '@vercel/commerce'
import { spreeProvider } from './provider'
import type { SpreeProvider } from './provider'
import { SWRConfig } from 'swr'
import handleTokenErrors from './utils/handle-token-errors'
-import useLogout from '@commerce/auth/use-logout'
+import useLogout from '@vercel/commerce/auth/use-logout'
export { spreeProvider }
export type { SpreeProvider }
diff --git a/framework/spree/isomorphic-config.ts b/packages/spree/src/isomorphic-config.ts
similarity index 100%
rename from framework/spree/isomorphic-config.ts
rename to packages/spree/src/isomorphic-config.ts
diff --git a/framework/spree/next.config.js b/packages/spree/src/next.config.cjs
similarity index 100%
rename from framework/spree/next.config.js
rename to packages/spree/src/next.config.cjs
diff --git a/framework/spree/product/index.ts b/packages/spree/src/product/index.ts
similarity index 100%
rename from framework/spree/product/index.ts
rename to packages/spree/src/product/index.ts
diff --git a/packages/spree/src/product/use-price.tsx b/packages/spree/src/product/use-price.tsx
new file mode 100644
index 000000000..fd42d7033
--- /dev/null
+++ b/packages/spree/src/product/use-price.tsx
@@ -0,0 +1,2 @@
+export * from '@vercel/commerce/product/use-price'
+export { default } from '@vercel/commerce/product/use-price'
diff --git a/framework/spree/product/use-search.tsx b/packages/spree/src/product/use-search.tsx
similarity index 89%
rename from framework/spree/product/use-search.tsx
rename to packages/spree/src/product/use-search.tsx
index 5912a72ca..7de5d8258 100644
--- a/framework/spree/product/use-search.tsx
+++ b/packages/spree/src/product/use-search.tsx
@@ -1,9 +1,12 @@
-import type { SWRHook } from '@commerce/utils/types'
-import useSearch from '@commerce/product/use-search'
-import type { Product, SearchProductsHook } from '@commerce/types/product'
-import type { UseSearch } from '@commerce/product/use-search'
+import type { SWRHook } from '@vercel/commerce/utils/types'
+import useSearch from '@vercel/commerce/product/use-search'
+import type {
+ Product,
+ SearchProductsHook,
+} from '@vercel/commerce/types/product'
+import type { UseSearch } from '@vercel/commerce/product/use-search'
import normalizeProduct from '../utils/normalizations/normalize-product'
-import type { GraphQLFetcherResult } from '@commerce/api'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
import { IProducts } from '@spree/storefront-api-v2-sdk/types/interfaces/Product'
import { requireConfigValue } from '../isomorphic-config'
diff --git a/framework/spree/provider.ts b/packages/spree/src/provider.ts
similarity index 100%
rename from framework/spree/provider.ts
rename to packages/spree/src/provider.ts
diff --git a/framework/spree/types/index.ts b/packages/spree/src/types/index.ts
similarity index 95%
rename from framework/spree/types/index.ts
rename to packages/spree/src/types/index.ts
index 79b75c249..74ddeb52a 100644
--- a/framework/spree/types/index.ts
+++ b/packages/spree/src/types/index.ts
@@ -6,13 +6,13 @@ import type {
} from '@spree/storefront-api-v2-sdk/types/interfaces/JsonApi'
import type { ResultResponse } from '@spree/storefront-api-v2-sdk/types/interfaces/ResultResponse'
import type { Response } from '@vercel/fetch'
-import type { ProductOption, Product } from '@commerce/types/product'
+import type { ProductOption, Product } from '@vercel/commerce/types/product'
import type {
AddItemHook,
RemoveItemHook,
WishlistItemBody,
WishlistTypes,
-} from '@commerce/types/wishlist'
+} from '@vercel/commerce/types/wishlist'
export type UnknownObjectValues = Record
@@ -136,7 +136,7 @@ export type UserOAuthTokens = {
// TODO: ExplicitCommerceWishlist is a temporary type
// derived from tsx views. It will be removed once
-// Wishlist in @commerce/types/wishlist is updated
+// Wishlist in @vercel/commerce/types/wishlist is updated
// to a more specific type than `any`.
export type ExplicitCommerceWishlist = {
id: string
diff --git a/framework/spree/utils/convert-spree-error-to-graph-ql-error.ts b/packages/spree/src/utils/convert-spree-error-to-graph-ql-error.ts
similarity index 95%
rename from framework/spree/utils/convert-spree-error-to-graph-ql-error.ts
rename to packages/spree/src/utils/convert-spree-error-to-graph-ql-error.ts
index def4920ba..f35a00da5 100644
--- a/framework/spree/utils/convert-spree-error-to-graph-ql-error.ts
+++ b/packages/spree/src/utils/convert-spree-error-to-graph-ql-error.ts
@@ -1,4 +1,4 @@
-import { FetcherError } from '@commerce/utils/errors'
+import { FetcherError } from '@vercel/commerce/utils/errors'
import { errors } from '@spree/storefront-api-v2-sdk'
const convertSpreeErrorToGraphQlError = (
diff --git a/framework/spree/utils/create-customized-fetch-fetcher.ts b/packages/spree/src/utils/create-customized-fetch-fetcher.ts
similarity index 100%
rename from framework/spree/utils/create-customized-fetch-fetcher.ts
rename to packages/spree/src/utils/create-customized-fetch-fetcher.ts
diff --git a/framework/spree/utils/create-empty-cart.ts b/packages/spree/src/utils/create-empty-cart.ts
similarity index 80%
rename from framework/spree/utils/create-empty-cart.ts
rename to packages/spree/src/utils/create-empty-cart.ts
index 0bf0aa522..efbd687f3 100644
--- a/framework/spree/utils/create-empty-cart.ts
+++ b/packages/spree/src/utils/create-empty-cart.ts
@@ -1,5 +1,5 @@
-import type { GraphQLFetcherResult } from '@commerce/api'
-import type { HookFetcherContext } from '@commerce/utils/types'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
+import type { HookFetcherContext } from '@vercel/commerce/utils/types'
import type { IOrder } from '@spree/storefront-api-v2-sdk/types/interfaces/Order'
import type { IToken } from '@spree/storefront-api-v2-sdk/types/interfaces/Token'
import ensureIToken from './tokens/ensure-itoken'
diff --git a/framework/spree/utils/create-get-absolute-image-url.ts b/packages/spree/src/utils/create-get-absolute-image-url.ts
similarity index 100%
rename from framework/spree/utils/create-get-absolute-image-url.ts
rename to packages/spree/src/utils/create-get-absolute-image-url.ts
diff --git a/framework/spree/utils/expand-options.ts b/packages/spree/src/utils/expand-options.ts
similarity index 97%
rename from framework/spree/utils/expand-options.ts
rename to packages/spree/src/utils/expand-options.ts
index 29b9d6760..382ea3b5a 100644
--- a/framework/spree/utils/expand-options.ts
+++ b/packages/spree/src/utils/expand-options.ts
@@ -1,4 +1,4 @@
-import type { ProductOptionValues } from '@commerce/types/product'
+import type { ProductOptionValues } from '@vercel/commerce/types/product'
import type {
JsonApiDocument,
JsonApiResponse,
diff --git a/framework/spree/utils/force-isomorphic-config-values.ts b/packages/spree/src/utils/force-isomorphic-config-values.ts
similarity index 100%
rename from framework/spree/utils/force-isomorphic-config-values.ts
rename to packages/spree/src/utils/force-isomorphic-config-values.ts
diff --git a/framework/spree/utils/get-image-url.ts b/packages/spree/src/utils/get-image-url.ts
similarity index 100%
rename from framework/spree/utils/get-image-url.ts
rename to packages/spree/src/utils/get-image-url.ts
diff --git a/framework/spree/utils/get-media-gallery.ts b/packages/spree/src/utils/get-media-gallery.ts
similarity index 90%
rename from framework/spree/utils/get-media-gallery.ts
rename to packages/spree/src/utils/get-media-gallery.ts
index da939c82b..dd2dacb29 100644
--- a/framework/spree/utils/get-media-gallery.ts
+++ b/packages/spree/src/utils/get-media-gallery.ts
@@ -1,6 +1,6 @@
// Based on https://github.com/spark-solutions/spree2vuestorefront/blob/d88d85ae1bcd2ec99b13b81cd2e3c25600a0216e/src/utils/index.ts
-import type { ProductImage } from '@commerce/types/product'
+import type { ProductImage } from '@vercel/commerce/types/product'
import type { SpreeProductImage } from '../types'
const getMediaGallery = (
diff --git a/framework/spree/utils/get-product-path.ts b/packages/spree/src/utils/get-product-path.ts
similarity index 100%
rename from framework/spree/utils/get-product-path.ts
rename to packages/spree/src/utils/get-product-path.ts
diff --git a/framework/spree/utils/get-spree-sdk-method-from-endpoint-path.ts b/packages/spree/src/utils/get-spree-sdk-method-from-endpoint-path.ts
similarity index 100%
rename from framework/spree/utils/get-spree-sdk-method-from-endpoint-path.ts
rename to packages/spree/src/utils/get-spree-sdk-method-from-endpoint-path.ts
diff --git a/framework/spree/utils/handle-token-errors.ts b/packages/spree/src/utils/handle-token-errors.ts
similarity index 100%
rename from framework/spree/utils/handle-token-errors.ts
rename to packages/spree/src/utils/handle-token-errors.ts
diff --git a/framework/spree/utils/is-json-content-type.ts b/packages/spree/src/utils/is-json-content-type.ts
similarity index 100%
rename from framework/spree/utils/is-json-content-type.ts
rename to packages/spree/src/utils/is-json-content-type.ts
diff --git a/framework/spree/utils/is-server.ts b/packages/spree/src/utils/is-server.ts
similarity index 100%
rename from framework/spree/utils/is-server.ts
rename to packages/spree/src/utils/is-server.ts
diff --git a/framework/spree/utils/login.ts b/packages/spree/src/utils/login.ts
similarity index 92%
rename from framework/spree/utils/login.ts
rename to packages/spree/src/utils/login.ts
index 3894b7952..13555664a 100644
--- a/framework/spree/utils/login.ts
+++ b/packages/spree/src/utils/login.ts
@@ -1,5 +1,5 @@
-import type { GraphQLFetcherResult } from '@commerce/api'
-import type { HookFetcherContext } from '@commerce/utils/types'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
+import type { HookFetcherContext } from '@vercel/commerce/utils/types'
import type { AuthTokenAttr } from '@spree/storefront-api-v2-sdk/types/interfaces/Authentication'
import type { AssociateCart } from '@spree/storefront-api-v2-sdk/types/interfaces/endpoints/CartClass'
import type { IOrder } from '@spree/storefront-api-v2-sdk/types/interfaces/Order'
diff --git a/framework/spree/utils/normalizations/normalize-cart.ts b/packages/spree/src/utils/normalizations/normalize-cart.ts
similarity index 98%
rename from framework/spree/utils/normalizations/normalize-cart.ts
rename to packages/spree/src/utils/normalizations/normalize-cart.ts
index a1751eaec..c5597fd89 100644
--- a/framework/spree/utils/normalizations/normalize-cart.ts
+++ b/packages/spree/src/utils/normalizations/normalize-cart.ts
@@ -3,12 +3,12 @@ import type {
LineItem,
ProductVariant,
SelectedOption,
-} from '@commerce/types/cart'
+} from '@vercel/commerce/types/cart'
import MissingLineItemVariantError from '../../errors/MissingLineItemVariantError'
import { requireConfigValue } from '../../isomorphic-config'
import type { OrderAttr } from '@spree/storefront-api-v2-sdk/types/interfaces/Order'
import type { ProductAttr } from '@spree/storefront-api-v2-sdk/types/interfaces/Product'
-import type { Image } from '@commerce/types/common'
+import type { Image } from '@vercel/commerce/types/common'
import { jsonApi } from '@spree/storefront-api-v2-sdk'
import createGetAbsoluteImageUrl from '../create-get-absolute-image-url'
import getMediaGallery from '../get-media-gallery'
diff --git a/framework/spree/utils/normalizations/normalize-page.ts b/packages/spree/src/utils/normalizations/normalize-page.ts
similarity index 95%
rename from framework/spree/utils/normalizations/normalize-page.ts
rename to packages/spree/src/utils/normalizations/normalize-page.ts
index c49d862d1..a2464ffd9 100644
--- a/framework/spree/utils/normalizations/normalize-page.ts
+++ b/packages/spree/src/utils/normalizations/normalize-page.ts
@@ -1,4 +1,4 @@
-import { Page } from '@commerce/types/page'
+import { Page } from '@vercel/commerce/types/page'
import type { PageAttr } from '@spree/storefront-api-v2-sdk/types/interfaces/Page'
import { SpreeSdkResponse } from '../../types'
diff --git a/framework/spree/utils/normalizations/normalize-product.ts b/packages/spree/src/utils/normalizations/normalize-product.ts
similarity index 99%
rename from framework/spree/utils/normalizations/normalize-product.ts
rename to packages/spree/src/utils/normalizations/normalize-product.ts
index e70bd34b4..6965f0197 100644
--- a/framework/spree/utils/normalizations/normalize-product.ts
+++ b/packages/spree/src/utils/normalizations/normalize-product.ts
@@ -3,7 +3,7 @@ import type {
ProductImage,
ProductPrice,
ProductVariant,
-} from '@commerce/types/product'
+} from '@vercel/commerce/types/product'
import type { ProductAttr } from '@spree/storefront-api-v2-sdk/types/interfaces/Product'
import type { RelationType } from '@spree/storefront-api-v2-sdk/types/interfaces/Relationships'
import { jsonApi } from '@spree/storefront-api-v2-sdk'
diff --git a/framework/spree/utils/normalizations/normalize-user.ts b/packages/spree/src/utils/normalizations/normalize-user.ts
similarity index 84%
rename from framework/spree/utils/normalizations/normalize-user.ts
rename to packages/spree/src/utils/normalizations/normalize-user.ts
index 897b1c59b..8b738fbaf 100644
--- a/framework/spree/utils/normalizations/normalize-user.ts
+++ b/packages/spree/src/utils/normalizations/normalize-user.ts
@@ -1,4 +1,4 @@
-import type { Customer } from '@commerce/types/customer'
+import type { Customer } from '@vercel/commerce/types/customer'
import type { AccountAttr } from '@spree/storefront-api-v2-sdk/types/interfaces/Account'
import type { SpreeSdkResponse } from '../../types'
diff --git a/framework/spree/utils/normalizations/normalize-wishlist.ts b/packages/spree/src/utils/normalizations/normalize-wishlist.ts
similarity index 100%
rename from framework/spree/utils/normalizations/normalize-wishlist.ts
rename to packages/spree/src/utils/normalizations/normalize-wishlist.ts
diff --git a/framework/spree/utils/pretty-print-spree-sdk-errors.ts b/packages/spree/src/utils/pretty-print-spree-sdk-errors.ts
similarity index 100%
rename from framework/spree/utils/pretty-print-spree-sdk-errors.ts
rename to packages/spree/src/utils/pretty-print-spree-sdk-errors.ts
diff --git a/framework/spree/utils/require-config.ts b/packages/spree/src/utils/require-config.ts
similarity index 100%
rename from framework/spree/utils/require-config.ts
rename to packages/spree/src/utils/require-config.ts
diff --git a/framework/spree/utils/sort-option-types.ts b/packages/spree/src/utils/sort-option-types.ts
similarity index 100%
rename from framework/spree/utils/sort-option-types.ts
rename to packages/spree/src/utils/sort-option-types.ts
diff --git a/framework/spree/utils/tokens/cart-token.ts b/packages/spree/src/utils/tokens/cart-token.ts
similarity index 100%
rename from framework/spree/utils/tokens/cart-token.ts
rename to packages/spree/src/utils/tokens/cart-token.ts
diff --git a/framework/spree/utils/tokens/ensure-fresh-user-access-token.ts b/packages/spree/src/utils/tokens/ensure-fresh-user-access-token.ts
similarity index 100%
rename from framework/spree/utils/tokens/ensure-fresh-user-access-token.ts
rename to packages/spree/src/utils/tokens/ensure-fresh-user-access-token.ts
diff --git a/framework/spree/utils/tokens/ensure-itoken.ts b/packages/spree/src/utils/tokens/ensure-itoken.ts
similarity index 100%
rename from framework/spree/utils/tokens/ensure-itoken.ts
rename to packages/spree/src/utils/tokens/ensure-itoken.ts
diff --git a/framework/spree/utils/tokens/is-logged-in.ts b/packages/spree/src/utils/tokens/is-logged-in.ts
similarity index 100%
rename from framework/spree/utils/tokens/is-logged-in.ts
rename to packages/spree/src/utils/tokens/is-logged-in.ts
diff --git a/framework/spree/utils/tokens/revoke-user-tokens.ts b/packages/spree/src/utils/tokens/revoke-user-tokens.ts
similarity index 89%
rename from framework/spree/utils/tokens/revoke-user-tokens.ts
rename to packages/spree/src/utils/tokens/revoke-user-tokens.ts
index 9c603a884..82133542f 100644
--- a/framework/spree/utils/tokens/revoke-user-tokens.ts
+++ b/packages/spree/src/utils/tokens/revoke-user-tokens.ts
@@ -1,5 +1,5 @@
-import type { GraphQLFetcherResult } from '@commerce/api'
-import type { HookFetcherContext } from '@commerce/utils/types'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
+import type { HookFetcherContext } from '@vercel/commerce/utils/types'
import TokensNotRejectedError from '../../errors/TokensNotRejectedError'
import type { UserOAuthTokens } from '../../types'
import type { EmptyObjectResponse } from '@spree/storefront-api-v2-sdk/types/interfaces/EmptyObject'
diff --git a/framework/spree/utils/tokens/user-token-response.ts b/packages/spree/src/utils/tokens/user-token-response.ts
similarity index 100%
rename from framework/spree/utils/tokens/user-token-response.ts
rename to packages/spree/src/utils/tokens/user-token-response.ts
diff --git a/framework/spree/utils/validations/validate-all-products-taxonomy-id.ts b/packages/spree/src/utils/validations/validate-all-products-taxonomy-id.ts
similarity index 100%
rename from framework/spree/utils/validations/validate-all-products-taxonomy-id.ts
rename to packages/spree/src/utils/validations/validate-all-products-taxonomy-id.ts
diff --git a/framework/spree/utils/validations/validate-cookie-expire.ts b/packages/spree/src/utils/validations/validate-cookie-expire.ts
similarity index 100%
rename from framework/spree/utils/validations/validate-cookie-expire.ts
rename to packages/spree/src/utils/validations/validate-cookie-expire.ts
diff --git a/framework/spree/utils/validations/validate-images-option-filter.ts b/packages/spree/src/utils/validations/validate-images-option-filter.ts
similarity index 100%
rename from framework/spree/utils/validations/validate-images-option-filter.ts
rename to packages/spree/src/utils/validations/validate-images-option-filter.ts
diff --git a/framework/spree/utils/validations/validate-images-quality.ts b/packages/spree/src/utils/validations/validate-images-quality.ts
similarity index 100%
rename from framework/spree/utils/validations/validate-images-quality.ts
rename to packages/spree/src/utils/validations/validate-images-quality.ts
diff --git a/framework/spree/utils/validations/validate-images-size.ts b/packages/spree/src/utils/validations/validate-images-size.ts
similarity index 100%
rename from framework/spree/utils/validations/validate-images-size.ts
rename to packages/spree/src/utils/validations/validate-images-size.ts
diff --git a/framework/spree/utils/validations/validate-placeholder-image-url.ts b/packages/spree/src/utils/validations/validate-placeholder-image-url.ts
similarity index 100%
rename from framework/spree/utils/validations/validate-placeholder-image-url.ts
rename to packages/spree/src/utils/validations/validate-placeholder-image-url.ts
diff --git a/framework/spree/utils/validations/validate-products-prerender-count.ts b/packages/spree/src/utils/validations/validate-products-prerender-count.ts
similarity index 100%
rename from framework/spree/utils/validations/validate-products-prerender-count.ts
rename to packages/spree/src/utils/validations/validate-products-prerender-count.ts
diff --git a/framework/spree/wishlist/index.ts b/packages/spree/src/wishlist/index.ts
similarity index 100%
rename from framework/spree/wishlist/index.ts
rename to packages/spree/src/wishlist/index.ts
diff --git a/framework/spree/wishlist/use-add-item.tsx b/packages/spree/src/wishlist/use-add-item.tsx
similarity index 85%
rename from framework/spree/wishlist/use-add-item.tsx
rename to packages/spree/src/wishlist/use-add-item.tsx
index 6733cb055..010a71e7d 100644
--- a/framework/spree/wishlist/use-add-item.tsx
+++ b/packages/spree/src/wishlist/use-add-item.tsx
@@ -1,17 +1,17 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import useAddItem from '@commerce/wishlist/use-add-item'
-import type { UseAddItem } from '@commerce/wishlist/use-add-item'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import useAddItem from '@vercel/commerce/wishlist/use-add-item'
+import type { UseAddItem } from '@vercel/commerce/wishlist/use-add-item'
import useWishlist from './use-wishlist'
import type { ExplicitWishlistAddItemHook } from '../types'
import type {
WishedItem,
WishlistsAddWishedItem,
} from '@spree/storefront-api-v2-sdk/types/interfaces/WishedItem'
-import type { GraphQLFetcherResult } from '@commerce/api'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
import ensureIToken from '../utils/tokens/ensure-itoken'
import type { IToken } from '@spree/storefront-api-v2-sdk/types/interfaces/Token'
-import type { AddItemHook } from '@commerce/types/wishlist'
+import type { AddItemHook } from '@vercel/commerce/types/wishlist'
import isLoggedIn from '../utils/tokens/is-logged-in'
export default useAddItem as UseAddItem
diff --git a/framework/spree/wishlist/use-remove-item.tsx b/packages/spree/src/wishlist/use-remove-item.tsx
similarity index 86%
rename from framework/spree/wishlist/use-remove-item.tsx
rename to packages/spree/src/wishlist/use-remove-item.tsx
index 30611dbc9..d8481f5a3 100644
--- a/framework/spree/wishlist/use-remove-item.tsx
+++ b/packages/spree/src/wishlist/use-remove-item.tsx
@@ -1,13 +1,13 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import useRemoveItem from '@commerce/wishlist/use-remove-item'
-import type { UseRemoveItem } from '@commerce/wishlist/use-remove-item'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import useRemoveItem from '@vercel/commerce/wishlist/use-remove-item'
+import type { UseRemoveItem } from '@vercel/commerce/wishlist/use-remove-item'
import useWishlist from './use-wishlist'
import type { ExplicitWishlistRemoveItemHook } from '../types'
import isLoggedIn from '../utils/tokens/is-logged-in'
import ensureIToken from '../utils/tokens/ensure-itoken'
import type { IToken } from '@spree/storefront-api-v2-sdk/types/interfaces/Token'
-import type { GraphQLFetcherResult } from '@commerce/api'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
import type { WishedItem } from '@spree/storefront-api-v2-sdk/types/interfaces/WishedItem'
export default useRemoveItem as UseRemoveItem
diff --git a/framework/spree/wishlist/use-wishlist.tsx b/packages/spree/src/wishlist/use-wishlist.tsx
similarity index 87%
rename from framework/spree/wishlist/use-wishlist.tsx
rename to packages/spree/src/wishlist/use-wishlist.tsx
index 0292d4096..9f258625e 100644
--- a/framework/spree/wishlist/use-wishlist.tsx
+++ b/packages/spree/src/wishlist/use-wishlist.tsx
@@ -1,10 +1,10 @@
import { useMemo } from 'react'
-import type { SWRHook } from '@commerce/utils/types'
-import useWishlist from '@commerce/wishlist/use-wishlist'
-import type { UseWishlist } from '@commerce/wishlist/use-wishlist'
-import type { GetWishlistHook } from '@commerce/types/wishlist'
+import type { SWRHook } from '@vercel/commerce/utils/types'
+import useWishlist from '@vercel/commerce/wishlist/use-wishlist'
+import type { UseWishlist } from '@vercel/commerce/wishlist/use-wishlist'
+import type { GetWishlistHook } from '@vercel/commerce/types/wishlist'
import type { IToken } from '@spree/storefront-api-v2-sdk/types/interfaces/Token'
-import type { GraphQLFetcherResult } from '@commerce/api'
+import type { GraphQLFetcherResult } from '@vercel/commerce/api'
import type { Wishlist } from '@spree/storefront-api-v2-sdk/types/interfaces/Wishlist'
import ensureIToken from '../utils/tokens/ensure-itoken'
import normalizeWishlist from '../utils/normalizations/normalize-wishlist'
diff --git a/packages/spree/taskfile.js b/packages/spree/taskfile.js
new file mode 100644
index 000000000..39b1b2a86
--- /dev/null
+++ b/packages/spree/taskfile.js
@@ -0,0 +1,20 @@
+export async function build(task, opts) {
+ await task
+ .source('src/**/*.+(ts|tsx|js)')
+ .swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
+ .target('dist')
+ .source('src/**/*.+(cjs|json)')
+ .target('dist')
+ task.$.log('Compiled src files')
+}
+
+export async function release(task) {
+ await task.clear('dist').start('build')
+}
+
+export default async function dev(task) {
+ const opts = { dev: true }
+ await task.clear('dist')
+ await task.start('build', opts)
+ await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
+}
diff --git a/packages/spree/tsconfig.json b/packages/spree/tsconfig.json
new file mode 100644
index 000000000..cd04ab2ff
--- /dev/null
+++ b/packages/spree/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "outDir": "dist",
+ "baseUrl": "src",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "declaration": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "incremental": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/framework/swell/.env.template b/packages/swell/.env.template
similarity index 100%
rename from framework/swell/.env.template
rename to packages/swell/.env.template
diff --git a/packages/swell/.prettierignore b/packages/swell/.prettierignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/swell/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/swell/.prettierrc b/packages/swell/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/packages/swell/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/packages/swell/package.json b/packages/swell/package.json
new file mode 100644
index 000000000..172f68925
--- /dev/null
+++ b/packages/swell/package.json
@@ -0,0 +1,81 @@
+{
+ "name": "@vercel/commerce-swell",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "release": "taskr release",
+ "build": "taskr build",
+ "dev": "taskr",
+ "types": "tsc --emitDeclarationOnly",
+ "prettier-fix": "prettier --write ."
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": "./dist/index.js",
+ "./*": [
+ "./dist/*.js",
+ "./dist/*/index.js"
+ ],
+ "./next.config": "./dist/next.config.cjs"
+ },
+ "typesVersions": {
+ "*": {
+ "*": [
+ "src/*",
+ "src/*/index"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ },
+ "files": [
+ "dist",
+ "schema.d.ts"
+ ],
+ "publishConfig": {
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/*.d.ts",
+ "dist/*/index.d.ts"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ }
+ },
+ "dependencies": {
+ "@vercel/commerce": "^0.0.1",
+ "@vercel/fetch": "^6.1.1",
+ "swell-js": "^4.0.0-next.0"
+ },
+ "peerDependencies": {
+ "next": "^12",
+ "react": "^17",
+ "react-dom": "^17"
+ },
+ "devDependencies": {
+ "@taskr/clear": "^1.1.0",
+ "@taskr/esnext": "^1.1.0",
+ "@taskr/watch": "^1.1.0",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "lint-staged": "^12.1.7",
+ "next": "^12.0.8",
+ "prettier": "^2.5.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "taskr": "^1.1.0",
+ "taskr-swc": "^0.0.1",
+ "typescript": "^4.5.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ }
+}
diff --git a/framework/swell/schema.d.ts b/packages/swell/schema.d.ts
similarity index 100%
rename from framework/swell/schema.d.ts
rename to packages/swell/schema.d.ts
diff --git a/framework/swell/schema.graphql b/packages/swell/schema.graphql
similarity index 100%
rename from framework/swell/schema.graphql
rename to packages/swell/schema.graphql
diff --git a/framework/swell/api/cart/index.ts b/packages/swell/src/api/cart/index.ts
similarity index 100%
rename from framework/swell/api/cart/index.ts
rename to packages/swell/src/api/cart/index.ts
diff --git a/framework/swell/api/catalog/index.ts b/packages/swell/src/api/catalog/index.ts
similarity index 100%
rename from framework/swell/api/catalog/index.ts
rename to packages/swell/src/api/catalog/index.ts
diff --git a/framework/swell/api/catalog/products.ts b/packages/swell/src/api/catalog/products.ts
similarity index 100%
rename from framework/swell/api/catalog/products.ts
rename to packages/swell/src/api/catalog/products.ts
diff --git a/framework/swell/api/customer.ts b/packages/swell/src/api/customer.ts
similarity index 100%
rename from framework/swell/api/customer.ts
rename to packages/swell/src/api/customer.ts
diff --git a/framework/swell/api/customers/index.ts b/packages/swell/src/api/customers/index.ts
similarity index 100%
rename from framework/swell/api/customers/index.ts
rename to packages/swell/src/api/customers/index.ts
diff --git a/framework/swell/api/customers/logout.ts b/packages/swell/src/api/customers/logout.ts
similarity index 100%
rename from framework/swell/api/customers/logout.ts
rename to packages/swell/src/api/customers/logout.ts
diff --git a/framework/swell/api/customers/signup.ts b/packages/swell/src/api/customers/signup.ts
similarity index 100%
rename from framework/swell/api/customers/signup.ts
rename to packages/swell/src/api/customers/signup.ts
diff --git a/framework/swell/api/endpoints/cart.ts b/packages/swell/src/api/endpoints/cart.ts
similarity index 100%
rename from framework/swell/api/endpoints/cart.ts
rename to packages/swell/src/api/endpoints/cart.ts
diff --git a/framework/swell/api/endpoints/catalog/products.ts b/packages/swell/src/api/endpoints/catalog/products.ts
similarity index 100%
rename from framework/swell/api/endpoints/catalog/products.ts
rename to packages/swell/src/api/endpoints/catalog/products.ts
diff --git a/framework/swell/api/endpoints/checkout/index.ts b/packages/swell/src/api/endpoints/checkout/index.ts
similarity index 75%
rename from framework/swell/api/endpoints/checkout/index.ts
rename to packages/swell/src/api/endpoints/checkout/index.ts
index 1d521a6b6..2695ea385 100644
--- a/framework/swell/api/endpoints/checkout/index.ts
+++ b/packages/swell/src/api/endpoints/checkout/index.ts
@@ -1,7 +1,7 @@
-import { CommerceAPI, createEndpoint, GetAPISchema } from '@commerce/api'
-import { CheckoutSchema } from '@commerce/types/checkout'
+import { CommerceAPI, createEndpoint, GetAPISchema } from '@vercel/commerce/api'
+import { CheckoutSchema } from '@vercel/commerce/types/checkout'
import { SWELL_CHECKOUT_URL_COOKIE } from '../../../const'
-import checkoutEndpoint from '@commerce/api/endpoints/checkout'
+import checkoutEndpoint from '@vercel/commerce/api/endpoints/checkout'
const getCheckout: CheckoutEndpoint['handlers']['getCheckout'] = async ({
req,
diff --git a/framework/swell/api/endpoints/customer/address.ts b/packages/swell/src/api/endpoints/customer/address.ts
similarity index 100%
rename from framework/swell/api/endpoints/customer/address.ts
rename to packages/swell/src/api/endpoints/customer/address.ts
diff --git a/framework/swell/api/endpoints/customer/card.ts b/packages/swell/src/api/endpoints/customer/card.ts
similarity index 100%
rename from framework/swell/api/endpoints/customer/card.ts
rename to packages/swell/src/api/endpoints/customer/card.ts
diff --git a/framework/swell/api/endpoints/customer/index.ts b/packages/swell/src/api/endpoints/customer/index.ts
similarity index 100%
rename from framework/swell/api/endpoints/customer/index.ts
rename to packages/swell/src/api/endpoints/customer/index.ts
diff --git a/framework/swell/api/endpoints/login.ts b/packages/swell/src/api/endpoints/login.ts
similarity index 100%
rename from framework/swell/api/endpoints/login.ts
rename to packages/swell/src/api/endpoints/login.ts
diff --git a/framework/swell/api/endpoints/logout.ts b/packages/swell/src/api/endpoints/logout.ts
similarity index 100%
rename from framework/swell/api/endpoints/logout.ts
rename to packages/swell/src/api/endpoints/logout.ts
diff --git a/framework/swell/api/endpoints/signup.ts b/packages/swell/src/api/endpoints/signup.ts
similarity index 100%
rename from framework/swell/api/endpoints/signup.ts
rename to packages/swell/src/api/endpoints/signup.ts
diff --git a/framework/swell/api/endpoints/wishlist.ts b/packages/swell/src/api/endpoints/wishlist.ts
similarity index 100%
rename from framework/swell/api/endpoints/wishlist.ts
rename to packages/swell/src/api/endpoints/wishlist.ts
diff --git a/framework/swell/api/index.ts b/packages/swell/src/api/index.ts
similarity index 97%
rename from framework/swell/api/index.ts
rename to packages/swell/src/api/index.ts
index 463c42fae..589acae4e 100644
--- a/framework/swell/api/index.ts
+++ b/packages/swell/src/api/index.ts
@@ -2,7 +2,7 @@ import {
CommerceAPI,
CommerceAPIConfig,
getCommerceApi as commerceApi,
-} from '@commerce/api'
+} from '@vercel/commerce/api'
import {
SWELL_CHECKOUT_ID_COOKIE,
SWELL_CUSTOMER_TOKEN_COOKIE,
diff --git a/framework/swell/api/operations/get-all-pages.ts b/packages/swell/src/api/operations/get-all-pages.ts
similarity index 93%
rename from framework/swell/api/operations/get-all-pages.ts
rename to packages/swell/src/api/operations/get-all-pages.ts
index e157c0138..7097d6859 100644
--- a/framework/swell/api/operations/get-all-pages.ts
+++ b/packages/swell/src/api/operations/get-all-pages.ts
@@ -1,5 +1,5 @@
import { Provider, SwellConfig } from '..'
-import type { OperationContext } from '@commerce/api/operations'
+import type { OperationContext } from '@vercel/commerce/api/operations'
import type { Page } from '../../types/page'
export type GetAllPagesResult =
diff --git a/framework/swell/api/operations/get-all-product-paths.ts b/packages/swell/src/api/operations/get-all-product-paths.ts
similarity index 88%
rename from framework/swell/api/operations/get-all-product-paths.ts
rename to packages/swell/src/api/operations/get-all-product-paths.ts
index 4d95253e8..1e5088608 100644
--- a/framework/swell/api/operations/get-all-product-paths.ts
+++ b/packages/swell/src/api/operations/get-all-product-paths.ts
@@ -1,7 +1,10 @@
import { SwellProduct } from '../../types'
import { SwellConfig, Provider } from '..'
-import { OperationContext, OperationOptions } from '@commerce/api/operations'
-import { GetAllProductPathsOperation } from '@commerce/types/product'
+import {
+ OperationContext,
+ OperationOptions,
+} from '@vercel/commerce/api/operations'
+import { GetAllProductPathsOperation } from '@vercel/commerce/types/product'
export default function getAllProductPathsOperation({
commerce,
diff --git a/framework/swell/api/operations/get-all-products.ts b/packages/swell/src/api/operations/get-all-products.ts
similarity index 89%
rename from framework/swell/api/operations/get-all-products.ts
rename to packages/swell/src/api/operations/get-all-products.ts
index 7e8e99a5c..6527fb986 100644
--- a/framework/swell/api/operations/get-all-products.ts
+++ b/packages/swell/src/api/operations/get-all-products.ts
@@ -1,8 +1,8 @@
import { normalizeProduct } from '../../utils/normalize'
import { SwellProduct } from '../../types'
-import { Product } from '@commerce/types/product'
+import { Product } from '@vercel/commerce/types/product'
import { Provider, SwellConfig } from '../'
-import { OperationContext } from '@commerce/api/operations'
+import { OperationContext } from '@vercel/commerce/api/operations'
export type ProductVariables = { first?: number }
diff --git a/framework/swell/api/operations/get-page.ts b/packages/swell/src/api/operations/get-page.ts
similarity index 90%
rename from framework/swell/api/operations/get-page.ts
rename to packages/swell/src/api/operations/get-page.ts
index 99fbac04d..7e71f7575 100644
--- a/framework/swell/api/operations/get-page.ts
+++ b/packages/swell/src/api/operations/get-page.ts
@@ -1,6 +1,9 @@
-import { Page } from '../../schema'
+import { Page } from '../../../schema'
import { SwellConfig, Provider } from '..'
-import { OperationContext, OperationOptions } from '@commerce/api/operations'
+import {
+ OperationContext,
+ OperationOptions,
+} from '@vercel/commerce/api/operations'
import { GetPageOperation } from '../../types/page'
export type GetPageResult = T
diff --git a/framework/swell/api/operations/get-product.ts b/packages/swell/src/api/operations/get-product.ts
similarity index 85%
rename from framework/swell/api/operations/get-product.ts
rename to packages/swell/src/api/operations/get-product.ts
index c9a3d6f1d..fff62570f 100644
--- a/framework/swell/api/operations/get-product.ts
+++ b/packages/swell/src/api/operations/get-product.ts
@@ -1,7 +1,7 @@
import { normalizeProduct } from '../../utils'
-import { Product } from '@commerce/types/product'
-import { OperationContext } from '@commerce/api/operations'
+import { Product } from '@vercel/commerce/types/product'
+import { OperationContext } from '@vercel/commerce/api/operations'
import { Provider, SwellConfig } from '../'
export default function getProductOperation({
diff --git a/framework/swell/api/operations/get-site-info.ts b/packages/swell/src/api/operations/get-site-info.ts
similarity index 86%
rename from framework/swell/api/operations/get-site-info.ts
rename to packages/swell/src/api/operations/get-site-info.ts
index ffb0c1542..88386ad3e 100644
--- a/framework/swell/api/operations/get-site-info.ts
+++ b/packages/swell/src/api/operations/get-site-info.ts
@@ -1,8 +1,8 @@
import getCategories from '../../utils/get-categories'
import getVendors, { Brands } from '../../utils/get-vendors'
import { Provider, SwellConfig } from '../'
-import type { OperationContext } from '@commerce/api/operations'
-import type { Category } from '@commerce/types/site'
+import type { OperationContext } from '@vercel/commerce/api/operations'
+import type { Category } from '@vercel/commerce/types/site'
export type GetSiteInfoResult<
T extends { categories: any[]; brands: any[] } = {
diff --git a/framework/swell/api/operations/login.ts b/packages/swell/src/api/operations/login.ts
similarity index 96%
rename from framework/swell/api/operations/login.ts
rename to packages/swell/src/api/operations/login.ts
index 33e1e2948..44ff37a53 100644
--- a/framework/swell/api/operations/login.ts
+++ b/packages/swell/src/api/operations/login.ts
@@ -2,7 +2,7 @@ import type { ServerResponse } from 'http'
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
+} from '@vercel/commerce/api/operations'
import type { LoginOperation } from '../../types/login'
import { Provider, SwellConfig } from '..'
diff --git a/framework/swell/api/utils/fetch-swell-api.ts b/packages/swell/src/api/utils/fetch-swell-api.ts
similarity index 100%
rename from framework/swell/api/utils/fetch-swell-api.ts
rename to packages/swell/src/api/utils/fetch-swell-api.ts
diff --git a/framework/swell/api/utils/fetch.ts b/packages/swell/src/api/utils/fetch.ts
similarity index 100%
rename from framework/swell/api/utils/fetch.ts
rename to packages/swell/src/api/utils/fetch.ts
diff --git a/framework/swell/api/utils/is-allowed-method.ts b/packages/swell/src/api/utils/is-allowed-method.ts
similarity index 100%
rename from framework/swell/api/utils/is-allowed-method.ts
rename to packages/swell/src/api/utils/is-allowed-method.ts
diff --git a/framework/swell/api/wishlist/index.tsx b/packages/swell/src/api/wishlist/index.tsx
similarity index 100%
rename from framework/swell/api/wishlist/index.tsx
rename to packages/swell/src/api/wishlist/index.tsx
diff --git a/framework/swell/auth/use-login.tsx b/packages/swell/src/auth/use-login.tsx
similarity index 88%
rename from framework/swell/auth/use-login.tsx
rename to packages/swell/src/auth/use-login.tsx
index b46aab546..b3fe9f52d 100644
--- a/framework/swell/auth/use-login.tsx
+++ b/packages/swell/src/auth/use-login.tsx
@@ -1,13 +1,13 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError, ValidationError } from '@commerce/utils/errors'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError, ValidationError } from '@vercel/commerce/utils/errors'
import useCustomer from '../customer/use-customer'
import {
CustomerUserError,
Mutation,
MutationCheckoutCreateArgs,
-} from '../schema'
-import useLogin, { UseLogin } from '@commerce/auth/use-login'
+} from '../../schema'
+import useLogin, { UseLogin } from '@vercel/commerce/auth/use-login'
import { LoginHook } from '../types/login'
import { setCustomerToken } from '../utils'
diff --git a/framework/swell/auth/use-logout.tsx b/packages/swell/src/auth/use-logout.tsx
similarity index 86%
rename from framework/swell/auth/use-logout.tsx
rename to packages/swell/src/auth/use-logout.tsx
index 0e08ce9c6..08eec0bac 100644
--- a/framework/swell/auth/use-logout.tsx
+++ b/packages/swell/src/auth/use-logout.tsx
@@ -1,6 +1,6 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import useLogout, { UseLogout } from '@commerce/auth/use-logout'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import useLogout, { UseLogout } from '@vercel/commerce/auth/use-logout'
import useCustomer from '../customer/use-customer'
import { getCustomerToken, setCustomerToken } from '../utils/customer-token'
import { LogoutHook } from '../types/logout'
diff --git a/framework/swell/auth/use-signup.tsx b/packages/swell/src/auth/use-signup.tsx
similarity index 87%
rename from framework/swell/auth/use-signup.tsx
rename to packages/swell/src/auth/use-signup.tsx
index 68bbdfbe6..581312db9 100644
--- a/framework/swell/auth/use-signup.tsx
+++ b/packages/swell/src/auth/use-signup.tsx
@@ -1,7 +1,7 @@
import { useCallback } from 'react'
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useSignup, { UseSignup } from '@commerce/auth/use-signup'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useSignup, { UseSignup } from '@vercel/commerce/auth/use-signup'
import useCustomer from '../customer/use-customer'
import { SignupHook } from '../types/signup'
import handleLogin from '../utils/handle-login'
diff --git a/framework/swell/cart/index.ts b/packages/swell/src/cart/index.ts
similarity index 100%
rename from framework/swell/cart/index.ts
rename to packages/swell/src/cart/index.ts
diff --git a/framework/swell/cart/use-add-item.tsx b/packages/swell/src/cart/use-add-item.tsx
similarity index 87%
rename from framework/swell/cart/use-add-item.tsx
rename to packages/swell/src/cart/use-add-item.tsx
index dac4fb9bb..048a1f45d 100644
--- a/framework/swell/cart/use-add-item.tsx
+++ b/packages/swell/src/cart/use-add-item.tsx
@@ -1,6 +1,6 @@
-import type { MutationHook } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
-import useAddItem, { UseAddItem } from '@commerce/cart/use-add-item'
+import type { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import useAddItem, { UseAddItem } from '@vercel/commerce/cart/use-add-item'
import useCart from './use-cart'
import { checkoutToCart } from './utils'
import { getCheckoutId } from '../utils'
diff --git a/framework/swell/cart/use-cart.tsx b/packages/swell/src/cart/use-cart.tsx
similarity index 82%
rename from framework/swell/cart/use-cart.tsx
rename to packages/swell/src/cart/use-cart.tsx
index 7dc48b052..5842d1e95 100644
--- a/framework/swell/cart/use-cart.tsx
+++ b/packages/swell/src/cart/use-cart.tsx
@@ -1,9 +1,9 @@
-import useCart, { UseCart } from '@commerce/cart/use-cart'
-import { SWRHook } from '@commerce/utils/types'
+import useCart, { UseCart } from '@vercel/commerce/cart/use-cart'
+import { SWRHook } from '@vercel/commerce/utils/types'
import { useMemo } from 'react'
import { normalizeCart } from '../utils/normalize'
import { checkoutCreate, checkoutToCart } from './utils'
-import type { GetCartHook } from '@commerce/types/cart'
+import type { GetCartHook } from '@vercel/commerce/types/cart'
export default useCart as UseCart
diff --git a/framework/swell/cart/use-remove-item.tsx b/packages/swell/src/cart/use-remove-item.tsx
similarity index 85%
rename from framework/swell/cart/use-remove-item.tsx
rename to packages/swell/src/cart/use-remove-item.tsx
index fe1ee24ca..6e511656b 100644
--- a/framework/swell/cart/use-remove-item.tsx
+++ b/packages/swell/src/cart/use-remove-item.tsx
@@ -2,10 +2,16 @@ import { useCallback } from 'react'
import type {
MutationHookContext,
HookFetcherContext,
-} from '@commerce/utils/types'
+} from '@vercel/commerce/utils/types'
-import useRemoveItem, { UseRemoveItem } from '@commerce/cart/use-remove-item'
-import type { Cart, LineItem, RemoveItemHook } from '@commerce/types/cart'
+import useRemoveItem, {
+ UseRemoveItem,
+} from '@vercel/commerce/cart/use-remove-item'
+import type {
+ Cart,
+ LineItem,
+ RemoveItemHook,
+} from '@vercel/commerce/types/cart'
import useCart from './use-cart'
import { checkoutToCart } from './utils'
diff --git a/framework/swell/cart/use-update-item.tsx b/packages/swell/src/cart/use-update-item.tsx
similarity index 89%
rename from framework/swell/cart/use-update-item.tsx
rename to packages/swell/src/cart/use-update-item.tsx
index 5d705c5e5..c741250c2 100644
--- a/framework/swell/cart/use-update-item.tsx
+++ b/packages/swell/src/cart/use-update-item.tsx
@@ -4,16 +4,18 @@ import type {
HookFetcherContext,
MutationHook,
MutationHookContext,
-} from '@commerce/utils/types'
-import { ValidationError } from '@commerce/utils/errors'
+} from '@vercel/commerce/utils/types'
+import { ValidationError } from '@vercel/commerce/utils/errors'
// import useUpdateItem, {
// UpdateItemInput as UpdateItemInputBase,
// UseUpdateItem,
-// } from '@commerce/cart/use-update-item'
-import useUpdateItem, { UseUpdateItem } from '@commerce/cart/use-update-item'
+// } from '@vercel/commerce/cart/use-update-item'
+import useUpdateItem, {
+ UseUpdateItem,
+} from '@vercel/commerce/cart/use-update-item'
import useCart from './use-cart'
import { handler as removeItemHandler } from './use-remove-item'
-import { CartItemBody, LineItem } from '@commerce/types/cart'
+import { CartItemBody, LineItem } from '@vercel/commerce/types/cart'
import { checkoutToCart } from './utils'
import { UpdateItemHook } from '../types/cart'
// export type UpdateItemInput = T extends LineItem
diff --git a/framework/swell/cart/utils/checkout-create.ts b/packages/swell/src/cart/utils/checkout-create.ts
similarity index 100%
rename from framework/swell/cart/utils/checkout-create.ts
rename to packages/swell/src/cart/utils/checkout-create.ts
diff --git a/framework/swell/cart/utils/checkout-to-cart.ts b/packages/swell/src/cart/utils/checkout-to-cart.ts
similarity index 87%
rename from framework/swell/cart/utils/checkout-to-cart.ts
rename to packages/swell/src/cart/utils/checkout-to-cart.ts
index d6dfda206..c9becb104 100644
--- a/framework/swell/cart/utils/checkout-to-cart.ts
+++ b/packages/swell/src/cart/utils/checkout-to-cart.ts
@@ -1,12 +1,12 @@
import { Cart } from '../../types'
-import { CommerceError } from '@commerce/utils/errors'
+import { CommerceError } from '@vercel/commerce/utils/errors'
import {
CheckoutLineItemsAddPayload,
CheckoutLineItemsRemovePayload,
CheckoutLineItemsUpdatePayload,
Maybe,
-} from '../../schema'
+} from '../../../schema'
import { normalizeCart } from '../../utils'
export type CheckoutPayload =
diff --git a/framework/swell/cart/utils/index.ts b/packages/swell/src/cart/utils/index.ts
similarity index 100%
rename from framework/swell/cart/utils/index.ts
rename to packages/swell/src/cart/utils/index.ts
diff --git a/packages/swell/src/checkout/use-checkout.tsx b/packages/swell/src/checkout/use-checkout.tsx
new file mode 100644
index 000000000..76997be73
--- /dev/null
+++ b/packages/swell/src/checkout/use-checkout.tsx
@@ -0,0 +1,16 @@
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCheckout, {
+ UseCheckout,
+} from '@vercel/commerce/checkout/use-checkout'
+
+export default useCheckout as UseCheckout
+
+export const handler: SWRHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ useData }) =>
+ async (input) => ({}),
+}
diff --git a/framework/swell/commerce.config.json b/packages/swell/src/commerce.config.json
similarity index 100%
rename from framework/swell/commerce.config.json
rename to packages/swell/src/commerce.config.json
diff --git a/framework/swell/const.ts b/packages/swell/src/const.ts
similarity index 100%
rename from framework/swell/const.ts
rename to packages/swell/src/const.ts
diff --git a/packages/swell/src/customer/address/use-add-item.tsx b/packages/swell/src/customer/address/use-add-item.tsx
new file mode 100644
index 000000000..4f85c8472
--- /dev/null
+++ b/packages/swell/src/customer/address/use-add-item.tsx
@@ -0,0 +1,17 @@
+import useAddItem, {
+ UseAddItem,
+} from '@vercel/commerce/customer/address/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+
+export default useAddItem as UseAddItem
+
+export const handler: MutationHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ fetch }) =>
+ () =>
+ async () => ({}),
+}
diff --git a/packages/swell/src/customer/card/use-add-item.tsx b/packages/swell/src/customer/card/use-add-item.tsx
new file mode 100644
index 000000000..77d149eff
--- /dev/null
+++ b/packages/swell/src/customer/card/use-add-item.tsx
@@ -0,0 +1,17 @@
+import useAddItem, {
+ UseAddItem,
+} from '@vercel/commerce/customer/card/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+
+export default useAddItem as UseAddItem
+
+export const handler: MutationHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ fetch }) =>
+ () =>
+ async () => ({}),
+}
diff --git a/framework/swell/customer/index.ts b/packages/swell/src/customer/index.ts
similarity index 100%
rename from framework/swell/customer/index.ts
rename to packages/swell/src/customer/index.ts
diff --git a/framework/swell/customer/use-customer.tsx b/packages/swell/src/customer/use-customer.tsx
similarity index 81%
rename from framework/swell/customer/use-customer.tsx
rename to packages/swell/src/customer/use-customer.tsx
index 3371db89c..0875310fd 100644
--- a/framework/swell/customer/use-customer.tsx
+++ b/packages/swell/src/customer/use-customer.tsx
@@ -1,5 +1,7 @@
-import useCustomer, { UseCustomer } from '@commerce/customer/use-customer'
-import { SWRHook } from '@commerce/utils/types'
+import useCustomer, {
+ UseCustomer,
+} from '@vercel/commerce/customer/use-customer'
+import { SWRHook } from '@vercel/commerce/utils/types'
import { normalizeCustomer } from '../utils/normalize'
import type { CustomerHook } from '../types/customer'
diff --git a/framework/swell/fetcher.ts b/packages/swell/src/fetcher.ts
similarity index 85%
rename from framework/swell/fetcher.ts
rename to packages/swell/src/fetcher.ts
index 655e4da25..1d50bf5a7 100644
--- a/framework/swell/fetcher.ts
+++ b/packages/swell/src/fetcher.ts
@@ -1,5 +1,5 @@
-import { Fetcher } from '@commerce/utils/types'
-import { CommerceError } from '@commerce/utils/errors'
+import { Fetcher } from '@vercel/commerce/utils/types'
+import { CommerceError } from '@vercel/commerce/utils/errors'
import { handleFetchResponse } from './utils'
import swell from './swell'
diff --git a/framework/swell/index.tsx b/packages/swell/src/index.tsx
similarity index 73%
rename from framework/swell/index.tsx
rename to packages/swell/src/index.tsx
index b64df6d48..d88d75c31 100644
--- a/framework/swell/index.tsx
+++ b/packages/swell/src/index.tsx
@@ -1,4 +1,7 @@
-import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
+import {
+ getCommerceProvider,
+ useCommerce as useCoreCommerce,
+} from '@vercel/commerce'
import { swellProvider, SwellProvider } from './provider'
export { swellProvider }
diff --git a/framework/swell/next.config.js b/packages/swell/src/next.config.cjs
similarity index 100%
rename from framework/swell/next.config.js
rename to packages/swell/src/next.config.cjs
diff --git a/framework/swell/product/index.ts b/packages/swell/src/product/index.ts
similarity index 100%
rename from framework/swell/product/index.ts
rename to packages/swell/src/product/index.ts
diff --git a/packages/swell/src/product/use-price.tsx b/packages/swell/src/product/use-price.tsx
new file mode 100644
index 000000000..fd42d7033
--- /dev/null
+++ b/packages/swell/src/product/use-price.tsx
@@ -0,0 +1,2 @@
+export * from '@vercel/commerce/product/use-price'
+export { default } from '@vercel/commerce/product/use-price'
diff --git a/framework/swell/product/use-search.tsx b/packages/swell/src/product/use-search.tsx
similarity index 91%
rename from framework/swell/product/use-search.tsx
rename to packages/swell/src/product/use-search.tsx
index 62f813368..b996099a4 100644
--- a/framework/swell/product/use-search.tsx
+++ b/packages/swell/src/product/use-search.tsx
@@ -1,5 +1,5 @@
-import { SWRHook } from '@commerce/utils/types'
-import useSearch, { UseSearch } from '@commerce/product/use-search'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useSearch, { UseSearch } from '@vercel/commerce/product/use-search'
import { normalizeProduct } from '../utils'
import { SwellProduct } from '../types'
import type { SearchProductsHook } from '../types/product'
diff --git a/framework/swell/provider.ts b/packages/swell/src/provider.ts
similarity index 95%
rename from framework/swell/provider.ts
rename to packages/swell/src/provider.ts
index 062f1c32c..afe07dcfd 100644
--- a/framework/swell/provider.ts
+++ b/packages/swell/src/provider.ts
@@ -1,4 +1,4 @@
-import { Provider } from '@commerce'
+import { Provider } from '@vercel/commerce'
import { SWELL_CHECKOUT_ID_COOKIE } from './const'
import { handler as useCart } from './cart/use-cart'
diff --git a/framework/swell/swell.ts b/packages/swell/src/swell.ts
similarity index 91%
rename from framework/swell/swell.ts
rename to packages/swell/src/swell.ts
index d73bceb72..eb49ce55d 100644
--- a/framework/swell/swell.ts
+++ b/packages/swell/src/swell.ts
@@ -1,3 +1,4 @@
+// @ts-ignore
import swell from 'swell-js'
import { SWELL_STORE_ID, SWELL_PUBLIC_KEY } from './const'
diff --git a/framework/swell/types.ts b/packages/swell/src/types.ts
similarity index 92%
rename from framework/swell/types.ts
rename to packages/swell/src/types.ts
index ad8ee3b68..b02bbd8ca 100644
--- a/framework/swell/types.ts
+++ b/packages/swell/src/types.ts
@@ -1,6 +1,6 @@
-import * as Core from '@commerce/types/cart'
-import { Customer } from '@commerce/types'
-import { CheckoutLineItem } from './schema'
+import * as Core from '@vercel/commerce/types/cart'
+import { Customer } from '@vercel/commerce/types'
+import { CheckoutLineItem } from '../schema'
export type SwellImage = {
file: {
diff --git a/packages/swell/src/types/cart.ts b/packages/swell/src/types/cart.ts
new file mode 100644
index 000000000..e6838fb45
--- /dev/null
+++ b/packages/swell/src/types/cart.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/cart'
diff --git a/packages/swell/src/types/checkout.ts b/packages/swell/src/types/checkout.ts
new file mode 100644
index 000000000..d139db685
--- /dev/null
+++ b/packages/swell/src/types/checkout.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/checkout'
diff --git a/packages/swell/src/types/common.ts b/packages/swell/src/types/common.ts
new file mode 100644
index 000000000..23b8daa11
--- /dev/null
+++ b/packages/swell/src/types/common.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/common'
diff --git a/packages/swell/src/types/customer.ts b/packages/swell/src/types/customer.ts
new file mode 100644
index 000000000..c637055b9
--- /dev/null
+++ b/packages/swell/src/types/customer.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/customer'
diff --git a/framework/swell/types/index.ts b/packages/swell/src/types/index.ts
similarity index 100%
rename from framework/swell/types/index.ts
rename to packages/swell/src/types/index.ts
diff --git a/packages/swell/src/types/login.ts b/packages/swell/src/types/login.ts
new file mode 100644
index 000000000..44b017dcd
--- /dev/null
+++ b/packages/swell/src/types/login.ts
@@ -0,0 +1,11 @@
+import * as Core from '@vercel/commerce/types/login'
+import { LoginBody, LoginTypes } from '@vercel/commerce/types/login'
+
+export * from '@vercel/commerce/types/login'
+
+export type LoginHook = {
+ data: null
+ actionInput: LoginBody
+ fetcherInput: LoginBody
+ body: T['body']
+}
diff --git a/packages/swell/src/types/logout.ts b/packages/swell/src/types/logout.ts
new file mode 100644
index 000000000..1de06f8dc
--- /dev/null
+++ b/packages/swell/src/types/logout.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/logout'
diff --git a/packages/swell/src/types/page.ts b/packages/swell/src/types/page.ts
new file mode 100644
index 000000000..12f6b02d7
--- /dev/null
+++ b/packages/swell/src/types/page.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/page'
diff --git a/packages/swell/src/types/product.ts b/packages/swell/src/types/product.ts
new file mode 100644
index 000000000..72ca02f02
--- /dev/null
+++ b/packages/swell/src/types/product.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/product'
diff --git a/packages/swell/src/types/signup.ts b/packages/swell/src/types/signup.ts
new file mode 100644
index 000000000..3f0d1af5a
--- /dev/null
+++ b/packages/swell/src/types/signup.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/signup'
diff --git a/packages/swell/src/types/site.ts b/packages/swell/src/types/site.ts
new file mode 100644
index 000000000..96a2e476e
--- /dev/null
+++ b/packages/swell/src/types/site.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/site'
diff --git a/packages/swell/src/types/wishlist.ts b/packages/swell/src/types/wishlist.ts
new file mode 100644
index 000000000..af92d9f63
--- /dev/null
+++ b/packages/swell/src/types/wishlist.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/wishlist'
diff --git a/framework/swell/utils/customer-token.ts b/packages/swell/src/utils/customer-token.ts
similarity index 100%
rename from framework/swell/utils/customer-token.ts
rename to packages/swell/src/utils/customer-token.ts
diff --git a/framework/swell/utils/get-categories.ts b/packages/swell/src/utils/get-categories.ts
similarity index 100%
rename from framework/swell/utils/get-categories.ts
rename to packages/swell/src/utils/get-categories.ts
diff --git a/framework/swell/utils/get-checkout-id.ts b/packages/swell/src/utils/get-checkout-id.ts
similarity index 100%
rename from framework/swell/utils/get-checkout-id.ts
rename to packages/swell/src/utils/get-checkout-id.ts
diff --git a/framework/swell/utils/get-search-variables.ts b/packages/swell/src/utils/get-search-variables.ts
similarity index 100%
rename from framework/swell/utils/get-search-variables.ts
rename to packages/swell/src/utils/get-search-variables.ts
diff --git a/framework/swell/utils/get-sort-variables.ts b/packages/swell/src/utils/get-sort-variables.ts
similarity index 100%
rename from framework/swell/utils/get-sort-variables.ts
rename to packages/swell/src/utils/get-sort-variables.ts
diff --git a/framework/swell/utils/get-vendors.ts b/packages/swell/src/utils/get-vendors.ts
similarity index 100%
rename from framework/swell/utils/get-vendors.ts
rename to packages/swell/src/utils/get-vendors.ts
diff --git a/framework/swell/utils/handle-fetch-response.ts b/packages/swell/src/utils/handle-fetch-response.ts
similarity index 82%
rename from framework/swell/utils/handle-fetch-response.ts
rename to packages/swell/src/utils/handle-fetch-response.ts
index 2688c9c70..d120cab13 100644
--- a/framework/swell/utils/handle-fetch-response.ts
+++ b/packages/swell/src/utils/handle-fetch-response.ts
@@ -1,4 +1,4 @@
-import { CommerceError } from '@commerce/utils/errors'
+import { CommerceError } from '@vercel/commerce/utils/errors'
type SwellFetchResponse = {
error: {
diff --git a/framework/swell/utils/handle-login.ts b/packages/swell/src/utils/handle-login.ts
similarity index 92%
rename from framework/swell/utils/handle-login.ts
rename to packages/swell/src/utils/handle-login.ts
index 77b6873e3..8628262ca 100644
--- a/framework/swell/utils/handle-login.ts
+++ b/packages/swell/src/utils/handle-login.ts
@@ -1,4 +1,4 @@
-import { ValidationError } from '@commerce/utils/errors'
+import { ValidationError } from '@vercel/commerce/utils/errors'
import { setCustomerToken } from './customer-token'
const getErrorMessage = ({
diff --git a/framework/swell/utils/index.ts b/packages/swell/src/utils/index.ts
similarity index 100%
rename from framework/swell/utils/index.ts
rename to packages/swell/src/utils/index.ts
diff --git a/framework/swell/utils/normalize.ts b/packages/swell/src/utils/normalize.ts
similarity index 99%
rename from framework/swell/utils/normalize.ts
rename to packages/swell/src/utils/normalize.ts
index 2306f0662..9bbad5961 100644
--- a/framework/swell/utils/normalize.ts
+++ b/packages/swell/src/utils/normalize.ts
@@ -1,6 +1,6 @@
import { Customer } from '../types/customer'
import { Product, ProductOption } from '../types/product'
-import { MoneyV2 } from '../schema'
+import { MoneyV2 } from '../../schema'
import type {
Cart,
diff --git a/framework/swell/utils/storage.ts b/packages/swell/src/utils/storage.ts
similarity index 100%
rename from framework/swell/utils/storage.ts
rename to packages/swell/src/utils/storage.ts
diff --git a/framework/swell/wishlist/use-add-item.tsx b/packages/swell/src/wishlist/use-add-item.tsx
similarity index 100%
rename from framework/swell/wishlist/use-add-item.tsx
rename to packages/swell/src/wishlist/use-add-item.tsx
diff --git a/framework/swell/wishlist/use-remove-item.tsx b/packages/swell/src/wishlist/use-remove-item.tsx
similarity index 100%
rename from framework/swell/wishlist/use-remove-item.tsx
rename to packages/swell/src/wishlist/use-remove-item.tsx
diff --git a/framework/swell/wishlist/use-wishlist.tsx b/packages/swell/src/wishlist/use-wishlist.tsx
similarity index 90%
rename from framework/swell/wishlist/use-wishlist.tsx
rename to packages/swell/src/wishlist/use-wishlist.tsx
index cd1bfa0ad..0506ae9d4 100644
--- a/framework/swell/wishlist/use-wishlist.tsx
+++ b/packages/swell/src/wishlist/use-wishlist.tsx
@@ -1,8 +1,8 @@
// TODO: replace this hook and other wishlist hooks with a handler, or remove them if
// Swell doesn't have a wishlist
-import { HookFetcher } from '@commerce/utils/types'
-import { Product } from '../schema'
+import { HookFetcher } from '@vercel/commerce/utils/types'
+import { Product } from '../../schema'
const defaultOpts = {}
diff --git a/packages/swell/taskfile.js b/packages/swell/taskfile.js
new file mode 100644
index 000000000..39b1b2a86
--- /dev/null
+++ b/packages/swell/taskfile.js
@@ -0,0 +1,20 @@
+export async function build(task, opts) {
+ await task
+ .source('src/**/*.+(ts|tsx|js)')
+ .swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
+ .target('dist')
+ .source('src/**/*.+(cjs|json)')
+ .target('dist')
+ task.$.log('Compiled src files')
+}
+
+export async function release(task) {
+ await task.clear('dist').start('build')
+}
+
+export default async function dev(task) {
+ const opts = { dev: true }
+ await task.clear('dist')
+ await task.start('build', opts)
+ await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
+}
diff --git a/packages/swell/tsconfig.json b/packages/swell/tsconfig.json
new file mode 100644
index 000000000..cd04ab2ff
--- /dev/null
+++ b/packages/swell/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "outDir": "dist",
+ "baseUrl": "src",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "declaration": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "incremental": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/packages/taskr-swc/.prettierrc b/packages/taskr-swc/.prettierrc
new file mode 100644
index 000000000..a4fb43a48
--- /dev/null
+++ b/packages/taskr-swc/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/packages/taskr-swc/package.json b/packages/taskr-swc/package.json
new file mode 100644
index 000000000..1a91b5b38
--- /dev/null
+++ b/packages/taskr-swc/package.json
@@ -0,0 +1,16 @@
+{
+ "name": "taskr-swc",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "prettier-fix": "prettier --write ."
+ },
+ "main": "taskfile-swc.js",
+ "files": [
+ "taskfile-swc.js"
+ ],
+ "devDependencies": {
+ "@swc/core": "^1.2.138",
+ "prettier": "^2.5.1"
+ }
+}
diff --git a/packages/taskr-swc/taskfile-swc.js b/packages/taskr-swc/taskfile-swc.js
new file mode 100644
index 000000000..26fcad520
--- /dev/null
+++ b/packages/taskr-swc/taskfile-swc.js
@@ -0,0 +1,123 @@
+// Based on
+// https://github.com/vercel/next.js/blob/canary/packages/next/taskfile-swc.js
+
+// taskr babel plugin with Babel 7 support
+// https://github.com/lukeed/taskr/pull/305
+
+const path = require('path')
+const transform = require('@swc/core').transform
+
+module.exports = function (task) {
+ task.plugin(
+ 'swc',
+ {},
+ function* (
+ file,
+ { server = true, stripExtension, dev, outDir = 'dist', baseUrl = '' } = {}
+ ) {
+ // Don't compile .d.ts
+ if (file.base.endsWith('.d.ts')) return
+
+ const swcClientOptions = {
+ module: {
+ type: 'es6',
+ ignoreDynamic: true,
+ },
+ jsc: {
+ loose: true,
+ target: 'es2016',
+ parser: {
+ syntax: 'typescript',
+ dynamicImport: true,
+ tsx: file.base.endsWith('.tsx'),
+ },
+ transform: {
+ react: {
+ runtime: 'automatic',
+ pragma: 'React.createElement',
+ pragmaFrag: 'React.Fragment',
+ throwIfNamespace: true,
+ development: false,
+ useBuiltins: true,
+ },
+ },
+ },
+ }
+ const swcServerOptions = {
+ module: {
+ type: 'es6',
+ ignoreDynamic: true,
+ },
+ env: {
+ targets: {
+ node: '14.0.0',
+ },
+ },
+ jsc: {
+ loose: true,
+ parser: {
+ syntax: 'typescript',
+ dynamicImport: true,
+ tsx: file.base.endsWith('.tsx'),
+ },
+ transform: {
+ react: {
+ runtime: 'automatic',
+ pragma: 'React.createElement',
+ pragmaFrag: 'React.Fragment',
+ throwIfNamespace: true,
+ development: false,
+ useBuiltins: true,
+ },
+ },
+ },
+ }
+
+ const swcOptions = server ? swcServerOptions : swcClientOptions
+ const filePath = path.join(file.dir, file.base)
+ const options = {
+ filename: filePath,
+ sourceMaps: false,
+ ...swcOptions,
+ }
+
+ if (options.sourceMaps && !options.sourceFileName) {
+ // Using `outDir` and `baseUrl` build a relative path from `outDir` to
+ // the `baseUrl` path for source maps
+ const basePath = path.join(__dirname, baseUrl)
+ const relativeFilePath = path.relative(basePath, filePath)
+ const fullFilePath = path.join(__dirname, filePath)
+ const distFilePath = path.dirname(
+ path.join(__dirname, outDir, relativeFilePath)
+ )
+
+ options.sourceFileName = path.relative(distFilePath, fullFilePath)
+ }
+
+ const output = yield transform(file.data.toString('utf-8'), options)
+ const ext = path.extname(file.base)
+
+ // Replace `.ts|.tsx` with `.js` in files with an extension
+ if (ext) {
+ const extRegex = new RegExp(ext.replace('.', '\\.') + '$', 'i')
+ // Remove the extension if stripExtension is enabled or replace it with `.js`
+ file.base = file.base.replace(extRegex, stripExtension ? '' : '.js')
+ }
+
+ if (output.map) {
+ const map = `${file.base}.map`
+
+ output.code += Buffer.from(`\n//# sourceMappingURL=${map}`)
+
+ // add sourcemap to `files` array
+ this._.files.push({
+ base: map,
+ dir: file.dir,
+ data: Buffer.from(output.map),
+ })
+ }
+
+ file.data = Buffer.from(output.code)
+ }
+ )
+}
diff --git a/framework/vendure/.env.template b/packages/vendure/.env.template
similarity index 100%
rename from framework/vendure/.env.template
rename to packages/vendure/.env.template
diff --git a/packages/vendure/.prettierignore b/packages/vendure/.prettierignore
new file mode 100644
index 000000000..f06235c46
--- /dev/null
+++ b/packages/vendure/.prettierignore
@@ -0,0 +1,2 @@
+node_modules
+dist
diff --git a/packages/vendure/.prettierrc b/packages/vendure/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/packages/vendure/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/framework/vendure/README.md b/packages/vendure/README.md
similarity index 95%
rename from framework/vendure/README.md
rename to packages/vendure/README.md
index 7f1dccb3f..485125ce2 100644
--- a/framework/vendure/README.md
+++ b/packages/vendure/README.md
@@ -28,8 +28,10 @@ This provider makes use of GraphQL code generation. The [schema.graphql](./schem
When developing the provider, changes to any GraphQL operations should be followed by re-generation of the types and schema files:
-From the project root dir, run
+From the package dir, run
```sh
-graphql-codegen --config ./framework/vendure/codegen.json
+yarn generate
+# or
+npm run generate
```
diff --git a/framework/vendure/codegen.json b/packages/vendure/codegen.json
similarity index 75%
rename from framework/vendure/codegen.json
rename to packages/vendure/codegen.json
index 79a2b6ffa..8c84d29a9 100644
--- a/framework/vendure/codegen.json
+++ b/packages/vendure/codegen.json
@@ -4,13 +4,13 @@
},
"documents": [
{
- "./framework/vendure/**/*.{ts,tsx}": {
+ "./src/**/*.{ts,tsx}": {
"noRequire": true
}
}
],
"generates": {
- "./framework/vendure/schema.d.ts": {
+ "./schema.d.ts": {
"plugins": ["typescript", "typescript-operations"],
"config": {
"scalars": {
@@ -18,7 +18,7 @@
}
}
},
- "./framework/vendure/schema.graphql": {
+ "./schema.graphql": {
"plugins": ["schema-ast"]
}
},
diff --git a/packages/vendure/package.json b/packages/vendure/package.json
new file mode 100644
index 000000000..484a52743
--- /dev/null
+++ b/packages/vendure/package.json
@@ -0,0 +1,85 @@
+{
+ "name": "@vercel/commerce-vendure",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "release": "taskr release",
+ "build": "taskr build",
+ "dev": "taskr",
+ "types": "tsc --emitDeclarationOnly",
+ "prettier-fix": "prettier --write .",
+ "generate": "graphql-codegen"
+ },
+ "sideEffects": false,
+ "type": "module",
+ "exports": {
+ ".": "./dist/index.js",
+ "./*": [
+ "./dist/*.js",
+ "./dist/*/index.js"
+ ],
+ "./next.config": "./dist/next.config.cjs"
+ },
+ "typesVersions": {
+ "*": {
+ "*": [
+ "src/*",
+ "src/*/index"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ },
+ "files": [
+ "dist",
+ "schema.d.ts"
+ ],
+ "publishConfig": {
+ "typesVersions": {
+ "*": {
+ "*": [
+ "dist/*.d.ts",
+ "dist/*/index.d.ts"
+ ],
+ "next.config": [
+ "dist/next.config.d.cts"
+ ]
+ }
+ }
+ },
+ "dependencies": {
+ "@vercel/commerce": "^0.0.1",
+ "@vercel/fetch": "^6.1.1"
+ },
+ "peerDependencies": {
+ "next": "^12",
+ "react": "^17",
+ "react-dom": "^17"
+ },
+ "devDependencies": {
+ "@graphql-codegen/cli": "^2.3.1",
+ "@graphql-codegen/schema-ast": "^2.4.1",
+ "@graphql-codegen/typescript": "^2.4.2",
+ "@graphql-codegen/typescript-operations": "^2.2.2",
+ "@taskr/clear": "^1.1.0",
+ "@taskr/esnext": "^1.1.0",
+ "@taskr/watch": "^1.1.0",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "lint-staged": "^12.1.7",
+ "next": "^12.0.8",
+ "prettier": "^2.5.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "taskr": "^1.1.0",
+ "taskr-swc": "^0.0.1",
+ "typescript": "^4.5.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ }
+}
diff --git a/framework/vendure/schema.d.ts b/packages/vendure/schema.d.ts
similarity index 100%
rename from framework/vendure/schema.d.ts
rename to packages/vendure/schema.d.ts
diff --git a/framework/vendure/schema.graphql b/packages/vendure/schema.graphql
similarity index 100%
rename from framework/vendure/schema.graphql
rename to packages/vendure/schema.graphql
diff --git a/framework/vendure/api/endpoints/cart/index.ts b/packages/vendure/src/api/endpoints/cart/index.ts
similarity index 100%
rename from framework/vendure/api/endpoints/cart/index.ts
rename to packages/vendure/src/api/endpoints/cart/index.ts
diff --git a/framework/vendure/api/endpoints/catalog/index.ts b/packages/vendure/src/api/endpoints/catalog/index.ts
similarity index 100%
rename from framework/vendure/api/endpoints/catalog/index.ts
rename to packages/vendure/src/api/endpoints/catalog/index.ts
diff --git a/framework/vendure/api/endpoints/catalog/products.ts b/packages/vendure/src/api/endpoints/catalog/products.ts
similarity index 100%
rename from framework/vendure/api/endpoints/catalog/products.ts
rename to packages/vendure/src/api/endpoints/catalog/products.ts
diff --git a/framework/vendure/api/endpoints/checkout/index.ts b/packages/vendure/src/api/endpoints/checkout/index.ts
similarity index 88%
rename from framework/vendure/api/endpoints/checkout/index.ts
rename to packages/vendure/src/api/endpoints/checkout/index.ts
index 7a3cd03ec..e063dbf58 100644
--- a/framework/vendure/api/endpoints/checkout/index.ts
+++ b/packages/vendure/src/api/endpoints/checkout/index.ts
@@ -1,7 +1,7 @@
import { NextApiHandler } from 'next'
-import { CommerceAPI, createEndpoint, GetAPISchema } from '@commerce/api'
-import { CheckoutSchema } from '@commerce/types/checkout'
-import checkoutEndpoint from '@commerce/api/endpoints/checkout'
+import { CommerceAPI, createEndpoint, GetAPISchema } from '@vercel/commerce/api'
+import { CheckoutSchema } from '@vercel/commerce/types/checkout'
+import checkoutEndpoint from '@vercel/commerce/api/endpoints/checkout'
const getCheckout: CheckoutEndpoint['handlers']['getCheckout'] = async ({
req,
diff --git a/framework/vendure/api/endpoints/customer/address.ts b/packages/vendure/src/api/endpoints/customer/address.ts
similarity index 100%
rename from framework/vendure/api/endpoints/customer/address.ts
rename to packages/vendure/src/api/endpoints/customer/address.ts
diff --git a/framework/vendure/api/endpoints/customer/card.ts b/packages/vendure/src/api/endpoints/customer/card.ts
similarity index 100%
rename from framework/vendure/api/endpoints/customer/card.ts
rename to packages/vendure/src/api/endpoints/customer/card.ts
diff --git a/framework/vendure/api/endpoints/customer/index.ts b/packages/vendure/src/api/endpoints/customer/index.ts
similarity index 100%
rename from framework/vendure/api/endpoints/customer/index.ts
rename to packages/vendure/src/api/endpoints/customer/index.ts
diff --git a/framework/vendure/api/endpoints/login/index.ts b/packages/vendure/src/api/endpoints/login/index.ts
similarity index 100%
rename from framework/vendure/api/endpoints/login/index.ts
rename to packages/vendure/src/api/endpoints/login/index.ts
diff --git a/framework/vendure/api/endpoints/logout/index.ts b/packages/vendure/src/api/endpoints/logout/index.ts
similarity index 100%
rename from framework/vendure/api/endpoints/logout/index.ts
rename to packages/vendure/src/api/endpoints/logout/index.ts
diff --git a/framework/vendure/api/endpoints/signup/index.ts b/packages/vendure/src/api/endpoints/signup/index.ts
similarity index 100%
rename from framework/vendure/api/endpoints/signup/index.ts
rename to packages/vendure/src/api/endpoints/signup/index.ts
diff --git a/framework/vendure/api/endpoints/wishlist/index.tsx b/packages/vendure/src/api/endpoints/wishlist/index.tsx
similarity index 100%
rename from framework/vendure/api/endpoints/wishlist/index.tsx
rename to packages/vendure/src/api/endpoints/wishlist/index.tsx
diff --git a/framework/vendure/api/index.ts b/packages/vendure/src/api/index.ts
similarity index 90%
rename from framework/vendure/api/index.ts
rename to packages/vendure/src/api/index.ts
index 6762ee6aa..cbe56be56 100644
--- a/framework/vendure/api/index.ts
+++ b/packages/vendure/src/api/index.ts
@@ -1,5 +1,8 @@
-import type { APIProvider, CommerceAPIConfig } from '@commerce/api'
-import { CommerceAPI, getCommerceApi as commerceApi } from '@commerce/api'
+import type { CommerceAPIConfig } from '@vercel/commerce/api'
+import {
+ CommerceAPI,
+ getCommerceApi as commerceApi,
+} from '@vercel/commerce/api'
import fetchGraphqlApi from './utils/fetch-graphql-api'
import login from './operations/login'
diff --git a/framework/vendure/api/operations/get-all-pages.ts b/packages/vendure/src/api/operations/get-all-pages.ts
similarity index 88%
rename from framework/vendure/api/operations/get-all-pages.ts
rename to packages/vendure/src/api/operations/get-all-pages.ts
index f76b7390f..7865cf908 100644
--- a/framework/vendure/api/operations/get-all-pages.ts
+++ b/packages/vendure/src/api/operations/get-all-pages.ts
@@ -1,6 +1,6 @@
import { VendureConfig } from '../'
-import { OperationContext } from '@commerce/api/operations'
-import { Provider } from '../../../bigcommerce/api'
+import { OperationContext } from '@vercel/commerce/api/operations'
+import { Provider } from '../'
export type Page = any
diff --git a/framework/vendure/api/operations/get-all-product-paths.ts b/packages/vendure/src/api/operations/get-all-product-paths.ts
similarity index 78%
rename from framework/vendure/api/operations/get-all-product-paths.ts
rename to packages/vendure/src/api/operations/get-all-product-paths.ts
index 54ca3b136..bdb47974f 100644
--- a/framework/vendure/api/operations/get-all-product-paths.ts
+++ b/packages/vendure/src/api/operations/get-all-product-paths.ts
@@ -1,9 +1,12 @@
-import { OperationContext, OperationOptions } from '@commerce/api/operations'
-import type { GetAllProductPathsQuery } from '../../schema'
+import {
+ OperationContext,
+ OperationOptions,
+} from '@vercel/commerce/api/operations'
+import type { GetAllProductPathsQuery } from '../../../schema'
import { Provider } from '../index'
import { getAllProductPathsQuery } from '../../utils/queries/get-all-product-paths-query'
-import { GetAllProductPathsOperation } from '@commerce/types/product'
-import { BigcommerceConfig } from '../../../bigcommerce/api'
+import { GetAllProductPathsOperation } from '@vercel/commerce/types/product'
+import { VendureConfig } from '../'
export type GetAllProductPathsResult = {
products: Array<{ node: { path: string } }>
@@ -16,13 +19,13 @@ export default function getAllProductPathsOperation({
T extends GetAllProductPathsOperation
>(opts?: {
variables?: T['variables']
- config?: BigcommerceConfig
+ config?: VendureConfig
}): Promise
async function getAllProductPaths(
opts: {
variables?: T['variables']
- config?: BigcommerceConfig
+ config?: VendureConfig
} & OperationOptions
): Promise
@@ -33,7 +36,7 @@ export default function getAllProductPathsOperation({
}: {
query?: string
variables?: T['variables']
- config?: BigcommerceConfig
+ config?: VendureConfig
} = {}): Promise {
const config = commerce.getConfig(cfg)
// RecursivePartial forces the method to check for every prop in the data, which is
diff --git a/framework/vendure/api/operations/get-all-products.ts b/packages/vendure/src/api/operations/get-all-products.ts
similarity index 86%
rename from framework/vendure/api/operations/get-all-products.ts
rename to packages/vendure/src/api/operations/get-all-products.ts
index 68d4ce9b7..f609ac805 100644
--- a/framework/vendure/api/operations/get-all-products.ts
+++ b/packages/vendure/src/api/operations/get-all-products.ts
@@ -1,9 +1,9 @@
-import { Product } from '@commerce/types/product'
+import { Product } from '@vercel/commerce/types/product'
import { Provider, VendureConfig } from '../'
-import { GetAllProductsQuery } from '../../schema'
+import { GetAllProductsQuery } from '../../../schema'
import { normalizeSearchResult } from '../../utils/normalize'
import { getAllProductsQuery } from '../../utils/queries/get-all-products-query'
-import { OperationContext } from '@commerce/api/operations'
+import { OperationContext } from '@vercel/commerce/api/operations'
export type ProductVariables = { first?: number }
diff --git a/framework/vendure/api/operations/get-customer-wishlist.ts b/packages/vendure/src/api/operations/get-customer-wishlist.ts
similarity index 89%
rename from framework/vendure/api/operations/get-customer-wishlist.ts
rename to packages/vendure/src/api/operations/get-customer-wishlist.ts
index 0040ef36d..35fca53c7 100644
--- a/framework/vendure/api/operations/get-customer-wishlist.ts
+++ b/packages/vendure/src/api/operations/get-customer-wishlist.ts
@@ -1,4 +1,4 @@
-import { OperationContext } from '@commerce/api/operations'
+import { OperationContext } from '@vercel/commerce/api/operations'
import { Provider, VendureConfig } from '../'
export default function getCustomerWishlistOperation({
diff --git a/framework/vendure/api/operations/get-page.ts b/packages/vendure/src/api/operations/get-page.ts
similarity index 93%
rename from framework/vendure/api/operations/get-page.ts
rename to packages/vendure/src/api/operations/get-page.ts
index 59717dc84..909277b48 100644
--- a/framework/vendure/api/operations/get-page.ts
+++ b/packages/vendure/src/api/operations/get-page.ts
@@ -1,5 +1,5 @@
import { VendureConfig, Provider } from '../'
-import { OperationContext } from '@commerce/api/operations'
+import { OperationContext } from '@vercel/commerce/api/operations'
export type Page = any
diff --git a/framework/vendure/api/operations/get-product.ts b/packages/vendure/src/api/operations/get-product.ts
similarity index 92%
rename from framework/vendure/api/operations/get-product.ts
rename to packages/vendure/src/api/operations/get-product.ts
index 4ab9ed2d9..6b58e9694 100644
--- a/framework/vendure/api/operations/get-product.ts
+++ b/packages/vendure/src/api/operations/get-product.ts
@@ -1,7 +1,7 @@
-import { Product } from '@commerce/types/product'
-import { OperationContext } from '@commerce/api/operations'
+import { Product } from '@vercel/commerce/types/product'
+import { OperationContext } from '@vercel/commerce/api/operations'
import { Provider, VendureConfig } from '../'
-import { GetProductQuery } from '../../schema'
+import { GetProductQuery } from '../../../schema'
import { getProductQuery } from '../../utils/queries/get-product-query'
export default function getProductOperation({
diff --git a/framework/vendure/api/operations/get-site-info.ts b/packages/vendure/src/api/operations/get-site-info.ts
similarity index 87%
rename from framework/vendure/api/operations/get-site-info.ts
rename to packages/vendure/src/api/operations/get-site-info.ts
index acfcea424..ce2f5fa3f 100644
--- a/framework/vendure/api/operations/get-site-info.ts
+++ b/packages/vendure/src/api/operations/get-site-info.ts
@@ -1,9 +1,9 @@
import { Provider, VendureConfig } from '../'
-import { GetCollectionsQuery } from '../../schema'
+import { GetCollectionsQuery } from '../../../schema'
import { arrayToTree } from '../../utils/array-to-tree'
import { getCollectionsQuery } from '../../utils/queries/get-collections-query'
-import { OperationContext } from '@commerce/api/operations'
-import { Category } from '@commerce/types/site'
+import { OperationContext } from '@vercel/commerce/api/operations'
+import { Category } from '@vercel/commerce/types/site'
export type GetSiteInfoResult<
T extends { categories: any[]; brands: any[] } = {
diff --git a/framework/vendure/api/operations/login.ts b/packages/vendure/src/api/operations/login.ts
similarity index 90%
rename from framework/vendure/api/operations/login.ts
rename to packages/vendure/src/api/operations/login.ts
index 4ad408e0a..07ee5fa1d 100644
--- a/framework/vendure/api/operations/login.ts
+++ b/packages/vendure/src/api/operations/login.ts
@@ -2,10 +2,10 @@ import type { ServerResponse } from 'http'
import type {
OperationContext,
OperationOptions,
-} from '@commerce/api/operations'
-import { ValidationError } from '@commerce/utils/errors'
+} from '@vercel/commerce/api/operations'
+import { ValidationError } from '@vercel/commerce/utils/errors'
import type { LoginOperation } from '../../types/login'
-import type { LoginMutation } from '../../schema'
+import type { LoginMutation } from '../../../schema'
import { Provider, VendureConfig } from '..'
import { loginMutation } from '../../utils/mutations/log-in-mutation'
diff --git a/framework/vendure/api/utils/fetch-graphql-api.ts b/packages/vendure/src/api/utils/fetch-graphql-api.ts
similarity index 86%
rename from framework/vendure/api/utils/fetch-graphql-api.ts
rename to packages/vendure/src/api/utils/fetch-graphql-api.ts
index 64a02dde5..7c0fbc792 100644
--- a/framework/vendure/api/utils/fetch-graphql-api.ts
+++ b/packages/vendure/src/api/utils/fetch-graphql-api.ts
@@ -1,5 +1,5 @@
-import { FetcherError } from '@commerce/utils/errors'
-import type { GraphQLFetcher } from '@commerce/api'
+import { FetcherError } from '@vercel/commerce/utils/errors'
+import type { GraphQLFetcher } from '@vercel/commerce/api'
import { getCommerceApi } from '../'
import fetch from './fetch'
diff --git a/framework/vendure/api/utils/fetch.ts b/packages/vendure/src/api/utils/fetch.ts
similarity index 100%
rename from framework/vendure/api/utils/fetch.ts
rename to packages/vendure/src/api/utils/fetch.ts
diff --git a/framework/vendure/auth/index.ts b/packages/vendure/src/auth/index.ts
similarity index 100%
rename from framework/vendure/auth/index.ts
rename to packages/vendure/src/auth/index.ts
diff --git a/framework/vendure/auth/use-login.tsx b/packages/vendure/src/auth/use-login.tsx
similarity index 80%
rename from framework/vendure/auth/use-login.tsx
rename to packages/vendure/src/auth/use-login.tsx
index 8bc5afcb0..ce1a45456 100644
--- a/framework/vendure/auth/use-login.tsx
+++ b/packages/vendure/src/auth/use-login.tsx
@@ -1,10 +1,10 @@
import { useCallback } from 'react'
-import { MutationHook } from '@commerce/utils/types'
-import useLogin, { UseLogin } from '@commerce/auth/use-login'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useLogin, { UseLogin } from '@vercel/commerce/auth/use-login'
import { LoginHook } from '../types/login'
-import { CommerceError, ValidationError } from '@commerce/utils/errors'
+import { CommerceError, ValidationError } from '@vercel/commerce/utils/errors'
import useCustomer from '../customer/use-customer'
-import { LoginMutation, LoginMutationVariables } from '../schema'
+import { LoginMutation, LoginMutationVariables } from '../../schema'
import { loginMutation } from '../utils/mutations/log-in-mutation'
export default useLogin as UseLogin
diff --git a/framework/vendure/auth/use-logout.tsx b/packages/vendure/src/auth/use-logout.tsx
similarity index 81%
rename from framework/vendure/auth/use-logout.tsx
rename to packages/vendure/src/auth/use-logout.tsx
index be1b18586..8a099cf77 100644
--- a/framework/vendure/auth/use-logout.tsx
+++ b/packages/vendure/src/auth/use-logout.tsx
@@ -1,8 +1,8 @@
import { useCallback } from 'react'
-import { MutationHook } from '@commerce/utils/types'
-import useLogout, { UseLogout } from '@commerce/auth/use-logout'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import useLogout, { UseLogout } from '@vercel/commerce/auth/use-logout'
import useCustomer from '../customer/use-customer'
-import { LogoutMutation } from '../schema'
+import { LogoutMutation } from '../../schema'
import { logoutMutation } from '../utils/mutations/log-out-mutation'
import { LogoutHook } from '../types/logout'
diff --git a/framework/vendure/auth/use-signup.tsx b/packages/vendure/src/auth/use-signup.tsx
similarity index 86%
rename from framework/vendure/auth/use-signup.tsx
rename to packages/vendure/src/auth/use-signup.tsx
index 910c6824e..0c19c91bb 100644
--- a/framework/vendure/auth/use-signup.tsx
+++ b/packages/vendure/src/auth/use-signup.tsx
@@ -1,13 +1,13 @@
import { useCallback } from 'react'
-import { MutationHook } from '@commerce/utils/types'
-import { CommerceError, ValidationError } from '@commerce/utils/errors'
-import useSignup, { UseSignup } from '@commerce/auth/use-signup'
+import { MutationHook } from '@vercel/commerce/utils/types'
+import { CommerceError, ValidationError } from '@vercel/commerce/utils/errors'
+import useSignup, { UseSignup } from '@vercel/commerce/auth/use-signup'
import useCustomer from '../customer/use-customer'
import {
RegisterCustomerInput,
SignupMutation,
SignupMutationVariables,
-} from '../schema'
+} from '../../schema'
import { signupMutation } from '../utils/mutations/sign-up-mutation'
import { SignupHook } from '../types/signup'
diff --git a/framework/vendure/cart/index.ts b/packages/vendure/src/cart/index.ts
similarity index 100%
rename from framework/vendure/cart/index.ts
rename to packages/vendure/src/cart/index.ts
diff --git a/framework/vendure/cart/use-add-item.tsx b/packages/vendure/src/cart/use-add-item.tsx
similarity index 84%
rename from framework/vendure/cart/use-add-item.tsx
rename to packages/vendure/src/cart/use-add-item.tsx
index 7c131eaea..d7bb0bf66 100644
--- a/framework/vendure/cart/use-add-item.tsx
+++ b/packages/vendure/src/cart/use-add-item.tsx
@@ -1,9 +1,9 @@
-import useAddItem, { UseAddItem } from '@commerce/cart/use-add-item'
-import { CommerceError } from '@commerce/utils/errors'
-import { MutationHook } from '@commerce/utils/types'
+import useAddItem, { UseAddItem } from '@vercel/commerce/cart/use-add-item'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import { MutationHook } from '@vercel/commerce/utils/types'
import { useCallback } from 'react'
import useCart from './use-cart'
-import { AddItemToOrderMutation } from '../schema'
+import { AddItemToOrderMutation } from '../../schema'
import { normalizeCart } from '../utils/normalize'
import { addItemToOrderMutation } from '../utils/mutations/add-item-to-order-mutation'
import { AddItemHook } from '../types/cart'
diff --git a/framework/vendure/cart/use-cart.tsx b/packages/vendure/src/cart/use-cart.tsx
similarity index 86%
rename from framework/vendure/cart/use-cart.tsx
rename to packages/vendure/src/cart/use-cart.tsx
index de42036b8..750f11040 100644
--- a/framework/vendure/cart/use-cart.tsx
+++ b/packages/vendure/src/cart/use-cart.tsx
@@ -1,6 +1,6 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCart, { UseCart } from '@commerce/cart/use-cart'
-import { ActiveOrderQuery, CartFragment } from '../schema'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCart, { UseCart } from '@vercel/commerce/cart/use-cart'
+import { ActiveOrderQuery, CartFragment } from '../../schema'
import { normalizeCart } from '../utils/normalize'
import { useMemo } from 'react'
import { getCartQuery } from '../utils/queries/get-cart-query'
diff --git a/framework/vendure/cart/use-remove-item.tsx b/packages/vendure/src/cart/use-remove-item.tsx
similarity index 83%
rename from framework/vendure/cart/use-remove-item.tsx
rename to packages/vendure/src/cart/use-remove-item.tsx
index dde8e18b3..2aa316505 100644
--- a/framework/vendure/cart/use-remove-item.tsx
+++ b/packages/vendure/src/cart/use-remove-item.tsx
@@ -4,15 +4,17 @@ import {
MutationHook,
MutationHookContext,
SWRHook,
-} from '@commerce/utils/types'
-import useRemoveItem, { UseRemoveItem } from '@commerce/cart/use-remove-item'
-import { CommerceError } from '@commerce/utils/errors'
-import { Cart } from '@commerce/types/cart'
+} from '@vercel/commerce/utils/types'
+import useRemoveItem, {
+ UseRemoveItem,
+} from '@vercel/commerce/cart/use-remove-item'
+import { CommerceError } from '@vercel/commerce/utils/errors'
+import { Cart } from '@vercel/commerce/types/cart'
import useCart from './use-cart'
import {
RemoveOrderLineMutation,
RemoveOrderLineMutationVariables,
-} from '../schema'
+} from '../../schema'
import { normalizeCart } from '../utils/normalize'
import { RemoveItemHook } from '../types/cart'
import { removeOrderLineMutation } from '../utils/mutations/remove-order-line-mutation'
diff --git a/framework/vendure/cart/use-update-item.tsx b/packages/vendure/src/cart/use-update-item.tsx
similarity index 88%
rename from framework/vendure/cart/use-update-item.tsx
rename to packages/vendure/src/cart/use-update-item.tsx
index 029966c5a..2f3c8d47b 100644
--- a/framework/vendure/cart/use-update-item.tsx
+++ b/packages/vendure/src/cart/use-update-item.tsx
@@ -3,15 +3,17 @@ import {
HookFetcherContext,
MutationHook,
MutationHookContext,
-} from '@commerce/utils/types'
-import { CommerceError, ValidationError } from '@commerce/utils/errors'
-import useUpdateItem, { UseUpdateItem } from '@commerce/cart/use-update-item'
-import { CartItemBody, LineItem } from '@commerce/types/cart'
+} from '@vercel/commerce/utils/types'
+import { CommerceError, ValidationError } from '@vercel/commerce/utils/errors'
+import useUpdateItem, {
+ UseUpdateItem,
+} from '@vercel/commerce/cart/use-update-item'
+import { CartItemBody, LineItem } from '@vercel/commerce/types/cart'
import useCart from './use-cart'
import {
AdjustOrderLineMutation,
AdjustOrderLineMutationVariables,
-} from '../schema'
+} from '../../schema'
import { normalizeCart } from '../utils/normalize'
import { adjustOrderLineMutation } from '../utils/mutations/adjust-order-line-mutation'
import { UpdateItemHook } from '../types/cart'
diff --git a/packages/vendure/src/checkout/use-checkout.tsx b/packages/vendure/src/checkout/use-checkout.tsx
new file mode 100644
index 000000000..76997be73
--- /dev/null
+++ b/packages/vendure/src/checkout/use-checkout.tsx
@@ -0,0 +1,16 @@
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCheckout, {
+ UseCheckout,
+} from '@vercel/commerce/checkout/use-checkout'
+
+export default useCheckout as UseCheckout
+
+export const handler: SWRHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ useData }) =>
+ async (input) => ({}),
+}
diff --git a/framework/vendure/commerce.config.json b/packages/vendure/src/commerce.config.json
similarity index 100%
rename from framework/vendure/commerce.config.json
rename to packages/vendure/src/commerce.config.json
diff --git a/packages/vendure/src/customer/address/use-add-item.tsx b/packages/vendure/src/customer/address/use-add-item.tsx
new file mode 100644
index 000000000..4f85c8472
--- /dev/null
+++ b/packages/vendure/src/customer/address/use-add-item.tsx
@@ -0,0 +1,17 @@
+import useAddItem, {
+ UseAddItem,
+} from '@vercel/commerce/customer/address/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+
+export default useAddItem as UseAddItem
+
+export const handler: MutationHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ fetch }) =>
+ () =>
+ async () => ({}),
+}
diff --git a/packages/vendure/src/customer/card/use-add-item.tsx b/packages/vendure/src/customer/card/use-add-item.tsx
new file mode 100644
index 000000000..77d149eff
--- /dev/null
+++ b/packages/vendure/src/customer/card/use-add-item.tsx
@@ -0,0 +1,17 @@
+import useAddItem, {
+ UseAddItem,
+} from '@vercel/commerce/customer/card/use-add-item'
+import { MutationHook } from '@vercel/commerce/utils/types'
+
+export default useAddItem as UseAddItem
+
+export const handler: MutationHook = {
+ fetchOptions: {
+ query: '',
+ },
+ async fetcher({ input, options, fetch }) {},
+ useHook:
+ ({ fetch }) =>
+ () =>
+ async () => ({}),
+}
diff --git a/framework/vendure/customer/index.ts b/packages/vendure/src/customer/index.ts
similarity index 100%
rename from framework/vendure/customer/index.ts
rename to packages/vendure/src/customer/index.ts
diff --git a/framework/vendure/customer/use-customer.tsx b/packages/vendure/src/customer/use-customer.tsx
similarity index 81%
rename from framework/vendure/customer/use-customer.tsx
rename to packages/vendure/src/customer/use-customer.tsx
index e9047485b..80da077ff 100644
--- a/framework/vendure/customer/use-customer.tsx
+++ b/packages/vendure/src/customer/use-customer.tsx
@@ -1,6 +1,8 @@
-import { SWRHook } from '@commerce/utils/types'
-import useCustomer, { UseCustomer } from '@commerce/customer/use-customer'
-import { ActiveCustomerQuery } from '../schema'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useCustomer, {
+ UseCustomer,
+} from '@vercel/commerce/customer/use-customer'
+import { ActiveCustomerQuery } from '../../schema'
import { activeCustomerQuery } from '../utils/queries/active-customer-query'
import { CustomerHook } from '../types/customer'
diff --git a/framework/vendure/fetcher.ts b/packages/vendure/src/fetcher.ts
similarity index 92%
rename from framework/vendure/fetcher.ts
rename to packages/vendure/src/fetcher.ts
index 48b041801..ad0d4bc66 100644
--- a/framework/vendure/fetcher.ts
+++ b/packages/vendure/src/fetcher.ts
@@ -1,5 +1,5 @@
-import { Fetcher } from '@commerce/utils/types'
-import { FetcherError } from '@commerce/utils/errors'
+import { Fetcher } from '@vercel/commerce/utils/types'
+import { FetcherError } from '@vercel/commerce/utils/errors'
async function getText(res: Response) {
try {
diff --git a/framework/vendure/index.tsx b/packages/vendure/src/index.tsx
similarity index 72%
rename from framework/vendure/index.tsx
rename to packages/vendure/src/index.tsx
index 086940c54..14d0d4c3a 100644
--- a/framework/vendure/index.tsx
+++ b/packages/vendure/src/index.tsx
@@ -1,4 +1,7 @@
-import { getCommerceProvider, useCommerce as useCoreCommerce } from '@commerce'
+import {
+ getCommerceProvider,
+ useCommerce as useCoreCommerce,
+} from '@vercel/commerce'
import { vendureProvider, VendureProvider } from './provider'
export { vendureProvider }
diff --git a/framework/vendure/next.config.js b/packages/vendure/src/next.config.cjs
similarity index 100%
rename from framework/vendure/next.config.js
rename to packages/vendure/src/next.config.cjs
diff --git a/framework/vendure/product/index.ts b/packages/vendure/src/product/index.ts
similarity index 100%
rename from framework/vendure/product/index.ts
rename to packages/vendure/src/product/index.ts
diff --git a/packages/vendure/src/product/use-price.tsx b/packages/vendure/src/product/use-price.tsx
new file mode 100644
index 000000000..fd42d7033
--- /dev/null
+++ b/packages/vendure/src/product/use-price.tsx
@@ -0,0 +1,2 @@
+export * from '@vercel/commerce/product/use-price'
+export { default } from '@vercel/commerce/product/use-price'
diff --git a/framework/vendure/product/use-search.tsx b/packages/vendure/src/product/use-search.tsx
similarity index 85%
rename from framework/vendure/product/use-search.tsx
rename to packages/vendure/src/product/use-search.tsx
index 827b23623..86c6467d1 100644
--- a/framework/vendure/product/use-search.tsx
+++ b/packages/vendure/src/product/use-search.tsx
@@ -1,7 +1,7 @@
-import { SWRHook } from '@commerce/utils/types'
-import useSearch, { UseSearch } from '@commerce/product/use-search'
-import { Product } from '@commerce/types/product'
-import { SearchQuery, SearchQueryVariables } from '../schema'
+import { SWRHook } from '@vercel/commerce/utils/types'
+import useSearch, { UseSearch } from '@vercel/commerce/product/use-search'
+import { Product } from '@vercel/commerce/types/product'
+import { SearchQuery, SearchQueryVariables } from '../../schema'
import { normalizeSearchResult } from '../utils/normalize'
import { searchQuery } from '../utils/queries/search-query'
import { SearchProductsHook } from '../types/product'
diff --git a/framework/vendure/provider.ts b/packages/vendure/src/provider.ts
similarity index 100%
rename from framework/vendure/provider.ts
rename to packages/vendure/src/provider.ts
diff --git a/packages/vendure/src/types/cart.ts b/packages/vendure/src/types/cart.ts
new file mode 100644
index 000000000..e6838fb45
--- /dev/null
+++ b/packages/vendure/src/types/cart.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/cart'
diff --git a/packages/vendure/src/types/checkout.ts b/packages/vendure/src/types/checkout.ts
new file mode 100644
index 000000000..d139db685
--- /dev/null
+++ b/packages/vendure/src/types/checkout.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/checkout'
diff --git a/packages/vendure/src/types/common.ts b/packages/vendure/src/types/common.ts
new file mode 100644
index 000000000..23b8daa11
--- /dev/null
+++ b/packages/vendure/src/types/common.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/common'
diff --git a/packages/vendure/src/types/customer.ts b/packages/vendure/src/types/customer.ts
new file mode 100644
index 000000000..c637055b9
--- /dev/null
+++ b/packages/vendure/src/types/customer.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/customer'
diff --git a/framework/vendure/types/index.ts b/packages/vendure/src/types/index.ts
similarity index 100%
rename from framework/vendure/types/index.ts
rename to packages/vendure/src/types/index.ts
diff --git a/packages/vendure/src/types/login.ts b/packages/vendure/src/types/login.ts
new file mode 100644
index 000000000..283a5751c
--- /dev/null
+++ b/packages/vendure/src/types/login.ts
@@ -0,0 +1,12 @@
+import * as Core from '@vercel/commerce/types/login'
+import type { LoginMutationVariables } from '../../schema'
+import { LoginBody, LoginTypes } from '@vercel/commerce/types/login'
+
+export * from '@vercel/commerce/types/login'
+
+export type LoginHook = {
+ data: null
+ actionInput: LoginBody
+ fetcherInput: LoginBody
+ body: T['body']
+}
diff --git a/packages/vendure/src/types/logout.ts b/packages/vendure/src/types/logout.ts
new file mode 100644
index 000000000..1de06f8dc
--- /dev/null
+++ b/packages/vendure/src/types/logout.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/logout'
diff --git a/packages/vendure/src/types/page.ts b/packages/vendure/src/types/page.ts
new file mode 100644
index 000000000..12f6b02d7
--- /dev/null
+++ b/packages/vendure/src/types/page.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/page'
diff --git a/packages/vendure/src/types/product.ts b/packages/vendure/src/types/product.ts
new file mode 100644
index 000000000..72ca02f02
--- /dev/null
+++ b/packages/vendure/src/types/product.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/product'
diff --git a/packages/vendure/src/types/signup.ts b/packages/vendure/src/types/signup.ts
new file mode 100644
index 000000000..3f0d1af5a
--- /dev/null
+++ b/packages/vendure/src/types/signup.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/signup'
diff --git a/packages/vendure/src/types/site.ts b/packages/vendure/src/types/site.ts
new file mode 100644
index 000000000..96a2e476e
--- /dev/null
+++ b/packages/vendure/src/types/site.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/site'
diff --git a/packages/vendure/src/types/wishlist.ts b/packages/vendure/src/types/wishlist.ts
new file mode 100644
index 000000000..af92d9f63
--- /dev/null
+++ b/packages/vendure/src/types/wishlist.ts
@@ -0,0 +1 @@
+export * from '@vercel/commerce/types/wishlist'
diff --git a/framework/vendure/utils/array-to-tree.ts b/packages/vendure/src/utils/array-to-tree.ts
similarity index 100%
rename from framework/vendure/utils/array-to-tree.ts
rename to packages/vendure/src/utils/array-to-tree.ts
diff --git a/framework/vendure/utils/fragments/cart-fragment.ts b/packages/vendure/src/utils/fragments/cart-fragment.ts
similarity index 100%
rename from framework/vendure/utils/fragments/cart-fragment.ts
rename to packages/vendure/src/utils/fragments/cart-fragment.ts
diff --git a/framework/vendure/utils/fragments/search-result-fragment.ts b/packages/vendure/src/utils/fragments/search-result-fragment.ts
similarity index 100%
rename from framework/vendure/utils/fragments/search-result-fragment.ts
rename to packages/vendure/src/utils/fragments/search-result-fragment.ts
diff --git a/framework/vendure/utils/mutations/add-item-to-order-mutation.ts b/packages/vendure/src/utils/mutations/add-item-to-order-mutation.ts
similarity index 100%
rename from framework/vendure/utils/mutations/add-item-to-order-mutation.ts
rename to packages/vendure/src/utils/mutations/add-item-to-order-mutation.ts
diff --git a/framework/vendure/utils/mutations/adjust-order-line-mutation.ts b/packages/vendure/src/utils/mutations/adjust-order-line-mutation.ts
similarity index 100%
rename from framework/vendure/utils/mutations/adjust-order-line-mutation.ts
rename to packages/vendure/src/utils/mutations/adjust-order-line-mutation.ts
diff --git a/framework/vendure/utils/mutations/log-in-mutation.ts b/packages/vendure/src/utils/mutations/log-in-mutation.ts
similarity index 100%
rename from framework/vendure/utils/mutations/log-in-mutation.ts
rename to packages/vendure/src/utils/mutations/log-in-mutation.ts
diff --git a/framework/vendure/utils/mutations/log-out-mutation.ts b/packages/vendure/src/utils/mutations/log-out-mutation.ts
similarity index 100%
rename from framework/vendure/utils/mutations/log-out-mutation.ts
rename to packages/vendure/src/utils/mutations/log-out-mutation.ts
diff --git a/framework/vendure/utils/mutations/remove-order-line-mutation.ts b/packages/vendure/src/utils/mutations/remove-order-line-mutation.ts
similarity index 100%
rename from framework/vendure/utils/mutations/remove-order-line-mutation.ts
rename to packages/vendure/src/utils/mutations/remove-order-line-mutation.ts
diff --git a/framework/vendure/utils/mutations/sign-up-mutation.ts b/packages/vendure/src/utils/mutations/sign-up-mutation.ts
similarity index 100%
rename from framework/vendure/utils/mutations/sign-up-mutation.ts
rename to packages/vendure/src/utils/mutations/sign-up-mutation.ts
diff --git a/framework/vendure/utils/normalize.ts b/packages/vendure/src/utils/normalize.ts
similarity index 90%
rename from framework/vendure/utils/normalize.ts
rename to packages/vendure/src/utils/normalize.ts
index 6071fae84..adde43674 100644
--- a/framework/vendure/utils/normalize.ts
+++ b/packages/vendure/src/utils/normalize.ts
@@ -1,6 +1,6 @@
-import { Product } from '@commerce/types/product'
-import { Cart } from '@commerce/types/cart'
-import { CartFragment, SearchResultFragment } from '../schema'
+import { Product } from '@vercel/commerce/types/product'
+import { Cart } from '@vercel/commerce/types/cart'
+import { CartFragment, SearchResultFragment } from '../../schema'
export function normalizeSearchResult(item: SearchResultFragment): Product {
return {
diff --git a/framework/vendure/utils/queries/active-customer-query.ts b/packages/vendure/src/utils/queries/active-customer-query.ts
similarity index 100%
rename from framework/vendure/utils/queries/active-customer-query.ts
rename to packages/vendure/src/utils/queries/active-customer-query.ts
diff --git a/framework/vendure/utils/queries/get-all-product-paths-query.ts b/packages/vendure/src/utils/queries/get-all-product-paths-query.ts
similarity index 100%
rename from framework/vendure/utils/queries/get-all-product-paths-query.ts
rename to packages/vendure/src/utils/queries/get-all-product-paths-query.ts
diff --git a/framework/vendure/utils/queries/get-all-products-query.ts b/packages/vendure/src/utils/queries/get-all-products-query.ts
similarity index 100%
rename from framework/vendure/utils/queries/get-all-products-query.ts
rename to packages/vendure/src/utils/queries/get-all-products-query.ts
diff --git a/framework/vendure/utils/queries/get-cart-query.ts b/packages/vendure/src/utils/queries/get-cart-query.ts
similarity index 100%
rename from framework/vendure/utils/queries/get-cart-query.ts
rename to packages/vendure/src/utils/queries/get-cart-query.ts
diff --git a/framework/vendure/utils/queries/get-collections-query.ts b/packages/vendure/src/utils/queries/get-collections-query.ts
similarity index 100%
rename from framework/vendure/utils/queries/get-collections-query.ts
rename to packages/vendure/src/utils/queries/get-collections-query.ts
diff --git a/framework/vendure/utils/queries/get-product-query.ts b/packages/vendure/src/utils/queries/get-product-query.ts
similarity index 100%
rename from framework/vendure/utils/queries/get-product-query.ts
rename to packages/vendure/src/utils/queries/get-product-query.ts
diff --git a/framework/vendure/utils/queries/search-query.ts b/packages/vendure/src/utils/queries/search-query.ts
similarity index 100%
rename from framework/vendure/utils/queries/search-query.ts
rename to packages/vendure/src/utils/queries/search-query.ts
diff --git a/framework/vendure/wishlist/use-add-item.tsx b/packages/vendure/src/wishlist/use-add-item.tsx
similarity index 100%
rename from framework/vendure/wishlist/use-add-item.tsx
rename to packages/vendure/src/wishlist/use-add-item.tsx
diff --git a/framework/vendure/wishlist/use-remove-item.tsx b/packages/vendure/src/wishlist/use-remove-item.tsx
similarity index 100%
rename from framework/vendure/wishlist/use-remove-item.tsx
rename to packages/vendure/src/wishlist/use-remove-item.tsx
diff --git a/framework/vendure/wishlist/use-wishlist.tsx b/packages/vendure/src/wishlist/use-wishlist.tsx
similarity index 90%
rename from framework/vendure/wishlist/use-wishlist.tsx
rename to packages/vendure/src/wishlist/use-wishlist.tsx
index da941bf31..ab4192171 100644
--- a/framework/vendure/wishlist/use-wishlist.tsx
+++ b/packages/vendure/src/wishlist/use-wishlist.tsx
@@ -1,8 +1,8 @@
// TODO: replace this hook and other wishlist hooks with a handler, or remove them if
// Vendure doesn't have a built-in wishlist
-import { HookFetcher } from '@commerce/utils/types'
-import { Product } from '../schema'
+import { HookFetcher } from '@vercel/commerce/utils/types'
+import { Product } from '../../schema'
const defaultOpts = {}
diff --git a/packages/vendure/taskfile.js b/packages/vendure/taskfile.js
new file mode 100644
index 000000000..39b1b2a86
--- /dev/null
+++ b/packages/vendure/taskfile.js
@@ -0,0 +1,20 @@
+export async function build(task, opts) {
+ await task
+ .source('src/**/*.+(ts|tsx|js)')
+ .swc({ dev: opts.dev, outDir: 'dist', baseUrl: 'src' })
+ .target('dist')
+ .source('src/**/*.+(cjs|json)')
+ .target('dist')
+ task.$.log('Compiled src files')
+}
+
+export async function release(task) {
+ await task.clear('dist').start('build')
+}
+
+export default async function dev(task) {
+ const opts = { dev: true }
+ await task.clear('dist')
+ await task.start('build', opts)
+ await task.watch('src/**/*.+(ts|tsx|js|cjs|json)', 'build', opts)
+}
diff --git a/packages/vendure/tsconfig.json b/packages/vendure/tsconfig.json
new file mode 100644
index 000000000..cd04ab2ff
--- /dev/null
+++ b/packages/vendure/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "outDir": "dist",
+ "baseUrl": "src",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "declaration": true,
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "incremental": true,
+ "jsx": "react-jsx"
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "dist"]
+}
diff --git a/.env.template b/site/.env.template
similarity index 75%
rename from .env.template
rename to site/.env.template
index 5402b4d92..1d46594f7 100644
--- a/.env.template
+++ b/site/.env.template
@@ -1,4 +1,14 @@
-# Available providers: bigcommerce, shopify, swell, commercelayer
+# Available providers:
+# @vercel/commerce-local
+# @vercel/commerce-bigcommerce
+# @vercel/commerce-shopify
+# @vercel/commerce-swell
+# @vercel/commerce-saleor
+# @vercel/commerce-spree
+# @vercel/commerce-ordercloud
+# @vercel/commerce-vendure
+# @vercel/commerce-kibocommerce
+# @vercel/commerce-commercejs
COMMERCE_PROVIDER=
BIGCOMMERCE_STOREFRONT_API_URL=
diff --git a/.eslintrc b/site/.eslintrc
similarity index 100%
rename from .eslintrc
rename to site/.eslintrc
diff --git a/site/.gitignore b/site/.gitignore
new file mode 100644
index 000000000..22f1bf4f3
--- /dev/null
+++ b/site/.gitignore
@@ -0,0 +1,36 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+node_modules
+/.pnp
+.pnp.js
+
+# testing
+/coverage
+
+# next.js
+.next/
+out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+.idea
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# local env files
+.env
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+
+# vercel
+.vercel
diff --git a/site/.prettierignore b/site/.prettierignore
new file mode 100644
index 000000000..105738ca9
--- /dev/null
+++ b/site/.prettierignore
@@ -0,0 +1,3 @@
+node_modules
+.next
+public
\ No newline at end of file
diff --git a/site/.prettierrc b/site/.prettierrc
new file mode 100644
index 000000000..e1076edfa
--- /dev/null
+++ b/site/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "semi": false,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "useTabs": false
+}
diff --git a/assets/base.css b/site/assets/base.css
similarity index 100%
rename from assets/base.css
rename to site/assets/base.css
diff --git a/assets/chrome-bug.css b/site/assets/chrome-bug.css
similarity index 100%
rename from assets/chrome-bug.css
rename to site/assets/chrome-bug.css
diff --git a/assets/components.css b/site/assets/components.css
similarity index 100%
rename from assets/components.css
rename to site/assets/components.css
diff --git a/assets/main.css b/site/assets/main.css
similarity index 100%
rename from assets/main.css
rename to site/assets/main.css
diff --git a/site/commerce-config.js b/site/commerce-config.js
new file mode 100644
index 000000000..d52797e51
--- /dev/null
+++ b/site/commerce-config.js
@@ -0,0 +1,105 @@
+/**
+ * This file is expected to be used in next.config.js only
+ */
+
+const path = require('path')
+const fs = require('fs')
+const merge = require('deepmerge')
+const prettier = require('prettier')
+const core = require('@vercel/commerce/config')
+
+const PROVIDERS = [
+ '@vercel/commerce-local',
+ '@vercel/commerce-bigcommerce',
+ '@vercel/commerce-saleor',
+ '@vercel/commerce-shopify',
+ '@vercel/commerce-swell',
+ '@vercel/commerce-vendure',
+ '@vercel/commerce-ordercloud',
+ '@vercel/commerce-kibocommerce',
+ '@vercel/commerce-spree',
+ '@vercel/commerce-commercejs',
+]
+
+function getProviderName() {
+ return (
+ process.env.COMMERCE_PROVIDER ||
+ (process.env.BIGCOMMERCE_STOREFRONT_API_URL
+ ? '@vercel/commerce-bigcommerce'
+ : process.env.NEXT_PUBLIC_SHOPIFY_STORE_DOMAIN
+ ? '@vercel/commerce-shopify'
+ : process.env.NEXT_PUBLIC_SWELL_STORE_ID
+ ? '@vercel/commerce-swell'
+ : '@vercel/commerce-local')
+ )
+}
+
+function withCommerceConfig(nextConfig = {}) {
+ const config = merge(
+ { commerce: { provider: getProviderName() } },
+ nextConfig
+ )
+ const { commerce } = config
+ const { provider } = commerce
+
+ if (!provider) {
+ throw new Error(
+ `The commerce provider is missing, please add a valid provider name or its environment variables`
+ )
+ }
+ if (!PROVIDERS.includes(provider)) {
+ throw new Error(
+ `The commerce provider "${provider}" can't be found, please use one of "${PROVIDERS.join(
+ ', '
+ )}"`
+ )
+ }
+
+ // Update paths in `tsconfig.json` to point to the selected provider
+ if (commerce.updateTSConfig !== false) {
+ const tsconfigPath = path.join(
+ process.cwd(),
+ commerce.tsconfigPath || 'tsconfig.json'
+ )
+ const tsconfig = require(tsconfigPath)
+ // The module path is a symlink in node_modules
+ // -> /node_modules/[name]/dist/index.js
+ const absolutePath = require.resolve(provider)
+ // but we want references to go to the real path in /packages instead
+ // -> packages/[name]/dist
+ const distPath = path.join(path.relative(process.cwd(), absolutePath), '..')
+ // -> /packages/[name]/src
+ const modulePath = path.join(distPath, '../src')
+
+ tsconfig.compilerOptions.paths['@framework'] = [`${modulePath}`]
+ tsconfig.compilerOptions.paths['@framework/*'] = [`${modulePath}/*`]
+
+ fs.writeFileSync(
+ tsconfigPath,
+ prettier.format(JSON.stringify(tsconfig), { parser: 'json' })
+ )
+
+ const webpack = config.webpack
+
+ // To improve the DX of using references, we'll switch from `src` to `dist`
+ // only for webpack so imports resolve correctly but typechecking goes to `src`
+ config.webpack = (cfg, options) => {
+ if (Array.isArray(cfg.resolve.plugins)) {
+ const jsconfigPaths = cfg.resolve.plugins.find(
+ (plugin) => plugin.constructor.name === 'JsConfigPathsPlugin'
+ )
+
+ if (jsconfigPaths) {
+ jsconfigPaths.paths['@framework'] = [distPath]
+ jsconfigPaths.paths['@framework/*'] = [`${distPath}/*`]
+ }
+ }
+
+ return webpack ? webpack(cfg, options) : cfg
+ }
+ }
+
+ return core.withCommerceConfig(config)
+}
+
+module.exports = { withCommerceConfig, getProviderName }
diff --git a/commerce.config.json b/site/commerce.config.json
similarity index 100%
rename from commerce.config.json
rename to site/commerce.config.json
diff --git a/components/auth/ForgotPassword.tsx b/site/components/auth/ForgotPassword.tsx
similarity index 100%
rename from components/auth/ForgotPassword.tsx
rename to site/components/auth/ForgotPassword.tsx
diff --git a/components/auth/LoginView.tsx b/site/components/auth/LoginView.tsx
similarity index 100%
rename from components/auth/LoginView.tsx
rename to site/components/auth/LoginView.tsx
diff --git a/components/auth/SignUpView.tsx b/site/components/auth/SignUpView.tsx
similarity index 100%
rename from components/auth/SignUpView.tsx
rename to site/components/auth/SignUpView.tsx
diff --git a/components/auth/index.ts b/site/components/auth/index.ts
similarity index 100%
rename from components/auth/index.ts
rename to site/components/auth/index.ts
diff --git a/components/cart/CartItem/CartItem.module.css b/site/components/cart/CartItem/CartItem.module.css
similarity index 100%
rename from components/cart/CartItem/CartItem.module.css
rename to site/components/cart/CartItem/CartItem.module.css
diff --git a/components/cart/CartItem/CartItem.tsx b/site/components/cart/CartItem/CartItem.tsx
similarity index 99%
rename from components/cart/CartItem/CartItem.tsx
rename to site/components/cart/CartItem/CartItem.tsx
index a9d143a1c..ecd3e39ae 100644
--- a/components/cart/CartItem/CartItem.tsx
+++ b/site/components/cart/CartItem/CartItem.tsx
@@ -1,5 +1,5 @@
import { ChangeEvent, FocusEventHandler, useEffect, useState } from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import Image from 'next/image'
import Link from 'next/link'
import s from './CartItem.module.css'
diff --git a/components/cart/CartItem/index.ts b/site/components/cart/CartItem/index.ts
similarity index 100%
rename from components/cart/CartItem/index.ts
rename to site/components/cart/CartItem/index.ts
diff --git a/components/cart/CartSidebarView/CartSidebarView.module.css b/site/components/cart/CartSidebarView/CartSidebarView.module.css
similarity index 100%
rename from components/cart/CartSidebarView/CartSidebarView.module.css
rename to site/components/cart/CartSidebarView/CartSidebarView.module.css
diff --git a/components/cart/CartSidebarView/CartSidebarView.tsx b/site/components/cart/CartSidebarView/CartSidebarView.tsx
similarity index 99%
rename from components/cart/CartSidebarView/CartSidebarView.tsx
rename to site/components/cart/CartSidebarView/CartSidebarView.tsx
index 2fa7980f2..327602c0b 100644
--- a/components/cart/CartSidebarView/CartSidebarView.tsx
+++ b/site/components/cart/CartSidebarView/CartSidebarView.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import Link from 'next/link'
import { FC } from 'react'
import s from './CartSidebarView.module.css'
diff --git a/components/cart/CartSidebarView/index.ts b/site/components/cart/CartSidebarView/index.ts
similarity index 100%
rename from components/cart/CartSidebarView/index.ts
rename to site/components/cart/CartSidebarView/index.ts
diff --git a/components/cart/index.ts b/site/components/cart/index.ts
similarity index 100%
rename from components/cart/index.ts
rename to site/components/cart/index.ts
diff --git a/components/checkout/CheckoutSidebarView/CheckoutSidebarView.module.css b/site/components/checkout/CheckoutSidebarView/CheckoutSidebarView.module.css
similarity index 100%
rename from components/checkout/CheckoutSidebarView/CheckoutSidebarView.module.css
rename to site/components/checkout/CheckoutSidebarView/CheckoutSidebarView.module.css
diff --git a/components/checkout/CheckoutSidebarView/CheckoutSidebarView.tsx b/site/components/checkout/CheckoutSidebarView/CheckoutSidebarView.tsx
similarity index 100%
rename from components/checkout/CheckoutSidebarView/CheckoutSidebarView.tsx
rename to site/components/checkout/CheckoutSidebarView/CheckoutSidebarView.tsx
diff --git a/components/checkout/CheckoutSidebarView/index.ts b/site/components/checkout/CheckoutSidebarView/index.ts
similarity index 100%
rename from components/checkout/CheckoutSidebarView/index.ts
rename to site/components/checkout/CheckoutSidebarView/index.ts
diff --git a/components/checkout/PaymentMethodView/PaymentMethodView.module.css b/site/components/checkout/PaymentMethodView/PaymentMethodView.module.css
similarity index 100%
rename from components/checkout/PaymentMethodView/PaymentMethodView.module.css
rename to site/components/checkout/PaymentMethodView/PaymentMethodView.module.css
diff --git a/components/checkout/PaymentMethodView/PaymentMethodView.tsx b/site/components/checkout/PaymentMethodView/PaymentMethodView.tsx
similarity index 99%
rename from components/checkout/PaymentMethodView/PaymentMethodView.tsx
rename to site/components/checkout/PaymentMethodView/PaymentMethodView.tsx
index 972073756..115619c75 100644
--- a/components/checkout/PaymentMethodView/PaymentMethodView.tsx
+++ b/site/components/checkout/PaymentMethodView/PaymentMethodView.tsx
@@ -1,5 +1,5 @@
import { FC } from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import useAddCard from '@framework/customer/card/use-add-item'
import { Button, Text } from '@components/ui'
diff --git a/components/checkout/PaymentMethodView/index.ts b/site/components/checkout/PaymentMethodView/index.ts
similarity index 100%
rename from components/checkout/PaymentMethodView/index.ts
rename to site/components/checkout/PaymentMethodView/index.ts
diff --git a/components/checkout/PaymentWidget/PaymentWidget.module.css b/site/components/checkout/PaymentWidget/PaymentWidget.module.css
similarity index 100%
rename from components/checkout/PaymentWidget/PaymentWidget.module.css
rename to site/components/checkout/PaymentWidget/PaymentWidget.module.css
diff --git a/components/checkout/PaymentWidget/PaymentWidget.tsx b/site/components/checkout/PaymentWidget/PaymentWidget.tsx
similarity index 100%
rename from components/checkout/PaymentWidget/PaymentWidget.tsx
rename to site/components/checkout/PaymentWidget/PaymentWidget.tsx
diff --git a/components/checkout/PaymentWidget/index.ts b/site/components/checkout/PaymentWidget/index.ts
similarity index 100%
rename from components/checkout/PaymentWidget/index.ts
rename to site/components/checkout/PaymentWidget/index.ts
diff --git a/components/checkout/ShippingView/ShippingView.module.css b/site/components/checkout/ShippingView/ShippingView.module.css
similarity index 100%
rename from components/checkout/ShippingView/ShippingView.module.css
rename to site/components/checkout/ShippingView/ShippingView.module.css
diff --git a/components/checkout/ShippingView/ShippingView.tsx b/site/components/checkout/ShippingView/ShippingView.tsx
similarity index 99%
rename from components/checkout/ShippingView/ShippingView.tsx
rename to site/components/checkout/ShippingView/ShippingView.tsx
index 571730ed5..ef7c74325 100644
--- a/components/checkout/ShippingView/ShippingView.tsx
+++ b/site/components/checkout/ShippingView/ShippingView.tsx
@@ -1,5 +1,5 @@
import { FC } from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import Button from '@components/ui/Button'
import { useUI } from '@components/ui/context'
diff --git a/components/checkout/ShippingView/index.ts b/site/components/checkout/ShippingView/index.ts
similarity index 100%
rename from components/checkout/ShippingView/index.ts
rename to site/components/checkout/ShippingView/index.ts
diff --git a/components/checkout/ShippingWidget/ShippingWidget.module.css b/site/components/checkout/ShippingWidget/ShippingWidget.module.css
similarity index 100%
rename from components/checkout/ShippingWidget/ShippingWidget.module.css
rename to site/components/checkout/ShippingWidget/ShippingWidget.module.css
diff --git a/components/checkout/ShippingWidget/ShippingWidget.tsx b/site/components/checkout/ShippingWidget/ShippingWidget.tsx
similarity index 96%
rename from components/checkout/ShippingWidget/ShippingWidget.tsx
rename to site/components/checkout/ShippingWidget/ShippingWidget.tsx
index 557a69a8b..1418a2b51 100644
--- a/components/checkout/ShippingWidget/ShippingWidget.tsx
+++ b/site/components/checkout/ShippingWidget/ShippingWidget.tsx
@@ -1,7 +1,6 @@
import { FC } from 'react'
import s from './ShippingWidget.module.css'
import { ChevronRight, MapPin, Check } from '@components/icons'
-import cn from 'classnames'
interface ComponentProps {
onClick?: () => any
diff --git a/components/checkout/ShippingWidget/index.ts b/site/components/checkout/ShippingWidget/index.ts
similarity index 100%
rename from components/checkout/ShippingWidget/index.ts
rename to site/components/checkout/ShippingWidget/index.ts
diff --git a/components/checkout/context.tsx b/site/components/checkout/context.tsx
similarity index 100%
rename from components/checkout/context.tsx
rename to site/components/checkout/context.tsx
diff --git a/components/common/Avatar/Avatar.tsx b/site/components/common/Avatar/Avatar.tsx
similarity index 100%
rename from components/common/Avatar/Avatar.tsx
rename to site/components/common/Avatar/Avatar.tsx
diff --git a/components/common/Avatar/index.ts b/site/components/common/Avatar/index.ts
similarity index 100%
rename from components/common/Avatar/index.ts
rename to site/components/common/Avatar/index.ts
diff --git a/components/common/FeatureBar/FeatureBar.module.css b/site/components/common/FeatureBar/FeatureBar.module.css
similarity index 100%
rename from components/common/FeatureBar/FeatureBar.module.css
rename to site/components/common/FeatureBar/FeatureBar.module.css
diff --git a/components/common/FeatureBar/FeatureBar.tsx b/site/components/common/FeatureBar/FeatureBar.tsx
similarity index 96%
rename from components/common/FeatureBar/FeatureBar.tsx
rename to site/components/common/FeatureBar/FeatureBar.tsx
index 8923a721e..075528618 100644
--- a/components/common/FeatureBar/FeatureBar.tsx
+++ b/site/components/common/FeatureBar/FeatureBar.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import s from './FeatureBar.module.css'
interface FeatureBarProps {
diff --git a/components/common/FeatureBar/index.ts b/site/components/common/FeatureBar/index.ts
similarity index 100%
rename from components/common/FeatureBar/index.ts
rename to site/components/common/FeatureBar/index.ts
diff --git a/components/common/Footer/Footer.module.css b/site/components/common/Footer/Footer.module.css
similarity index 100%
rename from components/common/Footer/Footer.module.css
rename to site/components/common/Footer/Footer.module.css
diff --git a/components/common/Footer/Footer.tsx b/site/components/common/Footer/Footer.tsx
similarity index 99%
rename from components/common/Footer/Footer.tsx
rename to site/components/common/Footer/Footer.tsx
index 8cfcc9666..18e9b4027 100644
--- a/components/common/Footer/Footer.tsx
+++ b/site/components/common/Footer/Footer.tsx
@@ -1,5 +1,5 @@
import { FC } from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import Link from 'next/link'
import { useRouter } from 'next/router'
import type { Page } from '@commerce/types/page'
diff --git a/components/common/Footer/index.ts b/site/components/common/Footer/index.ts
similarity index 100%
rename from components/common/Footer/index.ts
rename to site/components/common/Footer/index.ts
diff --git a/site/components/common/Head/Head.tsx b/site/components/common/Head/Head.tsx
new file mode 100644
index 000000000..ed43c0d39
--- /dev/null
+++ b/site/components/common/Head/Head.tsx
@@ -0,0 +1,17 @@
+import type { VFC } from 'react'
+import { SEO } from '@components/common'
+
+const Head: VFC = () => {
+ return (
+
+
+
+
+ )
+}
+
+export default Head
diff --git a/components/common/Head/index.ts b/site/components/common/Head/index.ts
similarity index 100%
rename from components/common/Head/index.ts
rename to site/components/common/Head/index.ts
diff --git a/components/common/HomeAllProductsGrid/HomeAllProductsGrid.module.css b/site/components/common/HomeAllProductsGrid/HomeAllProductsGrid.module.css
similarity index 100%
rename from components/common/HomeAllProductsGrid/HomeAllProductsGrid.module.css
rename to site/components/common/HomeAllProductsGrid/HomeAllProductsGrid.module.css
diff --git a/components/common/HomeAllProductsGrid/HomeAllProductsGrid.tsx b/site/components/common/HomeAllProductsGrid/HomeAllProductsGrid.tsx
similarity index 100%
rename from components/common/HomeAllProductsGrid/HomeAllProductsGrid.tsx
rename to site/components/common/HomeAllProductsGrid/HomeAllProductsGrid.tsx
diff --git a/components/common/HomeAllProductsGrid/index.ts b/site/components/common/HomeAllProductsGrid/index.ts
similarity index 100%
rename from components/common/HomeAllProductsGrid/index.ts
rename to site/components/common/HomeAllProductsGrid/index.ts
diff --git a/components/common/I18nWidget/I18nWidget.module.css b/site/components/common/I18nWidget/I18nWidget.module.css
similarity index 100%
rename from components/common/I18nWidget/I18nWidget.module.css
rename to site/components/common/I18nWidget/I18nWidget.module.css
diff --git a/components/common/I18nWidget/I18nWidget.tsx b/site/components/common/I18nWidget/I18nWidget.tsx
similarity index 98%
rename from components/common/I18nWidget/I18nWidget.tsx
rename to site/components/common/I18nWidget/I18nWidget.tsx
index 58135f12a..d09dd1d6d 100644
--- a/components/common/I18nWidget/I18nWidget.tsx
+++ b/site/components/common/I18nWidget/I18nWidget.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import Link from 'next/link'
import { FC, useState } from 'react'
import { useRouter } from 'next/router'
diff --git a/components/common/I18nWidget/index.ts b/site/components/common/I18nWidget/index.ts
similarity index 100%
rename from components/common/I18nWidget/index.ts
rename to site/components/common/I18nWidget/index.ts
diff --git a/components/common/Layout/Layout.module.css b/site/components/common/Layout/Layout.module.css
similarity index 100%
rename from components/common/Layout/Layout.module.css
rename to site/components/common/Layout/Layout.module.css
diff --git a/components/common/Layout/Layout.tsx b/site/components/common/Layout/Layout.tsx
similarity index 99%
rename from components/common/Layout/Layout.tsx
rename to site/components/common/Layout/Layout.tsx
index adf323f2c..5c936a09f 100644
--- a/components/common/Layout/Layout.tsx
+++ b/site/components/common/Layout/Layout.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import React, { FC } from 'react'
import dynamic from 'next/dynamic'
import { useRouter } from 'next/router'
diff --git a/components/common/Layout/index.ts b/site/components/common/Layout/index.ts
similarity index 100%
rename from components/common/Layout/index.ts
rename to site/components/common/Layout/index.ts
diff --git a/components/common/Navbar/Navbar.module.css b/site/components/common/Navbar/Navbar.module.css
similarity index 100%
rename from components/common/Navbar/Navbar.module.css
rename to site/components/common/Navbar/Navbar.module.css
diff --git a/components/common/Navbar/Navbar.tsx b/site/components/common/Navbar/Navbar.tsx
similarity index 100%
rename from components/common/Navbar/Navbar.tsx
rename to site/components/common/Navbar/Navbar.tsx
diff --git a/components/common/Navbar/NavbarRoot.tsx b/site/components/common/Navbar/NavbarRoot.tsx
similarity index 96%
rename from components/common/Navbar/NavbarRoot.tsx
rename to site/components/common/Navbar/NavbarRoot.tsx
index 2eb8c5429..16556e842 100644
--- a/components/common/Navbar/NavbarRoot.tsx
+++ b/site/components/common/Navbar/NavbarRoot.tsx
@@ -1,6 +1,6 @@
import { FC, useState, useEffect } from 'react'
import throttle from 'lodash.throttle'
-import cn from 'classnames'
+import cn from 'clsx'
import s from './Navbar.module.css'
const NavbarRoot: FC = ({ children }) => {
diff --git a/components/common/Navbar/index.ts b/site/components/common/Navbar/index.ts
similarity index 100%
rename from components/common/Navbar/index.ts
rename to site/components/common/Navbar/index.ts
diff --git a/site/components/common/SEO/SEO.tsx b/site/components/common/SEO/SEO.tsx
new file mode 100644
index 000000000..b5e3ad23b
--- /dev/null
+++ b/site/components/common/SEO/SEO.tsx
@@ -0,0 +1,157 @@
+import Head from 'next/head'
+import { FC, Fragment, ReactNode } from 'react'
+import config from '@config/seo_meta.json'
+
+const storeUrl =
+ process.env.NEXT_PUBLIC_STORE_URL || process.env.NEXT_PUBLIC_VERCEL_URL
+const storeBaseUrl = storeUrl ? `https://${storeUrl}` : null
+
+interface OgImage {
+ url?: string
+ width?: string
+ height?: string
+ alt?: string
+}
+
+interface Props {
+ title?: string
+ description?: string
+ robots?: string
+ openGraph?: {
+ title?: string
+ type?: string
+ locale?: string
+ description?: string
+ site_name?: string
+ url?: string
+ images?: OgImage[]
+ }
+ children?: ReactNode
+}
+
+const ogImage = ({ url, width, height, alt }: OgImage, index: number) => {
+ // generate full URL for OG image url with store base URL
+ const imgUrl = storeBaseUrl ? new URL(url!, storeBaseUrl).toString() : url
+ return (
+
+
+
+
+
+
+ )
+}
+
+const SEO: FC = ({
+ title,
+ description,
+ openGraph,
+ robots,
+ children,
+}) => {
+ /**
+ * @see https://nextjs.org/docs/api-reference/next/head
+ *
+ * meta or any other elements need to be contained as direct children of the Head element,
+ * or wrapped into maximum one level of or arrays
+ * otherwise the tags won't be correctly picked up on client-side navigations.
+ *
+ * The `key` property makes the tag is only rendered once,
+ */
+ return (
+
+
+ {title ? `${config.titleTemplate.replace(/%s/g, title)}` : config.title}
+
+
+
+
+
+
+
+ {openGraph?.locale && (
+
+ )}
+ {openGraph?.images?.length
+ ? openGraph.images.map((img, index) => ogImage(img, index))
+ : ogImage(config.openGraph.images[0], 0)}
+ {config.twitter.cardType && (
+
+ )}
+ {config.twitter.site && (
+
+ )}
+ {config.twitter.handle && (
+
+ )}
+
+
+ {children}
+
+ )
+}
+
+export default SEO
diff --git a/site/components/common/SEO/index.ts b/site/components/common/SEO/index.ts
new file mode 100644
index 000000000..e20ec8600
--- /dev/null
+++ b/site/components/common/SEO/index.ts
@@ -0,0 +1 @@
+export { default } from './SEO'
diff --git a/components/common/Searchbar/Searchbar.module.css b/site/components/common/Searchbar/Searchbar.module.css
similarity index 100%
rename from components/common/Searchbar/Searchbar.module.css
rename to site/components/common/Searchbar/Searchbar.module.css
diff --git a/components/common/Searchbar/Searchbar.tsx b/site/components/common/Searchbar/Searchbar.tsx
similarity index 98%
rename from components/common/Searchbar/Searchbar.tsx
rename to site/components/common/Searchbar/Searchbar.tsx
index ee20a3ade..0d9c8e807 100644
--- a/components/common/Searchbar/Searchbar.tsx
+++ b/site/components/common/Searchbar/Searchbar.tsx
@@ -1,5 +1,5 @@
import { FC, memo, useEffect } from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import s from './Searchbar.module.css'
import { useRouter } from 'next/router'
diff --git a/components/common/Searchbar/index.ts b/site/components/common/Searchbar/index.ts
similarity index 100%
rename from components/common/Searchbar/index.ts
rename to site/components/common/Searchbar/index.ts
diff --git a/components/common/SidebarLayout/SidebarLayout.module.css b/site/components/common/SidebarLayout/SidebarLayout.module.css
similarity index 100%
rename from components/common/SidebarLayout/SidebarLayout.module.css
rename to site/components/common/SidebarLayout/SidebarLayout.module.css
diff --git a/components/common/SidebarLayout/SidebarLayout.tsx b/site/components/common/SidebarLayout/SidebarLayout.tsx
similarity index 98%
rename from components/common/SidebarLayout/SidebarLayout.tsx
rename to site/components/common/SidebarLayout/SidebarLayout.tsx
index 025bf20e6..407a938ea 100644
--- a/components/common/SidebarLayout/SidebarLayout.tsx
+++ b/site/components/common/SidebarLayout/SidebarLayout.tsx
@@ -1,7 +1,7 @@
import React, { FC } from 'react'
import { Cross, ChevronLeft } from '@components/icons'
import { UserNav } from '@components/common'
-import cn from 'classnames'
+import cn from 'clsx'
import s from './SidebarLayout.module.css'
type ComponentProps = { className?: string } & (
diff --git a/components/common/SidebarLayout/index.ts b/site/components/common/SidebarLayout/index.ts
similarity index 100%
rename from components/common/SidebarLayout/index.ts
rename to site/components/common/SidebarLayout/index.ts
diff --git a/components/common/UserNav/DropdownMenu.module.css b/site/components/common/UserNav/DropdownMenu.module.css
similarity index 100%
rename from components/common/UserNav/DropdownMenu.module.css
rename to site/components/common/UserNav/DropdownMenu.module.css
diff --git a/components/common/UserNav/DropdownMenu.tsx b/site/components/common/UserNav/DropdownMenu.tsx
similarity index 99%
rename from components/common/UserNav/DropdownMenu.tsx
rename to site/components/common/UserNav/DropdownMenu.tsx
index f79fd5821..9a73003dc 100644
--- a/components/common/UserNav/DropdownMenu.tsx
+++ b/site/components/common/UserNav/DropdownMenu.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import Link from 'next/link'
import { FC, useRef, useState, useEffect } from 'react'
import { useTheme } from 'next-themes'
diff --git a/components/common/UserNav/MenuSidebarView/MenuSidebarView.module.css b/site/components/common/UserNav/MenuSidebarView/MenuSidebarView.module.css
similarity index 100%
rename from components/common/UserNav/MenuSidebarView/MenuSidebarView.module.css
rename to site/components/common/UserNav/MenuSidebarView/MenuSidebarView.module.css
diff --git a/components/common/UserNav/MenuSidebarView/MenuSidebarView.tsx b/site/components/common/UserNav/MenuSidebarView/MenuSidebarView.tsx
similarity index 100%
rename from components/common/UserNav/MenuSidebarView/MenuSidebarView.tsx
rename to site/components/common/UserNav/MenuSidebarView/MenuSidebarView.tsx
diff --git a/components/common/UserNav/MenuSidebarView/index.ts b/site/components/common/UserNav/MenuSidebarView/index.ts
similarity index 100%
rename from components/common/UserNav/MenuSidebarView/index.ts
rename to site/components/common/UserNav/MenuSidebarView/index.ts
diff --git a/components/common/UserNav/UserNav.module.css b/site/components/common/UserNav/UserNav.module.css
similarity index 100%
rename from components/common/UserNav/UserNav.module.css
rename to site/components/common/UserNav/UserNav.module.css
diff --git a/components/common/UserNav/UserNav.tsx b/site/components/common/UserNav/UserNav.tsx
similarity index 98%
rename from components/common/UserNav/UserNav.tsx
rename to site/components/common/UserNav/UserNav.tsx
index bb2e48915..aef14f49c 100644
--- a/components/common/UserNav/UserNav.tsx
+++ b/site/components/common/UserNav/UserNav.tsx
@@ -1,6 +1,6 @@
import { FC } from 'react'
import Link from 'next/link'
-import cn from 'classnames'
+import cn from 'clsx'
import type { LineItem } from '@commerce/types/cart'
import useCart from '@framework/cart/use-cart'
import useCustomer from '@framework/customer/use-customer'
diff --git a/components/common/UserNav/index.ts b/site/components/common/UserNav/index.ts
similarity index 100%
rename from components/common/UserNav/index.ts
rename to site/components/common/UserNav/index.ts
diff --git a/components/common/index.ts b/site/components/common/index.ts
similarity index 91%
rename from components/common/index.ts
rename to site/components/common/index.ts
index 98dd3394b..054110c75 100644
--- a/components/common/index.ts
+++ b/site/components/common/index.ts
@@ -7,3 +7,4 @@ export { default as Searchbar } from './Searchbar'
export { default as UserNav } from './UserNav'
export { default as Head } from './Head'
export { default as I18nWidget } from './I18nWidget'
+export { default as SEO } from './SEO'
diff --git a/components/icons/ArrowLeft.tsx b/site/components/icons/ArrowLeft.tsx
similarity index 100%
rename from components/icons/ArrowLeft.tsx
rename to site/components/icons/ArrowLeft.tsx
diff --git a/components/icons/ArrowRight.tsx b/site/components/icons/ArrowRight.tsx
similarity index 100%
rename from components/icons/ArrowRight.tsx
rename to site/components/icons/ArrowRight.tsx
diff --git a/components/icons/Bag.tsx b/site/components/icons/Bag.tsx
similarity index 100%
rename from components/icons/Bag.tsx
rename to site/components/icons/Bag.tsx
diff --git a/components/icons/Check.tsx b/site/components/icons/Check.tsx
similarity index 100%
rename from components/icons/Check.tsx
rename to site/components/icons/Check.tsx
diff --git a/components/icons/ChevronDown.tsx b/site/components/icons/ChevronDown.tsx
similarity index 100%
rename from components/icons/ChevronDown.tsx
rename to site/components/icons/ChevronDown.tsx
diff --git a/components/icons/ChevronLeft.tsx b/site/components/icons/ChevronLeft.tsx
similarity index 100%
rename from components/icons/ChevronLeft.tsx
rename to site/components/icons/ChevronLeft.tsx
diff --git a/components/icons/ChevronRight.tsx b/site/components/icons/ChevronRight.tsx
similarity index 100%
rename from components/icons/ChevronRight.tsx
rename to site/components/icons/ChevronRight.tsx
diff --git a/components/icons/ChevronUp.tsx b/site/components/icons/ChevronUp.tsx
similarity index 100%
rename from components/icons/ChevronUp.tsx
rename to site/components/icons/ChevronUp.tsx
diff --git a/components/icons/CreditCard.tsx b/site/components/icons/CreditCard.tsx
similarity index 100%
rename from components/icons/CreditCard.tsx
rename to site/components/icons/CreditCard.tsx
diff --git a/components/icons/Cross.tsx b/site/components/icons/Cross.tsx
similarity index 100%
rename from components/icons/Cross.tsx
rename to site/components/icons/Cross.tsx
diff --git a/components/icons/DoubleChevron.tsx b/site/components/icons/DoubleChevron.tsx
similarity index 100%
rename from components/icons/DoubleChevron.tsx
rename to site/components/icons/DoubleChevron.tsx
diff --git a/components/icons/Github.tsx b/site/components/icons/Github.tsx
similarity index 100%
rename from components/icons/Github.tsx
rename to site/components/icons/Github.tsx
diff --git a/components/icons/Heart.tsx b/site/components/icons/Heart.tsx
similarity index 100%
rename from components/icons/Heart.tsx
rename to site/components/icons/Heart.tsx
diff --git a/components/icons/Info.tsx b/site/components/icons/Info.tsx
similarity index 100%
rename from components/icons/Info.tsx
rename to site/components/icons/Info.tsx
diff --git a/components/icons/MapPin.tsx b/site/components/icons/MapPin.tsx
similarity index 100%
rename from components/icons/MapPin.tsx
rename to site/components/icons/MapPin.tsx
diff --git a/components/icons/Menu.tsx b/site/components/icons/Menu.tsx
similarity index 100%
rename from components/icons/Menu.tsx
rename to site/components/icons/Menu.tsx
diff --git a/components/icons/Minus.tsx b/site/components/icons/Minus.tsx
similarity index 100%
rename from components/icons/Minus.tsx
rename to site/components/icons/Minus.tsx
diff --git a/components/icons/Moon.tsx b/site/components/icons/Moon.tsx
similarity index 100%
rename from components/icons/Moon.tsx
rename to site/components/icons/Moon.tsx
diff --git a/components/icons/Plus.tsx b/site/components/icons/Plus.tsx
similarity index 100%
rename from components/icons/Plus.tsx
rename to site/components/icons/Plus.tsx
diff --git a/components/icons/Star.tsx b/site/components/icons/Star.tsx
similarity index 100%
rename from components/icons/Star.tsx
rename to site/components/icons/Star.tsx
diff --git a/components/icons/Sun.tsx b/site/components/icons/Sun.tsx
similarity index 100%
rename from components/icons/Sun.tsx
rename to site/components/icons/Sun.tsx
diff --git a/components/icons/Trash.tsx b/site/components/icons/Trash.tsx
similarity index 100%
rename from components/icons/Trash.tsx
rename to site/components/icons/Trash.tsx
diff --git a/components/icons/Vercel.tsx b/site/components/icons/Vercel.tsx
similarity index 100%
rename from components/icons/Vercel.tsx
rename to site/components/icons/Vercel.tsx
diff --git a/components/icons/index.ts b/site/components/icons/index.ts
similarity index 100%
rename from components/icons/index.ts
rename to site/components/icons/index.ts
diff --git a/components/product/ProductCard/ProductCard.module.css b/site/components/product/ProductCard/ProductCard.module.css
similarity index 100%
rename from components/product/ProductCard/ProductCard.module.css
rename to site/components/product/ProductCard/ProductCard.module.css
diff --git a/components/product/ProductCard/ProductCard.tsx b/site/components/product/ProductCard/ProductCard.tsx
similarity index 99%
rename from components/product/ProductCard/ProductCard.tsx
rename to site/components/product/ProductCard/ProductCard.tsx
index 96e2382cb..c70461f6c 100644
--- a/components/product/ProductCard/ProductCard.tsx
+++ b/site/components/product/ProductCard/ProductCard.tsx
@@ -1,5 +1,5 @@
import { FC } from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import Link from 'next/link'
import type { Product } from '@commerce/types/product'
import s from './ProductCard.module.css'
diff --git a/components/product/ProductCard/index.ts b/site/components/product/ProductCard/index.ts
similarity index 100%
rename from components/product/ProductCard/index.ts
rename to site/components/product/ProductCard/index.ts
diff --git a/components/product/ProductOptions/ProductOptions.tsx b/site/components/product/ProductOptions/ProductOptions.tsx
similarity index 100%
rename from components/product/ProductOptions/ProductOptions.tsx
rename to site/components/product/ProductOptions/ProductOptions.tsx
diff --git a/components/product/ProductOptions/index.ts b/site/components/product/ProductOptions/index.ts
similarity index 100%
rename from components/product/ProductOptions/index.ts
rename to site/components/product/ProductOptions/index.ts
diff --git a/components/product/ProductSidebar/ProductSidebar.module.css b/site/components/product/ProductSidebar/ProductSidebar.module.css
similarity index 100%
rename from components/product/ProductSidebar/ProductSidebar.module.css
rename to site/components/product/ProductSidebar/ProductSidebar.module.css
diff --git a/components/product/ProductSidebar/ProductSidebar.tsx b/site/components/product/ProductSidebar/ProductSidebar.tsx
similarity index 100%
rename from components/product/ProductSidebar/ProductSidebar.tsx
rename to site/components/product/ProductSidebar/ProductSidebar.tsx
diff --git a/components/product/ProductSidebar/index.ts b/site/components/product/ProductSidebar/index.ts
similarity index 100%
rename from components/product/ProductSidebar/index.ts
rename to site/components/product/ProductSidebar/index.ts
diff --git a/components/product/ProductSlider/ProductSlider.module.css b/site/components/product/ProductSlider/ProductSlider.module.css
similarity index 100%
rename from components/product/ProductSlider/ProductSlider.module.css
rename to site/components/product/ProductSlider/ProductSlider.module.css
diff --git a/components/product/ProductSlider/ProductSlider.tsx b/site/components/product/ProductSlider/ProductSlider.tsx
similarity index 99%
rename from components/product/ProductSlider/ProductSlider.tsx
rename to site/components/product/ProductSlider/ProductSlider.tsx
index 209256b9d..009d058c8 100644
--- a/components/product/ProductSlider/ProductSlider.tsx
+++ b/site/components/product/ProductSlider/ProductSlider.tsx
@@ -6,7 +6,7 @@ import React, {
useRef,
useEffect,
} from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import { a } from '@react-spring/web'
import s from './ProductSlider.module.css'
import ProductSliderControl from '../ProductSliderControl'
diff --git a/components/product/ProductSlider/index.ts b/site/components/product/ProductSlider/index.ts
similarity index 100%
rename from components/product/ProductSlider/index.ts
rename to site/components/product/ProductSlider/index.ts
diff --git a/components/product/ProductSliderControl/ProductSliderControl.module.css b/site/components/product/ProductSliderControl/ProductSliderControl.module.css
similarity index 100%
rename from components/product/ProductSliderControl/ProductSliderControl.module.css
rename to site/components/product/ProductSliderControl/ProductSliderControl.module.css
diff --git a/components/product/ProductSliderControl/ProductSliderControl.tsx b/site/components/product/ProductSliderControl/ProductSliderControl.tsx
similarity index 96%
rename from components/product/ProductSliderControl/ProductSliderControl.tsx
rename to site/components/product/ProductSliderControl/ProductSliderControl.tsx
index 5525c58de..29b30b789 100644
--- a/components/product/ProductSliderControl/ProductSliderControl.tsx
+++ b/site/components/product/ProductSliderControl/ProductSliderControl.tsx
@@ -1,5 +1,5 @@
import { FC, MouseEventHandler, memo } from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import s from './ProductSliderControl.module.css'
import { ArrowLeft, ArrowRight } from '@components/icons'
diff --git a/components/product/ProductSliderControl/index.ts b/site/components/product/ProductSliderControl/index.ts
similarity index 100%
rename from components/product/ProductSliderControl/index.ts
rename to site/components/product/ProductSliderControl/index.ts
diff --git a/components/product/ProductTag/ProductTag.module.css b/site/components/product/ProductTag/ProductTag.module.css
similarity index 100%
rename from components/product/ProductTag/ProductTag.module.css
rename to site/components/product/ProductTag/ProductTag.module.css
diff --git a/components/product/ProductTag/ProductTag.tsx b/site/components/product/ProductTag/ProductTag.tsx
similarity index 96%
rename from components/product/ProductTag/ProductTag.tsx
rename to site/components/product/ProductTag/ProductTag.tsx
index 2bc80b878..0db4866e9 100644
--- a/components/product/ProductTag/ProductTag.tsx
+++ b/site/components/product/ProductTag/ProductTag.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import { inherits } from 'util'
import s from './ProductTag.module.css'
diff --git a/components/product/ProductTag/index.ts b/site/components/product/ProductTag/index.ts
similarity index 100%
rename from components/product/ProductTag/index.ts
rename to site/components/product/ProductTag/index.ts
diff --git a/components/product/ProductView/ProductView.module.css b/site/components/product/ProductView/ProductView.module.css
similarity index 100%
rename from components/product/ProductView/ProductView.module.css
rename to site/components/product/ProductView/ProductView.module.css
diff --git a/components/product/ProductView/ProductView.tsx b/site/components/product/ProductView/ProductView.tsx
similarity index 96%
rename from components/product/ProductView/ProductView.tsx
rename to site/components/product/ProductView/ProductView.tsx
index 1ddd3990b..31cbcd577 100644
--- a/components/product/ProductView/ProductView.tsx
+++ b/site/components/product/ProductView/ProductView.tsx
@@ -1,6 +1,5 @@
-import cn from 'classnames'
+import cn from 'clsx'
import Image from 'next/image'
-import { NextSeo } from 'next-seo'
import s from './ProductView.module.css'
import { FC } from 'react'
import type { Product } from '@commerce/types/product'
@@ -8,6 +7,7 @@ import usePrice from '@framework/product/use-price'
import { WishlistButton } from '@components/wishlist'
import { ProductSlider, ProductCard } from '@components/product'
import { Container, Text } from '@components/ui'
+import { SEO } from '@components/common'
import ProductSidebar from '../ProductSidebar'
import ProductTag from '../ProductTag'
interface ProductViewProps {
@@ -89,7 +89,7 @@ const ProductView: FC = ({ product, relatedProducts }) => {
- = ({ product, relatedProducts }) => {
images: [
{
url: product.images[0]?.url!,
- width: 800,
- height: 600,
+ width: '800',
+ height: '600',
alt: product.name,
},
],
diff --git a/components/product/ProductView/index.ts b/site/components/product/ProductView/index.ts
similarity index 100%
rename from components/product/ProductView/index.ts
rename to site/components/product/ProductView/index.ts
diff --git a/components/product/Swatch/Swatch.module.css b/site/components/product/Swatch/Swatch.module.css
similarity index 100%
rename from components/product/Swatch/Swatch.module.css
rename to site/components/product/Swatch/Swatch.module.css
diff --git a/components/product/Swatch/Swatch.tsx b/site/components/product/Swatch/Swatch.tsx
similarity index 97%
rename from components/product/Swatch/Swatch.tsx
rename to site/components/product/Swatch/Swatch.tsx
index 710ddbbf2..865f43398 100644
--- a/components/product/Swatch/Swatch.tsx
+++ b/site/components/product/Swatch/Swatch.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import React from 'react'
import s from './Swatch.module.css'
import { Check } from '@components/icons'
diff --git a/components/product/Swatch/index.ts b/site/components/product/Swatch/index.ts
similarity index 100%
rename from components/product/Swatch/index.ts
rename to site/components/product/Swatch/index.ts
diff --git a/components/product/helpers.ts b/site/components/product/helpers.ts
similarity index 100%
rename from components/product/helpers.ts
rename to site/components/product/helpers.ts
diff --git a/components/product/index.ts b/site/components/product/index.ts
similarity index 100%
rename from components/product/index.ts
rename to site/components/product/index.ts
diff --git a/components/search.tsx b/site/components/search.tsx
similarity index 99%
rename from components/search.tsx
rename to site/components/search.tsx
index 0a653c6cd..664085e5b 100644
--- a/components/search.tsx
+++ b/site/components/search.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import type { SearchPropsType } from '@lib/search-props'
import Link from 'next/link'
import { useState } from 'react'
diff --git a/components/ui/Button/Button.module.css b/site/components/ui/Button/Button.module.css
similarity index 100%
rename from components/ui/Button/Button.module.css
rename to site/components/ui/Button/Button.module.css
diff --git a/components/ui/Button/Button.tsx b/site/components/ui/Button/Button.tsx
similarity index 98%
rename from components/ui/Button/Button.tsx
rename to site/components/ui/Button/Button.tsx
index 89c15987d..47d474f2b 100644
--- a/components/ui/Button/Button.tsx
+++ b/site/components/ui/Button/Button.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import React, {
forwardRef,
ButtonHTMLAttributes,
diff --git a/components/ui/Button/index.ts b/site/components/ui/Button/index.ts
similarity index 100%
rename from components/ui/Button/index.ts
rename to site/components/ui/Button/index.ts
diff --git a/components/ui/Collapse/Collapse.module.css b/site/components/ui/Collapse/Collapse.module.css
similarity index 100%
rename from components/ui/Collapse/Collapse.module.css
rename to site/components/ui/Collapse/Collapse.module.css
diff --git a/components/ui/Collapse/Collapse.tsx b/site/components/ui/Collapse/Collapse.tsx
similarity index 97%
rename from components/ui/Collapse/Collapse.tsx
rename to site/components/ui/Collapse/Collapse.tsx
index 9f3016943..8ec71ee5a 100644
--- a/components/ui/Collapse/Collapse.tsx
+++ b/site/components/ui/Collapse/Collapse.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import React, { FC, ReactNode, useState } from 'react'
import s from './Collapse.module.css'
import { ChevronRight } from '@components/icons'
diff --git a/components/ui/Collapse/index.ts b/site/components/ui/Collapse/index.ts
similarity index 100%
rename from components/ui/Collapse/index.ts
rename to site/components/ui/Collapse/index.ts
diff --git a/components/ui/Container/Container.tsx b/site/components/ui/Container/Container.tsx
similarity index 94%
rename from components/ui/Container/Container.tsx
rename to site/components/ui/Container/Container.tsx
index 538b1cac7..095d4f9d4 100644
--- a/components/ui/Container/Container.tsx
+++ b/site/components/ui/Container/Container.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import React, { FC } from 'react'
interface ContainerProps {
diff --git a/components/ui/Container/index.ts b/site/components/ui/Container/index.ts
similarity index 100%
rename from components/ui/Container/index.ts
rename to site/components/ui/Container/index.ts
diff --git a/components/ui/Grid/Grid.module.css b/site/components/ui/Grid/Grid.module.css
similarity index 100%
rename from components/ui/Grid/Grid.module.css
rename to site/components/ui/Grid/Grid.module.css
diff --git a/components/ui/Grid/Grid.tsx b/site/components/ui/Grid/Grid.tsx
similarity index 96%
rename from components/ui/Grid/Grid.tsx
rename to site/components/ui/Grid/Grid.tsx
index 55ca78277..9b033c0a1 100644
--- a/components/ui/Grid/Grid.tsx
+++ b/site/components/ui/Grid/Grid.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import { FC, ReactNode, Component } from 'react'
import s from './Grid.module.css'
diff --git a/components/ui/Grid/index.ts b/site/components/ui/Grid/index.ts
similarity index 100%
rename from components/ui/Grid/index.ts
rename to site/components/ui/Grid/index.ts
diff --git a/components/ui/Hero/Hero.module.css b/site/components/ui/Hero/Hero.module.css
similarity index 100%
rename from components/ui/Hero/Hero.module.css
rename to site/components/ui/Hero/Hero.module.css
diff --git a/components/ui/Hero/Hero.tsx b/site/components/ui/Hero/Hero.tsx
similarity index 100%
rename from components/ui/Hero/Hero.tsx
rename to site/components/ui/Hero/Hero.tsx
diff --git a/components/ui/Hero/index.ts b/site/components/ui/Hero/index.ts
similarity index 100%
rename from components/ui/Hero/index.ts
rename to site/components/ui/Hero/index.ts
diff --git a/components/ui/Input/Input.module.css b/site/components/ui/Input/Input.module.css
similarity index 100%
rename from components/ui/Input/Input.module.css
rename to site/components/ui/Input/Input.module.css
diff --git a/components/ui/Input/Input.tsx b/site/components/ui/Input/Input.tsx
similarity index 96%
rename from components/ui/Input/Input.tsx
rename to site/components/ui/Input/Input.tsx
index e630728b2..8a17588be 100644
--- a/components/ui/Input/Input.tsx
+++ b/site/components/ui/Input/Input.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import s from './Input.module.css'
import React, { InputHTMLAttributes } from 'react'
diff --git a/components/ui/Input/index.ts b/site/components/ui/Input/index.ts
similarity index 100%
rename from components/ui/Input/index.ts
rename to site/components/ui/Input/index.ts
diff --git a/components/ui/Link/Link.tsx b/site/components/ui/Link/Link.tsx
similarity index 100%
rename from components/ui/Link/Link.tsx
rename to site/components/ui/Link/Link.tsx
diff --git a/components/ui/Link/index.ts b/site/components/ui/Link/index.ts
similarity index 100%
rename from components/ui/Link/index.ts
rename to site/components/ui/Link/index.ts
diff --git a/components/ui/LoadingDots/LoadingDots.module.css b/site/components/ui/LoadingDots/LoadingDots.module.css
similarity index 100%
rename from components/ui/LoadingDots/LoadingDots.module.css
rename to site/components/ui/LoadingDots/LoadingDots.module.css
diff --git a/components/ui/LoadingDots/LoadingDots.tsx b/site/components/ui/LoadingDots/LoadingDots.tsx
similarity index 100%
rename from components/ui/LoadingDots/LoadingDots.tsx
rename to site/components/ui/LoadingDots/LoadingDots.tsx
diff --git a/components/ui/LoadingDots/index.ts b/site/components/ui/LoadingDots/index.ts
similarity index 100%
rename from components/ui/LoadingDots/index.ts
rename to site/components/ui/LoadingDots/index.ts
diff --git a/components/ui/Logo/Logo.tsx b/site/components/ui/Logo/Logo.tsx
similarity index 100%
rename from components/ui/Logo/Logo.tsx
rename to site/components/ui/Logo/Logo.tsx
diff --git a/components/ui/Logo/index.ts b/site/components/ui/Logo/index.ts
similarity index 100%
rename from components/ui/Logo/index.ts
rename to site/components/ui/Logo/index.ts
diff --git a/components/ui/Marquee/Marquee.module.css b/site/components/ui/Marquee/Marquee.module.css
similarity index 100%
rename from components/ui/Marquee/Marquee.module.css
rename to site/components/ui/Marquee/Marquee.module.css
diff --git a/components/ui/Marquee/Marquee.tsx b/site/components/ui/Marquee/Marquee.tsx
similarity index 96%
rename from components/ui/Marquee/Marquee.tsx
rename to site/components/ui/Marquee/Marquee.tsx
index ce5ec2338..cf5bd436b 100644
--- a/components/ui/Marquee/Marquee.tsx
+++ b/site/components/ui/Marquee/Marquee.tsx
@@ -1,4 +1,4 @@
-import cn from 'classnames'
+import cn from 'clsx'
import s from './Marquee.module.css'
import { FC, ReactNode, Component, Children } from 'react'
import { default as FastMarquee } from 'react-fast-marquee'
diff --git a/components/ui/Marquee/index.ts b/site/components/ui/Marquee/index.ts
similarity index 100%
rename from components/ui/Marquee/index.ts
rename to site/components/ui/Marquee/index.ts
diff --git a/components/ui/Modal/Modal.module.css b/site/components/ui/Modal/Modal.module.css
similarity index 100%
rename from components/ui/Modal/Modal.module.css
rename to site/components/ui/Modal/Modal.module.css
diff --git a/components/ui/Modal/Modal.tsx b/site/components/ui/Modal/Modal.tsx
similarity index 100%
rename from components/ui/Modal/Modal.tsx
rename to site/components/ui/Modal/Modal.tsx
diff --git a/components/ui/Modal/index.ts b/site/components/ui/Modal/index.ts
similarity index 100%
rename from components/ui/Modal/index.ts
rename to site/components/ui/Modal/index.ts
diff --git a/components/ui/Quantity/Quantity.module.css b/site/components/ui/Quantity/Quantity.module.css
similarity index 100%
rename from components/ui/Quantity/Quantity.module.css
rename to site/components/ui/Quantity/Quantity.module.css
diff --git a/components/ui/Quantity/Quantity.tsx b/site/components/ui/Quantity/Quantity.tsx
similarity index 98%
rename from components/ui/Quantity/Quantity.tsx
rename to site/components/ui/Quantity/Quantity.tsx
index abde145aa..7317ddbe6 100644
--- a/components/ui/Quantity/Quantity.tsx
+++ b/site/components/ui/Quantity/Quantity.tsx
@@ -1,7 +1,7 @@
import React, { FC } from 'react'
import s from './Quantity.module.css'
import { Cross, Plus, Minus } from '@components/icons'
-import cn from 'classnames'
+import cn from 'clsx'
export interface QuantityProps {
value: number
increase: () => any
diff --git a/components/ui/Quantity/index.ts b/site/components/ui/Quantity/index.ts
similarity index 100%
rename from components/ui/Quantity/index.ts
rename to site/components/ui/Quantity/index.ts
diff --git a/components/ui/README.md b/site/components/ui/README.md
similarity index 100%
rename from components/ui/README.md
rename to site/components/ui/README.md
diff --git a/components/ui/Rating/Rating.module.css b/site/components/ui/Rating/Rating.module.css
similarity index 100%
rename from components/ui/Rating/Rating.module.css
rename to site/components/ui/Rating/Rating.module.css
diff --git a/components/ui/Rating/Rating.tsx b/site/components/ui/Rating/Rating.tsx
similarity index 95%
rename from components/ui/Rating/Rating.tsx
rename to site/components/ui/Rating/Rating.tsx
index e3a9c6d12..efd2ca0d8 100644
--- a/components/ui/Rating/Rating.tsx
+++ b/site/components/ui/Rating/Rating.tsx
@@ -1,7 +1,7 @@
import { FC, memo } from 'react'
import rangeMap from '@lib/range-map'
import { Star } from '@components/icons'
-import cn from 'classnames'
+import cn from 'clsx'
export interface RatingProps {
value: number
diff --git a/components/ui/Rating/index.ts b/site/components/ui/Rating/index.ts
similarity index 100%
rename from components/ui/Rating/index.ts
rename to site/components/ui/Rating/index.ts
diff --git a/components/ui/Sidebar/Sidebar.module.css b/site/components/ui/Sidebar/Sidebar.module.css
similarity index 100%
rename from components/ui/Sidebar/Sidebar.module.css
rename to site/components/ui/Sidebar/Sidebar.module.css
diff --git a/components/ui/Sidebar/Sidebar.tsx b/site/components/ui/Sidebar/Sidebar.tsx
similarity index 98%
rename from components/ui/Sidebar/Sidebar.tsx
rename to site/components/ui/Sidebar/Sidebar.tsx
index 688d9aa58..fd0ce9057 100644
--- a/components/ui/Sidebar/Sidebar.tsx
+++ b/site/components/ui/Sidebar/Sidebar.tsx
@@ -1,6 +1,6 @@
import { FC, useEffect, useRef } from 'react'
import s from './Sidebar.module.css'
-import cn from 'classnames'
+import cn from 'clsx'
import { disableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock'
interface SidebarProps {
diff --git a/components/ui/Sidebar/index.ts b/site/components/ui/Sidebar/index.ts
similarity index 100%
rename from components/ui/Sidebar/index.ts
rename to site/components/ui/Sidebar/index.ts
diff --git a/components/ui/Skeleton/Skeleton.module.css b/site/components/ui/Skeleton/Skeleton.module.css
similarity index 100%
rename from components/ui/Skeleton/Skeleton.module.css
rename to site/components/ui/Skeleton/Skeleton.module.css
diff --git a/components/ui/Skeleton/Skeleton.tsx b/site/components/ui/Skeleton/Skeleton.tsx
similarity index 97%
rename from components/ui/Skeleton/Skeleton.tsx
rename to site/components/ui/Skeleton/Skeleton.tsx
index 9cef2c1ac..f4ca677e6 100644
--- a/components/ui/Skeleton/Skeleton.tsx
+++ b/site/components/ui/Skeleton/Skeleton.tsx
@@ -1,5 +1,5 @@
import React, { CSSProperties } from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import px from '@lib/to-pixels'
import s from './Skeleton.module.css'
diff --git a/components/ui/Skeleton/index.ts b/site/components/ui/Skeleton/index.ts
similarity index 100%
rename from components/ui/Skeleton/index.ts
rename to site/components/ui/Skeleton/index.ts
diff --git a/components/ui/Text/Text.module.css b/site/components/ui/Text/Text.module.css
similarity index 100%
rename from components/ui/Text/Text.module.css
rename to site/components/ui/Text/Text.module.css
diff --git a/components/ui/Text/Text.tsx b/site/components/ui/Text/Text.tsx
similarity index 98%
rename from components/ui/Text/Text.tsx
rename to site/components/ui/Text/Text.tsx
index 6106c209a..486b77d3d 100644
--- a/components/ui/Text/Text.tsx
+++ b/site/components/ui/Text/Text.tsx
@@ -3,7 +3,7 @@ import React, {
JSXElementConstructor,
CSSProperties,
} from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import s from './Text.module.css'
interface TextProps {
diff --git a/components/ui/Text/index.ts b/site/components/ui/Text/index.ts
similarity index 100%
rename from components/ui/Text/index.ts
rename to site/components/ui/Text/index.ts
diff --git a/components/ui/context.tsx b/site/components/ui/context.tsx
similarity index 100%
rename from components/ui/context.tsx
rename to site/components/ui/context.tsx
diff --git a/components/ui/index.ts b/site/components/ui/index.ts
similarity index 100%
rename from components/ui/index.ts
rename to site/components/ui/index.ts
diff --git a/components/wishlist/WishlistButton/WishlistButton.module.css b/site/components/wishlist/WishlistButton/WishlistButton.module.css
similarity index 100%
rename from components/wishlist/WishlistButton/WishlistButton.module.css
rename to site/components/wishlist/WishlistButton/WishlistButton.module.css
diff --git a/components/wishlist/WishlistButton/WishlistButton.tsx b/site/components/wishlist/WishlistButton/WishlistButton.tsx
similarity index 98%
rename from components/wishlist/WishlistButton/WishlistButton.tsx
rename to site/components/wishlist/WishlistButton/WishlistButton.tsx
index 7de2e7980..5b825f162 100644
--- a/components/wishlist/WishlistButton/WishlistButton.tsx
+++ b/site/components/wishlist/WishlistButton/WishlistButton.tsx
@@ -1,5 +1,5 @@
import React, { FC, useState } from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import { useUI } from '@components/ui'
import { Heart } from '@components/icons'
import useAddItem from '@framework/wishlist/use-add-item'
diff --git a/components/wishlist/WishlistButton/index.ts b/site/components/wishlist/WishlistButton/index.ts
similarity index 100%
rename from components/wishlist/WishlistButton/index.ts
rename to site/components/wishlist/WishlistButton/index.ts
diff --git a/components/wishlist/WishlistCard/WishlistCard.module.css b/site/components/wishlist/WishlistCard/WishlistCard.module.css
similarity index 100%
rename from components/wishlist/WishlistCard/WishlistCard.module.css
rename to site/components/wishlist/WishlistCard/WishlistCard.module.css
diff --git a/components/wishlist/WishlistCard/WishlistCard.tsx b/site/components/wishlist/WishlistCard/WishlistCard.tsx
similarity index 97%
rename from components/wishlist/WishlistCard/WishlistCard.tsx
rename to site/components/wishlist/WishlistCard/WishlistCard.tsx
index ee1403bf4..7d0c6710a 100644
--- a/components/wishlist/WishlistCard/WishlistCard.tsx
+++ b/site/components/wishlist/WishlistCard/WishlistCard.tsx
@@ -1,5 +1,5 @@
import { FC, useState } from 'react'
-import cn from 'classnames'
+import cn from 'clsx'
import Link from 'next/link'
import Image from 'next/image'
import s from './WishlistCard.module.css'
@@ -11,7 +11,7 @@ import type { Product } from '@commerce/types/product'
import usePrice from '@framework/product/use-price'
import useAddItem from '@framework/cart/use-add-item'
import useRemoveItem from '@framework/wishlist/use-remove-item'
-import { Wishlist } from '@commerce/types/wishlist'
+import type { Wishlist } from '@commerce/types/wishlist'
interface Props {
item: Wishlist
diff --git a/components/wishlist/WishlistCard/index.ts b/site/components/wishlist/WishlistCard/index.ts
similarity index 100%
rename from components/wishlist/WishlistCard/index.ts
rename to site/components/wishlist/WishlistCard/index.ts
diff --git a/components/wishlist/index.ts b/site/components/wishlist/index.ts
similarity index 100%
rename from components/wishlist/index.ts
rename to site/components/wishlist/index.ts
diff --git a/config/seo.json b/site/config/seo_meta.json
similarity index 90%
rename from config/seo.json
rename to site/config/seo_meta.json
index 82520cf9b..c9c5fc226 100644
--- a/config/seo.json
+++ b/site/config/seo_meta.json
@@ -6,14 +6,13 @@
"title": "ACME Storefront | Powered by Next.js Commerce",
"description": "Next.js Commerce - https://www.nextjs.org/commerce",
"type": "website",
- "locale": "en_IE",
"url": "https://nextjs.org/commerce",
"site_name": "Next.js Commerce",
"images": [
{
"url": "/card.png",
- "width": 800,
- "height": 600,
+ "width": "800",
+ "height": "600",
"alt": "Next.js Commerce"
}
]
diff --git a/global.d.ts b/site/global.d.ts
similarity index 100%
rename from global.d.ts
rename to site/global.d.ts
diff --git a/lib/api/commerce.ts b/site/lib/api/commerce.ts
similarity index 100%
rename from lib/api/commerce.ts
rename to site/lib/api/commerce.ts
diff --git a/lib/click-outside/click-outside.tsx b/site/lib/click-outside/click-outside.tsx
similarity index 100%
rename from lib/click-outside/click-outside.tsx
rename to site/lib/click-outside/click-outside.tsx
diff --git a/lib/click-outside/has-parent.js b/site/lib/click-outside/has-parent.js
similarity index 100%
rename from lib/click-outside/has-parent.js
rename to site/lib/click-outside/has-parent.js
diff --git a/lib/click-outside/index.ts b/site/lib/click-outside/index.ts
similarity index 100%
rename from lib/click-outside/index.ts
rename to site/lib/click-outside/index.ts
diff --git a/lib/click-outside/is-in-dom.js b/site/lib/click-outside/is-in-dom.js
similarity index 100%
rename from lib/click-outside/is-in-dom.js
rename to site/lib/click-outside/is-in-dom.js
diff --git a/lib/colors.ts b/site/lib/colors.ts
similarity index 100%
rename from lib/colors.ts
rename to site/lib/colors.ts
diff --git a/lib/focus-trap.tsx b/site/lib/focus-trap.tsx
similarity index 100%
rename from lib/focus-trap.tsx
rename to site/lib/focus-trap.tsx
diff --git a/lib/get-slug.ts b/site/lib/get-slug.ts
similarity index 100%
rename from lib/get-slug.ts
rename to site/lib/get-slug.ts
diff --git a/lib/hooks/useAcceptCookies.ts b/site/lib/hooks/useAcceptCookies.ts
similarity index 100%
rename from lib/hooks/useAcceptCookies.ts
rename to site/lib/hooks/useAcceptCookies.ts
diff --git a/lib/hooks/useUserAvatar.ts b/site/lib/hooks/useUserAvatar.ts
similarity index 100%
rename from lib/hooks/useUserAvatar.ts
rename to site/lib/hooks/useUserAvatar.ts
diff --git a/lib/range-map.ts b/site/lib/range-map.ts
similarity index 100%
rename from lib/range-map.ts
rename to site/lib/range-map.ts
diff --git a/lib/search-props.tsx b/site/lib/search-props.tsx
similarity index 100%
rename from lib/search-props.tsx
rename to site/lib/search-props.tsx
diff --git a/lib/search.tsx b/site/lib/search.tsx
similarity index 100%
rename from lib/search.tsx
rename to site/lib/search.tsx
diff --git a/lib/to-pixels.ts b/site/lib/to-pixels.ts
similarity index 100%
rename from lib/to-pixels.ts
rename to site/lib/to-pixels.ts
diff --git a/lib/usage-warns.ts b/site/lib/usage-warns.ts
similarity index 100%
rename from lib/usage-warns.ts
rename to site/lib/usage-warns.ts
diff --git a/next-env.d.ts b/site/next-env.d.ts
similarity index 100%
rename from next-env.d.ts
rename to site/next-env.d.ts
diff --git a/next.config.js b/site/next.config.js
similarity index 77%
rename from next.config.js
rename to site/next.config.js
index 4349ba05a..22ecc1e17 100644
--- a/next.config.js
+++ b/site/next.config.js
@@ -1,15 +1,12 @@
const commerce = require('./commerce.config.json')
-const {
- withCommerceConfig,
- getProviderName,
-} = require('./framework/commerce/config')
+const { withCommerceConfig, getProviderName } = require('./commerce-config')
const provider = commerce.provider || getProviderName()
-const isBC = provider === 'bigcommerce'
-const isShopify = provider === 'shopify'
-const isSaleor = provider === 'saleor'
-const isSwell = provider === 'swell'
-const isVendure = provider === 'vendure'
+const isBC = provider === '@vercel/commerce-bigcommerce'
+const isShopify = provider === '@vercel/commerce-shopify'
+const isSaleor = provider === '@vercel/commerce-saleor'
+const isSwell = provider === '@vercel/commerce-swell'
+const isVendure = provider === '@vercel/commerce-vendure'
module.exports = withCommerceConfig({
commerce,
diff --git a/site/package.json b/site/package.json
new file mode 100644
index 000000000..f5b38acfd
--- /dev/null
+++ b/site/package.json
@@ -0,0 +1,105 @@
+{
+ "name": "next-commerce",
+ "version": "0.0.1",
+ "license": "MIT",
+ "scripts": {
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start",
+ "analyze": "BUNDLE_ANALYZE=both next build",
+ "lint": "next lint",
+ "prettier-fix": "prettier --write .",
+ "find:unused": "npx next-unused"
+ },
+ "sideEffects": false,
+ "dependencies": {
+ "@react-spring/web": "^9.4.1",
+ "@vercel/commerce": "^0.0.1",
+ "@vercel/commerce-bigcommerce": "^0.0.1",
+ "@vercel/commerce-commercejs": "^0.0.1",
+ "@vercel/commerce-kibocommerce": "^0.0.1",
+ "@vercel/commerce-local": "^0.0.1",
+ "@vercel/commerce-ordercloud": "^0.0.1",
+ "@vercel/commerce-saleor": "^0.0.1",
+ "@vercel/commerce-shopify": "^0.0.1",
+ "@vercel/commerce-spree": "^0.0.1",
+ "@vercel/commerce-swell": "^0.0.1",
+ "@vercel/commerce-vendure": "^0.0.1",
+ "autoprefixer": "^10.4.2",
+ "body-scroll-lock": "^4.0.0-beta.0",
+ "clsx": "^1.1.1",
+ "email-validator": "^2.0.4",
+ "js-cookie": "^3.0.1",
+ "keen-slider": "^6.6.3",
+ "lodash.random": "^3.2.0",
+ "lodash.throttle": "^4.1.1",
+ "next": "^12.0.8",
+ "next-themes": "^0.0.15",
+ "postcss": "^8.3.5",
+ "postcss-nesting": "^8.0.1",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
+ "react-fast-marquee": "^1.3.1",
+ "react-merge-refs": "^1.1.0",
+ "react-use-measure": "^2.1.1",
+ "tabbable": "^5.2.1",
+ "tailwindcss": "^3.0.13"
+ },
+ "devDependencies": {
+ "@next/bundle-analyzer": "^12.0.8",
+ "@types/body-scroll-lock": "^3.1.0",
+ "@types/js-cookie": "^3.0.1",
+ "@types/lodash.random": "^3.2.6",
+ "@types/lodash.throttle": "^4.1.6",
+ "@types/node": "^17.0.8",
+ "@types/react": "^17.0.38",
+ "eslint": "^8.6.0",
+ "eslint-config-next": "^12.0.8",
+ "eslint-config-prettier": "^8.3.0",
+ "lint-staged": "^12.1.7",
+ "postcss-flexbugs-fixes": "^5.0.2",
+ "postcss-preset-env": "^7.2.3",
+ "prettier": "^2.5.1",
+ "typescript": "4.3.4"
+ },
+ "lint-staged": {
+ "**/*.{js,jsx,ts,tsx}": [
+ "eslint",
+ "prettier --write",
+ "git add"
+ ],
+ "**/*.{md,mdx,json}": [
+ "prettier --write",
+ "git add"
+ ]
+ },
+ "next-unused": {
+ "alias": {
+ "@lib/*": [
+ "lib/*"
+ ],
+ "@assets/*": [
+ "assets/*"
+ ],
+ "@config/*": [
+ "config/*"
+ ],
+ "@components/*": [
+ "components/*"
+ ],
+ "@utils/*": [
+ "utils/*"
+ ]
+ },
+ "debug": true,
+ "include": [
+ "components",
+ "lib",
+ "pages"
+ ],
+ "exclude": [],
+ "entrypoints": [
+ "pages"
+ ]
+ }
+}
diff --git a/pages/404.tsx b/site/pages/404.tsx
similarity index 100%
rename from pages/404.tsx
rename to site/pages/404.tsx
diff --git a/pages/[...pages].tsx b/site/pages/[...pages].tsx
similarity index 100%
rename from pages/[...pages].tsx
rename to site/pages/[...pages].tsx
diff --git a/pages/_app.tsx b/site/pages/_app.tsx
similarity index 100%
rename from pages/_app.tsx
rename to site/pages/_app.tsx
diff --git a/pages/_document.tsx b/site/pages/_document.tsx
similarity index 100%
rename from pages/_document.tsx
rename to site/pages/_document.tsx
diff --git a/pages/api/cart.ts b/site/pages/api/cart.ts
similarity index 100%
rename from pages/api/cart.ts
rename to site/pages/api/cart.ts
diff --git a/pages/api/catalog/products.ts b/site/pages/api/catalog/products.ts
similarity index 100%
rename from pages/api/catalog/products.ts
rename to site/pages/api/catalog/products.ts
diff --git a/pages/api/checkout.ts b/site/pages/api/checkout.ts
similarity index 100%
rename from pages/api/checkout.ts
rename to site/pages/api/checkout.ts
diff --git a/pages/api/customer/address.ts b/site/pages/api/customer/address.ts
similarity index 100%
rename from pages/api/customer/address.ts
rename to site/pages/api/customer/address.ts
diff --git a/pages/api/customer/card.ts b/site/pages/api/customer/card.ts
similarity index 100%
rename from pages/api/customer/card.ts
rename to site/pages/api/customer/card.ts
diff --git a/pages/api/customer/index.ts b/site/pages/api/customer/index.ts
similarity index 100%
rename from pages/api/customer/index.ts
rename to site/pages/api/customer/index.ts
diff --git a/pages/api/login.ts b/site/pages/api/login.ts
similarity index 100%
rename from pages/api/login.ts
rename to site/pages/api/login.ts
diff --git a/pages/api/logout.ts b/site/pages/api/logout.ts
similarity index 100%
rename from pages/api/logout.ts
rename to site/pages/api/logout.ts
diff --git a/pages/api/signup.ts b/site/pages/api/signup.ts
similarity index 100%
rename from pages/api/signup.ts
rename to site/pages/api/signup.ts
diff --git a/pages/api/wishlist.ts b/site/pages/api/wishlist.ts
similarity index 100%
rename from pages/api/wishlist.ts
rename to site/pages/api/wishlist.ts
diff --git a/pages/cart.tsx b/site/pages/cart.tsx
similarity index 100%
rename from pages/cart.tsx
rename to site/pages/cart.tsx
diff --git a/pages/index.tsx b/site/pages/index.tsx
similarity index 100%
rename from pages/index.tsx
rename to site/pages/index.tsx
diff --git a/pages/orders.tsx b/site/pages/orders.tsx
similarity index 100%
rename from pages/orders.tsx
rename to site/pages/orders.tsx
diff --git a/pages/product/[slug].tsx b/site/pages/product/[slug].tsx
similarity index 100%
rename from pages/product/[slug].tsx
rename to site/pages/product/[slug].tsx
diff --git a/pages/profile.tsx b/site/pages/profile.tsx
similarity index 100%
rename from pages/profile.tsx
rename to site/pages/profile.tsx
diff --git a/pages/search.tsx b/site/pages/search.tsx
similarity index 100%
rename from pages/search.tsx
rename to site/pages/search.tsx
diff --git a/pages/search/[category].tsx b/site/pages/search/[category].tsx
similarity index 100%
rename from pages/search/[category].tsx
rename to site/pages/search/[category].tsx
diff --git a/pages/search/designers/[name].tsx b/site/pages/search/designers/[name].tsx
similarity index 100%
rename from pages/search/designers/[name].tsx
rename to site/pages/search/designers/[name].tsx
diff --git a/pages/search/designers/[name]/[category].tsx b/site/pages/search/designers/[name]/[category].tsx
similarity index 100%
rename from pages/search/designers/[name]/[category].tsx
rename to site/pages/search/designers/[name]/[category].tsx
diff --git a/pages/wishlist.tsx b/site/pages/wishlist.tsx
similarity index 100%
rename from pages/wishlist.tsx
rename to site/pages/wishlist.tsx
diff --git a/postcss.config.js b/site/postcss.config.js
similarity index 100%
rename from postcss.config.js
rename to site/postcss.config.js
diff --git a/public/assets/drop-shirt-0.png b/site/public/assets/drop-shirt-0.png
similarity index 100%
rename from public/assets/drop-shirt-0.png
rename to site/public/assets/drop-shirt-0.png
diff --git a/public/assets/drop-shirt-1.png b/site/public/assets/drop-shirt-1.png
similarity index 100%
rename from public/assets/drop-shirt-1.png
rename to site/public/assets/drop-shirt-1.png
diff --git a/public/assets/drop-shirt-2.png b/site/public/assets/drop-shirt-2.png
similarity index 100%
rename from public/assets/drop-shirt-2.png
rename to site/public/assets/drop-shirt-2.png
diff --git a/public/assets/drop-shirt.png b/site/public/assets/drop-shirt.png
similarity index 100%
rename from public/assets/drop-shirt.png
rename to site/public/assets/drop-shirt.png
diff --git a/public/assets/lightweight-jacket-0.png b/site/public/assets/lightweight-jacket-0.png
similarity index 100%
rename from public/assets/lightweight-jacket-0.png
rename to site/public/assets/lightweight-jacket-0.png
diff --git a/public/assets/lightweight-jacket-1.png b/site/public/assets/lightweight-jacket-1.png
similarity index 100%
rename from public/assets/lightweight-jacket-1.png
rename to site/public/assets/lightweight-jacket-1.png
diff --git a/public/assets/lightweight-jacket-2.png b/site/public/assets/lightweight-jacket-2.png
similarity index 100%
rename from public/assets/lightweight-jacket-2.png
rename to site/public/assets/lightweight-jacket-2.png
diff --git a/public/assets/t-shirt-0.png b/site/public/assets/t-shirt-0.png
similarity index 100%
rename from public/assets/t-shirt-0.png
rename to site/public/assets/t-shirt-0.png
diff --git a/public/assets/t-shirt-1.png b/site/public/assets/t-shirt-1.png
similarity index 100%
rename from public/assets/t-shirt-1.png
rename to site/public/assets/t-shirt-1.png
diff --git a/public/assets/t-shirt-2.png b/site/public/assets/t-shirt-2.png
similarity index 100%
rename from public/assets/t-shirt-2.png
rename to site/public/assets/t-shirt-2.png
diff --git a/public/assets/t-shirt-3.png b/site/public/assets/t-shirt-3.png
similarity index 100%
rename from public/assets/t-shirt-3.png
rename to site/public/assets/t-shirt-3.png
diff --git a/public/assets/t-shirt-4.png b/site/public/assets/t-shirt-4.png
similarity index 100%
rename from public/assets/t-shirt-4.png
rename to site/public/assets/t-shirt-4.png
diff --git a/public/bg-products.svg b/site/public/bg-products.svg
similarity index 100%
rename from public/bg-products.svg
rename to site/public/bg-products.svg
diff --git a/public/card.png b/site/public/card.png
similarity index 100%
rename from public/card.png
rename to site/public/card.png
diff --git a/public/cursor-left.png b/site/public/cursor-left.png
similarity index 100%
rename from public/cursor-left.png
rename to site/public/cursor-left.png
diff --git a/public/cursor-right.png b/site/public/cursor-right.png
similarity index 100%
rename from public/cursor-right.png
rename to site/public/cursor-right.png
diff --git a/public/favicon.ico b/site/public/favicon.ico
similarity index 100%
rename from public/favicon.ico
rename to site/public/favicon.ico
diff --git a/public/flag-en-us.svg b/site/public/flag-en-us.svg
similarity index 100%
rename from public/flag-en-us.svg
rename to site/public/flag-en-us.svg
diff --git a/public/flag-es-ar.svg b/site/public/flag-es-ar.svg
similarity index 100%
rename from public/flag-es-ar.svg
rename to site/public/flag-es-ar.svg
diff --git a/public/flag-es-co.svg b/site/public/flag-es-co.svg
similarity index 100%
rename from public/flag-es-co.svg
rename to site/public/flag-es-co.svg
diff --git a/public/flag-es.svg b/site/public/flag-es.svg
similarity index 100%
rename from public/flag-es.svg
rename to site/public/flag-es.svg
diff --git a/public/icon-144x144.png b/site/public/icon-144x144.png
similarity index 100%
rename from public/icon-144x144.png
rename to site/public/icon-144x144.png
diff --git a/public/icon-192x192.png b/site/public/icon-192x192.png
similarity index 100%
rename from public/icon-192x192.png
rename to site/public/icon-192x192.png
diff --git a/public/icon-512x512.png b/site/public/icon-512x512.png
similarity index 100%
rename from public/icon-512x512.png
rename to site/public/icon-512x512.png
diff --git a/public/icon.png b/site/public/icon.png
similarity index 100%
rename from public/icon.png
rename to site/public/icon.png
diff --git a/public/product-img-placeholder.svg b/site/public/product-img-placeholder.svg
similarity index 100%
rename from public/product-img-placeholder.svg
rename to site/public/product-img-placeholder.svg
diff --git a/public/site.webmanifest b/site/public/site.webmanifest
similarity index 100%
rename from public/site.webmanifest
rename to site/public/site.webmanifest
diff --git a/public/slider-arrows.png b/site/public/slider-arrows.png
similarity index 100%
rename from public/slider-arrows.png
rename to site/public/slider-arrows.png
diff --git a/public/vercel.svg b/site/public/vercel.svg
similarity index 100%
rename from public/vercel.svg
rename to site/public/vercel.svg
diff --git a/tailwind.config.js b/site/tailwind.config.js
similarity index 100%
rename from tailwind.config.js
rename to site/tailwind.config.js
diff --git a/tsconfig.json b/site/tsconfig.json
similarity index 56%
rename from tsconfig.json
rename to site/tsconfig.json
index 51c174bd6..7c91afd6f 100644
--- a/tsconfig.json
+++ b/site/tsconfig.json
@@ -2,6 +2,7 @@
"compilerOptions": {
"baseUrl": ".",
"target": "esnext",
+ "module": "esnext",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
@@ -9,37 +10,23 @@
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
- "module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
- "useUnknownInCatchVariables": false,
"paths": {
"@lib/*": ["lib/*"],
"@utils/*": ["utils/*"],
"@config/*": ["config/*"],
"@assets/*": ["assets/*"],
"@components/*": ["components/*"],
- "@commerce": ["framework/commerce"],
- "@commerce/*": ["framework/commerce/*"],
- "@framework": ["framework/commercelayer"],
- "@framework/*": ["framework/commercelayer/*"]
+ "@commerce": ["../packages/commerce/src"],
+ "@commerce/*": ["../packages/commerce/src/*"],
+ "@framework": ["../packages/local/src"],
+ "@framework/*": ["../packages/local/src/*"]
}
},
"include": ["next-env.d.ts", "**/*.d.ts", "**/*.ts", "**/*.tsx", "**/*.js"],
- "exclude": [
- "node_modules",
- "./framework/local",
- "./framework/bigcommerce",
- "./framework/shopify",
- "./framework/swell",
- "./framework/vendure",
- "./framework/saleor",
- "./framework/spree",
- "./framework/ordercloud",
- "./framework/kibocommerce",
- "./framework/commercejs"
- ]
+ "exclude": ["node_modules"]
}
diff --git a/swell-js.d.ts b/swell-js.d.ts
deleted file mode 100644
index 64a94d89e..000000000
--- a/swell-js.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-declare module 'swell-js'
diff --git a/turbo.json b/turbo.json
new file mode 100644
index 000000000..c734b801f
--- /dev/null
+++ b/turbo.json
@@ -0,0 +1,35 @@
+{
+ "baseBranch": "origin/main",
+ "pipeline": {
+ "build": {
+ "dependsOn": ["^build"],
+ "outputs": ["dist/**"]
+ },
+ "next-commerce#build": {
+ "dependsOn": [
+ "^build",
+ "$COMMERCE_PROVIDER",
+ "$BIGCOMMERCE_STOREFRONT_API_URL",
+ "$NEXT_PUBLIC_SHOPIFY_STORE_DOMAIN",
+ "$NEXT_PUBLIC_SWELL_STORE_ID"
+ ],
+ "outputs": [".next/**"]
+ },
+ "test": {
+ "dependsOn": ["^build"],
+ "outputs": []
+ },
+ "lint": {
+ "outputs": []
+ },
+ "prettier-fix": {
+ "outputs": []
+ },
+ "dev": {
+ "cache": false
+ },
+ "start": {
+ "cache": false
+ }
+ }
+}
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 000000000..302dd2402
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,7083 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
+ integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
+ dependencies:
+ "@babel/highlight" "^7.16.7"
+
+"@babel/compat-data@^7.16.4":
+ version "7.16.8"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60"
+ integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==
+
+"@babel/core@^7.14.0":
+ version "7.16.12"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784"
+ integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==
+ dependencies:
+ "@babel/code-frame" "^7.16.7"
+ "@babel/generator" "^7.16.8"
+ "@babel/helper-compilation-targets" "^7.16.7"
+ "@babel/helper-module-transforms" "^7.16.7"
+ "@babel/helpers" "^7.16.7"
+ "@babel/parser" "^7.16.12"
+ "@babel/template" "^7.16.7"
+ "@babel/traverse" "^7.16.10"
+ "@babel/types" "^7.16.8"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.1.2"
+ semver "^6.3.0"
+ source-map "^0.5.0"
+
+"@babel/generator@^7.14.0", "@babel/generator@^7.16.8":
+ version "7.16.8"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe"
+ integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==
+ dependencies:
+ "@babel/types" "^7.16.8"
+ jsesc "^2.5.1"
+ source-map "^0.5.0"
+
+"@babel/helper-annotate-as-pure@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862"
+ integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-compilation-targets@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b"
+ integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==
+ dependencies:
+ "@babel/compat-data" "^7.16.4"
+ "@babel/helper-validator-option" "^7.16.7"
+ browserslist "^4.17.5"
+ semver "^6.3.0"
+
+"@babel/helper-create-class-features-plugin@^7.16.7":
+ version "7.16.10"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c"
+ integrity sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.7"
+ "@babel/helper-environment-visitor" "^7.16.7"
+ "@babel/helper-function-name" "^7.16.7"
+ "@babel/helper-member-expression-to-functions" "^7.16.7"
+ "@babel/helper-optimise-call-expression" "^7.16.7"
+ "@babel/helper-replace-supers" "^7.16.7"
+ "@babel/helper-split-export-declaration" "^7.16.7"
+
+"@babel/helper-environment-visitor@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7"
+ integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-function-name@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f"
+ integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.16.7"
+ "@babel/template" "^7.16.7"
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-get-function-arity@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419"
+ integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-hoist-variables@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
+ integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-member-expression-to-functions@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0"
+ integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-module-imports@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
+ integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-module-transforms@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41"
+ integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.16.7"
+ "@babel/helper-module-imports" "^7.16.7"
+ "@babel/helper-simple-access" "^7.16.7"
+ "@babel/helper-split-export-declaration" "^7.16.7"
+ "@babel/helper-validator-identifier" "^7.16.7"
+ "@babel/template" "^7.16.7"
+ "@babel/traverse" "^7.16.7"
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-optimise-call-expression@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2"
+ integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5"
+ integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==
+
+"@babel/helper-replace-supers@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1"
+ integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.16.7"
+ "@babel/helper-member-expression-to-functions" "^7.16.7"
+ "@babel/helper-optimise-call-expression" "^7.16.7"
+ "@babel/traverse" "^7.16.7"
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-simple-access@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7"
+ integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09"
+ integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-split-export-declaration@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
+ integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
+ dependencies:
+ "@babel/types" "^7.16.7"
+
+"@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
+ integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
+
+"@babel/helper-validator-option@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
+ integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
+
+"@babel/helpers@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc"
+ integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==
+ dependencies:
+ "@babel/template" "^7.16.7"
+ "@babel/traverse" "^7.16.7"
+ "@babel/types" "^7.16.7"
+
+"@babel/highlight@^7.16.7":
+ version "7.16.10"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88"
+ integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.16.7"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
+
+"@babel/parser@^7.14.0", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8":
+ version "7.16.12"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6"
+ integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==
+
+"@babel/plugin-proposal-class-properties@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0"
+ integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-proposal-object-rest-spread@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8"
+ integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==
+ dependencies:
+ "@babel/compat-data" "^7.16.4"
+ "@babel/helper-compilation-targets" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-transform-parameters" "^7.16.7"
+
+"@babel/plugin-syntax-class-properties@^7.0.0":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
+ integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
+"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz#202b147e5892b8452bbb0bb269c7ed2539ab8832"
+ integrity sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-syntax-jsx@7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201"
+ integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665"
+ integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
+ integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-transform-arrow-functions@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154"
+ integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-block-scoped-functions@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620"
+ integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-block-scoping@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87"
+ integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-classes@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00"
+ integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.7"
+ "@babel/helper-environment-visitor" "^7.16.7"
+ "@babel/helper-function-name" "^7.16.7"
+ "@babel/helper-optimise-call-expression" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-replace-supers" "^7.16.7"
+ "@babel/helper-split-export-declaration" "^7.16.7"
+ globals "^11.1.0"
+
+"@babel/plugin-transform-computed-properties@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470"
+ integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-destructuring@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23"
+ integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-flow-strip-types@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz#291fb140c78dabbf87f2427e7c7c332b126964b8"
+ integrity sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/plugin-syntax-flow" "^7.16.7"
+
+"@babel/plugin-transform-for-of@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c"
+ integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-function-name@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf"
+ integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.16.7"
+ "@babel/helper-function-name" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-literals@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1"
+ integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-member-expression-literals@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384"
+ integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-modules-commonjs@^7.0.0":
+ version "7.16.8"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe"
+ integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-simple-access" "^7.16.7"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
+"@babel/plugin-transform-object-super@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94"
+ integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-replace-supers" "^7.16.7"
+
+"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f"
+ integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-property-literals@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55"
+ integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-react-display-name@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340"
+ integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-react-jsx@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz#86a6a220552afd0e4e1f0388a68a372be7add0d4"
+ integrity sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.7"
+ "@babel/helper-module-imports" "^7.16.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/plugin-syntax-jsx" "^7.16.7"
+ "@babel/types" "^7.16.7"
+
+"@babel/plugin-transform-shorthand-properties@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a"
+ integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-spread@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44"
+ integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+
+"@babel/plugin-transform-template-literals@^7.0.0":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab"
+ integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/runtime-corejs3@^7.10.2":
+ version "7.16.8"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz#ea533d96eda6fdc76b1812248e9fbd0c11d4a1a7"
+ integrity sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg==
+ dependencies:
+ core-js-pure "^3.20.2"
+ regenerator-runtime "^0.13.4"
+
+"@babel/runtime@7.4.5":
+ version "7.4.5"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.5.tgz#582bb531f5f9dc67d2fcb682979894f75e253f12"
+ integrity sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==
+ dependencies:
+ regenerator-runtime "^0.13.2"
+
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.13", "@babel/runtime@^7.14.0", "@babel/runtime@^7.16.3", "@babel/runtime@^7.7.4":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa"
+ integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
+"@babel/template@^7.16.7":
+ version "7.16.7"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
+ integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
+ dependencies:
+ "@babel/code-frame" "^7.16.7"
+ "@babel/parser" "^7.16.7"
+ "@babel/types" "^7.16.7"
+
+"@babel/traverse@^7.14.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8":
+ version "7.16.10"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f"
+ integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==
+ dependencies:
+ "@babel/code-frame" "^7.16.7"
+ "@babel/generator" "^7.16.8"
+ "@babel/helper-environment-visitor" "^7.16.7"
+ "@babel/helper-function-name" "^7.16.7"
+ "@babel/helper-hoist-variables" "^7.16.7"
+ "@babel/helper-split-export-declaration" "^7.16.7"
+ "@babel/parser" "^7.16.10"
+ "@babel/types" "^7.16.8"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
+"@babel/types@7.15.0":
+ version "7.15.0"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd"
+ integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.14.9"
+ to-fast-properties "^2.0.0"
+
+"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8":
+ version "7.16.8"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1"
+ integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.16.7"
+ to-fast-properties "^2.0.0"
+
+"@chec/commerce.js@^2.8.0":
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/@chec/commerce.js/-/commerce.js-2.8.0.tgz#c213cfcc2bc366fe66b77ea561dfa4b3aa7abc8c"
+ integrity sha512-OPBphT/hU33iDp52zzYOqz/oSXLhEuhGVUg2UNvYtmBW4eCNmtsM0dqW0+wu+6K0d6fZojurCBdVQMKb2R7l3g==
+ dependencies:
+ "@babel/runtime" "^7.7.4"
+ axios "^0.21.1"
+
+"@endemolshinegroup/cosmiconfig-typescript-loader@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz#eea4635828dde372838b0909693ebd9aafeec22d"
+ integrity sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==
+ dependencies:
+ lodash.get "^4"
+ make-error "^1"
+ ts-node "^9"
+ tslib "^2"
+
+"@eslint/eslintrc@^1.0.5":
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318"
+ integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.3.2"
+ espree "^9.2.0"
+ globals "^13.9.0"
+ ignore "^4.0.6"
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.0"
+ minimatch "^3.0.4"
+ strip-json-comments "^3.1.1"
+
+"@graphql-codegen/cli@^2.3.1":
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/cli/-/cli-2.4.0.tgz#7df3ee2bdd5b88a5904ee6f52eafeb370ef70e51"
+ integrity sha512-4iiHH2AxBE17lX5cFdFg6+kh7I6uKQLYG0IZRalRbW/grKL7kuVp/RDUjmVB2GNJTJEhjxYLMJFJZocUmAUBlw==
+ dependencies:
+ "@graphql-codegen/core" "2.4.0"
+ "@graphql-codegen/plugin-helpers" "^2.3.2"
+ "@graphql-tools/apollo-engine-loader" "^7.0.5"
+ "@graphql-tools/code-file-loader" "^7.0.6"
+ "@graphql-tools/git-loader" "^7.0.5"
+ "@graphql-tools/github-loader" "^7.0.5"
+ "@graphql-tools/graphql-file-loader" "^7.0.5"
+ "@graphql-tools/json-file-loader" "^7.1.2"
+ "@graphql-tools/load" "^7.3.0"
+ "@graphql-tools/prisma-loader" "^7.0.6"
+ "@graphql-tools/url-loader" "^7.0.11"
+ "@graphql-tools/utils" "^8.1.1"
+ ansi-escapes "^4.3.1"
+ chalk "^4.1.0"
+ change-case-all "1.0.14"
+ chokidar "^3.5.2"
+ common-tags "^1.8.0"
+ cosmiconfig "^7.0.0"
+ debounce "^1.2.0"
+ dependency-graph "^0.11.0"
+ detect-indent "^6.0.0"
+ glob "^7.1.6"
+ globby "^11.0.4"
+ graphql-config "^4.1.0"
+ inquirer "^8.0.0"
+ is-glob "^4.0.1"
+ json-to-pretty-yaml "^1.2.2"
+ latest-version "5.1.0"
+ listr "^0.14.3"
+ listr-update-renderer "^0.5.0"
+ log-symbols "^4.0.0"
+ minimatch "^3.0.4"
+ mkdirp "^1.0.4"
+ string-env-interpolation "^1.0.1"
+ ts-log "^2.2.3"
+ tslib "~2.3.0"
+ valid-url "^1.0.9"
+ wrap-ansi "^7.0.0"
+ yaml "^1.10.0"
+ yargs "^17.0.0"
+
+"@graphql-codegen/core@2.4.0":
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-2.4.0.tgz#d94dcc088b5e117c847ce5b10c4fe1eb7325e180"
+ integrity sha512-5RiYE1+07jayp/3w/bkyaCXtfKNeKmRabpPP4aRi369WeH2cH37l2K8NbhkIU+zhpnhoqMID61TO56x2fKldZQ==
+ dependencies:
+ "@graphql-codegen/plugin-helpers" "^2.3.2"
+ "@graphql-tools/schema" "^8.1.2"
+ "@graphql-tools/utils" "^8.1.1"
+ tslib "~2.3.0"
+
+"@graphql-codegen/plugin-helpers@^2.3.2":
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.3.2.tgz#3f9ba625791901d19be733db1dfc9a3dbd0dac44"
+ integrity sha512-19qFA5XMAWaAY64sBljjDPYfHjE+QMk/+oalCyY13WjSlcLDvYPfmFlCNgFSsydArDELlHR8T1GMbA7C42M8TA==
+ dependencies:
+ "@graphql-tools/utils" "^8.5.2"
+ change-case-all "1.0.14"
+ common-tags "1.8.2"
+ import-from "4.0.0"
+ lodash "~4.17.0"
+ tslib "~2.3.0"
+
+"@graphql-codegen/schema-ast@^2.4.1":
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-2.4.1.tgz#ad742b53e32f7a2fbff8ea8a91ba7e617e6ef236"
+ integrity sha512-bIWlKk/ShoVJfghA4Rt1OWnd34/dQmZM/vAe6fu6QKyOh44aAdqPtYQ2dbTyFXoknmu504etKJGEDllYNUJRfg==
+ dependencies:
+ "@graphql-codegen/plugin-helpers" "^2.3.2"
+ "@graphql-tools/utils" "^8.1.1"
+ tslib "~2.3.0"
+
+"@graphql-codegen/typescript-operations@^2.2.2":
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-2.2.2.tgz#028f2850ae85021d8932b5670e5feca7b0d5c767"
+ integrity sha512-J50AuTA37RYv67hP2oHbfr3iGxexTCoadQsbr5pEUGucrIupCA0hLEJH2W+9/h6YNh0UlZT3kRTJp81ARoAjOA==
+ dependencies:
+ "@graphql-codegen/plugin-helpers" "^2.3.2"
+ "@graphql-codegen/typescript" "^2.4.2"
+ "@graphql-codegen/visitor-plugin-common" "2.5.2"
+ auto-bind "~4.0.0"
+ tslib "~2.3.0"
+
+"@graphql-codegen/typescript@^2.4.2":
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-2.4.2.tgz#a239d5fd8f11140d5d4c81cfae7ff02054b724dc"
+ integrity sha512-8ajWidiFqF1KNAywtb/692SjwTyjzrDHo1sf2Q7Z+rh9qDEIrh83VHB8naT/1CefOvxj3MS6GbcsvJMizaE/AQ==
+ dependencies:
+ "@graphql-codegen/plugin-helpers" "^2.3.2"
+ "@graphql-codegen/schema-ast" "^2.4.1"
+ "@graphql-codegen/visitor-plugin-common" "2.5.2"
+ auto-bind "~4.0.0"
+ tslib "~2.3.0"
+
+"@graphql-codegen/visitor-plugin-common@2.5.2":
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.5.2.tgz#90aa4add41e17bca83f1c7c8ad674f2a06065efd"
+ integrity sha512-qDMraPmumG+vEGAz42/asRkdgIRmQWH5HTc320UX+I6CY6eE/Ey85cgzoqeQGLV8gu4sj3UkNx/3/r79eX4u+Q==
+ dependencies:
+ "@graphql-codegen/plugin-helpers" "^2.3.2"
+ "@graphql-tools/optimize" "^1.0.1"
+ "@graphql-tools/relay-operation-optimizer" "^6.3.7"
+ "@graphql-tools/utils" "^8.3.0"
+ auto-bind "~4.0.0"
+ change-case-all "1.0.14"
+ dependency-graph "^0.11.0"
+ graphql-tag "^2.11.0"
+ parse-filepath "^1.0.2"
+ tslib "~2.3.0"
+
+"@graphql-tools/apollo-engine-loader@^7.0.5":
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.2.2.tgz#1463f5d2d95b5ca2b602b35b4922b38935013860"
+ integrity sha512-jrtA1IvgbaHzla9nyBngNyvajudTcQAVE3//mgrK+DoN7UpUhtoXfxTOOq2tzZN67o4a6Bv/RJsxB3rSI3NLzg==
+ dependencies:
+ "@graphql-tools/utils" "^8.5.1"
+ cross-undici-fetch "^0.1.19"
+ sync-fetch "0.3.1"
+ tslib "~2.3.0"
+
+"@graphql-tools/batch-execute@^8.3.1":
+ version "8.3.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-8.3.1.tgz#0b74c54db5ac1c5b9a273baefc034c2343ebbb74"
+ integrity sha512-63kHY8ZdoO5FoeDXYHnAak1R3ysMViMPwWC2XUblFckuVLMUPmB2ONje8rjr2CvzWBHAW8c1Zsex+U3xhKtGIA==
+ dependencies:
+ "@graphql-tools/utils" "^8.5.1"
+ dataloader "2.0.0"
+ tslib "~2.3.0"
+ value-or-promise "1.0.11"
+
+"@graphql-tools/code-file-loader@^7.0.6":
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-7.2.3.tgz#b53e8809528da07911423c3a511e5fccf9121a12"
+ integrity sha512-aNVG3/VG5cUpS389rpCum+z7RY98qvPwOzd+J4LVr+f5hWQbDREnSFM+5RVTDfULujrsi7edKaGxGKp68pGmAA==
+ dependencies:
+ "@graphql-tools/graphql-tag-pluck" "^7.1.3"
+ "@graphql-tools/utils" "^8.5.1"
+ globby "^11.0.3"
+ tslib "~2.3.0"
+ unixify "^1.0.0"
+
+"@graphql-tools/delegate@^8.4.1", "@graphql-tools/delegate@^8.4.2":
+ version "8.4.3"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-8.4.3.tgz#ad73ed7cc3b4cad9242c6d4835a5ae0b640f7164"
+ integrity sha512-hKTJdJXJnKL0+2vpU+Kt7OHQTIXZ9mBmNBwHsYiG5WNArz/vNI7910r6TC2XMf/e7zhyyK+mXxMDBmDQkkJagA==
+ dependencies:
+ "@graphql-tools/batch-execute" "^8.3.1"
+ "@graphql-tools/schema" "^8.3.1"
+ "@graphql-tools/utils" "^8.5.4"
+ dataloader "2.0.0"
+ tslib "~2.3.0"
+ value-or-promise "1.0.11"
+
+"@graphql-tools/git-loader@^7.0.5":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-7.1.2.tgz#7a7b5fc366bcc9e2e14e0463ff73f1a19aafabbd"
+ integrity sha512-vIMrISQPKQgHS893b8K/pEE1InPV+7etzFhHoyQRhYkVHXP2RBkfI64Wq9bNPezF8Ss/dwIjI/keLaPp9EQDmA==
+ dependencies:
+ "@graphql-tools/graphql-tag-pluck" "^7.1.3"
+ "@graphql-tools/utils" "^8.5.1"
+ is-glob "4.0.3"
+ micromatch "^4.0.4"
+ tslib "~2.3.0"
+ unixify "^1.0.0"
+
+"@graphql-tools/github-loader@^7.0.5":
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-7.2.2.tgz#632351eac56cbbda25e38ff7ea7bcb256f30a277"
+ integrity sha512-prk7fWkPQdkOIGv/tFxNFAmxrBbWwc/ztOk2m5tAfmdiVM0HR3MC5Ckx3kLpODVG7lpxKRamMsPCIqmjhrCLWQ==
+ dependencies:
+ "@graphql-tools/graphql-tag-pluck" "^7.1.3"
+ "@graphql-tools/utils" "^8.5.1"
+ cross-undici-fetch "^0.1.19"
+ sync-fetch "0.3.1"
+ tslib "~2.3.0"
+
+"@graphql-tools/graphql-file-loader@^7.0.5", "@graphql-tools/graphql-file-loader@^7.3.2":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.3.tgz#7cee2f84f08dc13fa756820b510248b857583d36"
+ integrity sha512-6kUJZiNpYKVhum9E5wfl5PyLLupEDYdH7c8l6oMrk6c7EPEVs6iSUyB7yQoWrtJccJLULBW2CRQ5IHp5JYK0mA==
+ dependencies:
+ "@graphql-tools/import" "^6.5.7"
+ "@graphql-tools/utils" "^8.5.1"
+ globby "^11.0.3"
+ tslib "~2.3.0"
+ unixify "^1.0.0"
+
+"@graphql-tools/graphql-tag-pluck@^7.1.3":
+ version "7.1.5"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.1.5.tgz#229ed40f38430cdea750f112cbfad89fbc29129c"
+ integrity sha512-NKbFcjlg7cbK+scLXc6eVxXIhX4k8QL6lZ/y5Ju7yrpIN18k2vA78dI6W3Qb5qdftxbDNuC+kDmScZfzzxVPjQ==
+ dependencies:
+ "@babel/parser" "^7.16.8"
+ "@babel/traverse" "^7.16.8"
+ "@babel/types" "^7.16.8"
+ "@graphql-tools/utils" "^8.5.1"
+ tslib "~2.3.0"
+
+"@graphql-tools/import@^6.5.7":
+ version "6.6.5"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.6.5.tgz#e1ec593960288ceda7d5c56c0073c702b1bdcfa0"
+ integrity sha512-w0/cYuhrr2apn+iGoTToCqt65x2NN2iHQyqRNk/Zw1NJ+e8/C3eKVw0jmW4pYQvSocuPxL4UCSI56SdKO7m3+Q==
+ dependencies:
+ "@graphql-tools/utils" "8.6.1"
+ resolve-from "5.0.0"
+ tslib "~2.3.0"
+
+"@graphql-tools/json-file-loader@^7.1.2", "@graphql-tools/json-file-loader@^7.3.2":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-7.3.3.tgz#45cfde77b9dc4ab6c21575305ae537d2814d237f"
+ integrity sha512-CN2Qk9rt+Gepa3rb3X/mpxYA5MIYLwZBPj2Njw6lbZ6AaxG+O1ArDCL5ACoiWiBimn1FCOM778uhRM9znd0b3Q==
+ dependencies:
+ "@graphql-tools/utils" "^8.5.1"
+ globby "^11.0.3"
+ tslib "~2.3.0"
+ unixify "^1.0.0"
+
+"@graphql-tools/load@^7.3.0", "@graphql-tools/load@^7.4.1":
+ version "7.5.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.5.1.tgz#8c7f846d2185ddc1d44fdfbf1ed9cb678f69e40b"
+ integrity sha512-j9XcLYZPZdl/TzzqA83qveJmwcCxgGizt5L1+C1/Z68brTEmQHLdQCOR3Ma3ewESJt6DU05kSTu2raKaunkjRg==
+ dependencies:
+ "@graphql-tools/schema" "8.3.1"
+ "@graphql-tools/utils" "^8.6.0"
+ p-limit "3.1.0"
+ tslib "~2.3.0"
+
+"@graphql-tools/merge@^8.2.1":
+ version "8.2.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.2.1.tgz#bf83aa06a0cfc6a839e52a58057a84498d0d51ff"
+ integrity sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==
+ dependencies:
+ "@graphql-tools/utils" "^8.5.1"
+ tslib "~2.3.0"
+
+"@graphql-tools/optimize@^1.0.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/optimize/-/optimize-1.1.1.tgz#dcd59ba1ee34431e5e9b086b57fe0bdb1a176669"
+ integrity sha512-y0TEfPyGmJaQjnsTRs/UP7/ZHaB3i68VAsXW4H2doUFKY6rIOUz+ruME/uWsfy/VeTWBNqGX8/m/X7YFEi5OJQ==
+ dependencies:
+ tslib "~2.3.0"
+
+"@graphql-tools/prisma-loader@^7.0.6":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/prisma-loader/-/prisma-loader-7.1.1.tgz#2a769919c97a3f7f7807668d3155c47999b0965c"
+ integrity sha512-9hVpG3BNsXAYMLPlZhSHubk6qBmiHLo/UlU0ldL100sMpqI46iBaHNhTNXZCSdd81hT+4HNqaDXNFqyKJ22OGQ==
+ dependencies:
+ "@graphql-tools/url-loader" "^7.4.2"
+ "@graphql-tools/utils" "^8.5.1"
+ "@types/js-yaml" "^4.0.0"
+ "@types/json-stable-stringify" "^1.0.32"
+ "@types/jsonwebtoken" "^8.5.0"
+ chalk "^4.1.0"
+ debug "^4.3.1"
+ dotenv "^10.0.0"
+ graphql-request "^3.3.0"
+ http-proxy-agent "^5.0.0"
+ https-proxy-agent "^5.0.0"
+ isomorphic-fetch "^3.0.0"
+ js-yaml "^4.0.0"
+ json-stable-stringify "^1.0.1"
+ jsonwebtoken "^8.5.1"
+ lodash "^4.17.20"
+ replaceall "^0.1.6"
+ scuid "^1.1.0"
+ tslib "~2.3.0"
+ yaml-ast-parser "^0.0.43"
+
+"@graphql-tools/relay-operation-optimizer@^6.3.7":
+ version "6.4.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.4.1.tgz#28572444e2c00850c889a84472f3cc7405dc1ad8"
+ integrity sha512-2b9D5L+31sIBnvmcmIW5tfvNUV+nJFtbHpUyarTRDmFT6EZ2cXo4WZMm9XJcHQD/Z5qvMXfPHxzQ3/JUs4xI+w==
+ dependencies:
+ "@graphql-tools/utils" "^8.5.1"
+ relay-compiler "12.0.0"
+ tslib "~2.3.0"
+
+"@graphql-tools/schema@8.3.1", "@graphql-tools/schema@^8.1.2", "@graphql-tools/schema@^8.3.1":
+ version "8.3.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.3.1.tgz#1ee9da494d2da457643b3c93502b94c3c4b68c74"
+ integrity sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==
+ dependencies:
+ "@graphql-tools/merge" "^8.2.1"
+ "@graphql-tools/utils" "^8.5.1"
+ tslib "~2.3.0"
+ value-or-promise "1.0.11"
+
+"@graphql-tools/url-loader@^7.0.11", "@graphql-tools/url-loader@^7.4.2":
+ version "7.7.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-7.7.1.tgz#2faabdc1d2c47edc8edc9cc938eee2767189869f"
+ integrity sha512-K/5amdeHtKYI976HVd/AXdSNvLL7vx5QVjMlwN0OHeYyxSgC+UOH+KkS7cshYgL13SekGu0Mxbg9ABfgQ34ECA==
+ dependencies:
+ "@graphql-tools/delegate" "^8.4.1"
+ "@graphql-tools/utils" "^8.5.1"
+ "@graphql-tools/wrap" "^8.3.1"
+ "@n1ru4l/graphql-live-query" "^0.9.0"
+ "@types/websocket" "^1.0.4"
+ "@types/ws" "^8.0.0"
+ cross-undici-fetch "^0.1.19"
+ dset "^3.1.0"
+ extract-files "^11.0.0"
+ graphql-sse "^1.0.1"
+ graphql-ws "^5.4.1"
+ isomorphic-ws "^4.0.1"
+ meros "^1.1.4"
+ subscriptions-transport-ws "^0.11.0"
+ sync-fetch "^0.3.1"
+ tslib "^2.3.0"
+ valid-url "^1.0.9"
+ value-or-promise "^1.0.11"
+ ws "^8.3.0"
+
+"@graphql-tools/utils@8.6.1", "@graphql-tools/utils@^8.1.1", "@graphql-tools/utils@^8.3.0", "@graphql-tools/utils@^8.5.1", "@graphql-tools/utils@^8.5.2", "@graphql-tools/utils@^8.5.3", "@graphql-tools/utils@^8.5.4", "@graphql-tools/utils@^8.6.0":
+ version "8.6.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.6.1.tgz#52c7eb108f2ca2fd01bdba8eef85077ead1bf882"
+ integrity sha512-uxcfHCocp4ENoIiovPxUWZEHOnbXqj3ekWc0rm7fUhW93a1xheARNHcNKhwMTR+UKXVJbTFQdGI1Rl5XdyvDBg==
+ dependencies:
+ tslib "~2.3.0"
+
+"@graphql-tools/wrap@^8.3.1":
+ version "8.3.3"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-8.3.3.tgz#014aa04a6cf671ffe477516255d1134777da056a"
+ integrity sha512-TpXN1S4Cv+oMA1Zsg9Nu4N9yrFxLuJkX+CTtSRrrdfETGHIxqfyDkm5slPDCckxP+RILA00g8ny2jzsYyNvX1w==
+ dependencies:
+ "@graphql-tools/delegate" "^8.4.2"
+ "@graphql-tools/schema" "^8.3.1"
+ "@graphql-tools/utils" "^8.5.3"
+ tslib "~2.3.0"
+ value-or-promise "1.0.11"
+
+"@humanwhocodes/config-array@^0.9.2":
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914"
+ integrity sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==
+ dependencies:
+ "@humanwhocodes/object-schema" "^1.2.1"
+ debug "^4.1.1"
+ minimatch "^3.0.4"
+
+"@humanwhocodes/object-schema@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
+ integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+
+"@iarna/toml@^2.2.5":
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c"
+ integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==
+
+"@n1ru4l/graphql-live-query@^0.9.0":
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/@n1ru4l/graphql-live-query/-/graphql-live-query-0.9.0.tgz#defaebdd31f625bee49e6745934f36312532b2bc"
+ integrity sha512-BTpWy1e+FxN82RnLz4x1+JcEewVdfmUhV1C6/XYD5AjS7PQp9QFF7K8bCD6gzPTr2l+prvqOyVueQhFJxB1vfg==
+
+"@next/bundle-analyzer@^12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-12.0.8.tgz#a4fef1b14f8a4a87c09d97a3d909deddc88d12f8"
+ integrity sha512-tRwFyAkJA0h+rwt4exq31T59qo4qwp7vPoR3yC8gIpK/E5NAwafyk40aNpk4OWhiQ2IvJMFutukMzY3xl79NXA==
+ dependencies:
+ webpack-bundle-analyzer "4.3.0"
+
+"@next/env@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/env/-/env-12.0.8.tgz#a32ca0a97d464307f2e6ff106ce09b19aac108cf"
+ integrity sha512-Wa0gOeioB9PHap9wtZDZEhgOSE3/+qE/UALWjJHuNvH4J3oE+13EjVOiEsr1JcPCXUN8ESQE+phDKlo6qJ8P9g==
+
+"@next/eslint-plugin-next@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.8.tgz#8bb026891dd3b61053e13289efcb163f66ea3dac"
+ integrity sha512-bf7O0Mvs1h3vIdbbi0hijG+6YG3ED/ebQfmUltrQSgGtHVKGADDoE2qQhwE+mrvxuz9BD8y3mJDOSy0PBLKGBA==
+ dependencies:
+ glob "7.1.7"
+
+"@next/react-refresh-utils@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-12.0.8.tgz#481760a95ef442abd091663db6582d4dc1b31f06"
+ integrity sha512-Bq4T/aOOFQUkCF9b8k9x+HpjOevu65ZPxsYJOpgEtBuJyvb+sZREtDDLKb/RtjUeLMrWrsGD0aLteyFFtiS8Og==
+
+"@next/swc-android-arm64@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.0.8.tgz#f8dc9663da367a75982730cac058339fb310d79a"
+ integrity sha512-BiXMcOZNnXSIXv+FQvbRgbMb+iYayLX/Sb2MwR0wja+eMs46BY1x/ssXDwUBADP1M8YtrGTlSPHZqUiCU94+Mg==
+
+"@next/swc-darwin-arm64@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.0.8.tgz#d6aced7d0a04815dd1324e7982accb3de6a643e8"
+ integrity sha512-6EGMmvcIwPpwt0/iqLbXDGx6oKHAXzbowyyVXK8cqmIvhoghRFjqfiNGBs+ar6wEBGt68zhwn/77vE3iQWoFJw==
+
+"@next/swc-darwin-x64@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.0.8.tgz#f4fe58d2ed852538410b15a0c80d78908050c716"
+ integrity sha512-todxgQOGP/ucz5UH2kKR3XGDdkWmWr0VZAAbzgTbiFm45Ol4ih602k2nNR3xSbza9IqNhxNuUVsMpBgeo19CFQ==
+
+"@next/swc-linux-arm-gnueabihf@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.0.8.tgz#2c02d824fb46e8c6094d7e758c5d7e965070f574"
+ integrity sha512-KULmdrfI+DJxBuhEyV47MQllB/WpC3P2xbwhHezxL/LkC2nkz5SbV4k432qpx2ebjIRf9SjdQ5Oz1FjD8Urayw==
+
+"@next/swc-linux-arm64-gnu@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.0.8.tgz#fc32caf3373b299558ede1d889e8555b9ba10ffb"
+ integrity sha512-1XO87wgIVPvt5fx5i8CqdhksRdcpqyzCOLW4KrE0f9pUCIT04EbsFiKdmsH9c73aqjNZMnCMXpbV+cn4hN8x1w==
+
+"@next/swc-linux-arm64-musl@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.0.8.tgz#c2d3d7bc2c34da81412b74bdd6e11d0615ae1886"
+ integrity sha512-NStRZEy/rkk2G18Yhc/Jzi1Q2Dv+zH176oO8479zlDQ5syRfc6AvRHVV4iNRc8Pai58If83r/nOJkwFgGwkKLw==
+
+"@next/swc-linux-x64-gnu@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.0.8.tgz#029d84f856801b818e5525ab1406f2446821d48c"
+ integrity sha512-rHxTGtTEDFsdT9/VjewzxE19S7W1NE+aZpm4TwbT1pSNGK9KQxQGcXjqoHMeB+VZCFknzNEoIU/vydbjZMlAuw==
+
+"@next/swc-linux-x64-musl@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.0.8.tgz#db572da90ab3bce0bc58595c6b8c2d32ec64a2d3"
+ integrity sha512-1F4kuFRQE10GSx7LMSvRmjMXFGpxT30g8rZzq9r/p/WKdErA4WB4uxaKEX0P8AINfuN63i4luKdR+LoacgBhYw==
+
+"@next/swc-win32-arm64-msvc@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.0.8.tgz#f33e2e56a96489935f87c6dd28f79a7b7ed3778f"
+ integrity sha512-QuRe49jqCV61TysGopC1P0HPqFAMZMWe1nbIQLyOkDLkULmZR8N2eYZq7fwqvZE5YwhMmJA/grwWFVBqSEh5Kg==
+
+"@next/swc-win32-ia32-msvc@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.0.8.tgz#0f6c7f3e50fc1a4752aed5c862f53c86ce77e3b8"
+ integrity sha512-0RV3/julybJr1IlPCowIWrJJZyAl+sOakJEM15y1NOOsbwTQ5eKZZXSi+7e23TN4wmy5HwNvn2dKzgOEVJ+jbA==
+
+"@next/swc-win32-x64-msvc@12.0.8":
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.0.8.tgz#eae6d4c94dc8aae8ba177e2de02080339d0d4563"
+ integrity sha512-tTga6OFfO2JS+Yt5hdryng259c/tzNgSWkdiU2E+RBHiysAIOta57n4PJ8iPahOSqEqjaToPI76wM+o441GaNQ==
+
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
+"@polka/url@^1.0.0-next.20":
+ version "1.0.0-next.21"
+ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1"
+ integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==
+
+"@react-spring/animated@~9.4.0":
+ version "9.4.2"
+ resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.4.2.tgz#1dc107233ce4a44b023abac829f3b2ea8327a128"
+ integrity sha512-Dzum5Ho8e+LIAegAqRyoQFakD2IVH3ZQ2nsFXJorAFq3Xjv6IVPz/+TNxb/wSvnsMludfoF+ZIf319FSFmgD5w==
+ dependencies:
+ "@react-spring/shared" "~9.4.0"
+ "@react-spring/types" "~9.4.0"
+
+"@react-spring/core@~9.4.0":
+ version "9.4.2"
+ resolved "https://registry.yarnpkg.com/@react-spring/core/-/core-9.4.2.tgz#c20249535b3acaead015d17e1c4ce839ec3d4c9f"
+ integrity sha512-Ej/ULwdx8rQtMAWEpLgwbKcQEx6vPfjyG3cxLP05zAInpCoWkYpl+sXOp9tn3r99mTNQPTTt7BgQsSnmQA8+rQ==
+ dependencies:
+ "@react-spring/animated" "~9.4.0"
+ "@react-spring/rafz" "~9.4.0"
+ "@react-spring/shared" "~9.4.0"
+ "@react-spring/types" "~9.4.0"
+
+"@react-spring/rafz@~9.4.0":
+ version "9.4.2"
+ resolved "https://registry.yarnpkg.com/@react-spring/rafz/-/rafz-9.4.2.tgz#40a663d407cd116d436f662c6849f8e5b56234b6"
+ integrity sha512-rSm+G8E/XEEpnCGtT/xYN6o8VvEXlU8wN/hyKp4Q44XAZzGSMHLIFP7pY94/MmWsxCxjkw1AxUWhiFYxWrnI5Q==
+
+"@react-spring/shared@~9.4.0":
+ version "9.4.2"
+ resolved "https://registry.yarnpkg.com/@react-spring/shared/-/shared-9.4.2.tgz#45e103eee04f5e857ab2c575c2a84d3a883f0bfa"
+ integrity sha512-mZtbQLpMm6Vy5+O1MSlY9KuAcMO8rdUQvtdnC7Or7y7xiZlnzj8oAILyO6Y2rD2ZC1PmgVS0gMev/8T+MykW+Q==
+ dependencies:
+ "@react-spring/rafz" "~9.4.0"
+ "@react-spring/types" "~9.4.0"
+
+"@react-spring/types@~9.4.0":
+ version "9.4.2"
+ resolved "https://registry.yarnpkg.com/@react-spring/types/-/types-9.4.2.tgz#f0518f6d23a0b0f699a71976483323ac84bc4ace"
+ integrity sha512-GGiIscTM+CEUNV52anj3g5FqAZKL2+eRKtvBOAlC99qGBbvJ3qTLImrUR/I3lXY7PRuLgzI6kh34quA1oUxWYQ==
+
+"@react-spring/web@^9.4.1":
+ version "9.4.2"
+ resolved "https://registry.yarnpkg.com/@react-spring/web/-/web-9.4.2.tgz#ea8bb224c236d10097da463ea9e950f0939b7a5f"
+ integrity sha512-sWfA9NkVuvVOpjSlMkD2zcF6X3i8NSHTeH/uHCGKsN3mYqgkhvAF+E8GASO/H4KKGNhbRvgCZiwJXOtOGyUg6A==
+ dependencies:
+ "@react-spring/animated" "~9.4.0"
+ "@react-spring/core" "~9.4.0"
+ "@react-spring/shared" "~9.4.0"
+ "@react-spring/types" "~9.4.0"
+
+"@rushstack/eslint-patch@^1.0.8":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz#7f698254aadf921e48dda8c0a6b304026b8a9323"
+ integrity sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A==
+
+"@samverschueren/stream-to-observable@^0.3.0":
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301"
+ integrity sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==
+ dependencies:
+ any-observable "^0.3.0"
+
+"@sindresorhus/is@^0.14.0":
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
+ integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
+
+"@spree/storefront-api-v2-sdk@^5.1.1":
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/@spree/storefront-api-v2-sdk/-/storefront-api-v2-sdk-5.1.2.tgz#6e4842c7307071adda45c975edb5ecbd9316e319"
+ integrity sha512-Jw9J/rUG9pyegjSWaXFSA1or/2KTgXiXdlE+hjMx3htveoxL1V+uqz7ke6UkdJMv7uB2cJtYOCpg8JzrQZgg1A==
+
+"@swc/core-android-arm-eabi@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.138.tgz#4605fa4afc0bb515798a7b7ebd274eb06f67775b"
+ integrity sha512-N79aTHj/jZNa8nXjOrfAaYYBkJxCQ9ZVFikQKSbBETU8usk7qAWDdCs94Y0q/Sow+9uiqguRVOrPFKSrN8LMTg==
+
+"@swc/core-android-arm64@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.138.tgz#7bb94a78d7253ca8b6ec92be435c5a7686dbd68c"
+ integrity sha512-ZNRqTjZpNrB39pCX5OmtnNTnzU3X1GjZX2xDouS1jknEE+TPz1ZJsM4zNlz6AObd7caJhU7qRyWNDM0nlcnJZQ==
+
+"@swc/core-darwin-arm64@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.138.tgz#8a31dbdb90626f503a837ee71fa3bb7866ac3eb1"
+ integrity sha512-DlT0s3Iw3bmOCk4jln0Q9AC1H7q75bZojyODcPXQ2T24s6LcBeD1lNAfyQ2RmaQJTlBM04LjNYqvjA2HAR4ckw==
+
+"@swc/core-darwin-x64@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.138.tgz#cc389708336dabc411a6d4705c2be17f9407054b"
+ integrity sha512-+8ahwSnUTPCmpB1VkMTJdfcFU+ZGQ5JnA1dpSvDhB/u8wV2Dpk0ozpX+3xjqYXoUdhZvdHW1FxKZrhMhscJriA==
+
+"@swc/core-freebsd-x64@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.138.tgz#2f29b1e8f133825fefb558a071f3bdb67dcf3c32"
+ integrity sha512-4icXrpDBN2r24PIRF2DBZ9IPgnXnEqO7/bySIUoL7ul8su2yoRP4Xp3Xi+XP+uBvtrVttwYtzGPNikVggVSK1Q==
+
+"@swc/core-linux-arm-gnueabihf@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.138.tgz#255c2011d865ff8f8118753f8900b51545c30000"
+ integrity sha512-YdEKUvT9GGBEsKSyXc/YJ0cWSetBV3JhxouYLCv4AoQsTrDU5vDQDFUWlT21pzlbwC66ffbpYxnugpsqBm5XKg==
+
+"@swc/core-linux-arm64-gnu@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.138.tgz#89813e14240bde17aaa914a47e84626a10ae13ec"
+ integrity sha512-cn/YrVvghCgSpagzHins1BQnJ07J53aCvlp57iXDA2xfH/HwXTijIy+UzqpQaLeKKQ8gMXmfzj/M7WklccN8jw==
+
+"@swc/core-linux-arm64-musl@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.138.tgz#c33351846218a4bd471505c9215233608f648ab9"
+ integrity sha512-aYoeZ46gaewTYYShHwlYhL8ARrLILiEnTWJFEWoUfAfbDwi4zaLyymRYmdpUyRHr+D9jloM5BKFNWnRPBTyCEg==
+
+"@swc/core-linux-x64-gnu@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.138.tgz#0be2226c7c701d8f58051ca47e78f24d479a9faa"
+ integrity sha512-gt9qP426kkIx4Yu2Dd9U2S44OE8ynRi47rt2HvdHaBlMsGfMH28EyMet3UT61ZVHMEoDxADQctz0JD1/29Ha1Q==
+
+"@swc/core-linux-x64-musl@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.138.tgz#07feede753206a4858dd275a0a4f99501909010e"
+ integrity sha512-lySbIVGApaDQVKPwH8D+9J5dkrawJTrBm86vY7F9sDPR5yCq5Buxx6Pn1X6VKE6e5vlEEb1zbVQmCrFgdUcgig==
+
+"@swc/core-win32-arm64-msvc@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.138.tgz#04e7dbfefb2e933433be32254c52c65add15c086"
+ integrity sha512-UmDtaC9ds1SNNfhYrHW1JvBhy7wKb/Y9RcQOsfG3StxqqnYkOWDkQt9dY5O9lAG8Iw/TCxzjJhm6ul48eMv9OQ==
+
+"@swc/core-win32-ia32-msvc@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.138.tgz#7d897c97ac5338e8a947d6c0c032e8068b521a2e"
+ integrity sha512-evapKq/jVKMI5KDXUvpu3rhYf/L0VIg92TTphpxJSNjo7k5w9n68RY3MXtm1BmtCR4ZWtx0OEXzr9ckUDcqZDA==
+
+"@swc/core-win32-x64-msvc@1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.138.tgz#6a54a72ed035d3b327f2576f4a586da093dc4898"
+ integrity sha512-wYrARtnPg/svsQd0oovbth2JAhOugAgbnaOS0CMiWB4vaFBx+1GHJl5wzdhh9jt1kzsu4xZ4237tUeMH+s6d0A==
+
+"@swc/core@^1.2.138":
+ version "1.2.138"
+ resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.138.tgz#e54d8488094f7f90cb00455cb0380693c0935865"
+ integrity sha512-XMbpq6y2BiTju5KCtveM3h32Ma3chGm/fQEjErZmWNOcPIpupGLPosSU1bH35Udee4GHNJH3NfkZIDR0cjHWIg==
+ optionalDependencies:
+ "@swc/core-android-arm-eabi" "1.2.138"
+ "@swc/core-android-arm64" "1.2.138"
+ "@swc/core-darwin-arm64" "1.2.138"
+ "@swc/core-darwin-x64" "1.2.138"
+ "@swc/core-freebsd-x64" "1.2.138"
+ "@swc/core-linux-arm-gnueabihf" "1.2.138"
+ "@swc/core-linux-arm64-gnu" "1.2.138"
+ "@swc/core-linux-arm64-musl" "1.2.138"
+ "@swc/core-linux-x64-gnu" "1.2.138"
+ "@swc/core-linux-x64-musl" "1.2.138"
+ "@swc/core-win32-arm64-msvc" "1.2.138"
+ "@swc/core-win32-ia32-msvc" "1.2.138"
+ "@swc/core-win32-x64-msvc" "1.2.138"
+
+"@szmarczak/http-timer@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
+ integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
+ dependencies:
+ defer-to-connect "^1.0.1"
+
+"@taskr/clear@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@taskr/clear/-/clear-1.1.0.tgz#0a88d180bed2f91f310136375a72c00b50834fd1"
+ integrity sha1-CojRgL7S+R8xATY3WnLAC1CDT9E=
+ dependencies:
+ bluebird "^3.5.0"
+ rimraf "^2.5.4"
+
+"@taskr/esnext@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@taskr/esnext/-/esnext-1.1.0.tgz#e8ca509f45fc57a4e2152945c27500c531cf87dd"
+ integrity sha1-6MpQn0X8V6TiFSlFwnUAxTHPh90=
+ dependencies:
+ require-like "^0.1.2"
+ rewrite-imports "^1.0.0"
+
+"@taskr/watch@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@taskr/watch/-/watch-1.1.0.tgz#bf447178cfac71fc99b250ff46c40ad3f96173d6"
+ integrity sha1-v0RxeM+scfyZslD/RsQK0/lhc9Y=
+ dependencies:
+ chokidar "^1.7.0"
+
+"@tootallnate/once@2":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
+ integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
+
+"@types/async-retry@1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@types/async-retry/-/async-retry-1.2.1.tgz#fa9ac165907a8ee78f4924f4e393b656c65b5bb4"
+ integrity sha512-yMQ6CVgICWtyFNBqJT3zqOc+TnqqEPLo4nKJNPFwcialiylil38Ie6q1ENeFTjvaLOkVim9K5LisHgAKJWidGQ==
+
+"@types/body-scroll-lock@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@types/body-scroll-lock/-/body-scroll-lock-3.1.0.tgz#435f6abf682bf58640e1c2ee5978320b891970e7"
+ integrity sha512-3owAC4iJub5WPqRhxd8INarF2bWeQq1yQHBgYhN0XLBJMpd5ED10RrJ3aKiAwlTyL5wK7RkBD4SZUQz2AAAMdA==
+
+"@types/chec__commerce.js@*", "@types/chec__commerce.js@^2.8.4":
+ version "2.8.4"
+ resolved "https://registry.yarnpkg.com/@types/chec__commerce.js/-/chec__commerce.js-2.8.4.tgz#9f671a1ebeb16ee2c21de0fd19cfaeb6c4c5a780"
+ integrity sha512-hyR2OXEB3gIRp/ESWOQaFStefBG+C5OdnkxGC1Gmp0ePVzl/wk5FyvaK5NsT1ddNC/y1YsmDAVPe+DArr6/9Jg==
+ dependencies:
+ "@types/chec__commerce.js" "*"
+
+"@types/cookie@^0.4.1":
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d"
+ integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==
+
+"@types/js-cookie@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@types/js-cookie/-/js-cookie-3.0.1.tgz#04aa743e2e0a85a22ee9aa61f6591a8bc19b5d68"
+ integrity sha512-7wg/8gfHltklehP+oyJnZrz9XBuX5ZPP4zB6UsI84utdlkRYLnOm2HfpLXazTwZA+fpGn0ir8tGNgVnMEleBGQ==
+
+"@types/js-yaml@^4.0.0":
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138"
+ integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==
+
+"@types/json-stable-stringify@^1.0.32":
+ version "1.0.33"
+ resolved "https://registry.yarnpkg.com/@types/json-stable-stringify/-/json-stable-stringify-1.0.33.tgz#099b0712d824d15e2660c20e1c16e6a8381f308c"
+ integrity sha512-qEWiQff6q2tA5gcJGWwzplQcXdJtm+0oy6IHGHzlOf3eFAkGE/FIPXZK9ofWgNSHVp8AFFI33PJJshS0ei3Gvw==
+
+"@types/json5@^0.0.29":
+ version "0.0.29"
+ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
+ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
+
+"@types/jsonwebtoken@^8.5.0", "@types/jsonwebtoken@^8.5.7":
+ version "8.5.8"
+ resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz#01b39711eb844777b7af1d1f2b4cf22fda1c0c44"
+ integrity sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==
+ dependencies:
+ "@types/node" "*"
+
+"@types/lodash.debounce@^4.0.6":
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/@types/lodash.debounce/-/lodash.debounce-4.0.6.tgz#c5a2326cd3efc46566c47e4c0aa248dc0ee57d60"
+ integrity sha512-4WTmnnhCfDvvuLMaF3KV4Qfki93KebocUF45msxhYyjMttZDQYzHkO639ohhk8+oco2cluAFL3t5+Jn4mleylQ==
+ dependencies:
+ "@types/lodash" "*"
+
+"@types/lodash.random@^3.2.6":
+ version "3.2.6"
+ resolved "https://registry.yarnpkg.com/@types/lodash.random/-/lodash.random-3.2.6.tgz#64b08abad168dca39c778ed40cce75b2f9e168eb"
+ integrity sha512-RRr0pKm+3USvG/HTkuRKA8v2EqXu19VXC09j4VL2UQec8Yx8Fn6wYTPGjYdmX4UFd23ykS7SLFkiULS/rv8kTA==
+ dependencies:
+ "@types/lodash" "*"
+
+"@types/lodash.throttle@^4.1.6":
+ version "4.1.6"
+ resolved "https://registry.yarnpkg.com/@types/lodash.throttle/-/lodash.throttle-4.1.6.tgz#f5ba2c22244ee42ff6c2c49e614401a870c1009c"
+ integrity sha512-/UIH96i/sIRYGC60NoY72jGkCJtFN5KVPhEMMMTjol65effe1gPn0tycJqV5tlSwMTzX8FqzB5yAj0rfGHTPNg==
+ dependencies:
+ "@types/lodash" "*"
+
+"@types/lodash@*":
+ version "4.14.178"
+ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.178.tgz#341f6d2247db528d4a13ddbb374bcdc80406f4f8"
+ integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==
+
+"@types/lru-cache@4.1.1":
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-4.1.1.tgz#b2d87a5e3df8d4b18ca426c5105cd701c2306d40"
+ integrity sha512-8mNEUG6diOrI6pMqOHrHPDBB1JsrpedeMK9AWGzVCQ7StRRribiT9BRvUmF8aUws9iBbVlgVekOT5Sgzc1MTKw==
+
+"@types/node-fetch@2.3.2":
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.3.2.tgz#e01893b176c6fa1367743726380d65bce5d6576b"
+ integrity sha512-yW0EOebSsQme9yKu09XbdDfle4/SmWZMK4dfteWcSLCYNQQcF+YOv0kIrvm+9pO11/ghA4E6A+RNQqvYj4Nr3A==
+ dependencies:
+ "@types/node" "*"
+
+"@types/node@*", "@types/node@>=8.1.0", "@types/node@^17.0.8":
+ version "17.0.10"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.10.tgz#616f16e9d3a2a3d618136b1be244315d95bd7cab"
+ integrity sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==
+
+"@types/node@10.12.18":
+ version "10.12.18"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67"
+ integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==
+
+"@types/parse-json@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+
+"@types/prop-types@*":
+ version "15.7.4"
+ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
+ integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
+
+"@types/react@^17.0.38":
+ version "17.0.38"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.38.tgz#f24249fefd89357d5fa71f739a686b8d7c7202bd"
+ integrity sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==
+ dependencies:
+ "@types/prop-types" "*"
+ "@types/scheduler" "*"
+ csstype "^3.0.2"
+
+"@types/scheduler@*":
+ version "0.16.2"
+ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
+ integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
+
+"@types/uuid@8.3.1":
+ version "8.3.1"
+ resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.1.tgz#1a32969cf8f0364b3d8c8af9cc3555b7805df14f"
+ integrity sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg==
+
+"@types/websocket@^1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@types/websocket/-/websocket-1.0.4.tgz#1dc497280d8049a5450854dd698ee7e6ea9e60b8"
+ integrity sha512-qn1LkcFEKK8RPp459jkjzsfpbsx36BBt3oC3pITYtkoBw/aVX+EZFa5j3ThCRTNpLFvIMr5dSTD4RaMdilIOpA==
+ dependencies:
+ "@types/node" "*"
+
+"@types/ws@^8.0.0":
+ version "8.2.2"
+ resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.2.tgz#7c5be4decb19500ae6b3d563043cd407bf366c21"
+ integrity sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==
+ dependencies:
+ "@types/node" "*"
+
+"@typescript-eslint/parser@^5.0.0":
+ version "5.10.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.1.tgz#4ce9633cc33fc70bc13786cb793c1a76fe5ad6bd"
+ integrity sha512-GReo3tjNBwR5RnRO0K2wDIDN31cM3MmDtgyQ85oAxAmC5K3j/g85IjP+cDfcqDsDDBf1HNKQAD0WqOYL8jXqUA==
+ dependencies:
+ "@typescript-eslint/scope-manager" "5.10.1"
+ "@typescript-eslint/types" "5.10.1"
+ "@typescript-eslint/typescript-estree" "5.10.1"
+ debug "^4.3.2"
+
+"@typescript-eslint/scope-manager@5.10.1":
+ version "5.10.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz#f0539c73804d2423506db2475352a4dec36cd809"
+ integrity sha512-Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg==
+ dependencies:
+ "@typescript-eslint/types" "5.10.1"
+ "@typescript-eslint/visitor-keys" "5.10.1"
+
+"@typescript-eslint/types@5.10.1":
+ version "5.10.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea"
+ integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q==
+
+"@typescript-eslint/typescript-estree@5.10.1":
+ version "5.10.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz#b268e67be0553f8790ba3fe87113282977adda15"
+ integrity sha512-PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ==
+ dependencies:
+ "@typescript-eslint/types" "5.10.1"
+ "@typescript-eslint/visitor-keys" "5.10.1"
+ debug "^4.3.2"
+ globby "^11.0.4"
+ is-glob "^4.0.3"
+ semver "^7.3.5"
+ tsutils "^3.21.0"
+
+"@typescript-eslint/visitor-keys@5.10.1":
+ version "5.10.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz#29102de692f59d7d34ecc457ed59ab5fc558010b"
+ integrity sha512-NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ==
+ dependencies:
+ "@typescript-eslint/types" "5.10.1"
+ eslint-visitor-keys "^3.0.0"
+
+"@vercel/fetch-cached-dns@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@vercel/fetch-cached-dns/-/fetch-cached-dns-2.0.2.tgz#975c395cf53f188fa618fad57f27af6b5ffc5bab"
+ integrity sha512-gDqKEV8CeY2YmCdZpP1rn3tFK1L07Vw2+HYkCK8zpRHOVGr/sP8yhBsW+C/yqGVj0i9z/rIvqIHe5emvRvxwgw==
+ dependencies:
+ "@types/node-fetch" "2.3.2"
+ "@zeit/dns-cached-resolve" "2.1.2"
+
+"@vercel/fetch-retry@^5.0.2":
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/@vercel/fetch-retry/-/fetch-retry-5.0.3.tgz#cce5d23f6e64f6f525c24e2ac7c78f65d6c5b1f4"
+ integrity sha512-DIIoBY92r+sQ6iHSf5WjKiYvkdsDIMPWKYATlE0KcUAj2RV6SZK9UWpUzBRKsofXqedOqpVjrI0IE6AWL7JRtg==
+ dependencies:
+ async-retry "^1.3.1"
+ debug "^3.1.0"
+
+"@vercel/fetch@^6.1.1":
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/@vercel/fetch/-/fetch-6.1.1.tgz#6564bfe9050f871842cf4834bb0117eaafd3915e"
+ integrity sha512-nddCkgpA0aVIqOlzh+qVlzDNcQq0cSnqefM+x6SciGI4GCvVZeaZ7WEowgX8I/HwBAq8Uj5Bdnd+r0+sYsJsig==
+ dependencies:
+ "@types/async-retry" "1.2.1"
+ "@vercel/fetch-cached-dns" "^2.0.2"
+ "@vercel/fetch-retry" "^5.0.2"
+ agentkeepalive "3.4.1"
+ debug "3.1.0"
+
+"@zeit/dns-cached-resolve@2.1.2":
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/@zeit/dns-cached-resolve/-/dns-cached-resolve-2.1.2.tgz#2c2e33d682d67f94341c9a06ac0e2a8f14ff035f"
+ integrity sha512-A/5gbBskKPETTBqHwvlaW1Ri2orO62yqoFoXdxna1SQ7A/lXjpWgpJ1wdY3IQEcz5LydpS4sJ8SzI2gFyyLEhg==
+ dependencies:
+ "@types/async-retry" "1.2.1"
+ "@types/lru-cache" "4.1.1"
+ "@types/node" "10.12.18"
+ async-retry "1.2.3"
+ lru-cache "5.1.1"
+
+abort-controller@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
+ integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
+ dependencies:
+ event-target-shim "^5.0.0"
+
+acorn-jsx@^5.3.1:
+ version "5.3.2"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+ integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn-node@^1.6.1:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8"
+ integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==
+ dependencies:
+ acorn "^7.0.0"
+ acorn-walk "^7.0.0"
+ xtend "^4.0.2"
+
+acorn-walk@^7.0.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
+ integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
+
+acorn-walk@^8.0.0:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
+ integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
+
+acorn@^7.0.0:
+ version "7.4.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
+ integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+
+acorn@^8.0.4, acorn@^8.7.0:
+ version "8.7.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
+ integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
+
+agent-base@6:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
+ integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+ dependencies:
+ debug "4"
+
+agentkeepalive@3.4.1:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.4.1.tgz#aa95aebc3a749bca5ed53e3880a09f5235b48f0c"
+ integrity sha512-MPIwsZU9PP9kOrZpyu2042kYA8Fdt/AedQYkYXucHgF9QoD9dXVp0ypuGnHXSR0hTstBxdt85Xkh4JolYfK5wg==
+ dependencies:
+ humanize-ms "^1.2.1"
+
+aggregate-error@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
+ integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
+ dependencies:
+ clean-stack "^2.0.0"
+ indent-string "^4.0.0"
+
+ajv@^6.10.0, ajv@^6.12.4:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ansi-escapes@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
+ integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+
+ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.1:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
+ integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
+ dependencies:
+ type-fest "^0.21.3"
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+ integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-regex@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
+ integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+ integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+
+ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ dependencies:
+ color-convert "^1.9.0"
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+ansi-styles@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3"
+ integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==
+
+any-observable@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b"
+ integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==
+
+anymatch@^1.3.0:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
+ integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==
+ dependencies:
+ micromatch "^2.1.5"
+ normalize-path "^2.0.0"
+
+anymatch@~3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
+ integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+arg@^4.1.0:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
+ integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
+
+arg@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb"
+ integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==
+
+argparse@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+ integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+aria-query@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b"
+ integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==
+ dependencies:
+ "@babel/runtime" "^7.10.2"
+ "@babel/runtime-corejs3" "^7.10.2"
+
+arr-diff@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=
+ dependencies:
+ arr-flatten "^1.0.1"
+
+arr-diff@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+ integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
+
+arr-flatten@^1.0.1, arr-flatten@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+ integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
+
+arr-union@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+ integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
+
+array-includes-with-glob@^3.0.6:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/array-includes-with-glob/-/array-includes-with-glob-3.1.0.tgz#f04e8172f231ab8261e52bfe9756b65c08b87ab9"
+ integrity sha512-/PZEKASyXWmUTkNhuxnmqybv1CmIdY5rp3axLy3Dv6SYfaBb+EgS7Nl991mquHT1N2u0YAnE3IOafVNRM6Y9dw==
+ dependencies:
+ "@babel/runtime" "^7.14.0"
+ matcher "^4.0.0"
+
+array-includes@^3.1.3, array-includes@^3.1.4:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9"
+ integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+ get-intrinsic "^1.1.1"
+ is-string "^1.0.7"
+
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
+array-unique@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+ integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=
+
+array-unique@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+ integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
+
+array.prototype.flat@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13"
+ integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.0"
+
+array.prototype.flatmap@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446"
+ integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.0"
+
+asap@~2.0.3:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
+ integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
+
+assign-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
+
+ast-types-flow@^0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
+ integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0=
+
+astral-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+ integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+
+async-each@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
+ integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
+
+async-retry@1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.2.3.tgz#a6521f338358d322b1a0012b79030c6f411d1ce0"
+ integrity sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==
+ dependencies:
+ retry "0.12.0"
+
+async-retry@^1.3.1:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280"
+ integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==
+ dependencies:
+ retry "0.13.1"
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+atob@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+
+auto-bind@~4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb"
+ integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==
+
+autoprefixer@^10.4.2:
+ version "10.4.2"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b"
+ integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==
+ dependencies:
+ browserslist "^4.19.1"
+ caniuse-lite "^1.0.30001297"
+ fraction.js "^4.1.2"
+ normalize-range "^0.1.2"
+ picocolors "^1.0.0"
+ postcss-value-parser "^4.2.0"
+
+axe-core@^4.3.5:
+ version "4.3.5"
+ resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.5.tgz#78d6911ba317a8262bfee292aeafcc1e04b49cc5"
+ integrity sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==
+
+axios@^0.21.1:
+ version "0.21.4"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
+ integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
+ dependencies:
+ follow-redirects "^1.14.0"
+
+axobject-query@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
+ integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==
+
+babel-plugin-dynamic-import-node@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
+ integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
+ dependencies:
+ object.assign "^4.1.0"
+
+babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0:
+ version "7.0.0-beta.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf"
+ integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==
+
+babel-preset-fbjs@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz#38a14e5a7a3b285a3f3a86552d650dca5cf6111c"
+ integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==
+ dependencies:
+ "@babel/plugin-proposal-class-properties" "^7.0.0"
+ "@babel/plugin-proposal-object-rest-spread" "^7.0.0"
+ "@babel/plugin-syntax-class-properties" "^7.0.0"
+ "@babel/plugin-syntax-flow" "^7.0.0"
+ "@babel/plugin-syntax-jsx" "^7.0.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
+ "@babel/plugin-transform-arrow-functions" "^7.0.0"
+ "@babel/plugin-transform-block-scoped-functions" "^7.0.0"
+ "@babel/plugin-transform-block-scoping" "^7.0.0"
+ "@babel/plugin-transform-classes" "^7.0.0"
+ "@babel/plugin-transform-computed-properties" "^7.0.0"
+ "@babel/plugin-transform-destructuring" "^7.0.0"
+ "@babel/plugin-transform-flow-strip-types" "^7.0.0"
+ "@babel/plugin-transform-for-of" "^7.0.0"
+ "@babel/plugin-transform-function-name" "^7.0.0"
+ "@babel/plugin-transform-literals" "^7.0.0"
+ "@babel/plugin-transform-member-expression-literals" "^7.0.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.0.0"
+ "@babel/plugin-transform-object-super" "^7.0.0"
+ "@babel/plugin-transform-parameters" "^7.0.0"
+ "@babel/plugin-transform-property-literals" "^7.0.0"
+ "@babel/plugin-transform-react-display-name" "^7.0.0"
+ "@babel/plugin-transform-react-jsx" "^7.0.0"
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0"
+ "@babel/plugin-transform-spread" "^7.0.0"
+ "@babel/plugin-transform-template-literals" "^7.0.0"
+ babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0"
+
+backo2@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
+ integrity sha1-MasayLEpNjRj41s+u2n038+6eUc=
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base64-js@^1.3.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+base@^0.11.1:
+ version "0.11.2"
+ resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+ integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
+ dependencies:
+ cache-base "^1.0.1"
+ class-utils "^0.3.5"
+ component-emitter "^1.2.1"
+ define-property "^1.0.0"
+ isobject "^3.0.1"
+ mixin-deep "^1.2.0"
+ pascalcase "^0.1.1"
+
+big.js@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
+ integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+
+binary-extensions@^1.0.0:
+ version "1.13.1"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
+ integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
+
+binary-extensions@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+ integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+bindings@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
+ integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
+ dependencies:
+ file-uri-to-path "1.0.0"
+
+bl@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
+ integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
+ dependencies:
+ buffer "^5.5.0"
+ inherits "^2.0.4"
+ readable-stream "^3.4.0"
+
+bluebird@^3.5.0:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+ integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+
+body-scroll-lock@^4.0.0-beta.0:
+ version "4.0.0-beta.0"
+ resolved "https://registry.yarnpkg.com/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz#4f78789d10e6388115c0460cd6d7d4dd2bbc4f7e"
+ integrity sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@^1.8.2:
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=
+ dependencies:
+ expand-range "^1.8.1"
+ preserve "^0.2.0"
+ repeat-element "^1.1.2"
+
+braces@^2.3.1:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+ integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
+ dependencies:
+ arr-flatten "^1.1.0"
+ array-unique "^0.3.2"
+ extend-shallow "^2.0.1"
+ fill-range "^4.0.0"
+ isobject "^3.0.1"
+ repeat-element "^1.1.2"
+ snapdragon "^0.8.1"
+ snapdragon-node "^2.0.1"
+ split-string "^3.0.2"
+ to-regex "^3.0.1"
+
+braces@^3.0.1, braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
+browserslist@^4.17.5, browserslist@^4.19.1:
+ version "4.19.1"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3"
+ integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==
+ dependencies:
+ caniuse-lite "^1.0.30001286"
+ electron-to-chromium "^1.4.17"
+ escalade "^3.1.1"
+ node-releases "^2.0.1"
+ picocolors "^1.0.0"
+
+bser@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
+ integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
+ dependencies:
+ node-int64 "^0.4.0"
+
+buffer-equal-constant-time@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
+ integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=
+
+buffer-from@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+buffer@^5.5.0, buffer@^5.7.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
+ integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.1.13"
+
+cache-base@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+ integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
+ dependencies:
+ collection-visit "^1.0.0"
+ component-emitter "^1.2.1"
+ get-value "^2.0.6"
+ has-value "^1.0.0"
+ isobject "^3.0.1"
+ set-value "^2.0.0"
+ to-object-path "^0.3.0"
+ union-value "^1.0.0"
+ unset-value "^1.0.0"
+
+cacheable-request@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
+ integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
+ dependencies:
+ clone-response "^1.0.2"
+ get-stream "^5.1.0"
+ http-cache-semantics "^4.0.0"
+ keyv "^3.0.0"
+ lowercase-keys "^2.0.0"
+ normalize-url "^4.1.0"
+ responselike "^1.0.2"
+
+call-bind@^1.0.0, call-bind@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+ integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+ dependencies:
+ function-bind "^1.1.1"
+ get-intrinsic "^1.0.2"
+
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+camel-case@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a"
+ integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==
+ dependencies:
+ pascal-case "^3.1.2"
+ tslib "^2.0.3"
+
+camelcase-css@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
+ integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
+
+camelcase@^5.0.0:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+ integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
+caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001299:
+ version "1.0.30001301"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz#ebc9086026534cab0dab99425d9c3b4425e5f450"
+ integrity sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==
+
+capital-case@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669"
+ integrity sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+ upper-case-first "^2.0.2"
+
+chalk@^1.0.0, chalk@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
+ dependencies:
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
+
+chalk@^2.0.0, chalk@^2.4.1:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+change-case-all@1.0.14:
+ version "1.0.14"
+ resolved "https://registry.yarnpkg.com/change-case-all/-/change-case-all-1.0.14.tgz#bac04da08ad143278d0ac3dda7eccd39280bfba1"
+ integrity sha512-CWVm2uT7dmSHdO/z1CXT/n47mWonyypzBbuCy5tN7uMg22BsfkhwT6oHmFCAk+gL1LOOxhdbB9SZz3J1KTY3gA==
+ dependencies:
+ change-case "^4.1.2"
+ is-lower-case "^2.0.2"
+ is-upper-case "^2.0.2"
+ lower-case "^2.0.2"
+ lower-case-first "^2.0.2"
+ sponge-case "^1.0.1"
+ swap-case "^2.0.2"
+ title-case "^3.0.3"
+ upper-case "^2.0.2"
+ upper-case-first "^2.0.2"
+
+change-case@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/change-case/-/change-case-4.1.2.tgz#fedfc5f136045e2398c0410ee441f95704641e12"
+ integrity sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==
+ dependencies:
+ camel-case "^4.1.2"
+ capital-case "^1.0.4"
+ constant-case "^3.0.4"
+ dot-case "^3.0.4"
+ header-case "^2.0.4"
+ no-case "^3.0.4"
+ param-case "^3.0.4"
+ pascal-case "^3.1.2"
+ path-case "^3.0.4"
+ sentence-case "^3.0.4"
+ snake-case "^3.0.4"
+ tslib "^2.0.3"
+
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+
+chokidar@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
+ integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=
+ dependencies:
+ anymatch "^1.3.0"
+ async-each "^1.0.0"
+ glob-parent "^2.0.0"
+ inherits "^2.0.1"
+ is-binary-path "^1.0.0"
+ is-glob "^2.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.0.0"
+ optionalDependencies:
+ fsevents "^1.0.0"
+
+chokidar@^3.5.2:
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
+ integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+class-utils@^0.3.5:
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+ integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
+ dependencies:
+ arr-union "^3.1.0"
+ define-property "^0.2.5"
+ isobject "^3.0.0"
+ static-extend "^0.1.1"
+
+clean-stack@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+ integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+
+cli-cursor@^2.0.0, cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+ integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+ dependencies:
+ restore-cursor "^3.1.0"
+
+cli-spinners@^2.5.0:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d"
+ integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==
+
+cli-truncate@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574"
+ integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=
+ dependencies:
+ slice-ansi "0.0.4"
+ string-width "^1.0.1"
+
+cli-truncate@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
+ integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
+ dependencies:
+ slice-ansi "^3.0.0"
+ string-width "^4.2.0"
+
+cli-truncate@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389"
+ integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==
+ dependencies:
+ slice-ansi "^5.0.0"
+ string-width "^5.0.0"
+
+cli-width@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
+ integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
+
+cliui@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
+ integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^6.2.0"
+
+cliui@^7.0.2:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
+ integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^7.0.0"
+
+clone-response@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
+ integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
+ dependencies:
+ mimic-response "^1.0.0"
+
+clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
+ integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
+
+clor@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/clor/-/clor-5.2.0.tgz#9ddc74e7e86728cfcd05a80546ba58d317b81035"
+ integrity sha512-Z+jjxoF4lNUJQtsdz7d9HLz7yP49hnt4CH76AB7DLusHws14gOlVMl/ShtkMPfoFculqejaiQW5EG2Gt5/cCdg==
+
+clsx@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188"
+ integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==
+
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+
+collection-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+ integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
+ dependencies:
+ map-visit "^1.0.0"
+ object-visit "^1.0.0"
+
+color-convert@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
+color-name@^1.1.4, color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+colorette@^1.2.2:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
+ integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
+
+colorette@^2.0.16:
+ version "2.0.16"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da"
+ integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==
+
+combined-stream@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
+commander@^6.2.0:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
+ integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
+
+commander@^8.3.0:
+ version "8.3.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
+ integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
+
+common-tags@1.8.2, common-tags@^1.8.0:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6"
+ integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==
+
+component-emitter@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
+ integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+constant-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-3.0.4.tgz#3b84a9aeaf4cf31ec45e6bf5de91bdfb0589faf1"
+ integrity sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+ upper-case "^2.0.2"
+
+convert-source-map@1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
+ integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
+ dependencies:
+ safe-buffer "~5.1.1"
+
+convert-source-map@^1.7.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
+ integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
+ dependencies:
+ safe-buffer "~5.1.1"
+
+cookie@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
+ integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
+
+copy-descriptor@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+ integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
+
+core-js-pure@^3.20.2:
+ version "3.20.3"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.20.3.tgz#6cc4f36da06c61d95254efc54024fe4797fd5d02"
+ integrity sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA==
+
+core-util-is@~1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
+ integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
+cosmiconfig-toml-loader@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig-toml-loader/-/cosmiconfig-toml-loader-1.0.0.tgz#0681383651cceff918177debe9084c0d3769509b"
+ integrity sha512-H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==
+ dependencies:
+ "@iarna/toml" "^2.2.5"
+
+cosmiconfig@7.0.1, cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d"
+ integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.2.1"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.10.0"
+
+create-require@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
+ integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
+
+cross-fetch@^3.0.4, cross-fetch@^3.0.6:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f"
+ integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==
+ dependencies:
+ node-fetch "2.6.7"
+
+cross-spawn@^7.0.2, cross-spawn@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+cross-undici-fetch@^0.1.19:
+ version "0.1.19"
+ resolved "https://registry.yarnpkg.com/cross-undici-fetch/-/cross-undici-fetch-0.1.19.tgz#1bef41652c33ec812b51cd3b4e1295114cd62d4c"
+ integrity sha512-bNBuesVn09Iy15mAM/hpt97fLWSexblVYpUYa5FjbtLHA7om9w3g1uRGGwrEnmVxy3wouNvZyJwQzAPHXgOrxQ==
+ dependencies:
+ abort-controller "^3.0.0"
+ form-data-encoder "^1.7.1"
+ formdata-node "^4.3.1"
+ node-fetch "^2.6.7"
+ undici "^4.9.3"
+ web-streams-polyfill "^3.2.0"
+
+css-blank-pseudo@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.2.tgz#f8660f6a48b17888a9277e53f25cc5abec1f0169"
+ integrity sha512-hOb1LFjRR+8ocA071xUSmg5VslJ8NGo/I2qpUpdeAYyBVCgupS5O8SEVo4SxEMYyFBNodBkzG3T1iqW9HCXxew==
+ dependencies:
+ postcss-selector-parser "^6.0.8"
+
+css-has-pseudo@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.3.tgz#4824a34cb92dae7e09ea1d3fd19691b653412098"
+ integrity sha512-0gDYWEKaGacwxCqvQ3Ypg6wGdD1AztbMm5h1JsactG2hP2eiflj808QITmuWBpE7sjSEVrAlZhPTVd/nNMj/hQ==
+ dependencies:
+ postcss-selector-parser "^6.0.8"
+
+css-prefers-color-scheme@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.2.tgz#d5c03a980caab92d8beeee176a8795d331e0c727"
+ integrity sha512-gv0KQBEM+q/XdoKyznovq3KW7ocO7k+FhPP+hQR1MenJdu0uPGS6IZa9PzlbqBeS6XcZJNAoqoFxlAUW461CrA==
+
+cssdb@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-5.1.0.tgz#ec728d5f5c0811debd0820cbebda505d43003400"
+ integrity sha512-/vqjXhv1x9eGkE/zO6o8ZOI7dgdZbLVLUGyVRbPgk6YipXbW87YzUCcO+Jrmi5bwJlAH6oD+MNeZyRgXea1GZw==
+
+cssesc@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
+ integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+
+csstype@^3.0.2:
+ version "3.0.10"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5"
+ integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==
+
+damerau-levenshtein@^1.0.7:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7"
+ integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==
+
+dataloader@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.0.0.tgz#41eaf123db115987e21ca93c005cd7753c55fe6f"
+ integrity sha512-YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ==
+
+date-fns@^1.27.2:
+ version "1.30.1"
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c"
+ integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==
+
+debounce@^1.2.0, debounce@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5"
+ integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==
+
+debug@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
+ dependencies:
+ ms "2.0.0"
+
+debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3:
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
+ integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
+ dependencies:
+ ms "2.1.2"
+
+debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
+debug@^3.1.0, debug@^3.2.7:
+ version "3.2.7"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+ dependencies:
+ ms "^2.1.1"
+
+decamelize@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+
+decode-uri-component@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
+
+decompress-response@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
+ integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
+ dependencies:
+ mimic-response "^1.0.0"
+
+deep-extend@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+
+deep-is@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+ integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
+deepmerge@4.2.2, deepmerge@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
+ integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+
+defaults@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
+ integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
+ dependencies:
+ clone "^1.0.2"
+
+defer-to-connect@^1.0.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
+ integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
+
+define-properties@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
+ integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
+ dependencies:
+ object-keys "^1.0.12"
+
+define-property@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+ integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
+ dependencies:
+ is-descriptor "^0.1.0"
+
+define-property@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+ integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
+ dependencies:
+ is-descriptor "^1.0.0"
+
+define-property@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
+ dependencies:
+ is-descriptor "^1.0.2"
+ isobject "^3.0.1"
+
+defined@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
+ integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+
+dependency-graph@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27"
+ integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==
+
+detect-indent@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
+ integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==
+
+detective@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b"
+ integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==
+ dependencies:
+ acorn-node "^1.6.1"
+ defined "^1.0.0"
+ minimist "^1.1.1"
+
+didyoumean@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
+ integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
+
+diff@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
+ integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
+dlv@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
+ integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
+
+doctrine@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
+ integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
+ dependencies:
+ esutils "^2.0.2"
+
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+ dependencies:
+ esutils "^2.0.2"
+
+dot-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751"
+ integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+
+dotenv@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81"
+ integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==
+
+dotenv@^12.0.3:
+ version "12.0.4"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-12.0.4.tgz#87e302cfddeef475fcaf9a617f7b44f80ac555bc"
+ integrity sha512-oWdqbSywffzH1l4WXKPHWA0TWYpqp7IyLfqjipT4upoIFS0HPMqtNotykQpD4iIg0BqtNmdgPCh2WMvMt7yTiw==
+
+dset@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.1.tgz#07de5af7a8d03eab337ad1a8ba77fe17bba61a8c"
+ integrity sha512-hYf+jZNNqJBD2GiMYb+5mqOIX4R4RRHXU3qWMWYN+rqcR2/YpRL2bUHr8C8fU+5DNvqYjJ8YvMGSLuVPWU1cNg==
+
+duplexer3@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
+ integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
+
+duplexer@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
+ integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+
+eastasianwidth@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
+ integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
+
+ecdsa-sig-formatter@1.0.11:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
+ integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
+ dependencies:
+ safe-buffer "^5.0.1"
+
+electron-to-chromium@^1.4.17:
+ version "1.4.52"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.52.tgz#ce44c6d6cc449e7688a4356b8c261cfeafa26833"
+ integrity sha512-JGkh8HEh5PnVrhU4HbpyyO0O791dVY6k7AdqfDeqbcRMeoGxtNHWT77deR2nhvbLe4dKpxjlDEvdEwrvRLGu2Q==
+
+elegant-spinner@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
+ integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=
+
+email-validator@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/email-validator/-/email-validator-2.0.4.tgz#b8dfaa5d0dae28f1b03c95881d904d4e40bfe7ed"
+ integrity sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+emoji-regex@^9.2.2:
+ version "9.2.2"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
+ integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
+emojis-list@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
+ integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
+
+end-of-stream@^1.1.0:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+ dependencies:
+ once "^1.4.0"
+
+error-ex@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+ dependencies:
+ is-arrayish "^0.2.1"
+
+es-abstract@^1.19.0, es-abstract@^1.19.1:
+ version "1.19.1"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3"
+ integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==
+ dependencies:
+ call-bind "^1.0.2"
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ get-intrinsic "^1.1.1"
+ get-symbol-description "^1.0.0"
+ has "^1.0.3"
+ has-symbols "^1.0.2"
+ internal-slot "^1.0.3"
+ is-callable "^1.2.4"
+ is-negative-zero "^2.0.1"
+ is-regex "^1.1.4"
+ is-shared-array-buffer "^1.0.1"
+ is-string "^1.0.7"
+ is-weakref "^1.0.1"
+ object-inspect "^1.11.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.2"
+ string.prototype.trimend "^1.0.4"
+ string.prototype.trimstart "^1.0.4"
+ unbox-primitive "^1.0.1"
+
+es-to-primitive@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
+ integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+ dependencies:
+ is-callable "^1.1.4"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.2"
+
+escalade@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+ integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+
+escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+eslint-config-next@^12.0.8:
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.0.8.tgz#7a15114230db97d1bc727fc5db2f469416b62e0f"
+ integrity sha512-H40jvqy/yeku3r9D556ALLaM3ZmS55hj9/MTK59fWbzsqTaYlybSkUmIBG0ZFEnBazr0NnBGwrYA5cnsFYR7RQ==
+ dependencies:
+ "@next/eslint-plugin-next" "12.0.8"
+ "@rushstack/eslint-patch" "^1.0.8"
+ "@typescript-eslint/parser" "^5.0.0"
+ eslint-import-resolver-node "^0.3.4"
+ eslint-import-resolver-typescript "^2.4.0"
+ eslint-plugin-import "^2.25.2"
+ eslint-plugin-jsx-a11y "^6.5.1"
+ eslint-plugin-react "^7.27.0"
+ eslint-plugin-react-hooks "^4.3.0"
+
+eslint-config-prettier@^8.3.0:
+ version "8.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a"
+ integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==
+
+eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6:
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd"
+ integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==
+ dependencies:
+ debug "^3.2.7"
+ resolve "^1.20.0"
+
+eslint-import-resolver-typescript@^2.4.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.5.0.tgz#07661966b272d14ba97f597b51e1a588f9722f0a"
+ integrity sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ==
+ dependencies:
+ debug "^4.3.1"
+ glob "^7.1.7"
+ is-glob "^4.0.1"
+ resolve "^1.20.0"
+ tsconfig-paths "^3.9.0"
+
+eslint-module-utils@^2.7.2:
+ version "2.7.2"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz#1d0aa455dcf41052339b63cada8ab5fd57577129"
+ integrity sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==
+ dependencies:
+ debug "^3.2.7"
+ find-up "^2.1.0"
+
+eslint-plugin-import@^2.25.2:
+ version "2.25.4"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1"
+ integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==
+ dependencies:
+ array-includes "^3.1.4"
+ array.prototype.flat "^1.2.5"
+ debug "^2.6.9"
+ doctrine "^2.1.0"
+ eslint-import-resolver-node "^0.3.6"
+ eslint-module-utils "^2.7.2"
+ has "^1.0.3"
+ is-core-module "^2.8.0"
+ is-glob "^4.0.3"
+ minimatch "^3.0.4"
+ object.values "^1.1.5"
+ resolve "^1.20.0"
+ tsconfig-paths "^3.12.0"
+
+eslint-plugin-jsx-a11y@^6.5.1:
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8"
+ integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==
+ dependencies:
+ "@babel/runtime" "^7.16.3"
+ aria-query "^4.2.2"
+ array-includes "^3.1.4"
+ ast-types-flow "^0.0.7"
+ axe-core "^4.3.5"
+ axobject-query "^2.2.0"
+ damerau-levenshtein "^1.0.7"
+ emoji-regex "^9.2.2"
+ has "^1.0.3"
+ jsx-ast-utils "^3.2.1"
+ language-tags "^1.0.5"
+ minimatch "^3.0.4"
+
+eslint-plugin-react-hooks@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172"
+ integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==
+
+eslint-plugin-react@^7.27.0:
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz#8f3ff450677571a659ce76efc6d80b6a525adbdf"
+ integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==
+ dependencies:
+ array-includes "^3.1.4"
+ array.prototype.flatmap "^1.2.5"
+ doctrine "^2.1.0"
+ estraverse "^5.3.0"
+ jsx-ast-utils "^2.4.1 || ^3.0.0"
+ minimatch "^3.0.4"
+ object.entries "^1.1.5"
+ object.fromentries "^2.0.5"
+ object.hasown "^1.1.0"
+ object.values "^1.1.5"
+ prop-types "^15.7.2"
+ resolve "^2.0.0-next.3"
+ semver "^6.3.0"
+ string.prototype.matchall "^4.0.6"
+
+eslint-scope@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.0.tgz#c1f6ea30ac583031f203d65c73e723b01298f153"
+ integrity sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^5.2.0"
+
+eslint-utils@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
+ integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
+ dependencies:
+ eslint-visitor-keys "^2.0.0"
+
+eslint-visitor-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
+ integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
+
+eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1"
+ integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==
+
+eslint@^8.6.0:
+ version "8.7.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.7.0.tgz#22e036842ee5b7cf87b03fe237731675b4d3633c"
+ integrity sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==
+ dependencies:
+ "@eslint/eslintrc" "^1.0.5"
+ "@humanwhocodes/config-array" "^0.9.2"
+ ajv "^6.10.0"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.3.2"
+ doctrine "^3.0.0"
+ escape-string-regexp "^4.0.0"
+ eslint-scope "^7.1.0"
+ eslint-utils "^3.0.0"
+ eslint-visitor-keys "^3.2.0"
+ espree "^9.3.0"
+ esquery "^1.4.0"
+ esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
+ file-entry-cache "^6.0.1"
+ functional-red-black-tree "^1.0.1"
+ glob-parent "^6.0.1"
+ globals "^13.6.0"
+ ignore "^5.2.0"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ js-yaml "^4.1.0"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.4.1"
+ lodash.merge "^4.6.2"
+ minimatch "^3.0.4"
+ natural-compare "^1.4.0"
+ optionator "^0.9.1"
+ regexpp "^3.2.0"
+ strip-ansi "^6.0.1"
+ strip-json-comments "^3.1.0"
+ text-table "^0.2.0"
+ v8-compile-cache "^2.0.3"
+
+espree@^9.2.0, espree@^9.3.0:
+ version "9.3.0"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.0.tgz#c1240d79183b72aaee6ccfa5a90bc9111df085a8"
+ integrity sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==
+ dependencies:
+ acorn "^8.7.0"
+ acorn-jsx "^5.3.1"
+ eslint-visitor-keys "^3.1.0"
+
+esquery@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
+ integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
+ dependencies:
+ estraverse "^5.1.0"
+
+esrecurse@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+event-target-shim@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
+ integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
+
+eventemitter3@^3.1.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
+ integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==
+
+execa@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
+ strip-final-newline "^2.0.0"
+
+expand-brackets@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=
+ dependencies:
+ is-posix-bracket "^0.1.0"
+
+expand-brackets@^2.1.4:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+ integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
+ dependencies:
+ debug "^2.3.3"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ posix-character-classes "^0.1.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+expand-range@^1.8.1:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+ integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
+ dependencies:
+ fill-range "^2.1.0"
+
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
+ dependencies:
+ is-extendable "^0.1.0"
+
+extend-shallow@^3.0.0, extend-shallow@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
+ dependencies:
+ assign-symbols "^1.0.0"
+ is-extendable "^1.0.1"
+
+external-editor@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
+ integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
+ dependencies:
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
+ tmp "^0.0.33"
+
+extglob@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=
+ dependencies:
+ is-extglob "^1.0.0"
+
+extglob@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+ integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
+ dependencies:
+ array-unique "^0.3.2"
+ define-property "^1.0.0"
+ expand-brackets "^2.1.4"
+ extend-shallow "^2.0.1"
+ fragment-cache "^0.2.1"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+extract-files@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-11.0.0.tgz#b72d428712f787eef1f5193aff8ab5351ca8469a"
+ integrity sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==
+
+extract-files@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-9.0.0.tgz#8a7744f2437f81f5ed3250ed9f1550de902fe54a"
+ integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==
+
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-glob@^3.2.11, fast-glob@^3.2.9:
+ version "3.2.11"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
+ integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.4"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-levenshtein@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+
+fastq@^1.6.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
+ integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
+ dependencies:
+ reusify "^1.0.4"
+
+fb-watchman@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85"
+ integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==
+ dependencies:
+ bser "2.1.1"
+
+fbjs-css-vars@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8"
+ integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==
+
+fbjs@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.2.tgz#dfae08a85c66a58372993ce2caf30863f569ff94"
+ integrity sha512-qv+boqYndjElAJHNN3NoM8XuwQZ1j2m3kEvTgdle8IDjr6oUbkEpvABWtj/rQl3vq4ew7dnElBxL4YJAwTVqQQ==
+ dependencies:
+ cross-fetch "^3.0.4"
+ fbjs-css-vars "^1.0.0"
+ loose-envify "^1.0.0"
+ object-assign "^4.1.0"
+ promise "^7.1.1"
+ setimmediate "^1.0.5"
+ ua-parser-js "^0.7.30"
+
+figures@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+ integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=
+ dependencies:
+ escape-string-regexp "^1.0.5"
+ object-assign "^4.1.0"
+
+figures@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
+ integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+figures@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
+ integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+file-entry-cache@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
+ integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
+ dependencies:
+ flat-cache "^3.0.4"
+
+file-uri-to-path@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
+ integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
+
+filename-regex@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+ integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=
+
+fill-range@^2.1.0:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
+ integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==
+ dependencies:
+ is-number "^2.1.0"
+ isobject "^2.0.0"
+ randomatic "^3.0.0"
+ repeat-element "^1.1.2"
+ repeat-string "^1.5.2"
+
+fill-range@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+ integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+ to-regex-range "^2.1.0"
+
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
+ dependencies:
+ locate-path "^2.0.0"
+
+find-up@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+ dependencies:
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
+
+flat-cache@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
+ integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
+ dependencies:
+ flatted "^3.1.0"
+ rimraf "^3.0.2"
+
+flatted@^3.1.0:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2"
+ integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==
+
+follow-redirects@^1.14.0:
+ version "1.14.7"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685"
+ integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==
+
+for-in@^1.0.1, for-in@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+ integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
+
+for-own@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
+ dependencies:
+ for-in "^1.0.1"
+
+form-data-encoder@^1.7.1:
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.1.tgz#ac80660e4f87ee0d3d3c3638b7da8278ddb8ec96"
+ integrity sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==
+
+form-data@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
+ integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
+formdata-node@^4.3.1:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/formdata-node/-/formdata-node-4.3.2.tgz#0262e94931e36db7239c2b08bdb6aaf18ec47d21"
+ integrity sha512-k7lYJyzDOSL6h917favP8j1L0/wNyylzU+x+1w4p5haGVHNlP58dbpdJhiCUsDbWsa9HwEtLp89obQgXl2e0qg==
+ dependencies:
+ node-domexception "1.0.0"
+ web-streams-polyfill "4.0.0-beta.1"
+
+fraction.js@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.2.tgz#13e420a92422b6cf244dff8690ed89401029fbe8"
+ integrity sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==
+
+fragment-cache@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+ integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
+ dependencies:
+ map-cache "^0.2.2"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+fsevents@^1.0.0:
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
+ integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
+ dependencies:
+ bindings "^1.5.0"
+ nan "^2.12.1"
+
+fsevents@~2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+ integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+
+gensync@^1.0.0-beta.2:
+ version "1.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+
+get-caller-file@^2.0.1, get-caller-file@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
+ integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
+ dependencies:
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+
+get-stream@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
+ integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
+ dependencies:
+ pump "^3.0.0"
+
+get-stream@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
+ integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+ dependencies:
+ pump "^3.0.0"
+
+get-stream@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
+get-symbol-description@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
+ integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.1"
+
+get-value@^2.0.3, get-value@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
+
+glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
+ dependencies:
+ is-glob "^2.0.0"
+
+glob-parent@^5.1.2, glob-parent@~5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob-parent@^6.0.1, glob-parent@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+ integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
+ dependencies:
+ is-glob "^4.0.3"
+
+glob@7.1.7:
+ version "7.1.7"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
+ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.6, glob@^7.1.7:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
+ integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+globals@^11.1.0:
+ version "11.12.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+
+globals@^13.6.0, globals@^13.9.0:
+ version "13.12.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e"
+ integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==
+ dependencies:
+ type-fest "^0.20.2"
+
+globby@^11.0.3, globby@^11.0.4:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
+ integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.2.9"
+ ignore "^5.2.0"
+ merge2 "^1.4.1"
+ slash "^3.0.0"
+
+got@^9.6.0:
+ version "9.6.0"
+ resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
+ integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
+ dependencies:
+ "@sindresorhus/is" "^0.14.0"
+ "@szmarczak/http-timer" "^1.1.2"
+ cacheable-request "^6.0.0"
+ decompress-response "^3.3.0"
+ duplexer3 "^0.1.4"
+ get-stream "^4.1.0"
+ lowercase-keys "^1.0.1"
+ mimic-response "^1.0.1"
+ p-cancelable "^1.0.0"
+ to-readable-stream "^1.0.0"
+ url-parse-lax "^3.0.0"
+
+graceful-fs@^4.1.11:
+ version "4.2.9"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
+ integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
+
+graphql-config@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-4.1.0.tgz#a3b28d3fb537952ebeb69c75e4430605a10695e3"
+ integrity sha512-Myqay6pmdcmX3KqoH+bMbeKZ1cTODpHS2CxF1ZzNnfTE+YUpGTcp01bOw6LpzamRb0T/WTYtGFbZeXGo9Hab2Q==
+ dependencies:
+ "@endemolshinegroup/cosmiconfig-typescript-loader" "3.0.2"
+ "@graphql-tools/graphql-file-loader" "^7.3.2"
+ "@graphql-tools/json-file-loader" "^7.3.2"
+ "@graphql-tools/load" "^7.4.1"
+ "@graphql-tools/merge" "^8.2.1"
+ "@graphql-tools/url-loader" "^7.4.2"
+ "@graphql-tools/utils" "^8.5.1"
+ cosmiconfig "7.0.1"
+ cosmiconfig-toml-loader "1.0.0"
+ minimatch "3.0.4"
+ string-env-interpolation "1.0.1"
+
+graphql-request@^3.3.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-3.7.0.tgz#c7406e537084f8b9788541e3e6704340ca13055b"
+ integrity sha512-dw5PxHCgBneN2DDNqpWu8QkbbJ07oOziy8z+bK/TAXufsOLaETuVO4GkXrbs0WjhdKhBMN3BkpN/RIvUHkmNUQ==
+ dependencies:
+ cross-fetch "^3.0.6"
+ extract-files "^9.0.0"
+ form-data "^3.0.0"
+
+graphql-sse@^1.0.1:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/graphql-sse/-/graphql-sse-1.0.6.tgz#4f98e0a06f2020542ed054399116108491263224"
+ integrity sha512-y2mVBN2KwNrzxX2KBncQ6kzc6JWvecxuBernrl0j65hsr6MAS3+Yn8PTFSOgRmtolxugepxveyZVQEuaNEbw3w==
+
+graphql-tag@^2.11.0:
+ version "2.12.6"
+ resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1"
+ integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==
+ dependencies:
+ tslib "^2.1.0"
+
+graphql-ws@^5.4.1:
+ version "5.5.5"
+ resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.5.5.tgz#f375486d3f196e2a2527b503644693ae3a8670a9"
+ integrity sha512-hvyIS71vs4Tu/yUYHPvGXsTgo0t3arU820+lT5VjZS2go0ewp2LqyCgxEN56CzOG7Iys52eRhHBiD1gGRdiQtw==
+
+gzip-size@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462"
+ integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==
+ dependencies:
+ duplexer "^0.1.2"
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
+ dependencies:
+ ansi-regex "^2.0.0"
+
+has-bigints@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
+ integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==
+
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-symbols@^1.0.1, has-symbols@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
+ integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
+
+has-tostringtag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
+ integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
+ dependencies:
+ has-symbols "^1.0.2"
+
+has-value@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+ integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
+ dependencies:
+ get-value "^2.0.3"
+ has-values "^0.1.4"
+ isobject "^2.0.0"
+
+has-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+ integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
+ dependencies:
+ get-value "^2.0.6"
+ has-values "^1.0.0"
+ isobject "^3.0.0"
+
+has-values@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+ integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
+
+has-values@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+ integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
+ dependencies:
+ is-number "^3.0.0"
+ kind-of "^4.0.0"
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
+header-case@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/header-case/-/header-case-2.0.4.tgz#5a42e63b55177349cf405beb8d775acabb92c063"
+ integrity sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==
+ dependencies:
+ capital-case "^1.0.4"
+ tslib "^2.0.3"
+
+http-cache-semantics@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
+ integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
+
+http-proxy-agent@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
+ integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
+ dependencies:
+ "@tootallnate/once" "2"
+ agent-base "6"
+ debug "4"
+
+https-proxy-agent@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
+ integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
+ dependencies:
+ agent-base "6"
+ debug "4"
+
+human-signals@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
+humanize-ms@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
+ integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=
+ dependencies:
+ ms "^2.0.0"
+
+husky@^7.0.4:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535"
+ integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==
+
+iconv-lite@^0.4.24:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+ieee754@^1.1.13:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+ignore@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
+ integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+
+ignore@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
+ integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
+
+immutability-helper@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/immutability-helper/-/immutability-helper-3.1.1.tgz#2b86b2286ed3b1241c9e23b7b21e0444f52f77b7"
+ integrity sha512-Q0QaXjPjwIju/28TsugCHNEASwoCcJSyJV3uO1sOIQGI0jKgm9f41Lvz0DZj3n46cNCyAZTsEYoY4C2bVRUzyQ==
+
+immutable@~3.7.6:
+ version "3.7.6"
+ resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b"
+ integrity sha1-E7TTyxK++hVIKib+Gy665kAHHks=
+
+import-cwd@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92"
+ integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==
+ dependencies:
+ import-from "^3.0.0"
+
+import-fresh@^3.0.0, import-fresh@^3.2.1:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
+ integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+import-from@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/import-from/-/import-from-4.0.0.tgz#2710b8d66817d232e16f4166e319248d3d5492e2"
+ integrity sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==
+
+import-from@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966"
+ integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==
+ dependencies:
+ resolve-from "^5.0.0"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+
+indent-string@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
+ integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=
+
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+ini@~1.3.0:
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+ integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+
+inquirer@^8.0.0:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.0.tgz#f44f008dd344bbfc4b30031f45d984e034a3ac3a"
+ integrity sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==
+ dependencies:
+ ansi-escapes "^4.2.1"
+ chalk "^4.1.1"
+ cli-cursor "^3.1.0"
+ cli-width "^3.0.0"
+ external-editor "^3.0.3"
+ figures "^3.0.0"
+ lodash "^4.17.21"
+ mute-stream "0.0.8"
+ ora "^5.4.1"
+ run-async "^2.4.0"
+ rxjs "^7.2.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+ through "^2.3.6"
+
+internal-slot@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
+ integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==
+ dependencies:
+ get-intrinsic "^1.1.0"
+ has "^1.0.3"
+ side-channel "^1.0.4"
+
+invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+ dependencies:
+ loose-envify "^1.0.0"
+
+is-absolute@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
+ integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==
+ dependencies:
+ is-relative "^1.0.0"
+ is-windows "^1.0.1"
+
+is-accessor-descriptor@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+ integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-accessor-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+ integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+
+is-bigint@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
+ integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
+ dependencies:
+ has-bigints "^1.0.1"
+
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
+ dependencies:
+ binary-extensions "^1.0.0"
+
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-boolean-object@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
+ integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
+ dependencies:
+ call-bind "^1.0.2"
+ has-tostringtag "^1.0.0"
+
+is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+
+is-callable@^1.1.4, is-callable@^1.2.4:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
+ integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
+
+is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-module@^2.8.1:
+ version "2.8.1"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
+ integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
+ dependencies:
+ has "^1.0.3"
+
+is-data-descriptor@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+ integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-data-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+ integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-date-object@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
+ integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-descriptor@^0.1.0:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+ integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
+ dependencies:
+ is-accessor-descriptor "^0.1.6"
+ is-data-descriptor "^0.1.4"
+ kind-of "^5.0.0"
+
+is-descriptor@^1.0.0, is-descriptor@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+ integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
+ dependencies:
+ is-accessor-descriptor "^1.0.0"
+ is-data-descriptor "^1.0.0"
+ kind-of "^6.0.2"
+
+is-dotfile@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+ integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=
+
+is-equal-shallow@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+ integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=
+ dependencies:
+ is-primitive "^2.0.0"
+
+is-extendable@^0.1.0, is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
+
+is-extendable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
+ dependencies:
+ is-plain-object "^2.0.4"
+
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+ integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
+
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-fullwidth-code-point@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88"
+ integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==
+
+is-glob@4.0.3, is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-glob@^2.0.0, is-glob@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
+ dependencies:
+ is-extglob "^1.0.0"
+
+is-interactive@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e"
+ integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
+
+is-lower-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-2.0.2.tgz#1c0884d3012c841556243483aa5d522f47396d2a"
+ integrity sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==
+ dependencies:
+ tslib "^2.0.3"
+
+is-negative-zero@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
+ integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
+
+is-number-object@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0"
+ integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-number@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
+ integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-observable@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e"
+ integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==
+ dependencies:
+ symbol-observable "^1.1.0"
+
+is-plain-object@^2.0.3, is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ dependencies:
+ isobject "^3.0.1"
+
+is-posix-bracket@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+ integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=
+
+is-primitive@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+ integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU=
+
+is-promise@^2.1.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
+ integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
+
+is-regex@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
+ integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
+ dependencies:
+ call-bind "^1.0.2"
+ has-tostringtag "^1.0.0"
+
+is-relative@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
+ integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
+ dependencies:
+ is-unc-path "^1.0.0"
+
+is-shared-array-buffer@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6"
+ integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==
+
+is-stream@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+
+is-stream@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
+ integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
+is-string@^1.0.5, is-string@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
+ integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-symbol@^1.0.2, is-symbol@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
+ integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
+ dependencies:
+ has-symbols "^1.0.2"
+
+is-unc-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
+ integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
+ dependencies:
+ unc-path-regex "^0.1.2"
+
+is-unicode-supported@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
+ integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
+
+is-upper-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-2.0.2.tgz#f1105ced1fe4de906a5f39553e7d3803fd804649"
+ integrity sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==
+ dependencies:
+ tslib "^2.0.3"
+
+is-weakref@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
+ integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
+ dependencies:
+ call-bind "^1.0.2"
+
+is-windows@^1.0.1, is-windows@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+ integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
+
+isarray@1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
+isobject@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
+ dependencies:
+ isarray "1.0.0"
+
+isobject@^3.0.0, isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+
+isomorphic-fetch@3.0.0, isomorphic-fetch@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4"
+ integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==
+ dependencies:
+ node-fetch "^2.6.1"
+ whatwg-fetch "^3.4.1"
+
+isomorphic-ws@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc"
+ integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==
+
+iterall@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea"
+ integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==
+
+jest-worker@27.0.0-next.5:
+ version "27.0.0-next.5"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.0-next.5.tgz#5985ee29b12a4e191f4aae4bb73b97971d86ec28"
+ integrity sha512-mk0umAQ5lT+CaOJ+Qp01N6kz48sJG2kr2n1rX0koqKf6FIygQV0qLOdN9SCYID4IVeSigDOcPeGLozdMLYfb5g==
+ dependencies:
+ "@types/node" "*"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
+js-cookie@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.1.tgz#9e39b4c6c2f56563708d7d31f6f5f21873a92414"
+ integrity sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^4.0.0, js-yaml@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
+jsesc@^2.5.1:
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
+ integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+
+json-buffer@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
+ integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
+
+json-parse-even-better-errors@^2.3.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
+ integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+
+json-stable-stringify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
+ integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
+ dependencies:
+ jsonify "~0.0.0"
+
+json-to-pretty-yaml@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz#f4cd0bd0a5e8fe1df25aaf5ba118b099fd992d5b"
+ integrity sha1-9M0L0KXo/h3yWq9boRiwmf2ZLVs=
+ dependencies:
+ remedial "^1.0.7"
+ remove-trailing-spaces "^1.0.6"
+
+json5@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
+ integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
+ dependencies:
+ minimist "^1.2.0"
+
+json5@^2.1.2:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
+ integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
+ dependencies:
+ minimist "^1.2.5"
+
+jsonify@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
+ integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
+
+jsonwebtoken@^8.5.1:
+ version "8.5.1"
+ resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
+ integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==
+ dependencies:
+ jws "^3.2.2"
+ lodash.includes "^4.3.0"
+ lodash.isboolean "^3.0.3"
+ lodash.isinteger "^4.0.4"
+ lodash.isnumber "^3.0.3"
+ lodash.isplainobject "^4.0.6"
+ lodash.isstring "^4.0.1"
+ lodash.once "^4.0.0"
+ ms "^2.1.1"
+ semver "^5.6.0"
+
+"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b"
+ integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==
+ dependencies:
+ array-includes "^3.1.3"
+ object.assign "^4.1.2"
+
+jwa@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
+ integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
+ dependencies:
+ buffer-equal-constant-time "1.0.1"
+ ecdsa-sig-formatter "1.0.11"
+ safe-buffer "^5.0.1"
+
+jws@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
+ integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
+ dependencies:
+ jwa "^1.4.1"
+ safe-buffer "^5.0.1"
+
+keen-slider@^6.6.3:
+ version "6.6.3"
+ resolved "https://registry.yarnpkg.com/keen-slider/-/keen-slider-6.6.3.tgz#b99eb61aa2c4f3cae5274a3424e2a010b26b7081"
+ integrity sha512-IDJh3CNeiCY/0N/ht+4/TUUD0plS064ijO8AcQ2sJXS07PhJOnv7kNUVsQdNh+t8Vmmy3sJ+sHNubSGdrEcMlQ==
+
+keyv@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
+ integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
+ dependencies:
+ json-buffer "3.0.0"
+
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+ integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
+
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+
+language-subtag-registry@~0.3.2:
+ version "0.3.21"
+ resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a"
+ integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==
+
+language-tags@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a"
+ integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=
+ dependencies:
+ language-subtag-registry "~0.3.2"
+
+latest-version@5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face"
+ integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
+ dependencies:
+ package-json "^6.3.0"
+
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+ dependencies:
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
+
+lilconfig@2.0.4, lilconfig@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082"
+ integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==
+
+lines-and-columns@^1.1.6:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
+ integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+
+lint-staged@^12.1.7:
+ version "12.3.1"
+ resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.3.1.tgz#d475b0c0d0a12d91dde58a429ac6268dea485f06"
+ integrity sha512-Ocht/eT+4/siWOZDJpNUKcKX2UeWW/pDbohJ4gRsrafAjBi79JK8kiNVk2ciIVNKdw0Q4ABptl2nr6uQAlRImw==
+ dependencies:
+ cli-truncate "^3.1.0"
+ colorette "^2.0.16"
+ commander "^8.3.0"
+ debug "^4.3.3"
+ execa "^5.1.1"
+ lilconfig "2.0.4"
+ listr2 "^4.0.1"
+ micromatch "^4.0.4"
+ normalize-path "^3.0.0"
+ object-inspect "^1.12.0"
+ string-argv "^0.3.1"
+ supports-color "^9.2.1"
+ yaml "^1.10.2"
+
+listr-silent-renderer@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e"
+ integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=
+
+listr-update-renderer@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2"
+ integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==
+ dependencies:
+ chalk "^1.1.3"
+ cli-truncate "^0.2.1"
+ elegant-spinner "^1.0.1"
+ figures "^1.7.0"
+ indent-string "^3.0.0"
+ log-symbols "^1.0.2"
+ log-update "^2.3.0"
+ strip-ansi "^3.0.1"
+
+listr-verbose-renderer@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db"
+ integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==
+ dependencies:
+ chalk "^2.4.1"
+ cli-cursor "^2.1.0"
+ date-fns "^1.27.2"
+ figures "^2.0.0"
+
+listr2@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.1.tgz#e050c1fd390276e191f582603d6e3531cd6fd2b3"
+ integrity sha512-D65Nl+zyYHL2jQBGmxtH/pU8koPZo5C8iCNE8EoB04RwPgQG1wuaKwVbeZv9LJpiH4Nxs0FCp+nNcG8OqpniiA==
+ dependencies:
+ cli-truncate "^2.1.0"
+ colorette "^2.0.16"
+ log-update "^4.0.0"
+ p-map "^4.0.0"
+ rfdc "^1.3.0"
+ rxjs "^7.5.2"
+ through "^2.3.8"
+ wrap-ansi "^7.0.0"
+
+listr@^0.14.3:
+ version "0.14.3"
+ resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586"
+ integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==
+ dependencies:
+ "@samverschueren/stream-to-observable" "^0.3.0"
+ is-observable "^1.1.0"
+ is-promise "^2.1.0"
+ is-stream "^1.1.0"
+ listr-silent-renderer "^1.1.1"
+ listr-update-renderer "^0.5.0"
+ listr-verbose-renderer "^0.5.0"
+ p-map "^2.0.0"
+ rxjs "^6.3.3"
+
+loader-utils@1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
+ integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^2.0.0"
+ json5 "^1.0.1"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+ dependencies:
+ p-locate "^4.1.0"
+
+lodash.camelcase@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
+ integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
+
+lodash.clonedeep@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
+ integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
+
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+ integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
+
+lodash.get@^4:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+ integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
+
+lodash.includes@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
+ integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=
+
+lodash.isboolean@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
+ integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=
+
+lodash.isdate@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.isdate/-/lodash.isdate-4.0.1.tgz#35a543673b9d76110de4114b32cc577048a7f366"
+ integrity sha1-NaVDZzuddhEN5BFLMsxXcEin82Y=
+
+lodash.isinteger@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
+ integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=
+
+lodash.isnumber@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
+ integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=
+
+lodash.isplainobject@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+ integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
+
+lodash.isstring@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
+ integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=
+
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+
+lodash.once@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
+ integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=
+
+lodash.random@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.random/-/lodash.random-3.2.0.tgz#96e24e763333199130d2c9e2fd57f91703cc262d"
+ integrity sha1-luJOdjMzGZEw0sni/Vf5FwPMJi0=
+
+lodash.snakecase@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d"
+ integrity sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=
+
+lodash.throttle@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
+ integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
+
+lodash.uniq@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
+ integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
+
+lodash@4.17.21, lodash@^4.17.20, lodash@^4.17.21, lodash@~4.17.0:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+log-symbols@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
+ integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=
+ dependencies:
+ chalk "^1.0.0"
+
+log-symbols@^4.0.0, log-symbols@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
+ integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
+ dependencies:
+ chalk "^4.1.0"
+ is-unicode-supported "^0.1.0"
+
+log-update@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708"
+ integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg=
+ dependencies:
+ ansi-escapes "^3.0.0"
+ cli-cursor "^2.0.0"
+ wrap-ansi "^3.0.1"
+
+log-update@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
+ integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
+ dependencies:
+ ansi-escapes "^4.3.0"
+ cli-cursor "^3.1.0"
+ slice-ansi "^4.0.0"
+ wrap-ansi "^6.2.0"
+
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+ dependencies:
+ js-tokens "^3.0.0 || ^4.0.0"
+
+lower-case-first@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-2.0.2.tgz#64c2324a2250bf7c37c5901e76a5b5309301160b"
+ integrity sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==
+ dependencies:
+ tslib "^2.0.3"
+
+lower-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28"
+ integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
+ dependencies:
+ tslib "^2.0.3"
+
+lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
+ integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
+
+lowercase-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
+ integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
+
+lru-cache@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
+make-error@^1, make-error@^1.1.1:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+
+map-cache@^0.2.0, map-cache@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+ integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+
+map-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+ integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
+ dependencies:
+ object-visit "^1.0.0"
+
+matcher@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/matcher/-/matcher-4.0.0.tgz#a42a05a09aaed92e2d241eb91fddac689461ea51"
+ integrity sha512-S6x5wmcDmsDRRU/c2dkccDwQPXoFczc5+HpQ2lON8pnvHlnvHAHj5WlLVvw6n6vNyHuVugYrFohYxbS+pvFpKQ==
+ dependencies:
+ escape-string-regexp "^4.0.0"
+
+math-random@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c"
+ integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==
+
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+merge2@^1.3.0, merge2@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+meros@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/meros/-/meros-1.1.4.tgz#c17994d3133db8b23807f62bec7f0cb276cfd948"
+ integrity sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ==
+
+micromatch@^2.1.5:
+ version "2.3.11"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=
+ dependencies:
+ arr-diff "^2.0.0"
+ array-unique "^0.2.1"
+ braces "^1.8.2"
+ expand-brackets "^0.1.4"
+ extglob "^0.3.1"
+ filename-regex "^2.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.1"
+ kind-of "^3.0.2"
+ normalize-path "^2.0.1"
+ object.omit "^2.0.0"
+ parse-glob "^3.0.4"
+ regex-cache "^0.4.2"
+
+micromatch@^3.1.10:
+ version "3.1.10"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+ integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ braces "^2.3.1"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ extglob "^2.0.4"
+ fragment-cache "^0.2.1"
+ kind-of "^6.0.2"
+ nanomatch "^1.2.9"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.2"
+
+micromatch@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
+ integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
+ dependencies:
+ braces "^3.0.1"
+ picomatch "^2.2.3"
+
+mime-db@1.51.0:
+ version "1.51.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
+ integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
+
+mime-types@^2.1.12:
+ version "2.1.34"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
+ integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
+ dependencies:
+ mime-db "1.51.0"
+
+mimic-fn@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+ integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
+
+mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+mimic-response@^1.0.0, mimic-response@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
+ integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+
+minimatch@3.0.4, minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+ integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+
+mixin-deep@^1.2.0:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
+ integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
+ dependencies:
+ for-in "^1.0.2"
+ is-extendable "^1.0.1"
+
+mk-dirs@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/mk-dirs/-/mk-dirs-1.0.0.tgz#44ee67f82341c6762718e88e85e577882e1f67fd"
+ integrity sha1-RO5n+CNBxnYnGOiOheV3iC4fZ/0=
+
+mkdirp@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+mri@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
+ integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
+
+mrmime@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.0.tgz#14d387f0585a5233d291baba339b063752a2398b"
+ integrity sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
+ms@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@^2.0.0, ms@^2.1.1:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+mute-stream@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
+ integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+
+nan@^2.12.1:
+ version "2.15.0"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
+ integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
+
+nanoid@^3.1.23, nanoid@^3.1.30:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c"
+ integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==
+
+nanomatch@^1.2.9:
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+ integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ fragment-cache "^0.2.1"
+ is-windows "^1.0.2"
+ kind-of "^6.0.2"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+
+next-themes@^0.0.15:
+ version "0.0.15"
+ resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.0.15.tgz#ab0cee69cd763b77d41211f631e108beab39bf7d"
+ integrity sha512-LTmtqYi03c4gMTJmWwVK9XkHL7h0/+XrtR970Ujvtu3s0kZNeJN24aJsi4rkZOI8i19+qq6f8j+8Duwy5jqcrQ==
+
+next@^12.0.8:
+ version "12.0.8"
+ resolved "https://registry.yarnpkg.com/next/-/next-12.0.8.tgz#29138f7cdd045e4bbba466af45bf430e769634b4"
+ integrity sha512-g5c1Kuh1F8tSXJn2rVvzYBzqe9EXaR6+rY3/KrQ7y0D9FueRLfHI35wM0DRadDcPSc3+vncspfhYH3jnYE/KjA==
+ dependencies:
+ "@next/env" "12.0.8"
+ "@next/react-refresh-utils" "12.0.8"
+ caniuse-lite "^1.0.30001283"
+ jest-worker "27.0.0-next.5"
+ node-fetch "2.6.1"
+ postcss "8.2.15"
+ react-is "17.0.2"
+ react-refresh "0.8.3"
+ stream-browserify "3.0.0"
+ styled-jsx "5.0.0-beta.6"
+ use-subscription "1.5.1"
+ optionalDependencies:
+ "@next/swc-android-arm64" "12.0.8"
+ "@next/swc-darwin-arm64" "12.0.8"
+ "@next/swc-darwin-x64" "12.0.8"
+ "@next/swc-linux-arm-gnueabihf" "12.0.8"
+ "@next/swc-linux-arm64-gnu" "12.0.8"
+ "@next/swc-linux-arm64-musl" "12.0.8"
+ "@next/swc-linux-x64-gnu" "12.0.8"
+ "@next/swc-linux-x64-musl" "12.0.8"
+ "@next/swc-win32-arm64-msvc" "12.0.8"
+ "@next/swc-win32-ia32-msvc" "12.0.8"
+ "@next/swc-win32-x64-msvc" "12.0.8"
+
+no-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
+ integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
+ dependencies:
+ lower-case "^2.0.2"
+ tslib "^2.0.3"
+
+node-domexception@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
+ integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
+
+node-fetch@2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
+ integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
+
+node-fetch@2.6.7, node-fetch@^2.6.1, node-fetch@^2.6.7:
+ version "2.6.7"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
+ integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
+ dependencies:
+ whatwg-url "^5.0.0"
+
+node-int64@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
+ integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
+
+node-releases@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5"
+ integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==
+
+normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
+ dependencies:
+ remove-trailing-separator "^1.0.1"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+normalize-range@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
+ integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
+
+normalize-url@^4.1.0:
+ version "4.5.1"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
+ integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
+
+npm-run-path@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ dependencies:
+ path-key "^3.0.0"
+
+nullthrows@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1"
+ integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==
+
+number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
+
+object-assign@^4.1.0, object-assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+
+object-copy@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+ integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
+ dependencies:
+ copy-descriptor "^0.1.0"
+ define-property "^0.2.5"
+ kind-of "^3.0.3"
+
+object-hash@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5"
+ integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==
+
+object-inspect@^1.11.0, object-inspect@^1.12.0, object-inspect@^1.9.0:
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0"
+ integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==
+
+object-keys-normalizer@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/object-keys-normalizer/-/object-keys-normalizer-1.0.1.tgz#db178dbba5e4c7b18b40837c8ef83365ee9348e7"
+ integrity sha1-2xeNu6Xkx7GLQIN8jvgzZe6TSOc=
+ dependencies:
+ lodash.camelcase "^4.3.0"
+ lodash.snakecase "^4.1.1"
+
+object-keys@^1.0.12, object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object-merge-advanced@12.0.3:
+ version "12.0.3"
+ resolved "https://registry.yarnpkg.com/object-merge-advanced/-/object-merge-advanced-12.0.3.tgz#e03c19aa33cf88da6b32187e4907b487668808d9"
+ integrity sha512-xQIf2Vup1rpKiHr2tQca5jyNYgT4O0kNxOfAp3ZNonm2hS+5yaJgI0Czdk/QMy52bcRwQKX3uc3H8XtAiiYfVA==
+ dependencies:
+ "@babel/runtime" "^7.12.13"
+ array-includes-with-glob "^3.0.6"
+ lodash.clonedeep "^4.5.0"
+ lodash.includes "^4.3.0"
+ lodash.isdate "^4.0.1"
+ lodash.isplainobject "^4.0.6"
+ lodash.uniq "^4.5.0"
+ util-nonempty "^3.0.6"
+
+object-visit@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+ integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
+ dependencies:
+ isobject "^3.0.0"
+
+object.assign@^4.1.0, object.assign@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
+ integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+ has-symbols "^1.0.1"
+ object-keys "^1.1.1"
+
+object.entries@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861"
+ integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+
+object.fromentries@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251"
+ integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+
+object.hasown@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5"
+ integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+
+object.omit@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=
+ dependencies:
+ for-own "^0.1.4"
+ is-extendable "^0.1.1"
+
+object.pick@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+ integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
+ dependencies:
+ isobject "^3.0.1"
+
+object.values@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac"
+ integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+ dependencies:
+ wrappy "1"
+
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
+ dependencies:
+ mimic-fn "^1.0.0"
+
+onetime@^5.1.0, onetime@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+ dependencies:
+ mimic-fn "^2.1.0"
+
+opener@^1.5.2:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
+ integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
+
+optionator@^0.9.1:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+ integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+ dependencies:
+ deep-is "^0.1.3"
+ fast-levenshtein "^2.0.6"
+ levn "^0.4.1"
+ prelude-ls "^1.2.1"
+ type-check "^0.4.0"
+ word-wrap "^1.2.3"
+
+ora@^5.4.1:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18"
+ integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==
+ dependencies:
+ bl "^4.1.0"
+ chalk "^4.1.0"
+ cli-cursor "^3.1.0"
+ cli-spinners "^2.5.0"
+ is-interactive "^1.0.0"
+ is-unicode-supported "^0.1.0"
+ log-symbols "^4.1.0"
+ strip-ansi "^6.0.0"
+ wcwidth "^1.0.1"
+
+os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
+
+p-cancelable@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
+ integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
+
+p-limit@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+ dependencies:
+ p-try "^1.0.0"
+
+p-limit@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+ dependencies:
+ p-try "^2.0.0"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
+ dependencies:
+ p-limit "^1.1.0"
+
+p-locate@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+ dependencies:
+ p-limit "^2.2.0"
+
+p-map@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
+ integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
+
+p-map@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
+ integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+ dependencies:
+ aggregate-error "^3.0.0"
+
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+
+p-try@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+
+package-json@^6.3.0:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0"
+ integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
+ dependencies:
+ got "^9.6.0"
+ registry-auth-token "^4.0.0"
+ registry-url "^5.0.0"
+ semver "^6.2.0"
+
+param-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5"
+ integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==
+ dependencies:
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
+
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
+parse-filepath@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891"
+ integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=
+ dependencies:
+ is-absolute "^1.0.0"
+ map-cache "^0.2.0"
+ path-root "^0.1.1"
+
+parse-glob@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw=
+ dependencies:
+ glob-base "^0.3.0"
+ is-dotfile "^1.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.0"
+
+parse-json@^5.0.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
+ integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ error-ex "^1.3.1"
+ json-parse-even-better-errors "^2.3.0"
+ lines-and-columns "^1.1.6"
+
+pascal-case@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb"
+ integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+
+pascalcase@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+ integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
+
+path-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/path-case/-/path-case-3.0.4.tgz#9168645334eb942658375c56f80b4c0cb5f82c6f"
+ integrity sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==
+ dependencies:
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
+
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+path-key@^3.0.0, path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-parse@^1.0.6, path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-root-regex@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"
+ integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=
+
+path-root@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7"
+ integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=
+ dependencies:
+ path-root-regex "^0.1.0"
+
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+picocolors@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+ integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+posix-character-classes@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+ integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
+
+postcss-attribute-case-insensitive@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.0.tgz#39cbf6babf3ded1e4abf37d09d6eda21c644105c"
+ integrity sha512-b4g9eagFGq9T5SWX4+USfVyjIb3liPnjhHHRMP7FMB2kFVpYyfEscV0wP3eaXhKlcHKUut8lt5BGoeylWA/dBQ==
+ dependencies:
+ postcss-selector-parser "^6.0.2"
+
+postcss-color-functional-notation@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.1.tgz#a25e9e1855e14d04319222a689f120b3240d39e0"
+ integrity sha512-62OBIXCjRXpQZcFOYIXwXBlpAVWrYk8ek1rcjvMING4Q2cf0ipyN9qT+BhHA6HmftGSEnFQu2qgKO3gMscl3Rw==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-color-hex-alpha@^8.0.2:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.2.tgz#7a248b006dd47bd83063f662352d31fd982f74ec"
+ integrity sha512-gyx8RgqSmGVK156NAdKcsfkY3KPGHhKqvHTL3hhveFrBBToguKFzhyiuk3cljH6L4fJ0Kv+JENuPXs1Wij27Zw==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-color-rebeccapurple@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.0.2.tgz#5d397039424a58a9ca628762eb0b88a61a66e079"
+ integrity sha512-SFc3MaocHaQ6k3oZaFwH8io6MdypkUtEy/eXzXEB1vEQlO3S3oDc/FSZA8AsS04Z25RirQhlDlHLh3dn7XewWw==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-custom-media@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1"
+ integrity sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g==
+
+postcss-custom-properties@^12.1.2:
+ version "12.1.3"
+ resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.3.tgz#8e37651c7188e72e6762eeae8db39755e84d3a64"
+ integrity sha512-rtu3otIeY532PnEuuBrIIe+N+pcdbX/7JMZfrcL09wc78YayrHw5E8UkDfvnlOhEUrI4ptCuzXQfj+Or6spbGA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-custom-selectors@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz#022839e41fbf71c47ae6e316cb0e6213012df5ef"
+ integrity sha512-/1iyBhz/W8jUepjGyu7V1OPcGbc636snN1yXEQCinb6Bwt7KxsiU7/bLQlp8GwAXzCh7cobBU5odNn/2zQWR8Q==
+ dependencies:
+ postcss-selector-parser "^6.0.4"
+
+postcss-dir-pseudo-class@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.3.tgz#febfe305e75267913a53bf5094c7679f5cfa9b55"
+ integrity sha512-qiPm+CNAlgXiMf0J5IbBBEXA9l/Q5HGsNGkL3znIwT2ZFRLGY9U2fTUpa4lqCUXQOxaLimpacHeQC80BD2qbDw==
+ dependencies:
+ postcss-selector-parser "^6.0.8"
+
+postcss-double-position-gradients@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.0.4.tgz#2484b9785ef3ba81b0f03a279c52ec58fc5344c2"
+ integrity sha512-qz+s5vhKJlsHw8HjSs+HVk2QGFdRyC68KGRQGX3i+GcnUjhWhXQEmCXW6siOJkZ1giu0ddPwSO6I6JdVVVPoog==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-env-function@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.4.tgz#4e85359ca4fcdde4ec4b73752a41de818dbe91cc"
+ integrity sha512-0ltahRTPtXSIlEZFv7zIvdEib7HN0ZbUQxrxIKn8KbiRyhALo854I/CggU5lyZe6ZBvSTJ6Al2vkZecI2OhneQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-flexbugs-fixes@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz#2028e145313074fc9abe276cb7ca14e5401eb49d"
+ integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==
+
+postcss-focus-visible@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.3.tgz#14635b71a6b9140f488f11f26cbc9965a13f6843"
+ integrity sha512-ozOsg+L1U8S+rxSHnJJiET6dNLyADcPHhEarhhtCI9DBLGOPG/2i4ddVoFch9LzrBgb8uDaaRI4nuid2OM82ZA==
+ dependencies:
+ postcss-selector-parser "^6.0.8"
+
+postcss-focus-within@^5.0.3:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.3.tgz#0b0bf425f14a646bbfd973b463e2d20d85a3a841"
+ integrity sha512-fk9y2uFS6/Kpp7/A9Hz9Z4rlFQ8+tzgBcQCXAFSrXFGAbKx+4ZZOmmfHuYjCOMegPWoz0pnC6fNzi8j7Xyqp5Q==
+ dependencies:
+ postcss-selector-parser "^6.0.8"
+
+postcss-font-variant@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66"
+ integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==
+
+postcss-gap-properties@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.2.tgz#562fbf43a6a721565b3ca0e01008690991d2f726"
+ integrity sha512-EaMy/pbxtQnKDsnbEjdqlkCkROTQZzolcLKgIE+3b7EuJfJydH55cZeHfm+MtIezXRqhR80VKgaztO/vHq94Fw==
+
+postcss-image-set-function@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.4.tgz#ce91579ab2c1386d412ff5cd5e733c474b1f75ee"
+ integrity sha512-BlEo9gSTj66lXjRNByvkMK9dEdEGFXRfGjKRi9fo8s0/P3oEk74cAoonl/utiM50E2OPVb/XSu+lWvdW4KtE/Q==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-initial@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42"
+ integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==
+
+postcss-js@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00"
+ integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==
+ dependencies:
+ camelcase-css "^2.0.1"
+
+postcss-lab-function@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.0.3.tgz#633745b324afbcd5881da85fe2cef58b17487536"
+ integrity sha512-MH4tymWmefdZQ7uVG/4icfLjAQmH6o2NRYyVh2mKoB4RXJp9PjsyhZwhH4ouaCQHvg+qJVj3RzeAR1EQpIlXZA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-load-config@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.1.tgz#2f53a17f2f543d9e63864460af42efdac0d41f87"
+ integrity sha512-c/9XYboIbSEUZpiD1UQD0IKiUe8n9WHYV7YFe7X7J+ZwCsEKkUJSFWjS9hBU1RR9THR7jMXst8sxiqP0jjo2mg==
+ dependencies:
+ lilconfig "^2.0.4"
+ yaml "^1.10.2"
+
+postcss-logical@^5.0.3:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.3.tgz#9934e0fb16af70adbd94217b24d2f315ceb5c2f0"
+ integrity sha512-P5NcHWYrif0vK8rgOy/T87vg0WRIj3HSknrvp1wzDbiBeoDPVmiVRmkown2eSQdpPveat/MC1ess5uhzZFVnqQ==
+
+postcss-media-minmax@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5"
+ integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==
+
+postcss-nested@5.0.6:
+ version "5.0.6"
+ resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc"
+ integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==
+ dependencies:
+ postcss-selector-parser "^6.0.6"
+
+postcss-nesting@^10.1.2:
+ version "10.1.2"
+ resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.2.tgz#2e5f811b3d75602ea18a95dd445bde5297145141"
+ integrity sha512-dJGmgmsvpzKoVMtDMQQG/T6FSqs6kDtUDirIfl4KnjMCiY9/ETX8jdKyCd20swSRAbUYkaBKV20pxkzxoOXLqQ==
+ dependencies:
+ postcss-selector-parser "^6.0.8"
+
+postcss-nesting@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-8.0.1.tgz#4a8ab3c540a0f138fd3f5d2ee65e4a24d1888024"
+ integrity sha512-cHPNhW5VvRQjszFDxmy16mis9qFQqQLBNw6KVmueLqqE3M182ZAk9+QoxGqbGVryzLVhannw2B5Yhosqq522fA==
+
+postcss-overflow-shorthand@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.2.tgz#b4e9c89728cd1e4918173dfb95936b75f78d4148"
+ integrity sha512-odBMVt6PTX7jOE9UNvmnLrFzA9pXS44Jd5shFGGtSHY80QCuJF+14McSy0iavZggRZ9Oj//C9vOKQmexvyEJMg==
+
+postcss-page-break@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f"
+ integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==
+
+postcss-place@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.3.tgz#ca8040dfd937c7769a233a3bd6e66e139cf89e62"
+ integrity sha512-tDQ3m+GYoOar+KoQgj+pwPAvGHAp/Sby6vrFiyrELrMKQJ4AejL0NcS0mm296OKKYA2SRg9ism/hlT/OLhBrdQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-preset-env@^7.2.3:
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.2.3.tgz#01b9b6eea0ff16c27a3d514f10105d56363428a6"
+ integrity sha512-Ok0DhLfwrcNGrBn8sNdy1uZqWRk/9FId0GiQ39W4ILop5GHtjJs8bu1MY9isPwHInpVEPWjb4CEcEaSbBLpfwA==
+ dependencies:
+ autoprefixer "^10.4.2"
+ browserslist "^4.19.1"
+ caniuse-lite "^1.0.30001299"
+ css-blank-pseudo "^3.0.2"
+ css-has-pseudo "^3.0.3"
+ css-prefers-color-scheme "^6.0.2"
+ cssdb "^5.0.0"
+ postcss-attribute-case-insensitive "^5.0.0"
+ postcss-color-functional-notation "^4.2.1"
+ postcss-color-hex-alpha "^8.0.2"
+ postcss-color-rebeccapurple "^7.0.2"
+ postcss-custom-media "^8.0.0"
+ postcss-custom-properties "^12.1.2"
+ postcss-custom-selectors "^6.0.0"
+ postcss-dir-pseudo-class "^6.0.3"
+ postcss-double-position-gradients "^3.0.4"
+ postcss-env-function "^4.0.4"
+ postcss-focus-visible "^6.0.3"
+ postcss-focus-within "^5.0.3"
+ postcss-font-variant "^5.0.0"
+ postcss-gap-properties "^3.0.2"
+ postcss-image-set-function "^4.0.4"
+ postcss-initial "^4.0.1"
+ postcss-lab-function "^4.0.3"
+ postcss-logical "^5.0.3"
+ postcss-media-minmax "^5.0.0"
+ postcss-nesting "^10.1.2"
+ postcss-overflow-shorthand "^3.0.2"
+ postcss-page-break "^3.0.4"
+ postcss-place "^7.0.3"
+ postcss-pseudo-class-any-link "^7.0.2"
+ postcss-replace-overflow-wrap "^4.0.0"
+ postcss-selector-not "^5.0.0"
+
+postcss-pseudo-class-any-link@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.0.2.tgz#6284c2f970715c78fe992d2fac1130e9991585c9"
+ integrity sha512-CG35J1COUH7OOBgpw5O+0koOLUd5N4vUGKUqSAuIe4GiuLHWU96Pqp+UPC8QITTd12zYAFx76pV7qWT/0Aj/TA==
+ dependencies:
+ postcss-selector-parser "^6.0.8"
+
+postcss-replace-overflow-wrap@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319"
+ integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==
+
+postcss-selector-not@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz#ac5fc506f7565dd872f82f5314c0f81a05630dc7"
+ integrity sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==
+ dependencies:
+ balanced-match "^1.0.0"
+
+postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.8:
+ version "6.0.9"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f"
+ integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
+postcss-value-parser@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
+ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
+postcss@8.2.15:
+ version "8.2.15"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.15.tgz#9e66ccf07292817d226fc315cbbf9bc148fbca65"
+ integrity sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q==
+ dependencies:
+ colorette "^1.2.2"
+ nanoid "^3.1.23"
+ source-map "^0.6.1"
+
+postcss@^8.3.5:
+ version "8.4.5"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95"
+ integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==
+ dependencies:
+ nanoid "^3.1.30"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.1"
+
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
+prepend-http@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
+ integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
+
+preserve@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+ integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
+
+prettier@^2.5.1:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a"
+ integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==
+
+process-nextick-args@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+promise@^7.1.1:
+ version "7.3.1"
+ resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
+ integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
+ dependencies:
+ asap "~2.0.3"
+
+prop-types@^15.7.2:
+ version "15.8.1"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
+ integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
+ dependencies:
+ loose-envify "^1.4.0"
+ object-assign "^4.1.1"
+ react-is "^16.13.1"
+
+pump@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+punycode@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+qs@6.7.0:
+ version "6.7.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
+ integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
+
+qs@^6.6.0:
+ version "6.10.3"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e"
+ integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==
+ dependencies:
+ side-channel "^1.0.4"
+
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+quick-lru@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
+ integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
+
+randomatic@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed"
+ integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==
+ dependencies:
+ is-number "^4.0.0"
+ kind-of "^6.0.0"
+ math-random "^1.0.1"
+
+rc@^1.2.8:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+ dependencies:
+ deep-extend "^0.6.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~2.0.1"
+
+react-dom@^17.0.2:
+ version "17.0.2"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
+ integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+ scheduler "^0.20.2"
+
+react-fast-marquee@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/react-fast-marquee/-/react-fast-marquee-1.3.1.tgz#e026ecbf95e73f287c94af9233bed5886913883c"
+ integrity sha512-JUlQMU+IVVNKV+D4BRfRaNEaBj+VyHcI0uupBKyeFhkSY2GBkKw7oGvpNdCkPtKd8Q3H0M5eY7PyUj7AdmKCRA==
+
+react-is@17.0.2:
+ version "17.0.2"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
+ integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
+
+react-is@^16.13.1:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
+react-merge-refs@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/react-merge-refs/-/react-merge-refs-1.1.0.tgz#73d88b892c6c68cbb7a66e0800faa374f4c38b06"
+ integrity sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==
+
+react-refresh@0.8.3:
+ version "0.8.3"
+ resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f"
+ integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==
+
+react-use-measure@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/react-use-measure/-/react-use-measure-2.1.1.tgz#5824537f4ee01c9469c45d5f7a8446177c6cc4ba"
+ integrity sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==
+ dependencies:
+ debounce "^1.2.1"
+
+react@^17.0.2:
+ version "17.0.2"
+ resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
+ integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
+readable-stream@^2.0.2:
+ version "2.3.7"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+ integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readable-stream@^3.4.0, readable-stream@^3.5.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
+ integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readdirp@^2.0.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
+ integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+ micromatch "^3.1.10"
+ readable-stream "^2.0.2"
+
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
+regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.4:
+ version "0.13.9"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
+ integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
+
+regex-cache@^0.4.2:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
+ integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==
+ dependencies:
+ is-equal-shallow "^0.1.3"
+
+regex-not@^1.0.0, regex-not@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
+ dependencies:
+ extend-shallow "^3.0.2"
+ safe-regex "^1.1.0"
+
+regexp.prototype.flags@^1.3.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307"
+ integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+
+regexpp@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+ integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
+
+registry-auth-token@^4.0.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250"
+ integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==
+ dependencies:
+ rc "^1.2.8"
+
+registry-url@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009"
+ integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==
+ dependencies:
+ rc "^1.2.8"
+
+relay-compiler@12.0.0:
+ version "12.0.0"
+ resolved "https://registry.yarnpkg.com/relay-compiler/-/relay-compiler-12.0.0.tgz#9f292d483fb871976018704138423a96c8a45439"
+ integrity sha512-SWqeSQZ+AMU/Cr7iZsHi1e78Z7oh00I5SvR092iCJq79aupqJ6Ds+I1Pz/Vzo5uY5PY0jvC4rBJXzlIN5g9boQ==
+ dependencies:
+ "@babel/core" "^7.14.0"
+ "@babel/generator" "^7.14.0"
+ "@babel/parser" "^7.14.0"
+ "@babel/runtime" "^7.0.0"
+ "@babel/traverse" "^7.14.0"
+ "@babel/types" "^7.0.0"
+ babel-preset-fbjs "^3.4.0"
+ chalk "^4.0.0"
+ fb-watchman "^2.0.0"
+ fbjs "^3.0.0"
+ glob "^7.1.1"
+ immutable "~3.7.6"
+ invariant "^2.2.4"
+ nullthrows "^1.1.1"
+ relay-runtime "12.0.0"
+ signedsource "^1.0.0"
+ yargs "^15.3.1"
+
+relay-runtime@12.0.0:
+ version "12.0.0"
+ resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-12.0.0.tgz#1e039282bdb5e0c1b9a7dc7f6b9a09d4f4ff8237"
+ integrity sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ fbjs "^3.0.0"
+ invariant "^2.2.4"
+
+remedial@^1.0.7:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/remedial/-/remedial-1.0.8.tgz#a5e4fd52a0e4956adbaf62da63a5a46a78c578a0"
+ integrity sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==
+
+remove-trailing-separator@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+ integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
+
+remove-trailing-spaces@^1.0.6:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/remove-trailing-spaces/-/remove-trailing-spaces-1.0.8.tgz#4354d22f3236374702f58ee373168f6d6887ada7"
+ integrity sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==
+
+repeat-element@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9"
+ integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==
+
+repeat-string@^1.5.2, repeat-string@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+
+replaceall@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/replaceall/-/replaceall-0.1.6.tgz#81d81ac7aeb72d7f5c4942adf2697a3220688d8e"
+ integrity sha1-gdgax663LX9cSUKt8ml6MiBojY4=
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+
+require-like@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa"
+ integrity sha1-rW8wwTvs15cBDEaK+ndcDAprR/o=
+
+require-main-filename@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
+ integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+
+resolve-from@5.0.0, resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve-url@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+ integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
+
+resolve@^1.20.0, resolve@^1.21.0:
+ version "1.22.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
+ integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
+ dependencies:
+ is-core-module "^2.8.1"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
+resolve@^2.0.0-next.3:
+ version "2.0.0-next.3"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46"
+ integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==
+ dependencies:
+ is-core-module "^2.2.0"
+ path-parse "^1.0.6"
+
+responselike@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
+ integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
+ dependencies:
+ lowercase-keys "^1.0.0"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+ integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+ dependencies:
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+
+retry@0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
+ integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
+
+retry@0.13.1:
+ version "0.13.1"
+ resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658"
+ integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==
+
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+rewrite-imports@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/rewrite-imports/-/rewrite-imports-1.4.0.tgz#198ebb73f59cfee8d214516c774b6aeef2c54a6e"
+ integrity sha512-k4pGuRsZ6UMSLW4mxpKVxqvGAwXCC81ZnLD+o+S9/7b3+fZ/pguNLHZpZ7qgi/5AmtqzuzppInhaARBjjDquOA==
+
+rfdc@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b"
+ integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
+
+rimraf@^2.5.4:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+ integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+ dependencies:
+ glob "^7.1.3"
+
+rimraf@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
+run-async@^2.4.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
+ integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
+rxjs@^6.3.3:
+ version "6.6.7"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
+ integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
+ dependencies:
+ tslib "^1.9.0"
+
+rxjs@^7.2.0, rxjs@^7.5.2:
+ version "7.5.2"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b"
+ integrity sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==
+ dependencies:
+ tslib "^2.1.0"
+
+safe-buffer@^5.0.1, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
+ dependencies:
+ ret "~0.1.10"
+
+"safer-buffer@>= 2.1.2 < 3":
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+scheduler@^0.20.2:
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91"
+ integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
+scuid@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/scuid/-/scuid-1.1.0.tgz#d3f9f920956e737a60f72d0e4ad280bf324d5dab"
+ integrity sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==
+
+semver@^5.6.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@^6.2.0, semver@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
+semver@^7.3.5:
+ version "7.3.5"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
+ integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
+ dependencies:
+ lru-cache "^6.0.0"
+
+sentence-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-3.0.4.tgz#3645a7b8c117c787fde8702056225bb62a45131f"
+ integrity sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+ upper-case-first "^2.0.2"
+
+set-blocking@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+
+set-value@^2.0.0, set-value@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
+ integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-extendable "^0.1.1"
+ is-plain-object "^2.0.3"
+ split-string "^3.0.1"
+
+setimmediate@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
+
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+side-channel@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
+ integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
+ dependencies:
+ call-bind "^1.0.0"
+ get-intrinsic "^1.0.2"
+ object-inspect "^1.9.0"
+
+signal-exit@^3.0.2, signal-exit@^3.0.3:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af"
+ integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==
+
+signedsource@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a"
+ integrity sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo=
+
+sirv@^1.0.7:
+ version "1.0.19"
+ resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49"
+ integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==
+ dependencies:
+ "@polka/url" "^1.0.0-next.20"
+ mrmime "^1.0.0"
+ totalist "^1.0.0"
+
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+slice-ansi@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
+ integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=
+
+slice-ansi@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
+ integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
+
+slice-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+ integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
+
+slice-ansi@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a"
+ integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==
+ dependencies:
+ ansi-styles "^6.0.0"
+ is-fullwidth-code-point "^4.0.0"
+
+snake-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c"
+ integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==
+ dependencies:
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
+
+snapdragon-node@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+ integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
+ dependencies:
+ define-property "^1.0.0"
+ isobject "^3.0.0"
+ snapdragon-util "^3.0.1"
+
+snapdragon-util@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+ integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
+ dependencies:
+ kind-of "^3.2.0"
+
+snapdragon@^0.8.1:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+ integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
+ dependencies:
+ base "^0.11.1"
+ debug "^2.2.0"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ map-cache "^0.2.2"
+ source-map "^0.5.6"
+ source-map-resolve "^0.5.0"
+ use "^3.1.0"
+
+source-map-js@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+ integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
+source-map-resolve@^0.5.0:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
+ integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
+ dependencies:
+ atob "^2.1.2"
+ decode-uri-component "^0.2.0"
+ resolve-url "^0.2.1"
+ source-map-url "^0.4.0"
+ urix "^0.1.0"
+
+source-map-support@^0.5.17:
+ version "0.5.21"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
+ integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map-url@^0.4.0:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
+ integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==
+
+source-map@0.7.3:
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
+ integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
+
+source-map@^0.5.0, source-map@^0.5.6:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
+
+source-map@^0.6.0, source-map@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+split-string@^3.0.1, split-string@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+ integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
+ dependencies:
+ extend-shallow "^3.0.0"
+
+sponge-case@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/sponge-case/-/sponge-case-1.0.1.tgz#260833b86453883d974f84854cdb63aecc5aef4c"
+ integrity sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==
+ dependencies:
+ tslib "^2.0.3"
+
+static-extend@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+ integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
+ dependencies:
+ define-property "^0.2.5"
+ object-copy "^0.1.0"
+
+stream-browserify@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f"
+ integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==
+ dependencies:
+ inherits "~2.0.4"
+ readable-stream "^3.5.0"
+
+string-argv@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
+ integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
+
+string-env-interpolation@1.0.1, string-env-interpolation@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz#ad4397ae4ac53fe6c91d1402ad6f6a52862c7152"
+ integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==
+
+string-hash@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
+ integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=
+
+string-width@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+string-width@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.0.tgz#5ab00980cfb29f43e736b113a120a73a0fb569d3"
+ integrity sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ==
+ dependencies:
+ eastasianwidth "^0.2.0"
+ emoji-regex "^9.2.2"
+ strip-ansi "^7.0.1"
+
+string.prototype.matchall@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa"
+ integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+ get-intrinsic "^1.1.1"
+ has-symbols "^1.0.2"
+ internal-slot "^1.0.3"
+ regexp.prototype.flags "^1.3.1"
+ side-channel "^1.0.4"
+
+string.prototype.trimend@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
+ integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+
+string.prototype.trimstart@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
+ integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+ dependencies:
+ ansi-regex "^3.0.0"
+
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-ansi@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2"
+ integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==
+ dependencies:
+ ansi-regex "^6.0.1"
+
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
+
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
+strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+ integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+
+stripe@^8.197.0:
+ version "8.199.0"
+ resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.199.0.tgz#dcd109f16ff0c33da638a0d154c966d0f20c73d1"
+ integrity sha512-Bc5Zfp6eOOCdde9x5NPrAczeGSKuNwemzjsfGJXWtpbUfQXgJujzTGgkhx2YuzamqakDYJkTgf9w7Ry2uY8QNA==
+ dependencies:
+ "@types/node" ">=8.1.0"
+ qs "^6.6.0"
+
+styled-jsx@5.0.0-beta.6:
+ version "5.0.0-beta.6"
+ resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0-beta.6.tgz#666552f8831a06f80c9084a47afc4b32b0c9f461"
+ integrity sha512-b1cM7Xyp2r1lsNpvoZ6wmTI8qxD0557vH2feHakNU8LMkzfJDgTQMul6O7sSYY0GxQ73pKEN69hCDp71w6Q0nA==
+ dependencies:
+ "@babel/plugin-syntax-jsx" "7.14.5"
+ "@babel/types" "7.15.0"
+ convert-source-map "1.7.0"
+ loader-utils "1.2.3"
+ source-map "0.7.3"
+ string-hash "1.1.3"
+ stylis "3.5.4"
+ stylis-rule-sheet "0.0.10"
+
+stylis-rule-sheet@0.0.10:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
+ integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==
+
+stylis@3.5.4:
+ version "3.5.4"
+ resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
+ integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==
+
+subscriptions-transport-ws@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz#baf88f050cba51d52afe781de5e81b3c31f89883"
+ integrity sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==
+ dependencies:
+ backo2 "^1.0.2"
+ eventemitter3 "^3.1.0"
+ iterall "^1.2.1"
+ symbol-observable "^1.0.4"
+ ws "^5.2.0 || ^6.0.0 || ^7.0.0"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+ integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+
+supports-color@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-color@^8.0.0:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-color@^9.2.1:
+ version "9.2.1"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891"
+ integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==
+
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
+swap-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-2.0.2.tgz#671aedb3c9c137e2985ef51c51f9e98445bf70d9"
+ integrity sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==
+ dependencies:
+ tslib "^2.0.3"
+
+swell-js@^4.0.0-next.0:
+ version "4.0.0-next.0"
+ resolved "https://registry.yarnpkg.com/swell-js/-/swell-js-4.0.0-next.0.tgz#870599372e3c9eafefeafc2c63863c4032d8be6b"
+ integrity sha512-OQ1FLft3ruKpQw5P0TiCzs/X2Ma95+Qz+I2Xzs4KC6v+zVaFVUGNs80dQdtjfInisWoFC7iFZF2AITgellVGAg==
+ dependencies:
+ "@babel/runtime" "7.4.5"
+ deepmerge "4.2.2"
+ isomorphic-fetch "3.0.0"
+ lodash "4.17.21"
+ object-keys-normalizer "1.0.1"
+ object-merge-advanced "12.0.3"
+ qs "6.7.0"
+
+swr@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/swr/-/swr-1.2.0.tgz#8649f6e9131ce94bbcf7ffd65c21334da3d1ec20"
+ integrity sha512-C3IXeKOREn0jQ1ewXRENE7ED7jjGbFTakwB64eLACkCqkF/A0N2ckvpCTftcaSYi5yV36PzoehgVCOVRmtECcA==
+
+symbol-observable@^1.0.4, symbol-observable@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
+ integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
+
+sync-fetch@0.3.1, sync-fetch@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/sync-fetch/-/sync-fetch-0.3.1.tgz#62aa82c4b4d43afd6906bfd7b5f92056458509f0"
+ integrity sha512-xj5qiCDap/03kpci5a+qc5wSJjc8ZSixgG2EUmH1B8Ea2sfWclQA7eH40hiHPCtkCn6MCk4Wb+dqcXdCy2PP3g==
+ dependencies:
+ buffer "^5.7.0"
+ node-fetch "^2.6.1"
+
+tabbable@^5.2.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-5.2.1.tgz#e3fda7367ddbb172dcda9f871c0fdb36d1c4cd9c"
+ integrity sha512-40pEZ2mhjaZzK0BnI+QGNjJO8UYx9pP5v7BGe17SORTO0OEuuaAwQTkAp8whcZvqon44wKFOikD+Al11K3JICQ==
+
+tailwindcss@^3.0.13:
+ version "3.0.16"
+ resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.16.tgz#eb6e7a0ecec56e43b9dad439b8cb3a5da1e0c1a3"
+ integrity sha512-1L8E5Wr+o1c4kxxObNz2owJe94a7BLEMV+2Lz6wzprJdcs3ENSRR9t4OZf2OqtRNS/q/zFPuOKoLtQoy3Lrhhw==
+ dependencies:
+ arg "^5.0.1"
+ chalk "^4.1.2"
+ chokidar "^3.5.2"
+ color-name "^1.1.4"
+ cosmiconfig "^7.0.1"
+ detective "^5.2.0"
+ didyoumean "^1.2.2"
+ dlv "^1.1.3"
+ fast-glob "^3.2.11"
+ glob-parent "^6.0.2"
+ is-glob "^4.0.3"
+ normalize-path "^3.0.0"
+ object-hash "^2.2.0"
+ postcss-js "^4.0.0"
+ postcss-load-config "^3.1.0"
+ postcss-nested "5.0.6"
+ postcss-selector-parser "^6.0.8"
+ postcss-value-parser "^4.2.0"
+ quick-lru "^5.1.1"
+ resolve "^1.21.0"
+
+taskr@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/taskr/-/taskr-1.1.0.tgz#4f29d0ace26f4deae9a478eabf9aa0432e884438"
+ integrity sha1-TynQrOJvTerppHjqv5qgQy6IRDg=
+ dependencies:
+ bluebird "^3.5.0"
+ clor "^5.1.0"
+ glob "^7.1.2"
+ mk-dirs "^1.0.0"
+ mri "^1.1.0"
+ tinydate "^1.0.0"
+
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+
+through@^2.3.6, through@^2.3.8:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+
+tinydate@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/tinydate/-/tinydate-1.3.0.tgz#e6ca8e5a22b51bb4ea1c3a2a4fd1352dbd4c57fb"
+ integrity sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w==
+
+title-case@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/title-case/-/title-case-3.0.3.tgz#bc689b46f02e411f1d1e1d081f7c3deca0489982"
+ integrity sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==
+ dependencies:
+ tslib "^2.0.3"
+
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ dependencies:
+ os-tmpdir "~1.0.2"
+
+to-fast-properties@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+ integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+
+to-object-path@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
+ dependencies:
+ kind-of "^3.0.2"
+
+to-readable-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
+ integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
+
+to-regex-range@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+ integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
+ dependencies:
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+to-regex@^3.0.1, to-regex@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
+ dependencies:
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ regex-not "^1.0.2"
+ safe-regex "^1.1.0"
+
+totalist@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df"
+ integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==
+
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+ integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
+
+ts-log@^2.2.3:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/ts-log/-/ts-log-2.2.4.tgz#d672cf904b33735eaba67a7395c93d45fba475b3"
+ integrity sha512-DEQrfv6l7IvN2jlzc/VTdZJYsWUnQNCsueYjMkC/iXoEoi5fNan6MjeDqkvhfzbmHgdz9UxDUluX3V5HdjTydQ==
+
+ts-node@^9:
+ version "9.1.1"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d"
+ integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==
+ dependencies:
+ arg "^4.1.0"
+ create-require "^1.1.0"
+ diff "^4.0.1"
+ make-error "^1.1.1"
+ source-map-support "^0.5.17"
+ yn "3.1.1"
+
+tsconfig-paths@^3.12.0, tsconfig-paths@^3.9.0:
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b"
+ integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==
+ dependencies:
+ "@types/json5" "^0.0.29"
+ json5 "^1.0.1"
+ minimist "^1.2.0"
+ strip-bom "^3.0.0"
+
+tslib@^1.8.1, tslib@^1.9.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
+tslib@^2, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@~2.3.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
+ integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
+
+tsutils@^3.21.0:
+ version "3.21.0"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
+ integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
+ dependencies:
+ tslib "^1.8.1"
+
+turbo-darwin-64@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.1.2.tgz#b129aaf538821de78d5e2129495c553627174650"
+ integrity sha512-rua17HnVvAqAU54gVfiQoH7cfopOqANv+yI6NtxLMD8aFfX2cJ9m8SSvH2v2vCaToNDW6OnTkdqDKQpqIHzbCw==
+
+turbo-darwin-arm64@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.1.2.tgz#07a783ad2e3e8af600ae7406cc4062ff56ac0351"
+ integrity sha512-otqSQNYDyKg0KqB3NM0BI4oiRPKdJkUE/XBn8dcUS+zeRLrL00XtaM0eSwynZs1tb6zU/Y+SPMSBRygD1TCOnw==
+
+turbo-freebsd-64@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-freebsd-64/-/turbo-freebsd-64-1.1.2.tgz#9e22abf04ec2298f205a57b5c9ce14e22844baf3"
+ integrity sha512-2nxwVDTAM0DtIQ2i3UOfEsQLF7vp+XZ/b9SKtiHxz710fXvdyuGivYI25axDdcBn8kQ45rnbUnarF1aW8CMGgg==
+
+turbo-freebsd-arm64@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-freebsd-arm64/-/turbo-freebsd-arm64-1.1.2.tgz#6095c9012881225a5fdfb55362defa12f24b1f8e"
+ integrity sha512-ro1Ah96yzgzyT0BJe1mceAqxPxi0pUwzAvN3IKVpMqi4hYkT3aRbzDCaSxzyC6let2Al/NUsgHnbAv38OF2Xkw==
+
+turbo-linux-32@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-linux-32/-/turbo-linux-32-1.1.2.tgz#4726e533d6966172b6bc4a960524ec2eb61adaab"
+ integrity sha512-HKBsETxQMVaf/DJwMg7pypPbGA6KEu0gEf9C8o2aPJvwMPBYgNsNaU08Xizuh5xzEQTzpbIWfQyqdNgMV4RG3Q==
+
+turbo-linux-64@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.1.2.tgz#dfe7f3a4c91acecdb84ecab330acee06857e568e"
+ integrity sha512-IklKsOklcRHIWkTzKg95BQ6jgJ53kLvRMrp8yqzlvZprkWdiyhAgUxrUTTHOOTce2XA3+jdN2+MwixG44uY2vg==
+
+turbo-linux-arm64@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.1.2.tgz#c39b6c50657fa0e82627407c86a5c43f19598e2b"
+ integrity sha512-3kS6sk2lOtuBBqkcL+yeGqD1yew4UZ1o7XUcbDD8UPwhF2kAfK7Qs0vTJw4lnO1scjhihkoTrmXM7yozvjf4/w==
+
+turbo-linux-arm@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-linux-arm/-/turbo-linux-arm-1.1.2.tgz#2f51f93a3aa144b8ba25d7b0e3c53ea186a0e9dd"
+ integrity sha512-CNbaTvRozq7H/5jpy9OZlzJ6BkeEXF+nF2n9dHiUrbAXd3nq84Qt9odcQJmGnexP19YS9w6l3tIHncX4BgwtqA==
+
+turbo-linux-mips64le@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-linux-mips64le/-/turbo-linux-mips64le-1.1.2.tgz#f52b7f410ac289d4e539f108679d2324aa5e271e"
+ integrity sha512-CDoXVIlW43C6KLgYxe13KkG8h6DswXHxbTVHiZdOwRQ56j46lU+JOVpLoh6wpQGcHvj58VEiypZBRTGVFMeogw==
+
+turbo-linux-ppc64le@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-linux-ppc64le/-/turbo-linux-ppc64le-1.1.2.tgz#18d08d3414075d0dcb4be83ca837dda508313996"
+ integrity sha512-xPVMHoiOJE/qI63jSOXwYIUFQXLdstxDV6fLnRxvq0QnJNxgTKq+mLUeE8M4LDVh1bdqHLcfk/HmyQ6+X1XVkQ==
+
+turbo-windows-32@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-windows-32/-/turbo-windows-32-1.1.2.tgz#96033019094bcb091647d6063c3c9b8e83d0acbe"
+ integrity sha512-Gj1yvPE0aMDSOxGVSBaecLnwsVDT1xX8U0dtLrg52TYY2jlaci0atjHKr9nTFuX7z8uwAf6PopwdriGoCeT3ng==
+
+turbo-windows-64@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.1.2.tgz#8eb3f77ab7e04b077752ae2204114c82e5c74697"
+ integrity sha512-0Ncx/iKhnKrdAU8hJ+8NUcF9jtFr8KoW5mMWfiFzy+mgUbVKbpzWT2eoGR6zJExedQsRvYOejbEX5iihbnj5bA==
+
+turbo@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.1.2.tgz#751b9651dc3ebe469898db76afab6405666ad0ff"
+ integrity sha512-3ViHKyAkaBKNKwHASTa1zkVT3tVVhQNLrpxBS7LoN+794ouQUYmy6lf0rTqzG3iTZHtIDwC+piZSdTl4XjEVMg==
+ optionalDependencies:
+ turbo-darwin-64 "1.1.2"
+ turbo-darwin-arm64 "1.1.2"
+ turbo-freebsd-64 "1.1.2"
+ turbo-freebsd-arm64 "1.1.2"
+ turbo-linux-32 "1.1.2"
+ turbo-linux-64 "1.1.2"
+ turbo-linux-arm "1.1.2"
+ turbo-linux-arm64 "1.1.2"
+ turbo-linux-mips64le "1.1.2"
+ turbo-linux-ppc64le "1.1.2"
+ turbo-windows-32 "1.1.2"
+ turbo-windows-64 "1.1.2"
+
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+ dependencies:
+ prelude-ls "^1.2.1"
+
+type-fest@^0.20.2:
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
+ integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+
+type-fest@^0.21.3:
+ version "0.21.3"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
+ integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+
+typescript@4.3.4:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc"
+ integrity sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==
+
+typescript@^4.5.4:
+ version "4.5.5"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3"
+ integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==
+
+ua-parser-js@^0.7.30:
+ version "0.7.31"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6"
+ integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==
+
+unbox-primitive@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
+ integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
+ dependencies:
+ function-bind "^1.1.1"
+ has-bigints "^1.0.1"
+ has-symbols "^1.0.2"
+ which-boxed-primitive "^1.0.2"
+
+unc-path-regex@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
+ integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo=
+
+undici@^4.9.3:
+ version "4.12.2"
+ resolved "https://registry.yarnpkg.com/undici/-/undici-4.12.2.tgz#f2fc50ca77a774ed8c0e7067c9361ee18a2f422b"
+ integrity sha512-RZj6SbkQFs5O/pJCboGEo6l5DTCe3Zg4r/8Z/0/2qnIv08+s6zL4akohOPMYWKc3mzwv15WTvsfMWaafZcvYoQ==
+
+union-value@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
+ integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
+ dependencies:
+ arr-union "^3.1.0"
+ get-value "^2.0.6"
+ is-extendable "^0.1.1"
+ set-value "^2.0.1"
+
+unixify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090"
+ integrity sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=
+ dependencies:
+ normalize-path "^2.1.1"
+
+unset-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+ integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
+ dependencies:
+ has-value "^0.3.1"
+ isobject "^3.0.0"
+
+upper-case-first@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324"
+ integrity sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==
+ dependencies:
+ tslib "^2.0.3"
+
+upper-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-2.0.2.tgz#d89810823faab1df1549b7d97a76f8662bae6f7a"
+ integrity sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==
+ dependencies:
+ tslib "^2.0.3"
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+urix@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+ integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
+
+url-parse-lax@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
+ integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
+ dependencies:
+ prepend-http "^2.0.0"
+
+use-subscription@1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1"
+ integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==
+ dependencies:
+ object-assign "^4.1.1"
+
+use@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+ integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
+
+util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+
+util-nonempty@^3.0.6:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/util-nonempty/-/util-nonempty-3.1.0.tgz#927a9472ead1817afca159b209e5806523b752d3"
+ integrity sha512-OSZlWoCL74Go83Qw/aeZgSmFZnp9d06bF77b1eAOKipkPWhvxjRYB2nmKiGspoVjkJJEJimzxAgBFUQiUV/oZQ==
+ dependencies:
+ "@babel/runtime" "^7.14.0"
+ lodash.isplainobject "^4.0.6"
+
+uuid@8.3.2:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
+ integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+
+uuidv4@^6.2.12:
+ version "6.2.12"
+ resolved "https://registry.yarnpkg.com/uuidv4/-/uuidv4-6.2.12.tgz#e8c1d1d733c3fa4963d4610b8a3a09b4ec58ca96"
+ integrity sha512-UnN4ThIYWhv3ZUE8UwDnnCvh4JafCNu+sQkxmLyjCVwK3rjLfkg3DYiEv6oCMDIAIVEDP4INg4kX/C5hKaRzZA==
+ dependencies:
+ "@types/uuid" "8.3.1"
+ uuid "8.3.2"
+
+v8-compile-cache@^2.0.3:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
+ integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
+
+valid-url@^1.0.9:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200"
+ integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=
+
+value-or-promise@1.0.11, value-or-promise@^1.0.11:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140"
+ integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==
+
+wcwidth@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
+ integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
+ dependencies:
+ defaults "^1.0.3"
+
+web-streams-polyfill@4.0.0-beta.1:
+ version "4.0.0-beta.1"
+ resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.1.tgz#3b19b9817374b7cee06d374ba7eeb3aeb80e8c95"
+ integrity sha512-3ux37gEX670UUphBF9AMCq8XM6iQ8Ac6A+DSRRjDoRBm1ufCkaCDdNVbaqq60PsEkdNlLKrGtv/YBP4EJXqNtQ==
+
+web-streams-polyfill@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz#a6b74026b38e4885869fb5c589e90b95ccfc7965"
+ integrity sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==
+
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+ integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
+
+webpack-bundle-analyzer@4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.3.0.tgz#2f3c0ca9041d5ee47fa418693cf56b4a518b578b"
+ integrity sha512-J3TPm54bPARx6QG8z4cKBszahnUglcv70+N+8gUqv2I5KOFHJbzBiLx+pAp606so0X004fxM7hqRu10MLjJifA==
+ dependencies:
+ acorn "^8.0.4"
+ acorn-walk "^8.0.0"
+ chalk "^4.1.0"
+ commander "^6.2.0"
+ gzip-size "^6.0.0"
+ lodash "^4.17.20"
+ opener "^1.5.2"
+ sirv "^1.0.7"
+ ws "^7.3.1"
+
+whatwg-fetch@^3.4.1:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c"
+ integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==
+
+whatwg-url@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+ integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
+which-boxed-primitive@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
+ integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
+ dependencies:
+ is-bigint "^1.0.1"
+ is-boolean-object "^1.1.0"
+ is-number-object "^1.0.4"
+ is-string "^1.0.5"
+ is-symbol "^1.0.3"
+
+which-module@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+ integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
+
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+word-wrap@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+ integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+
+wrap-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba"
+ integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=
+ dependencies:
+ string-width "^2.1.1"
+ strip-ansi "^4.0.0"
+
+wrap-ansi@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+"ws@^5.2.0 || ^6.0.0 || ^7.0.0", ws@^7.3.1:
+ version "7.5.6"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b"
+ integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==
+
+ws@^8.3.0:
+ version "8.4.2"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.2.tgz#18e749868d8439f2268368829042894b6907aa0b"
+ integrity sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==
+
+xtend@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+y18n@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
+ integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
+
+y18n@^5.0.5:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
+ integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
+
+yallist@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yaml-ast-parser@^0.0.43:
+ version "0.0.43"
+ resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb"
+ integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==
+
+yaml@^1.10.0, yaml@^1.10.2:
+ version "1.10.2"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
+ integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
+yargs-parser@^18.1.2:
+ version "18.1.3"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
+ integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
+yargs-parser@^21.0.0:
+ version "21.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55"
+ integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==
+
+yargs@^15.3.1:
+ version "15.4.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
+ integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
+ dependencies:
+ cliui "^6.0.0"
+ decamelize "^1.2.0"
+ find-up "^4.1.0"
+ get-caller-file "^2.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^2.0.0"
+ set-blocking "^2.0.0"
+ string-width "^4.2.0"
+ which-module "^2.0.0"
+ y18n "^4.0.0"
+ yargs-parser "^18.1.2"
+
+yargs@^17.0.0:
+ version "17.3.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9"
+ integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==
+ dependencies:
+ cliui "^7.0.2"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
+ require-directory "^2.1.1"
+ string-width "^4.2.3"
+ y18n "^5.0.5"
+ yargs-parser "^21.0.0"
+
+yn@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
+ integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
+
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==