diff --git a/README.md b/README.md
new file mode 100644
index 000000000..941b1699b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,123 @@
+[](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fvercel%2Fcommerce&project-name=commerce&repo-name=commerce&demo-title=Next.js%20Commerce&demo-description=An%20all-in-one%20starter%20kit%20for%20high-performance%20e-commerce%20sites.&demo-url=https%3A%2F%2Fdemo.vercel.store&demo-image=https%3A%2F%2Fbigcommerce-demo-asset-ksvtgfvnd.vercel.app%2Fbigcommerce.png&integration-ids=oac_MuWZiE4jtmQ2ejZQaQ7ncuDT)
+
+# Next.js Commerce
+
+The all-in-one starter kit for high-performance e-commerce sites. With a few clicks, Next.js developers can clone, deploy and fully customize their own store.
+Start right now at [nextjs.org/commerce](https://nextjs.org/commerce)
+
+Demo live at: [demo.vercel.store](https://demo.vercel.store/)
+
+- Shopify Demo: https://shopify.demo.vercel.store/
+- BigCommerce Demo: https://bigcommerce.demo.vercel.store/
+
+## Features
+
+- Performant by default
+- SEO Ready
+- Internationalization
+- Responsive
+- UI Components
+- Theming
+- Standardized Data Hooks
+- Integrations - Integrate seamlessly with the most common ecommerce platforms.
+- Dark Mode Support
+
+## Integrations
+
+Next.js Commerce integrates out-of-the-box with BigCommerce and Shopify. We plan to support all major ecommerce backends.
+
+## 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`).
+- 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).
+
+### Features
+
+Every provider defines the features that it supports under `framework/{provider}/commerce.config.json`
+
+#### How to turn Features on and off
+
+> 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`
+- You'll see a config file like this:
+ ```json
+ {
+ "features": {
+ "wishlist": false
+ }
+ }
+ ```
+- Turn wishlist on by setting wishlist to true.
+- Run the app and the wishlist functionality should be back on.
+
+### How to create a new provider
+
+Follow our docs for [Adding a new Commerce Provider](framework/commerce/new-provider.md).
+
+If you succeeded building a provider, submit a PR with a valid demo and we'll review it asap.
+
+## Contribute
+
+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 yarn: `npm install -g yarn`
+4. Install the dependencies: `yarn`
+5. Duplicate `.env.template` and rename it to `.env.local`
+6. Add proper store values to `.env.local`
+7. Run `yarn dev` to build and watch for code 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.
+
+## Troubleshoot
+
+
+I already own a BigCommerce store. What should I do?
+
+First thing you do is: set your environment variables
+
+
+.env.local
+
+```sh
+BIGCOMMERCE_STOREFRONT_API_URL=<>
+BIGCOMMERCE_STOREFRONT_API_TOKEN=<>
+BIGCOMMERCE_STORE_API_URL=<>
+BIGCOMMERCE_STORE_API_TOKEN=<>
+BIGCOMMERCE_STORE_API_CLIENT_ID=<>
+BIGCOMMERCE_CHANNEL_ID=<>
+```
+
+If your project was started with a "Deploy with Vercel" button, you can use Vercel's CLI to retrieve these credentials.
+
+1. Install Vercel CLI: `npm i -g vercel`
+2. Link local instance with Vercel and Github accounts (creates .vercel file): `vercel link`
+3. Download your environment variables: `vercel env pull .env.local`
+
+Next, you're free to customize the starter. More updates coming soon. Stay tuned.
+
+
+
+
+BigCommerce shows a Coming Soon page and requests a Preview Code
+
+After Email confirmation, Checkout should be manually enabled through BigCommerce platform. Look for "Review & test your store" section through BigCommerce's dashboard.
+
+
+BigCommerce team has been notified and they plan to add more detailed about this subject.
+
diff --git a/framework/swell/api/index.ts b/framework/swell/api/index.ts
index 1e328062b..1494af9c7 100644
--- a/framework/swell/api/index.ts
+++ b/framework/swell/api/index.ts
@@ -6,11 +6,10 @@ import {
SWELL_COOKIE_EXPIRE,
} from '../const'
-import fetcher from '../fetcher'
-import fetchSwellApi from './utils/fetch-swell-api'
+import fetchApi from './utils/fetch-swell-api'
export interface SwellConfig extends CommerceAPIConfig {
- fetchSwell: any
+ fetch: any
}
export class Config {
@@ -38,8 +37,7 @@ const config = new Config({
apiToken: ''!,
cartCookie: SWELL_CHECKOUT_ID_COOKIE,
cartCookieMaxAge: SWELL_COOKIE_EXPIRE,
- fetchSwell: fetchSwellApi,
- fetch: fetcher,
+ fetch: fetchApi,
customerCookie: SWELL_CUSTOMER_TOKEN_COOKIE,
})
diff --git a/framework/swell/api/utils/fetch-all-products.ts b/framework/swell/api/utils/fetch-all-products.ts
deleted file mode 100644
index 38ba5f6e3..000000000
--- a/framework/swell/api/utils/fetch-all-products.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { SwellConfig } from '..'
-import { SwellProduct } from '../../types'
-
-const fetchAllProducts = async ({
- config,
- query,
- method,
- variables,
- acc = [],
-}: {
- config: SwellConfig
- query: string
- method: string
- acc?: SwellProduct[]
- variables?: any
- cursor?: string
-}): Promise => {
- const response = await config.fetchSwell(query, method, variables)
-
- acc = acc.concat(response.results)
-
- return acc
-}
-
-export default fetchAllProducts
diff --git a/framework/swell/api/utils/fetch-swell-api.ts b/framework/swell/api/utils/fetch-swell-api.ts
index d70b71954..65caed763 100644
--- a/framework/swell/api/utils/fetch-swell-api.ts
+++ b/framework/swell/api/utils/fetch-swell-api.ts
@@ -1,11 +1,7 @@
import { swellConfig } from '../..'
-const fetchSwellApi = async (
- query: string,
- method: string,
- variables: [] = []
-) => {
+const fetchApi = async (query: string, method: string, variables: [] = []) => {
const { swell } = swellConfig
- return await swell[query][method](...variables)
+ return swell[query][method](...variables)
}
-export default fetchSwellApi
+export default fetchApi
diff --git a/framework/swell/auth/use-signup.tsx b/framework/swell/auth/use-signup.tsx
index a3dbf73a3..f01d45044 100644
--- a/framework/swell/auth/use-signup.tsx
+++ b/framework/swell/auth/use-signup.tsx
@@ -5,10 +5,6 @@ import useSignup, { UseSignup } from '@commerce/auth/use-signup'
import useCustomer from '../customer/use-customer'
import { CustomerCreateInput } from '../schema'
-import {
- customerCreateMutation,
- customerAccessTokenCreateMutation,
-} from '../utils/mutations'
import handleLogin from '../utils/handle-login'
export default useSignup as UseSignup
diff --git a/framework/swell/cart/use-cart.tsx b/framework/swell/cart/use-cart.tsx
index 354b4f947..531286ee6 100644
--- a/framework/swell/cart/use-cart.tsx
+++ b/framework/swell/cart/use-cart.tsx
@@ -1,27 +1,37 @@
import useCart, { UseCart } from '@commerce/cart/use-cart'
import { Cart } from '@commerce/types'
import { SWRHook } from '@commerce/utils/types'
+import { useMemo } from 'react'
import { normalizeCart } from '../utils/normalize'
import { checkoutCreate, checkoutToCart } from './utils'
export default useCart as UseCart
-export const handler: SWRHook = {
+export const handler: SWRHook = {
fetchOptions: {
query: 'cart',
method: 'get',
},
- async fetcher({ options, fetch }) {
+ async fetcher({ fetch }) {
const cart = await checkoutCreate(fetch)
return cart ? normalizeCart(cart) : null
},
useHook: ({ useData }) => (input) => {
- return useData({
- swrOptions: {
- revalidateOnFocus: false,
- ...input?.swrOptions,
- },
+ const response = useData({
+ swrOptions: { revalidateOnFocus: false, ...input?.swrOptions },
})
+ return useMemo(
+ () =>
+ Object.create(response, {
+ isEmpty: {
+ get() {
+ return (response.data?.lineItems.length ?? 0) <= 0
+ },
+ enumerable: true,
+ },
+ }),
+ [response]
+ )
},
}
diff --git a/framework/swell/cart/use-update-item.tsx b/framework/swell/cart/use-update-item.tsx
index b74b65dc9..e4261fc85 100644
--- a/framework/swell/cart/use-update-item.tsx
+++ b/framework/swell/cart/use-update-item.tsx
@@ -47,7 +47,7 @@ export const handler = {
}
const response = await fetch({
...options,
- variables: [item.itemId, { quantity: item.quantity }],
+ variables: [itemId, { quantity: item.quantity }],
})
return checkoutToCart(response)
@@ -79,7 +79,6 @@ export const handler = {
const data = await fetch({
input: {
item: {
- itemId,
productId,
variantId,
quantity: input.quantity,
diff --git a/framework/swell/cart/utils/checkout-to-cart.ts b/framework/swell/cart/utils/checkout-to-cart.ts
index 19a8bfd0b..d6dfda206 100644
--- a/framework/swell/cart/utils/checkout-to-cart.ts
+++ b/framework/swell/cart/utils/checkout-to-cart.ts
@@ -1,5 +1,5 @@
import { Cart } from '../../types'
-import { CommerceError, ValidationError } from '@commerce/utils/errors'
+import { CommerceError } from '@commerce/utils/errors'
import {
CheckoutLineItemsAddPayload,
@@ -20,8 +20,7 @@ const checkoutToCart = (checkoutPayload?: Maybe): Cart => {
message: 'Invalid response from Swell',
})
}
-
- return normalizeCart(checkoutPayload)
+ return normalizeCart(checkoutPayload as any)
}
export default checkoutToCart
diff --git a/framework/swell/common/get-all-pages.ts b/framework/swell/common/get-all-pages.ts
index 99e07f6e6..8d0b9cf36 100644
--- a/framework/swell/common/get-all-pages.ts
+++ b/framework/swell/common/get-all-pages.ts
@@ -23,12 +23,13 @@ const getAllPages = async (options?: {
}): Promise => {
let { config, variables = { first: 250 } } = options ?? {}
config = getConfig(config)
- const { locale, fetchSwell } = config
- const { results } = await fetchSwell('content', 'list', ['pages'])
- const pages = results.map(({ slug, ...rest }: { slug: string }) => ({
- url: `/${locale}/${slug}`,
- ...rest,
- }))
+ const { locale, fetch } = config
+ const data = await fetch('content', 'list', ['pages'])
+ const pages =
+ data?.results?.map(({ slug, ...rest }: { slug: string }) => ({
+ url: `/${locale}/${slug}`,
+ ...rest,
+ })) ?? []
return { pages }
}
diff --git a/framework/swell/common/get-page.ts b/framework/swell/common/get-page.ts
index e5ca005e0..dca317a19 100644
--- a/framework/swell/common/get-page.ts
+++ b/framework/swell/common/get-page.ts
@@ -17,7 +17,7 @@ const getPage = async (options: {
config = getConfig(config)
const { locale } = config
const { id } = variables
- const result = await config.fetchSwell('content', 'get', ['pages', id])
+ const result = await config.fetch('content', 'get', ['pages', id])
const page = result
return {
diff --git a/framework/swell/fetcher.ts b/framework/swell/fetcher.ts
index e52d8fd54..f18dcf667 100644
--- a/framework/swell/fetcher.ts
+++ b/framework/swell/fetcher.ts
@@ -1,22 +1,27 @@
import { Fetcher } from '@commerce/utils/types'
import { handleFetchResponse } from './utils'
import { swellConfig } from './index'
+import { CommerceError } from '@commerce/utils/errors'
const fetcher: Fetcher = async ({ method = 'get', variables, query }) => {
const { swell } = swellConfig
+
async function callSwell() {
if (Array.isArray(variables)) {
const arg1 = variables[0]
const arg2 = variables[1]
- const response = await swell[query][method](arg1, arg2)
+ const response = await swell[query!][method](arg1, arg2)
return handleFetchResponse(response)
} else {
- const response = await swell[query][method](variables)
+ const response = await swell[query!][method](variables)
return handleFetchResponse(response)
}
}
- if (query in swell) {
+
+ if (query && query in swell) {
return await callSwell()
+ } else {
+ throw new CommerceError({ message: 'Invalid query argument!' })
}
}
diff --git a/framework/swell/product/get-all-collections.ts b/framework/swell/product/get-all-collections.ts
index e6da3ade4..6b82ce449 100644
--- a/framework/swell/product/get-all-collections.ts
+++ b/framework/swell/product/get-all-collections.ts
@@ -9,7 +9,7 @@ const getAllCollections = async (options?: {
let { config, variables = { limit: 25 } } = options ?? {}
config = getConfig(config)
- const response = await config.fetchSwell('categories', 'list', { variables })
+ const response = await config.fetch('categories', 'list', { variables })
const edges = response.results ?? []
const categories = edges.map(
diff --git a/framework/swell/product/get-all-product-paths.ts b/framework/swell/product/get-all-product-paths.ts
index 3b95798e4..933eb73bc 100644
--- a/framework/swell/product/get-all-product-paths.ts
+++ b/framework/swell/product/get-all-product-paths.ts
@@ -1,5 +1,5 @@
+import { SwellProduct } from '../types'
import { getConfig, SwellConfig } from '../api'
-import fetchAllProducts from '../api/utils/fetch-all-products'
type ProductPath = {
path: string
@@ -21,15 +21,14 @@ const getAllProductPaths = async (options?: {
let { config, variables = [{ limit: 100 }] } = options ?? {}
config = getConfig(config)
- const products = await fetchAllProducts({
- config,
- query: 'products',
- method: 'list',
- variables,
- })
+ const { results } = await config.fetch('products', 'list', [
+ {
+ limit: variables.first,
+ },
+ ])
return {
- products: products?.map(({ slug: handle }) => ({
+ products: results?.map(({ slug: handle }: SwellProduct) => ({
node: {
path: `/${handle}`,
},
diff --git a/framework/swell/product/get-all-products.ts b/framework/swell/product/get-all-products.ts
index a129c18a2..c0746efca 100644
--- a/framework/swell/product/get-all-products.ts
+++ b/framework/swell/product/get-all-products.ts
@@ -19,7 +19,7 @@ const getAllProducts = async (options: {
}): Promise => {
let { config, variables = { first: 250 } } = options ?? {}
config = getConfig(config)
- const { results } = await config.fetchSwell('products', 'list', [
+ const { results } = await config.fetch('products', 'list', [
{
limit: variables.first,
},
diff --git a/framework/swell/product/get-product.ts b/framework/swell/product/get-product.ts
index 15fde1cfa..0d75a57cd 100644
--- a/framework/swell/product/get-product.ts
+++ b/framework/swell/product/get-product.ts
@@ -18,10 +18,12 @@ const getProduct = async (options: {
let { config, variables } = options ?? {}
config = getConfig(config)
- const product = await config.fetchSwell('products', 'get', [variables.slug])
+ const product = await config.fetch('products', 'get', [variables.slug])
+
if (product && product.variants) {
product.variants = product.variants?.results
}
+
return {
product: product ? normalizeProduct(product) : null,
}
diff --git a/framework/swell/types.ts b/framework/swell/types.ts
index 248ea3158..71848d4a4 100644
--- a/framework/swell/types.ts
+++ b/framework/swell/types.ts
@@ -90,7 +90,7 @@ export interface Cart extends Core.Cart {
}
export interface LineItem extends Core.LineItem {
- options: any[]
+ options?: any[]
}
/**
diff --git a/framework/swell/utils/get-categories.ts b/framework/swell/utils/get-categories.ts
index 5b9ba501e..4372dde4e 100644
--- a/framework/swell/utils/get-categories.ts
+++ b/framework/swell/utils/get-categories.ts
@@ -1,15 +1,15 @@
import { SwellConfig } from '../api'
export type Category = {
- id: string
+ entityId: string
name: string
- slug: string
+ path: string
}
const getCategories = async (config: SwellConfig): Promise => {
- const data = await config.fetchSwell('categories', 'get')
+ const data = await config.fetch('categories', 'get')
return (
- data.results.map(({ id: entityId, name, slug }: Category) => ({
+ data.results.map(({ id: entityId, name, slug }: any) => ({
entityId,
name,
path: `/${slug}`,
diff --git a/framework/swell/utils/get-vendors.ts b/framework/swell/utils/get-vendors.ts
index 9f2184fc3..1ede68835 100644
--- a/framework/swell/utils/get-vendors.ts
+++ b/framework/swell/utils/get-vendors.ts
@@ -13,7 +13,7 @@ export type Brands = BrandEdge[]
const getVendors = async (config: SwellConfig) => {
const vendors: [string] =
- (await config.fetchSwell('attributes', 'get', ['brand']))?.values ?? []
+ (await config.fetch('attributes', 'get', ['brand']))?.values ?? []
return [...new Set(vendors)].map((v) => ({
node: {
diff --git a/framework/swell/utils/normalize.ts b/framework/swell/utils/normalize.ts
index cc8eafdb7..5e54428ca 100644
--- a/framework/swell/utils/normalize.ts
+++ b/framework/swell/utils/normalize.ts
@@ -1,11 +1,6 @@
import { Product, Customer } from '@commerce/types'
-import {
- Checkout,
- CheckoutLineItemEdge,
- MoneyV2,
- ProductOption,
-} from '../schema'
+import { MoneyV2, ProductOption } from '../schema'
import type {
Cart,
diff --git a/pages/[...pages].tsx b/pages/[...pages].tsx
index 67adb6287..3f39845b5 100644
--- a/pages/[...pages].tsx
+++ b/pages/[...pages].tsx
@@ -25,8 +25,7 @@ export async function getStaticProps({
const pageItem = pages.find((p) => (p.url ? getSlug(p.url) === slug : false))
const data =
pageItem &&
- // TODO: Shopify - Fix this type
- (await getPage({ variables: { id: pageItem.id! } as any, config, preview }))
+ (await getPage({ variables: { id: pageItem.id! }, config, preview }))
const page = data?.page
if (!page) {
diff --git a/pages/search.tsx b/pages/search.tsx
index da2edccd8..78f784572 100644
--- a/pages/search.tsx
+++ b/pages/search.tsx
@@ -75,9 +75,7 @@ export default function Search({
const { data } = useSearch({
search: typeof q === 'string' ? q : '',
- // TODO: Shopify - Fix this type
- categoryId: activeCategory?.entityId as any,
- // TODO: Shopify - Fix this type
+ categoryId: activeCategory?.entityId,
brandId: (activeBrand as any)?.entityId,
sort: typeof sort === 'string' ? sort : '',
})
diff --git a/tsconfig.json b/tsconfig.json
index e20f37099..9e712fb18 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -22,8 +22,8 @@
"@components/*": ["components/*"],
"@commerce": ["framework/commerce"],
"@commerce/*": ["framework/commerce/*"],
- "@framework": ["framework/shopify"],
- "@framework/*": ["framework/shopify/*"]
+ "@framework": ["framework/bigcommerce"],
+ "@framework/*": ["framework/bigcommerce/*"]
}
},
"include": ["next-env.d.ts", "**/*.d.ts", "**/*.ts", "**/*.tsx", "**/*.js"],
diff --git a/yarn.lock b/yarn.lock
index 8bc30e067..6a04c4ac7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1007,32 +1007,6 @@
resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.0.tgz#14f854c0f93d326e39da6e3b6f34f7d37513d108"
integrity sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==
-"@types/eslint-scope@^3.7.0":
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86"
- integrity sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==
- dependencies:
- "@types/eslint" "*"
- "@types/estree" "*"
-
-"@types/eslint@*":
- version "7.2.6"
- resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.6.tgz#5e9aff555a975596c03a98b59ecd103decc70c3c"
- integrity sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw==
- dependencies:
- "@types/estree" "*"
- "@types/json-schema" "*"
-
-"@types/estree@*":
- version "0.0.46"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe"
- integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==
-
-"@types/estree@^0.0.45":
- version "0.0.45"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884"
- integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==
-
"@types/http-proxy-agent@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@types/http-proxy-agent/-/http-proxy-agent-2.0.2.tgz#942c1f35c7e1f0edd1b6ffae5d0f9051cfb32be1"
@@ -1050,11 +1024,6 @@
resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.6.tgz#7f10c926aa41e189a2755c4c7fcf8e4573bd7ac1"
integrity sha512-cK4XqrLvP17X6c0C8n4iTbT59EixqyXL3Fk8/Rsk4dF3oX4dg70gYUXrXVUUHpnsGMPNlTQMqf+TVmNPX6FmSQ==
-"@types/json-schema@*", "@types/json-schema@^7.0.6":
- version "7.0.7"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
- integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
-
"@types/json-stable-stringify@^1.0.32":
version "1.0.32"
resolved "https://registry.yarnpkg.com/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz#121f6917c4389db3923640b2e68de5fa64dda88e"
@@ -1200,161 +1169,6 @@
agentkeepalive "3.4.1"
debug "3.1.0"
-"@webassemblyjs/ast@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.1.tgz#76c6937716d68bf1484c15139f5ed30b9abc8bb4"
- integrity sha512-uMu1nCWn2Wxyy126LlGqRVlhdTOsO/bsBRI4dNq3+6SiSuRKRQX6ejjKgh82LoGAPSq72lDUiQ4FWVaf0PecYw==
- dependencies:
- "@webassemblyjs/helper-module-context" "1.9.1"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.1"
- "@webassemblyjs/wast-parser" "1.9.1"
-
-"@webassemblyjs/floating-point-hex-parser@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.1.tgz#9eb0ff90a1cdeef51f36ba533ed9f06b5cdadd09"
- integrity sha512-5VEKu024RySmLKTTBl9q1eO/2K5jk9ZS+2HXDBLA9s9p5IjkaXxWiDb/+b7wSQp6FRdLaH1IVGIfOex58Na2pg==
-
-"@webassemblyjs/helper-api-error@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.1.tgz#ad89015c4246cd7f5ed0556700237f8b9c2c752f"
- integrity sha512-y1lGmfm38djrScwpeL37rRR9f1D6sM8RhMpvM7CYLzOlHVboouZokXK/G88BpzW0NQBSvCCOnW5BFhten4FPfA==
-
-"@webassemblyjs/helper-buffer@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.1.tgz#186e67ac25f9546ea7939759413987f157524133"
- integrity sha512-uS6VSgieHbk/m4GSkMU5cqe/5TekdCzQso4revCIEQ3vpGZgqSSExi4jWpTWwDpAHOIAb1Jfrs0gUB9AA4n71w==
-
-"@webassemblyjs/helper-code-frame@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.1.tgz#aab177b7cc87a318a8f8664ad68e2c3828ebc42b"
- integrity sha512-ZQ2ZT6Evk4DPIfD+92AraGYaFIqGm4U20e7FpXwl7WUo2Pn1mZ1v8VGH8i+Y++IQpxPbQo/UyG0Khs7eInskzA==
- dependencies:
- "@webassemblyjs/wast-printer" "1.9.1"
-
-"@webassemblyjs/helper-fsm@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.1.tgz#527e91628e84d13d3573884b3dc4c53a81dcb911"
- integrity sha512-J32HGpveEqqcKFS0YbgicB0zAlpfIxJa5MjxDxhu3i5ltPcVfY5EPvKQ1suRguFPehxiUs+/hfkwPEXom/l0lw==
-
-"@webassemblyjs/helper-module-context@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.1.tgz#778670b3d471f7cf093d1e7c0dde431b54310e16"
- integrity sha512-IEH2cMmEQKt7fqelLWB5e/cMdZXf2rST1JIrzWmf4XBt3QTxGdnnLvV4DYoN8pJjOx0VYXsWg+yF16MmJtolZg==
- dependencies:
- "@webassemblyjs/ast" "1.9.1"
-
-"@webassemblyjs/helper-wasm-bytecode@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.1.tgz#563f59bcf409ccf469edde168b9426961ffbf6df"
- integrity sha512-i2rGTBqFUcSXxyjt2K4vm/3kkHwyzG6o427iCjcIKjOqpWH8SEem+xe82jUk1iydJO250/CvE5o7hzNAMZf0dQ==
-
-"@webassemblyjs/helper-wasm-section@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.1.tgz#f7988f94c12b01b99a16120cb01dc099b00e4798"
- integrity sha512-FetqzjtXZr2d57IECK+aId3D0IcGweeM0CbAnJHkYJkcRTHP+YcMb7Wmc0j21h5UWBpwYGb9dSkK/93SRCTrGg==
- dependencies:
- "@webassemblyjs/ast" "1.9.1"
- "@webassemblyjs/helper-buffer" "1.9.1"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.1"
- "@webassemblyjs/wasm-gen" "1.9.1"
-
-"@webassemblyjs/ieee754@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.1.tgz#3b715871ca7d75784717cf9ceca9d7b81374b8af"
- integrity sha512-EvTG9M78zP1MmkBpUjGQHZc26DzPGZSLIPxYHCjQsBMo60Qy2W34qf8z0exRDtxBbRIoiKa5dFyWer/7r1aaSQ==
- dependencies:
- "@xtuc/ieee754" "^1.2.0"
-
-"@webassemblyjs/leb128@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.1.tgz#b2ecaa39f9e8277cc9c707c1ca8b2aa7b27d0b72"
- integrity sha512-Oc04ub0vFfLnF+2/+ki3AE+anmW4sv9uNBqb+79fgTaPv6xJsOT0dhphNfL3FrME84CbX/D1T9XT8tjFo0IIiw==
- dependencies:
- "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/utf8@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.1.tgz#d02d9daab85cda3211e43caf31dca74c260a73b0"
- integrity sha512-llkYtppagjCodFjo0alWOUhAkfOiQPQDIc5oA6C9sFAXz7vC9QhZf/f8ijQIX+A9ToM3c9Pq85X0EX7nx9gVhg==
-
-"@webassemblyjs/wasm-edit@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.1.tgz#e27a6bdbf78e5c72fa812a2fc3cbaad7c3e37578"
- integrity sha512-S2IaD6+x9B2Xi8BCT0eGsrXXd8UxAh2LVJpg1ZMtHXnrDcsTtIX2bDjHi40Hio6Lc62dWHmKdvksI+MClCYbbw==
- dependencies:
- "@webassemblyjs/ast" "1.9.1"
- "@webassemblyjs/helper-buffer" "1.9.1"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.1"
- "@webassemblyjs/helper-wasm-section" "1.9.1"
- "@webassemblyjs/wasm-gen" "1.9.1"
- "@webassemblyjs/wasm-opt" "1.9.1"
- "@webassemblyjs/wasm-parser" "1.9.1"
- "@webassemblyjs/wast-printer" "1.9.1"
-
-"@webassemblyjs/wasm-gen@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.1.tgz#56a0787d1fa7994fdc7bea59004e5bec7189c5fc"
- integrity sha512-bqWI0S4lBQsEN5FTZ35vYzfKUJvtjNnBobB1agCALH30xNk1LToZ7Z8eiaR/Z5iVECTlBndoRQV3F6mbEqE/fg==
- dependencies:
- "@webassemblyjs/ast" "1.9.1"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.1"
- "@webassemblyjs/ieee754" "1.9.1"
- "@webassemblyjs/leb128" "1.9.1"
- "@webassemblyjs/utf8" "1.9.1"
-
-"@webassemblyjs/wasm-opt@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.1.tgz#fbdf8943a825e6dcc4cd69c3e092289fa4aec96c"
- integrity sha512-gSf7I7YWVXZ5c6XqTEqkZjVs8K1kc1k57vsB6KBQscSagDNbAdxt6MwuJoMjsE1yWY1tsuL+pga268A6u+Fdkg==
- dependencies:
- "@webassemblyjs/ast" "1.9.1"
- "@webassemblyjs/helper-buffer" "1.9.1"
- "@webassemblyjs/wasm-gen" "1.9.1"
- "@webassemblyjs/wasm-parser" "1.9.1"
-
-"@webassemblyjs/wasm-parser@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.1.tgz#5e8352a246d3f605312c8e414f7990de55aaedfa"
- integrity sha512-ImM4N2T1MEIond0MyE3rXvStVxEmivQrDKf/ggfh5pP6EHu3lL/YTAoSrR7shrbKNPpeKpGesW1LIK/L4kqduw==
- dependencies:
- "@webassemblyjs/ast" "1.9.1"
- "@webassemblyjs/helper-api-error" "1.9.1"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.1"
- "@webassemblyjs/ieee754" "1.9.1"
- "@webassemblyjs/leb128" "1.9.1"
- "@webassemblyjs/utf8" "1.9.1"
-
-"@webassemblyjs/wast-parser@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.1.tgz#e25ef13585c060073c1db0d6bd94340fdeee7596"
- integrity sha512-2xVxejXSvj3ls/o2TR/zI6p28qsGupjHhnHL6URULQRcXmryn3w7G83jQMcT7PHqUfyle65fZtWLukfdLdE7qw==
- dependencies:
- "@webassemblyjs/ast" "1.9.1"
- "@webassemblyjs/floating-point-hex-parser" "1.9.1"
- "@webassemblyjs/helper-api-error" "1.9.1"
- "@webassemblyjs/helper-code-frame" "1.9.1"
- "@webassemblyjs/helper-fsm" "1.9.1"
- "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/wast-printer@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.1.tgz#b9f38e93652037d4f3f9c91584635af4191ed7c1"
- integrity sha512-tDV8V15wm7mmbAH6XvQRU1X+oPGmeOzYsd6h7hlRLz6QpV4Ec/KKxM8OpLtFmQPLCreGxTp+HuxtH4pRIZyL9w==
- dependencies:
- "@webassemblyjs/ast" "1.9.1"
- "@webassemblyjs/wast-parser" "1.9.1"
- "@xtuc/long" "4.2.2"
-
-"@xtuc/ieee754@^1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
- integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
-
-"@xtuc/long@4.2.2":
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
- integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
-
"@zeit/dns-cached-resolve@2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@zeit/dns-cached-resolve/-/dns-cached-resolve-2.1.0.tgz#78583010df1683fdb7b05949b75593c9a8641bc1"
@@ -1417,12 +1231,7 @@ aggregate-error@^3.0.0:
clean-stack "^2.0.0"
indent-string "^4.0.0"
-ajv-keywords@^3.5.2:
- version "3.5.2"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
- integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
-
-ajv@^6.12.5, ajv@^6.12.6:
+ajv@^6.12.6:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -1518,6 +1327,14 @@ argparse@^1.0.7:
dependencies:
sprintf-js "~1.0.2"
+array-includes-with-glob@^3.0.6:
+ version "3.0.16"
+ resolved "https://registry.yarnpkg.com/array-includes-with-glob/-/array-includes-with-glob-3.0.16.tgz#fdf2bf1e914cb9b95bd2a866194ede0ab3225d7b"
+ integrity sha512-uFwmmz78W4WzmMsLKojbCA2q5EbqugWFMm5zDyO+SSR6eW1rqzoxramiTCJYq1o/NZijt1szOJMA29JHZuU34A==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+ matcher "^4.0.0"
+
array-union@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
@@ -1826,7 +1643,7 @@ browserslist@4.16.1:
escalade "^3.1.1"
node-releases "^1.1.69"
-browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^4.6.4:
+browserslist@^4.12.0, browserslist@^4.16.1, browserslist@^4.6.4:
version "4.16.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717"
integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==
@@ -2023,13 +1840,6 @@ chokidar@3.5.1, chokidar@^3.4.3:
optionalDependencies:
fsevents "~2.3.1"
-chrome-trace-event@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
- integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
- dependencies:
- tslib "^1.9.0"
-
ci-info@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
@@ -2180,7 +1990,7 @@ combined-stream@^1.0.6, combined-stream@^1.0.8:
dependencies:
delayed-stream "~1.0.0"
-commander@^2.13.0, commander@^2.16.0, commander@^2.20.0, commander@^2.20.3, commander@^2.8.1:
+commander@^2.13.0, commander@^2.16.0, commander@^2.20.3, commander@^2.8.1:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
@@ -2511,11 +2321,6 @@ dedent@^0.7.0:
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
-dedent@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
- integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
-
deep-extend@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
@@ -2526,7 +2331,7 @@ deep-is@~0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
-deepmerge@^4.2.2:
+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==
@@ -2820,14 +2625,6 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0:
memory-fs "^0.5.0"
tapable "^1.0.0"
-enhanced-resolve@^5.3.1:
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c"
- integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==
- dependencies:
- graceful-fs "^4.2.4"
- tapable "^2.2.0"
-
enquirer@^2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
@@ -2905,14 +2702,6 @@ escodegen@^1.8.0:
optionalDependencies:
source-map "~0.6.1"
-eslint-scope@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
- integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^4.1.1"
-
eslint-visitor-keys@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
@@ -2923,23 +2712,11 @@ esprima@4.0.1, esprima@^4.0.0, esprima@^4.0.1:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-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@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.2.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-estraverse@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
- integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
-
esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
@@ -2950,7 +2727,7 @@ etag@1.8.1:
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
-events@^3.0.0, events@^3.2.0:
+events@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379"
integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==
@@ -3326,7 +3103,7 @@ got@^9.6.0:
to-readable-stream "^1.0.0"
url-parse-lax "^3.0.0"
-graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.6"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
@@ -3876,15 +3653,6 @@ jest-worker@24.9.0:
merge-stream "^2.0.0"
supports-color "^6.1.0"
-jest-worker@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed"
- integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==
- dependencies:
- "@types/node" "*"
- merge-stream "^2.0.0"
- supports-color "^7.0.0"
-
js-cookie@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8"
@@ -3913,11 +3681,6 @@ json-buffer@3.0.0:
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
-json-parse-better-errors@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
- integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-
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"
@@ -4129,11 +3892,6 @@ listr@^0.14.3:
p-map "^2.0.0"
rxjs "^6.3.3"
-loader-runner@^4.1.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384"
- integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==
-
loader-utils@1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
@@ -4499,7 +4257,7 @@ mime-db@1.45.0:
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
-mime-types@^2.1.12, mime-types@^2.1.27:
+mime-types@^2.1.12:
version "2.1.28"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd"
integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==
@@ -4624,11 +4382,6 @@ native-url@0.3.4:
dependencies:
querystring "^0.2.0"
-neo-async@^2.6.2:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
- integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
-
next-seo@^4.11.0:
version "4.19.0"
resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-4.19.0.tgz#b3be79a544e420dbbf1e4fcff98dad9790f15e36"
@@ -4960,7 +4713,7 @@ p-limit@3.0.2:
dependencies:
p-try "^2.0.0"
-p-limit@3.1.0, p-limit@^3.0.2, p-limit@^3.1.0:
+p-limit@3.1.0, p-limit@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
@@ -5727,7 +5480,7 @@ quick-lru@^4.0.1:
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f"
integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==
-randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
+randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
@@ -6074,15 +5827,6 @@ scheduler@^0.20.1:
loose-envify "^1.1.0"
object-assign "^4.1.1"
-schema-utils@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef"
- integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==
- dependencies:
- "@types/json-schema" "^7.0.6"
- ajv "^6.12.5"
- ajv-keywords "^3.5.2"
-
scuid@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/scuid/-/scuid-1.1.0.tgz#d3f9f920956e737a60f72d0e4ad280bf324d5dab"
@@ -6115,13 +5859,6 @@ semver@^7.3.2:
dependencies:
lru-cache "^6.0.0"
-serialize-javascript@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4"
- integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==
- dependencies:
- randombytes "^2.1.0"
-
set-blocking@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -6162,18 +5899,6 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-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==
-
shell-quote@1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
@@ -6238,12 +5963,7 @@ slice-ansi@^4.0.0:
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"
-source-list-map@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
- integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
-
-source-map-support@^0.5.17, source-map-support@~0.5.19:
+source-map-support@^0.5.17:
version "0.5.19"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
@@ -6251,7 +5971,7 @@ source-map-support@^0.5.17, source-map-support@~0.5.19:
buffer-from "^1.0.0"
source-map "^0.6.0"
-source-map@0.7.3, source-map@~0.7.2:
+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==
@@ -6529,7 +6249,7 @@ supports-color@^6.1.0:
dependencies:
has-flag "^3.0.0"
-supports-color@^7.0.0, supports-color@^7.1.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==
@@ -6605,37 +6325,11 @@ tapable@^1.0.0:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
-tapable@^2.1.1, tapable@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b"
- integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==
-
temp@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/temp/-/temp-0.4.0.tgz#671ad63d57be0fe9d7294664b3fc400636678a60"
integrity sha1-ZxrWPVe+D+nXKUZks/xABjZnimA=
-terser-webpack-plugin@^5.0.3:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673"
- integrity sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==
- dependencies:
- jest-worker "^26.6.2"
- p-limit "^3.1.0"
- schema-utils "^3.0.0"
- serialize-javascript "^5.0.1"
- source-map "^0.6.1"
- terser "^5.5.1"
-
-terser@^5.5.1:
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.0.tgz#138cdf21c5e3100b1b3ddfddf720962f88badcd2"
- integrity sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==
- dependencies:
- commander "^2.20.0"
- source-map "~0.7.2"
- source-map-support "~0.5.19"
-
through@^2.3.6, through@^2.3.8:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
@@ -6946,7 +6640,7 @@ warning@^4.0.3:
dependencies:
loose-envify "^1.0.0"
-watchpack@2.1.1, watchpack@^2.0.0:
+watchpack@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7"
integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==
@@ -6981,44 +6675,6 @@ webpack-bundle-analyzer@4.3.0:
sirv "^1.0.7"
ws "^7.3.1"
-webpack-sources@^2.1.1:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac"
- integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==
- dependencies:
- source-list-map "^2.0.1"
- source-map "^0.6.1"
-
-webpack@5.11.1:
- version "5.11.1"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.11.1.tgz#39b2b9daeb5c6c620e03b7556ec674eaed4016b4"
- integrity sha512-tNUIdAmYJv+nupRs/U/gqmADm6fgrf5xE+rSlSsf2PgsGO7j2WG7ccU6AWNlOJlHFl+HnmXlBmHIkiLf+XA9mQ==
- dependencies:
- "@types/eslint-scope" "^3.7.0"
- "@types/estree" "^0.0.45"
- "@webassemblyjs/ast" "1.9.1"
- "@webassemblyjs/helper-module-context" "1.9.1"
- "@webassemblyjs/wasm-edit" "1.9.1"
- "@webassemblyjs/wasm-parser" "1.9.1"
- acorn "^8.0.4"
- browserslist "^4.14.5"
- chrome-trace-event "^1.0.2"
- enhanced-resolve "^5.3.1"
- eslint-scope "^5.1.1"
- events "^3.2.0"
- glob-to-regexp "^0.4.1"
- graceful-fs "^4.2.4"
- json-parse-better-errors "^1.0.2"
- loader-runner "^4.1.0"
- mime-types "^2.1.27"
- neo-async "^2.6.2"
- pkg-dir "^5.0.0"
- schema-utils "^3.0.0"
- tapable "^2.1.1"
- terser-webpack-plugin "^5.0.3"
- watchpack "^2.0.0"
- webpack-sources "^2.1.1"
-
whatwg-fetch@^3.4.1:
version "3.5.0"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz#605a2cd0a7146e5db141e29d1c62ab84c0c4c868"