Compare commits

...

6 commits
main ... envs

Author SHA1 Message Date
Lukasz Ostrowski
d9350dd5dd Restore proper app skd version after conflicts 2023-07-03 11:26:42 +02:00
Lukasz Ostrowski
99166f6aa9 Link docs 2023-07-03 11:25:17 +02:00
Lukasz Ostrowski
e7a3df4777 Merge branch 'main' into envs 2023-07-03 11:21:17 +02:00
Lukasz Ostrowski
1e0c1cc818 sort manifest 2023-07-03 11:07:38 +02:00
Lukasz Ostrowski
5b576fa8d3 Add docker envs 2023-06-28 16:13:05 +02:00
Lukasz Ostrowski
04cf93ca22 Add development envs 2023-06-28 15:36:07 +02:00
40 changed files with 512 additions and 206 deletions

View file

@ -0,0 +1,15 @@
---
"saleor-app-emails-and-messages": minor
"saleor-app-data-importer": minor
"saleor-app-products-feed": minor
"saleor-app-monitoring": minor
"saleor-app-invoices": minor
"saleor-app-klaviyo": minor
"saleor-app-search": minor
"saleor-app-slack": minor
"saleor-app-taxes": minor
"saleor-app-cms": minor
"saleor-app-crm": minor
---
Added additional ENV variables (see each app's .env.example), that can overwrite app base URL. This change allows easy apps development using Docker

View file

@ -8,3 +8,11 @@ REST_APL_ENDPOINT=
REST_APL_TOKEN= REST_APL_TOKEN=
APP_LOG_LEVEL=info APP_LOG_LEVEL=info
# Local development variables. When developped locally with Saleor inside docker, these can be set to:
# APP_IFRAME_BASE_URL = http://localhost:3000, so Dashboard on host can access iframe
# APP_API_BASE_URL=http://host.docker.internal:3000 - so Saleor can reach App running on host, from the container.
# If developped with tunnels, set this empty, it will fallback to default Next's localhost:3000
# https://docs.saleor.io/docs/3.x/developer/extending/apps/local-app-development
APP_IFRAME_BASE_URL=
APP_API_BASE_URL=

View file

@ -8,15 +8,18 @@ import { productVariantDeletedWebhook } from "./webhooks/product-variant-deleted
import { productUpdatedWebhook } from "./webhooks/product-updated"; import { productUpdatedWebhook } from "./webhooks/product-updated";
export default createManifestHandler({ export default createManifestHandler({
async manifestFactory(context) { async manifestFactory({ appBaseUrl }) {
const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
const manifest: AppManifest = { const manifest: AppManifest = {
about: about:
"CMS App is a multi-integration app that connects Saleor with popular Content Management Systems.", "CMS App is a multi-integration app that connects Saleor with popular Content Management Systems.",
appUrl: context.appBaseUrl, appUrl: iframeBaseUrl,
author: "Saleor Commerce", author: "Saleor Commerce",
brand: { brand: {
logo: { logo: {
default: `${context.appBaseUrl}/logo.png`, default: `${apiBaseURL}/logo.png`,
}, },
}, },
dataPrivacyUrl: "https://saleor.io/legal/privacy/", dataPrivacyUrl: "https://saleor.io/legal/privacy/",
@ -26,13 +29,13 @@ export default createManifestHandler({
name: "CMS", name: "CMS",
permissions: ["MANAGE_PRODUCTS"], permissions: ["MANAGE_PRODUCTS"],
supportUrl: "https://github.com/saleor/apps/discussions", supportUrl: "https://github.com/saleor/apps/discussions",
tokenTargetUrl: `${context.appBaseUrl}/api/register`, tokenTargetUrl: `${apiBaseURL}/api/register`,
version: packageJson.version, version: packageJson.version,
webhooks: [ webhooks: [
productVariantCreatedWebhook.getWebhookManifest(context.appBaseUrl), productVariantCreatedWebhook.getWebhookManifest(apiBaseURL),
productVariantUpdatedWebhook.getWebhookManifest(context.appBaseUrl), productVariantUpdatedWebhook.getWebhookManifest(apiBaseURL),
productVariantDeletedWebhook.getWebhookManifest(context.appBaseUrl), productVariantDeletedWebhook.getWebhookManifest(apiBaseURL),
productUpdatedWebhook.getWebhookManifest(context.appBaseUrl), productUpdatedWebhook.getWebhookManifest(apiBaseURL),
], ],
}; };

View file

@ -18,7 +18,9 @@
"SENTRY_PROJECT", "SENTRY_PROJECT",
"SENTRY_ORG", "SENTRY_ORG",
"SENTRY_AUTH_TOKEN", "SENTRY_AUTH_TOKEN",
"SENTRY_ENVIRONMENT" "SENTRY_ENVIRONMENT",
"APP_IFRAME_BASE_URL",
"APP_API_BASE_URL"
] ]
} }
} }

View file

@ -9,4 +9,12 @@ REST_APL_TOKEN=
MAILCHIMP_CLIENT_ID= MAILCHIMP_CLIENT_ID=
MAILCHIMP_CLIENT_SECRET= MAILCHIMP_CLIENT_SECRET=
APP_LOG_LEVEL=info APP_LOG_LEVEL=info
# Local development variables. When developped locally with Saleor inside docker, these can be set to:
# APP_IFRAME_BASE_URL = http://localhost:3000, so Dashboard on host can access iframe
# APP_API_BASE_URL=http://host.docker.internal:3000 - so Saleor can reach App running on host, from the container.
# If developped with tunnels, set this empty, it will fallback to default Next's localhost:3000
# https://docs.saleor.io/docs/3.x/developer/extending/apps/local-app-development
APP_IFRAME_BASE_URL=
APP_API_BASE_URL=

View file

@ -6,14 +6,17 @@ import { customerCreatedWebhook } from "./webhooks/customer-created";
import { customerMetadataUpdatedWebhook } from "./webhooks/customer-updated"; import { customerMetadataUpdatedWebhook } from "./webhooks/customer-updated";
export default createManifestHandler({ export default createManifestHandler({
async manifestFactory(context) { async manifestFactory({ appBaseUrl }) {
const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
const manifest: AppManifest = { const manifest: AppManifest = {
about: "CRM App allows synchronization of customers from Saleor to other platforms", about: "CRM App allows synchronization of customers from Saleor to other platforms",
appUrl: context.appBaseUrl, appUrl: iframeBaseUrl,
author: "Saleor Commerce", author: "Saleor Commerce",
brand: { brand: {
logo: { logo: {
default: `${context.appBaseUrl}/logo.png`, default: `${apiBaseURL}/logo.png`,
}, },
}, },
dataPrivacyUrl: "https://saleor.io/legal/privacy/", dataPrivacyUrl: "https://saleor.io/legal/privacy/",
@ -34,11 +37,11 @@ export default createManifestHandler({
*/ */
], ],
supportUrl: "https://github.com/saleor/apps/discussions", supportUrl: "https://github.com/saleor/apps/discussions",
tokenTargetUrl: `${context.appBaseUrl}/api/register`, tokenTargetUrl: `${apiBaseURL}/api/register`,
version: packageJson.version, version: packageJson.version,
webhooks: [ webhooks: [
customerCreatedWebhook.getWebhookManifest(context.appBaseUrl), customerCreatedWebhook.getWebhookManifest(apiBaseURL),
customerMetadataUpdatedWebhook.getWebhookManifest(context.appBaseUrl), customerMetadataUpdatedWebhook.getWebhookManifest(apiBaseURL),
], ],
}; };

View file

@ -19,7 +19,9 @@
"SENTRY_PROJECT", "SENTRY_PROJECT",
"SENTRY_AUTH_TOKEN", "SENTRY_AUTH_TOKEN",
"SENTRY_ORG", "SENTRY_ORG",
"SENTRY_ENVIRONMENT" "SENTRY_ENVIRONMENT",
"APP_IFRAME_BASE_URL",
"APP_API_BASE_URL"
] ]
} }
} }

View file

@ -2,4 +2,12 @@
NEXT_PUBLIC_NUVO_LICENSE_KEY= NEXT_PUBLIC_NUVO_LICENSE_KEY=
NEXT_PUBLIC_NUVO_PROD_MODE=false NEXT_PUBLIC_NUVO_PROD_MODE=false
APP_LOG_LEVEL=info APP_LOG_LEVEL=info
# Local development variables. When developped locally with Saleor inside docker, these can be set to:
# APP_IFRAME_BASE_URL = http://localhost:3000, so Dashboard on host can access iframe
# APP_API_BASE_URL=http://host.docker.internal:3000 - so Saleor can reach App running on host, from the container.
# If developped with tunnels, set this empty, it will fallback to default Next's localhost:3000
# https://docs.saleor.io/docs/3.x/developer/extending/apps/local-app-development
APP_IFRAME_BASE_URL=
APP_API_BASE_URL=

View file

@ -4,15 +4,18 @@ import { AppManifest } from "@saleor/app-sdk/types";
import packageJson from "../../../package.json"; import packageJson from "../../../package.json";
export default createManifestHandler({ export default createManifestHandler({
async manifestFactory(context) { async manifestFactory({ appBaseUrl }) {
const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
const manifest: AppManifest = { const manifest: AppManifest = {
about: about:
"Data Importer allows batch import of shop data to Saleor from sources like CSV or Excel", "Data Importer allows batch import of shop data to Saleor from sources like CSV or Excel",
appUrl: context.appBaseUrl, appUrl: iframeBaseUrl,
author: "Saleor Commerce", author: "Saleor Commerce",
brand: { brand: {
logo: { logo: {
default: `${context.appBaseUrl}/logo.png`, default: `${apiBaseURL}/logo.png`,
}, },
}, },
dataPrivacyUrl: "https://saleor.io/legal/privacy/", dataPrivacyUrl: "https://saleor.io/legal/privacy/",
@ -27,7 +30,7 @@ export default createManifestHandler({
name: "Data Importer", name: "Data Importer",
permissions: ["MANAGE_USERS"], permissions: ["MANAGE_USERS"],
supportUrl: "https://github.com/saleor/apps/discussions", supportUrl: "https://github.com/saleor/apps/discussions",
tokenTargetUrl: `${context.appBaseUrl}/api/register`, tokenTargetUrl: `${apiBaseURL}/api/register`,
version: packageJson.version, version: packageJson.version,
webhooks: [ webhooks: [
/** /**

View file

@ -22,7 +22,9 @@
"SENTRY_ORG", "SENTRY_ORG",
"SENTRY_DSN", "SENTRY_DSN",
"SENTRY_ENVIRONMENT", "SENTRY_ENVIRONMENT",
"NEXT_PUBLIC_SENTRY_DSN" "NEXT_PUBLIC_SENTRY_DSN",
"APP_IFRAME_BASE_URL",
"APP_API_BASE_URL"
] ]
} }
} }

View file

@ -7,4 +7,12 @@ APL=
REST_APL_ENDPOINT= REST_APL_ENDPOINT=
REST_APL_TOKEN= REST_APL_TOKEN=
APP_LOG_LEVEL=info APP_LOG_LEVEL=info
# Local development variables. When developped locally with Saleor inside docker, these can be set to:
# APP_IFRAME_BASE_URL = http://localhost:3000, so Dashboard on host can access iframe
# APP_API_BASE_URL=http://host.docker.internal:3000 - so Saleor can reach App running on host, from the container.
# If developped with tunnels, set this empty, it will fallback to default Next's localhost:3000
# https://docs.saleor.io/docs/3.x/developer/extending/apps/local-app-development
APP_IFRAME_BASE_URL=
APP_API_BASE_URL=

View file

@ -4,15 +4,18 @@ import { AppManifest } from "@saleor/app-sdk/types";
import packageJson from "../../../package.json"; import packageJson from "../../../package.json";
export default createManifestHandler({ export default createManifestHandler({
async manifestFactory(context) { async manifestFactory({ appBaseUrl }) {
const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
const manifest: AppManifest = { const manifest: AppManifest = {
about: about:
"Emails & Messages App is a multi-vendor Saleor app that integrates with notification services.", "Emails & Messages App is a multi-vendor Saleor app that integrates with notification services.",
appUrl: context.appBaseUrl, appUrl: iframeBaseUrl,
author: "Saleor Commerce", author: "Saleor Commerce",
brand: { brand: {
logo: { logo: {
default: `${context.appBaseUrl}/logo.png`, default: `${apiBaseURL}/logo.png`,
}, },
}, },
dataPrivacyUrl: "https://saleor.io/legal/privacy/", dataPrivacyUrl: "https://saleor.io/legal/privacy/",
@ -31,7 +34,7 @@ export default createManifestHandler({
*/ */
requiredSaleorVersion: ">=3.10 <4", requiredSaleorVersion: ">=3.10 <4",
supportUrl: "https://github.com/saleor/apps/discussions", supportUrl: "https://github.com/saleor/apps/discussions",
tokenTargetUrl: `${context.appBaseUrl}/api/register`, tokenTargetUrl: `${apiBaseURL}/api/register`,
version: packageJson.version, version: packageJson.version,
}; };

View file

@ -19,7 +19,9 @@
"SENTRY_DSN", "SENTRY_DSN",
"SENTRY_AUTH_TOKEN", "SENTRY_AUTH_TOKEN",
"NEXT_PUBLIC_SENTRY_DSN", "NEXT_PUBLIC_SENTRY_DSN",
"SENTRY_ENVIRONMENT" "SENTRY_ENVIRONMENT",
"APP_IFRAME_BASE_URL",
"APP_API_BASE_URL"
] ]
} }
} }

View file

@ -8,4 +8,12 @@ APP_LOG_LEVEL=info
# See api/register.tsx # See api/register.tsx
# Leave empty to allow all domains # Leave empty to allow all domains
# Example: "https:\/\/.*.saleor.cloud\/graphql\/" to enable Saleor Cloud APIs # Example: "https:\/\/.*.saleor.cloud\/graphql\/" to enable Saleor Cloud APIs
ALLOWED_DOMAIN_PATTERN= ALLOWED_DOMAIN_PATTERN=
# Local development variables. When developped locally with Saleor inside docker, these can be set to:
# APP_IFRAME_BASE_URL = http://localhost:3000, so Dashboard on host can access iframe
# APP_API_BASE_URL=http://host.docker.internal:3000 - so Saleor can reach App running on host, from the container.
# If developped with tunnels, set this empty, it will fallback to default Next's localhost:3000
# https://docs.saleor.io/docs/3.x/developer/extending/apps/local-app-development
APP_IFRAME_BASE_URL=
APP_API_BASE_URL=

View file

@ -6,12 +6,20 @@ import { invoiceRequestedWebhook } from "./webhooks/invoice-requested";
import { REQUIRED_SALEOR_VERSION } from "../../saleor-app"; import { REQUIRED_SALEOR_VERSION } from "../../saleor-app";
export default createManifestHandler({ export default createManifestHandler({
async manifestFactory(context) { async manifestFactory({ appBaseUrl }) {
const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
const manifest: AppManifest = { const manifest: AppManifest = {
about: about:
"An app that generates PDF invoices for Orders and stores them in Saleor file storage.", "An app that generates PDF invoices for Orders and stores them in Saleor file storage.",
appUrl: context.appBaseUrl, appUrl: iframeBaseUrl,
author: "Saleor Commerce", author: "Saleor Commerce",
brand: {
logo: {
default: `${apiBaseURL}/logo.png`,
},
},
dataPrivacyUrl: "https://saleor.io/legal/privacy/", dataPrivacyUrl: "https://saleor.io/legal/privacy/",
extensions: [], extensions: [],
homepageUrl: "https://github.com/saleor/apps", homepageUrl: "https://github.com/saleor/apps",
@ -23,14 +31,9 @@ export default createManifestHandler({
*/ */
requiredSaleorVersion: REQUIRED_SALEOR_VERSION, requiredSaleorVersion: REQUIRED_SALEOR_VERSION,
supportUrl: "https://github.com/saleor/apps/discussions", supportUrl: "https://github.com/saleor/apps/discussions",
tokenTargetUrl: `${context.appBaseUrl}/api/register`, tokenTargetUrl: `${apiBaseURL}/api/register`,
version: packageJson.version, version: packageJson.version,
webhooks: [invoiceRequestedWebhook.getWebhookManifest(context.appBaseUrl)], webhooks: [invoiceRequestedWebhook.getWebhookManifest(apiBaseURL)],
brand: {
logo: {
default: `${context.appBaseUrl}/logo.png`,
},
},
}; };
return manifest; return manifest;

View file

@ -20,7 +20,9 @@
"SENTRY_ORG", "SENTRY_ORG",
"SENTRY_AUTH_TOKEN", "SENTRY_AUTH_TOKEN",
"NEXT_PUBLIC_SENTRY_DSN", "NEXT_PUBLIC_SENTRY_DSN",
"SENTRY_ENVIRONMENT" "SENTRY_ENVIRONMENT",
"APP_IFRAME_BASE_URL",
"APP_API_BASE_URL"
] ]
} }
} }

View file

@ -8,4 +8,12 @@ ALLOWED_DOMAIN_PATTERN=
# Encryption key used by the EncryptedSettingsManager. Required by the production builds # Encryption key used by the EncryptedSettingsManager. Required by the production builds
SECRET_KEY= SECRET_KEY=
APP_LOG_LEVEL=info APP_LOG_LEVEL=info
# Local development variables. When developped locally with Saleor inside docker, these can be set to:
# APP_IFRAME_BASE_URL = http://localhost:3000, so Dashboard on host can access iframe
# APP_API_BASE_URL=http://host.docker.internal:3000 - so Saleor can reach App running on host, from the container.
# If developped with tunnels, set this empty, it will fallback to default Next's localhost:3000
# https://docs.saleor.io/docs/3.x/developer/extending/apps/local-app-development
APP_IFRAME_BASE_URL=
APP_API_BASE_URL=

View file

@ -1,11 +1,5 @@
# saleor-app-klaviyo # saleor-app-klaviyo
## 1.7.1
### Patch Changes
- cbd763b: Prevent Server-side rendering in Klaviyo app to avoid hydration errors
## 1.7.0 ## 1.7.0
### Minor Changes ### Minor Changes

View file

@ -1,6 +1,6 @@
{ {
"name": "saleor-app-klaviyo", "name": "saleor-app-klaviyo",
"version": "1.7.1", "version": "1.7.0",
"scripts": { "scripts": {
"build": "pnpm generate && next build", "build": "pnpm generate && next build",
"dev": "pnpm generate && NODE_OPTIONS='--inspect' next dev", "dev": "pnpm generate && NODE_OPTIONS='--inspect' next dev",

View file

@ -14,14 +14,12 @@ export const appBridgeInstance = typeof window !== "undefined" ? new AppBridge()
function SaleorApp({ Component, pageProps }: AppProps) { function SaleorApp({ Component, pageProps }: AppProps) {
return ( return (
<NoSSRWrapper> <AppBridgeProvider appBridgeInstance={appBridgeInstance}>
<AppBridgeProvider appBridgeInstance={appBridgeInstance}> <ThemeProvider>
<ThemeProvider> <ThemeSynchronizer />
<ThemeSynchronizer /> <Component {...pageProps} />
<Component {...pageProps} /> </ThemeProvider>
</ThemeProvider> </AppBridgeProvider>
</AppBridgeProvider>
</NoSSRWrapper>
); );
} }

View file

@ -11,14 +11,16 @@ const handler = createManifestHandler({
async manifestFactory(context): Promise<AppManifest> { async manifestFactory(context): Promise<AppManifest> {
const { appBaseUrl } = context; const { appBaseUrl } = context;
const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
return { return {
about: about: "Klaviyo integration allows sending Klaviyo notifications on Saleor events.",
"Klaviyo integration allows sending Klaviyo notifications on Saleor events.", appUrl: iframeBaseUrl,
appUrl: appBaseUrl,
author: "Saleor Commerce", author: "Saleor Commerce",
brand: { brand: {
logo: { logo: {
default: `${context.appBaseUrl}/logo.png`, default: `${apiBaseURL}/logo.png`,
}, },
}, },
dataPrivacyUrl: "https://saleor.io/legal/privacy/", dataPrivacyUrl: "https://saleor.io/legal/privacy/",
@ -27,13 +29,13 @@ const handler = createManifestHandler({
name: "Klaviyo", name: "Klaviyo",
permissions: ["MANAGE_USERS", "MANAGE_ORDERS"], permissions: ["MANAGE_USERS", "MANAGE_ORDERS"],
supportUrl: "https://github.com/saleor/apps/discussions", supportUrl: "https://github.com/saleor/apps/discussions",
tokenTargetUrl: `${appBaseUrl}/api/register`, tokenTargetUrl: `${apiBaseURL}/api/register`,
version: pkg.version, version: pkg.version,
webhooks: [ webhooks: [
customerCreatedWebhook.getWebhookManifest(appBaseUrl), customerCreatedWebhook.getWebhookManifest(apiBaseURL),
fulfillmentCreatedWebhook.getWebhookManifest(appBaseUrl), fulfillmentCreatedWebhook.getWebhookManifest(apiBaseURL),
orderCreatedWebhook.getWebhookManifest(appBaseUrl), orderCreatedWebhook.getWebhookManifest(apiBaseURL),
orderFullyPaidWebhook.getWebhookManifest(appBaseUrl), orderFullyPaidWebhook.getWebhookManifest(apiBaseURL),
], ],
}; };
}, },

View file

@ -18,7 +18,9 @@
"SENTRY_PROJECT", "SENTRY_PROJECT",
"SENTRY_AUTH_TOKEN", "SENTRY_AUTH_TOKEN",
"NEXT_PUBLIC_VERCEL_ENV", "NEXT_PUBLIC_VERCEL_ENV",
"SENTRY_ENVIRONMENT" "SENTRY_ENVIRONMENT",
"APP_IFRAME_BASE_URL",
"APP_API_BASE_URL"
] ]
} }
} }

View file

@ -1 +1,9 @@
MONITORING_APP_API_URL= MONITORING_APP_API_URL=
# Local development variables. When developped locally with Saleor inside docker, these can be set to:
# APP_IFRAME_BASE_URL = http://localhost:3000, so Dashboard on host can access iframe
# APP_API_BASE_URL=http://host.docker.internal:3000 - so Saleor can reach App running on host, from the container.
# If developped with tunnels, set this empty, it will fallback to default Next's localhost:3000
# https://docs.saleor.io/docs/3.x/developer/extending/apps/local-app-development
APP_IFRAME_BASE_URL=
APP_API_BASE_URL=

View file

@ -18,7 +18,9 @@
"SENTRY_PROJECT", "SENTRY_PROJECT",
"SENTRY_AUTH_TOKEN", "SENTRY_AUTH_TOKEN",
"NEXT_PUBLIC_VERCEL_ENV", "NEXT_PUBLIC_VERCEL_ENV",
"MONITORING_APP_API_URL" "MONITORING_APP_API_URL",
"APP_IFRAME_BASE_URL",
"APP_API_BASE_URL"
] ]
} }
} }

View file

@ -1 +1,19 @@
APP_DEBUG=info APL=file
# Optional
# Regex pattern consumed conditionally to restrcit app installation to specific urls.
# See api/register.tsx
# Leave empty to allow all domains
# Example: "https:\/\/.*.saleor.cloud\/graphql\/" to enable Saleor Cloud APIs
ALLOWED_DOMAIN_PATTERN=
# Encryption key used by the EncryptedSettingsManager. Required by the production builds
SECRET_KEY=
APP_LOG_LEVEL=info
# Local development variables. When developped locally with Saleor inside docker, these can be set to:
# APP_IFRAME_BASE_URL = http://localhost:3000, so Dashboard on host can access iframe
# APP_API_BASE_URL=http://host.docker.internal:3000 - so Saleor can reach App running on host, from the container.
# If developped with tunnels, set this empty, it will fallback to default Next's localhost:3000
# https://docs.saleor.io/docs/3.x/developer/extending/apps/local-app-development
APP_IFRAME_BASE_URL=
APP_API_BASE_URL=

View file

@ -9,14 +9,17 @@ import { webhookProductVariantDeleted } from "./webhooks/product_variant_deleted
import { webhookProductVariantUpdated } from "./webhooks/product_variant_updated"; import { webhookProductVariantUpdated } from "./webhooks/product_variant_updated";
export default createManifestHandler({ export default createManifestHandler({
async manifestFactory(context) { async manifestFactory({ appBaseUrl }) {
const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
const manifest: AppManifest = { const manifest: AppManifest = {
about: "Generate feeds consumed by Merchant Platforms", about: "Generate feeds consumed by Merchant Platforms",
appUrl: context.appBaseUrl, appUrl: iframeBaseUrl,
author: "Saleor Commerce", author: "Saleor Commerce",
brand: { brand: {
logo: { logo: {
default: `${context.appBaseUrl}/logo.png`, default: `${apiBaseURL}/logo.png`,
}, },
}, },
dataPrivacyUrl: "https://saleor.io/legal/privacy/", dataPrivacyUrl: "https://saleor.io/legal/privacy/",
@ -26,14 +29,14 @@ export default createManifestHandler({
name: "Product Feed", name: "Product Feed",
permissions: ["MANAGE_PRODUCTS"], permissions: ["MANAGE_PRODUCTS"],
supportUrl: "https://github.com/saleor/apps/discussions", supportUrl: "https://github.com/saleor/apps/discussions",
tokenTargetUrl: `${context.appBaseUrl}/api/register`, tokenTargetUrl: `${apiBaseURL}/api/register`,
version: packageJson.version, version: packageJson.version,
webhooks: [ webhooks: [
webhookProductCreated.getWebhookManifest(context.appBaseUrl), webhookProductCreated.getWebhookManifest(apiBaseURL),
webhookProductDeleted.getWebhookManifest(context.appBaseUrl), webhookProductDeleted.getWebhookManifest(apiBaseURL),
webhookProductVariantCreated.getWebhookManifest(context.appBaseUrl), webhookProductVariantCreated.getWebhookManifest(apiBaseURL),
webhookProductVariantDeleted.getWebhookManifest(context.appBaseUrl), webhookProductVariantDeleted.getWebhookManifest(apiBaseURL),
webhookProductVariantUpdated.getWebhookManifest(context.appBaseUrl), webhookProductVariantUpdated.getWebhookManifest(apiBaseURL),
], ],
}; };

View file

@ -20,7 +20,9 @@
"FEED_CACHE_MAX_AGE", "FEED_CACHE_MAX_AGE",
"VERCEL_URL", "VERCEL_URL",
"PORT", "PORT",
"SENTRY_ENVIRONMENT" "SENTRY_ENVIRONMENT",
"APP_IFRAME_BASE_URL",
"APP_API_BASE_URL"
] ]
} }
} }

View file

@ -1,4 +1,12 @@
# Encryption key used by the EncryptedSettingsManager. Required by the production builds # Encryption key used by the EncryptedSettingsManager. Required by the production builds
SECRET_KEY= SECRET_KEY=
APP_LOG_LEVEL=info APP_LOG_LEVEL=info
# Local development variables. When developped locally with Saleor inside docker, these can be set to:
# APP_IFRAME_BASE_URL = http://localhost:3000, so Dashboard on host can access iframe
# APP_API_BASE_URL=http://host.docker.internal:3000 - so Saleor can reach App running on host, from the container.
# If developped with tunnels, set this empty, it will fallback to default Next's localhost:3000
# https://docs.saleor.io/docs/3.x/developer/extending/apps/local-app-development
APP_IFRAME_BASE_URL=
APP_API_BASE_URL=

View file

@ -10,14 +10,18 @@ import { webhookProductVariantDeleted } from "./webhooks/saleor/product_variant_
import { webhookProductVariantUpdated } from "./webhooks/saleor/product_variant_updated"; import { webhookProductVariantUpdated } from "./webhooks/saleor/product_variant_updated";
export default createManifestHandler({ export default createManifestHandler({
async manifestFactory(context) { async manifestFactory({ appBaseUrl }) {
const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
const manifest: AppManifest = { const manifest: AppManifest = {
about: about:
"Search App is a multi-integration app that connects your Saleor store with search engines.", "Search App is a multi-integration app that connects your Saleor store with search engines.",
appUrl: context.appBaseUrl, appUrl: iframeBaseUrl,
author: "Saleor Commerce",
brand: { brand: {
logo: { logo: {
default: `${context.appBaseUrl}/logo.png`, default: `${apiBaseURL}/logo.png`,
}, },
}, },
dataPrivacyUrl: "https://saleor.io/legal/privacy/", dataPrivacyUrl: "https://saleor.io/legal/privacy/",
@ -39,7 +43,7 @@ export default createManifestHandler({
"MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES", "MANAGE_PRODUCT_TYPES_AND_ATTRIBUTES",
], ],
supportUrl: "https://github.com/saleor/apps/discussions", supportUrl: "https://github.com/saleor/apps/discussions",
tokenTargetUrl: `${context.appBaseUrl}/api/register`, tokenTargetUrl: `${apiBaseURL}/api/register`,
version: packageJson.version, version: packageJson.version,
webhooks: [ webhooks: [
/** /**
@ -47,12 +51,12 @@ export default createManifestHandler({
* Read more * Read more
* https://docs.saleor.io/docs/3.x/developer/api-reference/objects/webhook * https://docs.saleor.io/docs/3.x/developer/api-reference/objects/webhook
*/ */
webhookProductCreated.getWebhookManifest(context.appBaseUrl), webhookProductCreated.getWebhookManifest(apiBaseURL),
webhookProductDeleted.getWebhookManifest(context.appBaseUrl), webhookProductDeleted.getWebhookManifest(apiBaseURL),
webhookProductUpdated.getWebhookManifest(context.appBaseUrl), webhookProductUpdated.getWebhookManifest(apiBaseURL),
webhookProductVariantCreated.getWebhookManifest(context.appBaseUrl), webhookProductVariantCreated.getWebhookManifest(apiBaseURL),
webhookProductVariantDeleted.getWebhookManifest(context.appBaseUrl), webhookProductVariantDeleted.getWebhookManifest(apiBaseURL),
webhookProductVariantUpdated.getWebhookManifest(context.appBaseUrl), webhookProductVariantUpdated.getWebhookManifest(apiBaseURL),
], ],
}; };

View file

@ -6,13 +6,10 @@ import { WebhooksStatus } from "../../components/WebhooksStatus";
import { MainInstructions } from "../../components/MainInstructions"; import { MainInstructions } from "../../components/MainInstructions";
import { WebhooksStatusInstructions } from "../../components/WebhooksStatusInstructions"; import { WebhooksStatusInstructions } from "../../components/WebhooksStatusInstructions";
import { TextLink } from "@saleor/apps-ui"; import { TextLink } from "@saleor/apps-ui";
import { useAppBridge } from "@saleor/app-sdk/app-bridge";
const ALGOLIA_DASHBOARD_TOKENS_URL = "https://www.algolia.com/account/api-keys/all"; const ALGOLIA_DASHBOARD_TOKENS_URL = "https://www.algolia.com/account/api-keys/all";
export const ConfigurationView = () => { export const ConfigurationView = () => {
const { appBridgeState } = useAppBridge();
return ( return (
<Box display="flex" flexDirection="column" gap={10}> <Box display="flex" flexDirection="column" gap={10}>
<Box> <Box>

View file

@ -17,7 +17,9 @@
"SENTRY_ORG", "SENTRY_ORG",
"NEXT_PUBLIC_VERCEL_ENV", "NEXT_PUBLIC_VERCEL_ENV",
"NEXT_PUBLIC_SENTRY_DSN", "NEXT_PUBLIC_SENTRY_DSN",
"SENTRY_ENVIRONMENT" "SENTRY_ENVIRONMENT",
"APP_IFRAME_BASE_URL",
"APP_API_BASE_URL"
] ]
} }
} }

View file

@ -1,4 +1,13 @@
# Encryption key used by the EncryptedSettingsManager. Required by the production builds # Encryption key used by the EncryptedSettingsManager. Required by the production builds
SECRET_KEY= SECRET_KEY=
APP_LOG_LEVEL=info APP_LOG_LEVEL=info
# Local development variables. When developped locally with Saleor inside docker, these can be set to:
# APP_IFRAME_BASE_URL = http://localhost:3000, so Dashboard on host can access iframe
# APP_API_BASE_URL=http://host.docker.internal:3000 - so Saleor can reach App running on host, from the container.
# If developped with tunnels, set this empty, it will fallback to default Next's localhost:3000
# https://docs.saleor.io/docs/3.x/developer/extending/apps/local-app-development
APP_IFRAME_BASE_URL=
APP_API_BASE_URL=

View file

@ -5,15 +5,18 @@ import packageJson from "../../../package.json";
import { orderCreatedWebhook } from "./webhooks/order-created"; import { orderCreatedWebhook } from "./webhooks/order-created";
const handler = createManifestHandler({ const handler = createManifestHandler({
async manifestFactory(context) { async manifestFactory({ appBaseUrl }) {
const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
const manifest: AppManifest = { const manifest: AppManifest = {
about: about:
"Saleor Slack integration allows you to get notifications on Slack channel from Saleor events.", "Saleor Slack integration allows you to get notifications on Slack channel from Saleor events.",
appUrl: context.appBaseUrl, appUrl: iframeBaseUrl,
author: "Saleor Commerce", author: "Saleor Commerce",
brand: { brand: {
logo: { logo: {
default: `${context.appBaseUrl}/logo.png`, default: `${apiBaseURL}/logo.png`,
}, },
}, },
dataPrivacyUrl: "https://saleor.io/legal/privacy/", dataPrivacyUrl: "https://saleor.io/legal/privacy/",
@ -23,9 +26,9 @@ const handler = createManifestHandler({
name: "Slack", name: "Slack",
permissions: ["MANAGE_ORDERS"], permissions: ["MANAGE_ORDERS"],
supportUrl: "https://github.com/saleor/apps/discussions", supportUrl: "https://github.com/saleor/apps/discussions",
tokenTargetUrl: `${context.appBaseUrl}/api/register`, tokenTargetUrl: `${apiBaseURL}/api/register`,
version: packageJson.version, version: packageJson.version,
webhooks: [orderCreatedWebhook.getWebhookManifest(context.appBaseUrl)], webhooks: [orderCreatedWebhook.getWebhookManifest(apiBaseURL)],
}; };
return manifest; return manifest;

View file

@ -18,7 +18,9 @@
"SENTRY_PROJECT", "SENTRY_PROJECT",
"SENTRY_AUTH_TOKEN", "SENTRY_AUTH_TOKEN",
"SENTRY_ENVIRONMENT", "SENTRY_ENVIRONMENT",
"NEXT_PUBLIC_VERCEL_ENV" "NEXT_PUBLIC_VERCEL_ENV",
"APP_IFRAME_BASE_URL",
"APP_API_BASE_URL"
] ]
} }
} }

View file

@ -1,11 +1,12 @@
APL=file # Encryption key used by the EncryptedSettingsManager. Required by the production builds
#"fatal" | "error" | "warn" | "info" | "debug" | "trace"
APP_LOG_LEVEL=info
NODE_ENV=
SECRET_KEY= SECRET_KEY=
PORT=
VERCEL_URL= APP_LOG_LEVEL=info
REST_APL_ENDPOINT=
REST_APL_TOKEN= # Local development variables. When developped locally with Saleor inside docker, these can be set to:
ALLOWED_DOMAIN_PATTERN= # APP_IFRAME_BASE_URL = http://localhost:3000, so Dashboard on host can access iframe
# APP_API_BASE_URL=http://host.docker.internal:3000 - so Saleor can reach App running on host, from the container.
# If developped with tunnels, set this empty, it will fallback to default Next's localhost:3000
# https://docs.saleor.io/docs/3.x/developer/extending/apps/local-app-development
APP_IFRAME_BASE_URL=
APP_API_BASE_URL=

View file

@ -9,14 +9,17 @@ import { orderFulfilledAsyncWebhook } from "./webhooks/order-fulfilled";
import { REQUIRED_SALEOR_VERSION } from "../../../saleor-app"; import { REQUIRED_SALEOR_VERSION } from "../../../saleor-app";
export default createManifestHandler({ export default createManifestHandler({
async manifestFactory(context) { async manifestFactory({ appBaseUrl }) {
const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
const manifest: AppManifest = { const manifest: AppManifest = {
about: "Taxes App allows dynamic taxes calculations for orders", about: "Taxes App allows dynamic taxes calculations for orders",
appUrl: context.appBaseUrl, appUrl: iframeBaseUrl,
author: "Saleor Commerce", author: "Saleor Commerce",
brand: { brand: {
logo: { logo: {
default: `${context.appBaseUrl}/logo.png`, default: `${apiBaseURL}/logo.png`,
}, },
}, },
dataPrivacyUrl: "https://saleor.io/legal/privacy/", dataPrivacyUrl: "https://saleor.io/legal/privacy/",
@ -27,13 +30,13 @@ export default createManifestHandler({
permissions: ["HANDLE_TAXES", "MANAGE_ORDERS"], permissions: ["HANDLE_TAXES", "MANAGE_ORDERS"],
requiredSaleorVersion: REQUIRED_SALEOR_VERSION, requiredSaleorVersion: REQUIRED_SALEOR_VERSION,
supportUrl: "https://github.com/saleor/apps/discussions", supportUrl: "https://github.com/saleor/apps/discussions",
tokenTargetUrl: `${context.appBaseUrl}/api/register`, tokenTargetUrl: `${apiBaseURL}/api/register`,
version: packageJson.version, version: packageJson.version,
webhooks: [ webhooks: [
orderCalculateTaxesSyncWebhook.getWebhookManifest(context.appBaseUrl), orderCalculateTaxesSyncWebhook.getWebhookManifest(apiBaseURL),
checkoutCalculateTaxesSyncWebhook.getWebhookManifest(context.appBaseUrl), checkoutCalculateTaxesSyncWebhook.getWebhookManifest(apiBaseURL),
orderCreatedAsyncWebhook.getWebhookManifest(context.appBaseUrl), orderCreatedAsyncWebhook.getWebhookManifest(apiBaseURL),
orderFulfilledAsyncWebhook.getWebhookManifest(context.appBaseUrl), orderFulfilledAsyncWebhook.getWebhookManifest(apiBaseURL),
], ],
}; };

View file

@ -18,7 +18,9 @@
"SENTRY_DSN", "SENTRY_DSN",
"SENTRY_AUTH_TOKEN", "SENTRY_AUTH_TOKEN",
"SENTRY_ENVIRONMENT", "SENTRY_ENVIRONMENT",
"NEXT_PUBLIC_SENTRY_DSN" "NEXT_PUBLIC_SENTRY_DSN",
"APP_IFRAME_BASE_URL",
"APP_API_BASE_URL"
] ]
} }
} }

View file

@ -9,7 +9,7 @@
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "^1.35.1", "@playwright/test": "^1.35.1",
"@saleor/app-sdk": "0.40.1", "@saleor/app-sdk": "0.41.0",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"eslint-config-saleor": "workspace:*", "eslint-config-saleor": "workspace:*",
"zod": "3.20.2" "zod": "3.20.2"

View file

@ -2,7 +2,11 @@
"$schema": "https://turbo.build/schema.json", "$schema": "https://turbo.build/schema.json",
"extends": ["//"], "extends": ["//"],
"pipeline": { "pipeline": {
"e2e": {}, "e2e": {
"e2e:ui": {} "env": ["INSTANCE_URL", "DASHBOARD_USER_PASSWORD", "DASHBOARD_USER_EMAIL"]
},
"e2e:ui": {
"env": ["INSTANCE_URL", "DASHBOARD_USER_PASSWORD", "DASHBOARD_USER_EMAIL"]
}
} }
} }

View file

@ -1552,8 +1552,8 @@ importers:
specifier: ^1.35.1 specifier: ^1.35.1
version: 1.35.1 version: 1.35.1
'@saleor/app-sdk': '@saleor/app-sdk':
specifier: 0.40.1 specifier: 0.41.0
version: 0.40.1(next@13.3.0)(react-dom@18.2.0)(react@18.2.0) version: 0.41.0(next@13.4.7)(react-dom@18.2.0)(react@18.2.0)
dotenv: dotenv:
specifier: ^16.3.1 specifier: ^16.3.1
version: 16.3.1 version: 16.3.1
@ -6381,7 +6381,7 @@ packages:
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
'@whatwg-node/fetch': 0.8.8 '@whatwg-node/fetch': 0.8.8
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
transitivePeerDependencies: transitivePeerDependencies:
- encoding - encoding
dev: true dev: true
@ -6394,7 +6394,7 @@ packages:
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
dataloader: 2.2.2 dataloader: 2.2.2
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
value-or-promise: 1.0.12 value-or-promise: 1.0.12
dev: true dev: true
@ -6407,7 +6407,7 @@ packages:
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
globby: 11.1.0 globby: 11.1.0
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
unixify: 1.0.0 unixify: 1.0.0
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
@ -6425,7 +6425,7 @@ packages:
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
dataloader: 2.2.2 dataloader: 2.2.2
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
value-or-promise: 1.0.12 value-or-promise: 1.0.12
dev: true dev: true
@ -6440,7 +6440,7 @@ packages:
graphql: 16.6.0 graphql: 16.6.0
graphql-ws: 5.12.1(graphql@16.6.0) graphql-ws: 5.12.1(graphql@16.6.0)
isomorphic-ws: 5.0.0(ws@8.13.0) isomorphic-ws: 5.0.0(ws@8.13.0)
tslib: 2.6.0 tslib: 2.5.3
ws: 8.13.0 ws: 8.13.0
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
@ -6459,7 +6459,7 @@ packages:
extract-files: 11.0.0 extract-files: 11.0.0
graphql: 16.6.0 graphql: 16.6.0
meros: 1.3.0(@types/node@18.15.3) meros: 1.3.0(@types/node@18.15.3)
tslib: 2.6.0 tslib: 2.5.3
value-or-promise: 1.0.12 value-or-promise: 1.0.12
transitivePeerDependencies: transitivePeerDependencies:
- '@types/node' - '@types/node'
@ -6474,7 +6474,7 @@ packages:
'@types/ws': 8.5.5 '@types/ws': 8.5.5
graphql: 16.6.0 graphql: 16.6.0
isomorphic-ws: 5.0.0(ws@8.13.0) isomorphic-ws: 5.0.0(ws@8.13.0)
tslib: 2.6.0 tslib: 2.5.3
ws: 8.13.0 ws: 8.13.0
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
@ -6490,7 +6490,7 @@ packages:
'@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0)
'@repeaterjs/repeater': 3.0.4 '@repeaterjs/repeater': 3.0.4
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
value-or-promise: 1.0.12 value-or-promise: 1.0.12
dev: true dev: true
@ -6504,7 +6504,7 @@ packages:
graphql: 16.6.0 graphql: 16.6.0
is-glob: 4.0.3 is-glob: 4.0.3
micromatch: 4.0.5 micromatch: 4.0.5
tslib: 2.6.0 tslib: 2.5.3
unixify: 1.0.0 unixify: 1.0.0
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
@ -6522,7 +6522,7 @@ packages:
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
'@whatwg-node/fetch': 0.8.8 '@whatwg-node/fetch': 0.8.8
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
value-or-promise: 1.0.12 value-or-promise: 1.0.12
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
@ -6540,7 +6540,7 @@ packages:
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
globby: 11.1.0 globby: 11.1.0
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
unixify: 1.0.0 unixify: 1.0.0
dev: true dev: true
@ -6555,7 +6555,7 @@ packages:
'@babel/types': 7.22.5 '@babel/types': 7.22.5
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
- supports-color - supports-color
@ -6569,7 +6569,7 @@ packages:
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
graphql: 16.6.0 graphql: 16.6.0
resolve-from: 5.0.0 resolve-from: 5.0.0
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/@graphql-tools/json-file-loader@7.4.18(graphql@16.6.0): /@graphql-tools/json-file-loader@7.4.18(graphql@16.6.0):
@ -6580,7 +6580,7 @@ packages:
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
globby: 11.1.0 globby: 11.1.0
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
unixify: 1.0.0 unixify: 1.0.0
dev: true dev: true
@ -6593,7 +6593,7 @@ packages:
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
graphql: 16.6.0 graphql: 16.6.0
p-limit: 3.1.0 p-limit: 3.1.0
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/@graphql-tools/merge@8.4.2(graphql@16.6.0): /@graphql-tools/merge@8.4.2(graphql@16.6.0):
@ -6603,7 +6603,7 @@ packages:
dependencies: dependencies:
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/@graphql-tools/optimize@1.4.0(graphql@16.6.0): /@graphql-tools/optimize@1.4.0(graphql@16.6.0):
@ -6612,7 +6612,7 @@ packages:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies: dependencies:
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/@graphql-tools/prisma-loader@7.2.72(@types/node@18.15.3)(graphql@16.6.0): /@graphql-tools/prisma-loader@7.2.72(@types/node@18.15.3)(graphql@16.6.0):
@ -6637,7 +6637,7 @@ packages:
json-stable-stringify: 1.0.2 json-stable-stringify: 1.0.2
lodash: 4.17.21 lodash: 4.17.21
scuid: 1.1.0 scuid: 1.1.0
tslib: 2.6.0 tslib: 2.5.3
yaml-ast-parser: 0.0.43 yaml-ast-parser: 0.0.43
transitivePeerDependencies: transitivePeerDependencies:
- '@types/node' - '@types/node'
@ -6655,7 +6655,7 @@ packages:
'@ardatan/relay-compiler': 12.0.0(graphql@16.6.0) '@ardatan/relay-compiler': 12.0.0(graphql@16.6.0)
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
transitivePeerDependencies: transitivePeerDependencies:
- encoding - encoding
- supports-color - supports-color
@ -6669,7 +6669,7 @@ packages:
'@graphql-tools/merge': 8.4.2(graphql@16.6.0) '@graphql-tools/merge': 8.4.2(graphql@16.6.0)
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
value-or-promise: 1.0.12 value-or-promise: 1.0.12
dev: true dev: true
@ -6689,7 +6689,7 @@ packages:
'@whatwg-node/fetch': 0.8.8 '@whatwg-node/fetch': 0.8.8
graphql: 16.6.0 graphql: 16.6.0
isomorphic-ws: 5.0.0(ws@8.13.0) isomorphic-ws: 5.0.0(ws@8.13.0)
tslib: 2.6.0 tslib: 2.5.3
value-or-promise: 1.0.12 value-or-promise: 1.0.12
ws: 8.13.0 ws: 8.13.0
transitivePeerDependencies: transitivePeerDependencies:
@ -6705,7 +6705,7 @@ packages:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
dependencies: dependencies:
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.4.1
dev: true dev: true
/@graphql-tools/utils@9.2.1(graphql@16.6.0): /@graphql-tools/utils@9.2.1(graphql@16.6.0):
@ -6715,7 +6715,7 @@ packages:
dependencies: dependencies:
'@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0)
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/@graphql-tools/wrap@9.4.2(graphql@16.6.0): /@graphql-tools/wrap@9.4.2(graphql@16.6.0):
@ -6727,7 +6727,7 @@ packages:
'@graphql-tools/schema': 9.0.19(graphql@16.6.0) '@graphql-tools/schema': 9.0.19(graphql@16.6.0)
'@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0)
graphql: 16.6.0 graphql: 16.6.0
tslib: 2.6.0 tslib: 2.5.3
value-or-promise: 1.0.12 value-or-promise: 1.0.12
dev: true dev: true
@ -7151,6 +7151,10 @@ packages:
/@next/env@13.3.0: /@next/env@13.3.0:
resolution: {integrity: sha512-AjppRV4uG3No7L1plinoTQETH+j2F10TEnrMfzbTUYwze5sBUPveeeBAPZPm8OkJZ1epq9OyYKhZrvbD6/9HCQ==} resolution: {integrity: sha512-AjppRV4uG3No7L1plinoTQETH+j2F10TEnrMfzbTUYwze5sBUPveeeBAPZPm8OkJZ1epq9OyYKhZrvbD6/9HCQ==}
/@next/env@13.4.7:
resolution: {integrity: sha512-ZlbiFulnwiFsW9UV1ku1OvX/oyIPLtMk9p/nnvDSwI0s7vSoZdRtxXNsaO+ZXrLv/pMbXVGq4lL8TbY9iuGmVw==}
dev: true
/@next/eslint-plugin-next@13.3.4: /@next/eslint-plugin-next@13.3.4:
resolution: {integrity: sha512-mvS+HafOPy31oJbAi920WJXMdjbyb4v5FAMr9PeGZfRIdEcsLkA3mU/ZvmwzovJgP3nAWw2e2yM8iIFW8VpvIA==} resolution: {integrity: sha512-mvS+HafOPy31oJbAi920WJXMdjbyb4v5FAMr9PeGZfRIdEcsLkA3mU/ZvmwzovJgP3nAWw2e2yM8iIFW8VpvIA==}
dependencies: dependencies:
@ -7165,6 +7169,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-darwin-arm64@13.4.7:
resolution: {integrity: sha512-VZTxPv1b59KGiv/pZHTO5Gbsdeoxcj2rU2cqJu03btMhHpn3vwzEK0gUSVC/XW96aeGO67X+cMahhwHzef24/w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@next/swc-darwin-x64@13.3.0: /@next/swc-darwin-x64@13.3.0:
resolution: {integrity: sha512-oQoqFa88OGgwnYlnAGHVct618FRI/749se0N3S8t9Bzdv5CRbscnO0RcX901+YnNK4Q6yeiizfgO3b7kogtsZg==} resolution: {integrity: sha512-oQoqFa88OGgwnYlnAGHVct618FRI/749se0N3S8t9Bzdv5CRbscnO0RcX901+YnNK4Q6yeiizfgO3b7kogtsZg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@ -7173,6 +7186,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-darwin-x64@13.4.7:
resolution: {integrity: sha512-gO2bw+2Ymmga+QYujjvDz9955xvYGrWofmxTq7m70b9pDPvl7aDFABJOZ2a8SRCuSNB5mXU8eTOmVVwyp/nAew==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@next/swc-linux-arm64-gnu@13.3.0: /@next/swc-linux-arm64-gnu@13.3.0:
resolution: {integrity: sha512-Wzz2p/WqAJUqTVoLo6H18WMeAXo3i+9DkPDae4oQG8LMloJ3if4NEZTnOnTUlro6cq+S/W4pTGa97nWTrOjbGw==} resolution: {integrity: sha512-Wzz2p/WqAJUqTVoLo6H18WMeAXo3i+9DkPDae4oQG8LMloJ3if4NEZTnOnTUlro6cq+S/W4pTGa97nWTrOjbGw==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@ -7181,6 +7203,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-arm64-gnu@13.4.7:
resolution: {integrity: sha512-6cqp3vf1eHxjIDhEOc7Mh/s8z1cwc/l5B6ZNkOofmZVyu1zsbEM5Hmx64s12Rd9AYgGoiCz4OJ4M/oRnkE16/Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@next/swc-linux-arm64-musl@13.3.0: /@next/swc-linux-arm64-musl@13.3.0:
resolution: {integrity: sha512-xPVrIQOQo9WXJYgmoTlMnAD/HlR/1e1ZIWGbwIzEirXBVBqMARUulBEIKdC19zuvoJ477qZJgBDCKtKEykCpyQ==} resolution: {integrity: sha512-xPVrIQOQo9WXJYgmoTlMnAD/HlR/1e1ZIWGbwIzEirXBVBqMARUulBEIKdC19zuvoJ477qZJgBDCKtKEykCpyQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@ -7189,6 +7220,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-arm64-musl@13.4.7:
resolution: {integrity: sha512-T1kD2FWOEy5WPidOn1si0rYmWORNch4a/NR52Ghyp4q7KyxOCuiOfZzyhVC5tsLIBDH3+cNdB5DkD9afpNDaOw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@next/swc-linux-x64-gnu@13.3.0: /@next/swc-linux-x64-gnu@13.3.0:
resolution: {integrity: sha512-jOFlpGuPD7W2tuXVJP4wt9a3cpNxWAPcloq5EfMJRiXsBBOjLVFZA7boXYxEBzSVgUiVVr1V9T0HFM7pULJ1qA==} resolution: {integrity: sha512-jOFlpGuPD7W2tuXVJP4wt9a3cpNxWAPcloq5EfMJRiXsBBOjLVFZA7boXYxEBzSVgUiVVr1V9T0HFM7pULJ1qA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@ -7197,6 +7237,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-x64-gnu@13.4.7:
resolution: {integrity: sha512-zaEC+iEiAHNdhl6fuwl0H0shnTzQoAoJiDYBUze8QTntE/GNPfTYpYboxF5LRYIjBwETUatvE0T64W6SKDipvg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@next/swc-linux-x64-musl@13.3.0: /@next/swc-linux-x64-musl@13.3.0:
resolution: {integrity: sha512-2OwKlzaBgmuet9XYHc3KwsEilzb04F540rlRXkAcjMHL7eCxB7uZIGtsVvKOnQLvC/elrUegwSw1+5f7WmfyOw==} resolution: {integrity: sha512-2OwKlzaBgmuet9XYHc3KwsEilzb04F540rlRXkAcjMHL7eCxB7uZIGtsVvKOnQLvC/elrUegwSw1+5f7WmfyOw==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@ -7205,6 +7254,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-x64-musl@13.4.7:
resolution: {integrity: sha512-X6r12F8d8SKAtYJqLZBBMIwEqcTRvUdVm+xIq+l6pJqlgT2tNsLLf2i5Cl88xSsIytBICGsCNNHd+siD2fbWBA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@next/swc-win32-arm64-msvc@13.3.0: /@next/swc-win32-arm64-msvc@13.3.0:
resolution: {integrity: sha512-OeHiA6YEvndxT46g+rzFK/MQTfftKxJmzslERMu9LDdC6Kez0bdrgEYed5eXFK2Z1viKZJCGRlhd06rBusyztA==} resolution: {integrity: sha512-OeHiA6YEvndxT46g+rzFK/MQTfftKxJmzslERMu9LDdC6Kez0bdrgEYed5eXFK2Z1viKZJCGRlhd06rBusyztA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@ -7213,6 +7271,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-win32-arm64-msvc@13.4.7:
resolution: {integrity: sha512-NPnmnV+vEIxnu6SUvjnuaWRglZzw4ox5n/MQTxeUhb5iwVWFedolPFebMNwgrWu4AELwvTdGtWjqof53AiWHcw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@next/swc-win32-ia32-msvc@13.3.0: /@next/swc-win32-ia32-msvc@13.3.0:
resolution: {integrity: sha512-4aB7K9mcVK1lYEzpOpqWrXHEZympU3oK65fnNcY1Qc4HLJFLJj8AViuqQd4jjjPNuV4sl8jAwTz3gN5VNGWB7w==} resolution: {integrity: sha512-4aB7K9mcVK1lYEzpOpqWrXHEZympU3oK65fnNcY1Qc4HLJFLJj8AViuqQd4jjjPNuV4sl8jAwTz3gN5VNGWB7w==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@ -7221,6 +7288,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-win32-ia32-msvc@13.4.7:
resolution: {integrity: sha512-6Hxijm6/a8XqLQpOOf/XuwWRhcuc/g4rBB2oxjgCMuV9Xlr2bLs5+lXyh8w9YbAUMYR3iC9mgOlXbHa79elmXw==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@next/swc-win32-x64-msvc@13.3.0: /@next/swc-win32-x64-msvc@13.3.0:
resolution: {integrity: sha512-Reer6rkLLcoOvB0dd66+Y7WrWVFH7sEEkF/4bJCIfsSKnTStTYaHtwIJAwbqnt9I392Tqvku0KkoqZOryWV9LQ==} resolution: {integrity: sha512-Reer6rkLLcoOvB0dd66+Y7WrWVFH7sEEkF/4bJCIfsSKnTStTYaHtwIJAwbqnt9I392Tqvku0KkoqZOryWV9LQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@ -7229,6 +7305,15 @@ packages:
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-win32-x64-msvc@13.4.7:
resolution: {integrity: sha512-sW9Yt36Db1nXJL+mTr2Wo0y+VkPWeYhygvcHj1FF0srVtV+VoDjxleKtny21QHaG05zdeZnw2fCtf2+dEqgwqA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@nodelib/fs.scandir@2.1.5: /@nodelib/fs.scandir@2.1.5:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
@ -7263,13 +7348,13 @@ packages:
dependencies: dependencies:
asn1js: 3.0.5 asn1js: 3.0.5
pvtsutils: 1.3.2 pvtsutils: 1.3.2
tslib: 2.6.0 tslib: 2.5.3
/@peculiar/json-schema@1.1.12: /@peculiar/json-schema@1.1.12:
resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==}
engines: {node: '>=8.0.0'} engines: {node: '>=8.0.0'}
dependencies: dependencies:
tslib: 2.6.0 tslib: 2.5.3
/@peculiar/webcrypto@1.4.3: /@peculiar/webcrypto@1.4.3:
resolution: {integrity: sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==} resolution: {integrity: sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==}
@ -7278,7 +7363,7 @@ packages:
'@peculiar/asn1-schema': 2.3.6 '@peculiar/asn1-schema': 2.3.6
'@peculiar/json-schema': 1.1.12 '@peculiar/json-schema': 1.1.12
pvtsutils: 1.3.2 pvtsutils: 1.3.2
tslib: 2.6.0 tslib: 2.5.3
webcrypto-core: 1.7.7 webcrypto-core: 1.7.7
/@pkgjs/parseargs@0.11.0: /@pkgjs/parseargs@0.11.0:
@ -7293,7 +7378,7 @@ packages:
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
dependencies: dependencies:
cross-spawn: 7.0.3 cross-spawn: 7.0.3
fast-glob: 3.2.12 fast-glob: 3.3.0
is-glob: 4.0.3 is-glob: 4.0.3
open: 9.1.0 open: 9.1.0
picocolors: 1.0.0 picocolors: 1.0.0
@ -8120,28 +8205,6 @@ packages:
resolution: {integrity: sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==} resolution: {integrity: sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==}
dev: true dev: true
/@saleor/app-sdk@0.40.1(next@13.3.0)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-iZuIxux8vdK08/ZcAluE5EnAH2t8ZhKaOkdRitr/dvxuEYGBxW+j8d3YiK20nQy3Eb7al6KlQRWbyHsnYQAULQ==}
peerDependencies:
next: '>=12'
react: '>=17'
react-dom: '>=17'
dependencies:
'@changesets/cli': 2.26.2
debug: 4.3.4
fast-glob: 3.2.12
graphql: 16.6.0
jose: 4.14.4
next: 13.3.0(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0)
raw-body: 2.5.2
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
retes: 0.33.0
uuid: 8.3.2
transitivePeerDependencies:
- supports-color
dev: true
/@saleor/app-sdk@0.41.0(next@13.3.0)(react-dom@18.2.0)(react@18.2.0): /@saleor/app-sdk@0.41.0(next@13.3.0)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-9Yc73N8QvqfHlhsPzuWqwlbl+o/gq/VJ+HB2OUro68zTF+rapEssb79OUGLp2JmnTlM4xovCiPwPlDsW8nVSqw==} resolution: {integrity: sha512-9Yc73N8QvqfHlhsPzuWqwlbl+o/gq/VJ+HB2OUro68zTF+rapEssb79OUGLp2JmnTlM4xovCiPwPlDsW8nVSqw==}
peerDependencies: peerDependencies:
@ -8151,7 +8214,7 @@ packages:
dependencies: dependencies:
'@changesets/cli': 2.26.2 '@changesets/cli': 2.26.2
debug: 4.3.4 debug: 4.3.4
fast-glob: 3.2.12 fast-glob: 3.3.0
graphql: 16.6.0 graphql: 16.6.0
jose: 4.14.4 jose: 4.14.4
next: 13.3.0(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) next: 13.3.0(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0)
@ -8163,6 +8226,28 @@ packages:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
/@saleor/app-sdk@0.41.0(next@13.4.7)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-9Yc73N8QvqfHlhsPzuWqwlbl+o/gq/VJ+HB2OUro68zTF+rapEssb79OUGLp2JmnTlM4xovCiPwPlDsW8nVSqw==}
peerDependencies:
next: '>=12'
react: '>=17'
react-dom: '>=17'
dependencies:
'@changesets/cli': 2.26.2
debug: 4.3.4
fast-glob: 3.3.0
graphql: 16.7.1
jose: 4.14.4
next: 13.4.7(react-dom@18.2.0)(react@18.2.0)
raw-body: 2.5.2
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
retes: 0.33.0
uuid: 8.3.2
transitivePeerDependencies:
- supports-color
dev: true
/@saleor/macaw-ui@0.7.3(@material-ui/core@4.12.4)(@material-ui/icons@4.11.3)(@material-ui/lab@4.0.0-alpha.61)(@types/react@18.2.5)(react-dom@18.2.0)(react-helmet@6.1.0)(react@18.2.0): /@saleor/macaw-ui@0.7.3(@material-ui/core@4.12.4)(@material-ui/icons@4.11.3)(@material-ui/lab@4.0.0-alpha.61)(@types/react@18.2.5)(react-dom@18.2.0)(react-helmet@6.1.0)(react@18.2.0):
resolution: {integrity: sha512-9BPE5cMtBs5x2d9BKiMYroeczXLOQecUP2XPc25EmTFHLyx5L8rlnBv/KPB+YX/BbcwQTfDSRRlmOwR0lcfIFg==} resolution: {integrity: sha512-9BPE5cMtBs5x2d9BKiMYroeczXLOQecUP2XPc25EmTFHLyx5L8rlnBv/KPB+YX/BbcwQTfDSRRlmOwR0lcfIFg==}
engines: {node: '>=16 <19'} engines: {node: '>=16 <19'}
@ -9360,6 +9445,12 @@ packages:
dependencies: dependencies:
tslib: 2.5.3 tslib: 2.5.3
/@swc/helpers@0.5.1:
resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==}
dependencies:
tslib: 2.6.0
dev: true
/@szmarczak/http-timer@4.0.6: /@szmarczak/http-timer@4.0.6:
resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -10473,7 +10564,7 @@ packages:
busboy: 1.6.0 busboy: 1.6.0
fast-querystring: 1.1.2 fast-querystring: 1.1.2
fast-url-parser: 1.1.3 fast-url-parser: 1.1.3
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/@xobotyi/scrollbar-width@1.9.5: /@xobotyi/scrollbar-width@1.9.5:
@ -10857,7 +10948,7 @@ packages:
dependencies: dependencies:
pvtsutils: 1.3.2 pvtsutils: 1.3.2
pvutils: 1.1.3 pvutils: 1.1.3
tslib: 2.6.0 tslib: 2.5.3
/assert-plus@1.0.0: /assert-plus@1.0.0:
resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
@ -11441,7 +11532,7 @@ packages:
resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
dependencies: dependencies:
pascal-case: 3.1.2 pascal-case: 3.1.2
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/camelcase-keys@6.2.2: /camelcase-keys@6.2.2:
@ -11468,11 +11559,15 @@ packages:
/caniuse-lite@1.0.30001503: /caniuse-lite@1.0.30001503:
resolution: {integrity: sha512-Sf9NiF+wZxPfzv8Z3iS0rXM1Do+iOy2Lxvib38glFX+08TCYYYGR5fRJXk4d77C4AYwhUjgYgMsMudbh2TqCKw==} resolution: {integrity: sha512-Sf9NiF+wZxPfzv8Z3iS0rXM1Do+iOy2Lxvib38glFX+08TCYYYGR5fRJXk4d77C4AYwhUjgYgMsMudbh2TqCKw==}
/caniuse-lite@1.0.30001511:
resolution: {integrity: sha512-NaWPJawcoedlghN4P7bDNeADD7K+rZaY6V8ZcME7PkEZo/nfOg+lnrUgRWiKbNxcQ4/toFKSxnS4WdbyPZnKkw==}
dev: true
/capital-case@1.0.4: /capital-case@1.0.4:
resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==}
dependencies: dependencies:
no-case: 3.0.4 no-case: 3.0.4
tslib: 2.6.0 tslib: 2.5.3
upper-case-first: 2.0.2 upper-case-first: 2.0.2
dev: true dev: true
@ -11572,7 +11667,7 @@ packages:
path-case: 3.0.4 path-case: 3.0.4
sentence-case: 3.0.4 sentence-case: 3.0.4
snake-case: 3.0.4 snake-case: 3.0.4
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/character-entities@2.0.2: /character-entities@2.0.2:
@ -11941,7 +12036,7 @@ packages:
resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==}
dependencies: dependencies:
no-case: 3.0.4 no-case: 3.0.4
tslib: 2.6.0 tslib: 2.5.3
upper-case: 2.0.2 upper-case: 2.0.2
dev: true dev: true
@ -12558,7 +12653,7 @@ packages:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
dependencies: dependencies:
no-case: 3.0.4 no-case: 3.0.4
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/dot-object@2.1.4: /dot-object@2.1.4:
@ -13446,6 +13541,17 @@ packages:
glob-parent: 5.1.2 glob-parent: 5.1.2
merge2: 1.4.1 merge2: 1.4.1
micromatch: 4.0.5 micromatch: 4.0.5
dev: true
/fast-glob@3.3.0:
resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==}
engines: {node: '>=8.6.0'}
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
micromatch: 4.0.5
/fast-json-stable-stringify@2.1.0: /fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
@ -14093,7 +14199,7 @@ packages:
dependencies: dependencies:
array-union: 2.1.0 array-union: 2.1.0
dir-glob: 3.0.1 dir-glob: 3.0.1
fast-glob: 3.2.12 fast-glob: 3.3.0
ignore: 5.2.4 ignore: 5.2.4
merge2: 1.4.1 merge2: 1.4.1
slash: 3.0.0 slash: 3.0.0
@ -14103,7 +14209,7 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies: dependencies:
dir-glob: 3.0.1 dir-glob: 3.0.1
fast-glob: 3.2.12 fast-glob: 3.3.0
ignore: 5.2.4 ignore: 5.2.4
merge2: 1.4.1 merge2: 1.4.1
slash: 4.0.0 slash: 4.0.0
@ -14161,7 +14267,7 @@ packages:
jiti: 1.17.1 jiti: 1.17.1
minimatch: 4.2.3 minimatch: 4.2.3
string-env-interpolation: 1.0.1 string-env-interpolation: 1.0.1
tslib: 2.6.0 tslib: 2.5.3
transitivePeerDependencies: transitivePeerDependencies:
- '@types/node' - '@types/node'
- bufferutil - bufferutil
@ -14203,6 +14309,11 @@ packages:
resolution: {integrity: sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==} resolution: {integrity: sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==}
engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
/graphql@16.7.1:
resolution: {integrity: sha512-DRYR9tf+UGU0KOsMcKAlXeFfX89UiiIZ0dRU3mR0yJfu6OjZqUcp68NnFLnqQU5RexygFoDy1EW+ccOYcPfmHg==}
engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
dev: true
/gtin@1.0.2: /gtin@1.0.2:
resolution: {integrity: sha512-jEsHMz16c3yz0rlM4TvUUU0022FTniIAcBfCDoch+38RJC32yGkdKFC9ixpBqPskYpCRrb614AjF8O0QQP0gPg==} resolution: {integrity: sha512-jEsHMz16c3yz0rlM4TvUUU0022FTniIAcBfCDoch+38RJC32yGkdKFC9ixpBqPskYpCRrb614AjF8O0QQP0gPg==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -14316,7 +14427,7 @@ packages:
resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==}
dependencies: dependencies:
capital-case: 1.0.4 capital-case: 1.0.4
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/help-me@4.2.0: /help-me@4.2.0:
@ -14794,7 +14905,7 @@ packages:
/is-lower-case@2.0.2: /is-lower-case@2.0.2:
resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==}
dependencies: dependencies:
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/is-map@2.0.2: /is-map@2.0.2:
@ -14946,7 +15057,7 @@ packages:
/is-upper-case@2.0.2: /is-upper-case@2.0.2:
resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==}
dependencies: dependencies:
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/is-utf8@0.2.1: /is-utf8@0.2.1:
@ -15825,7 +15936,7 @@ packages:
/lower-case-first@2.0.2: /lower-case-first@2.0.2:
resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==}
dependencies: dependencies:
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/lower-case@1.1.4: /lower-case@1.1.4:
@ -15835,7 +15946,7 @@ packages:
/lower-case@2.0.2: /lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
dependencies: dependencies:
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/lowercase-keys@2.0.0: /lowercase-keys@2.0.0:
@ -16900,6 +17011,49 @@ packages:
- '@babel/core' - '@babel/core'
- babel-plugin-macros - babel-plugin-macros
/next@13.4.7(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-M8z3k9VmG51SRT6v5uDKdJXcAqLzP3C+vaKfLIAM0Mhx1um1G7MDnO63+m52qPdZfrTFzMZNzfsgvm3ghuVHIQ==}
engines: {node: '>=16.8.0'}
hasBin: true
peerDependencies:
'@opentelemetry/api': ^1.1.0
fibers: '>= 3.1.0'
react: ^18.2.0
react-dom: ^18.2.0
sass: ^1.3.0
peerDependenciesMeta:
'@opentelemetry/api':
optional: true
fibers:
optional: true
sass:
optional: true
dependencies:
'@next/env': 13.4.7
'@swc/helpers': 0.5.1
busboy: 1.6.0
caniuse-lite: 1.0.30001511
postcss: 8.4.14
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
styled-jsx: 5.1.1(@babel/core@7.22.5)(react@18.2.0)
watchpack: 2.4.0
zod: 3.21.4
optionalDependencies:
'@next/swc-darwin-arm64': 13.4.7
'@next/swc-darwin-x64': 13.4.7
'@next/swc-linux-arm64-gnu': 13.4.7
'@next/swc-linux-arm64-musl': 13.4.7
'@next/swc-linux-x64-gnu': 13.4.7
'@next/swc-linux-x64-musl': 13.4.7
'@next/swc-win32-arm64-msvc': 13.4.7
'@next/swc-win32-ia32-msvc': 13.4.7
'@next/swc-win32-x64-msvc': 13.4.7
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
dev: true
/no-case@2.3.2: /no-case@2.3.2:
resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==}
dependencies: dependencies:
@ -16910,7 +17064,7 @@ packages:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
dependencies: dependencies:
lower-case: 2.0.2 lower-case: 2.0.2
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/node-addon-api@3.2.1: /node-addon-api@3.2.1:
@ -17386,7 +17540,7 @@ packages:
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
dependencies: dependencies:
dot-case: 3.0.4 dot-case: 3.0.4
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/parent-module@1.0.1: /parent-module@1.0.1:
@ -17444,14 +17598,14 @@ packages:
resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
dependencies: dependencies:
no-case: 3.0.4 no-case: 3.0.4
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/path-case@3.0.4: /path-case@3.0.4:
resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==}
dependencies: dependencies:
dot-case: 3.0.4 dot-case: 3.0.4
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/path-exists@3.0.0: /path-exists@3.0.0:
@ -17868,7 +18022,7 @@ packages:
/pvtsutils@1.3.2: /pvtsutils@1.3.2:
resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==} resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==}
dependencies: dependencies:
tslib: 2.6.0 tslib: 2.5.3
/pvutils@1.1.3: /pvutils@1.1.3:
resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==}
@ -18777,7 +18931,7 @@ packages:
resolution: {integrity: sha512-I6V1G2JkJ2JFIFSVuultNXepf7BW8SCaSUOq5IETM2fDjFim5Dg5F1zU/QbplNW0mqkk8QCw+I722v3nPkpRlA==} resolution: {integrity: sha512-I6V1G2JkJ2JFIFSVuultNXepf7BW8SCaSUOq5IETM2fDjFim5Dg5F1zU/QbplNW0mqkk8QCw+I722v3nPkpRlA==}
dependencies: dependencies:
busboy: 1.6.0 busboy: 1.6.0
zod: 3.20.2 zod: 3.21.4
/reusify@1.0.4: /reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
@ -18987,7 +19141,7 @@ packages:
resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==}
dependencies: dependencies:
no-case: 3.0.4 no-case: 3.0.4
tslib: 2.6.0 tslib: 2.5.3
upper-case-first: 2.0.2 upper-case-first: 2.0.2
dev: true dev: true
@ -19194,7 +19348,7 @@ packages:
resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
dependencies: dependencies:
dot-case: 3.0.4 dot-case: 3.0.4
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/sonic-boom@3.3.0: /sonic-boom@3.3.0:
@ -19274,7 +19428,7 @@ packages:
/sponge-case@1.0.1: /sponge-case@1.0.1:
resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==}
dependencies: dependencies:
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/sprintf-js@1.0.3: /sprintf-js@1.0.3:
@ -19591,7 +19745,7 @@ packages:
/swap-case@2.0.2: /swap-case@2.0.2:
resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==}
dependencies: dependencies:
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/symbol-tree@3.2.4: /symbol-tree@3.2.4:
@ -19823,7 +19977,7 @@ packages:
/title-case@3.0.3: /title-case@3.0.3:
resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==}
dependencies: dependencies:
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/titleize@3.0.0: /titleize@3.0.0:
@ -20361,7 +20515,7 @@ packages:
/upper-case-first@2.0.2: /upper-case-first@2.0.2:
resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==}
dependencies: dependencies:
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/upper-case@1.1.3: /upper-case@1.1.3:
@ -20371,7 +20525,7 @@ packages:
/upper-case@2.0.2: /upper-case@2.0.2:
resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==}
dependencies: dependencies:
tslib: 2.6.0 tslib: 2.5.3
dev: true dev: true
/uri-js@4.4.1: /uri-js@4.4.1:
@ -20867,7 +21021,7 @@ packages:
'@peculiar/json-schema': 1.1.12 '@peculiar/json-schema': 1.1.12
asn1js: 3.0.5 asn1js: 3.0.5
pvtsutils: 1.3.2 pvtsutils: 1.3.2
tslib: 2.6.0 tslib: 2.5.3
/webidl-conversions@3.0.1: /webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
@ -21264,7 +21418,7 @@ packages:
/zod@3.20.2: /zod@3.20.2:
resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==} resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==}
dev: true
/zod@3.21.4: /zod@3.21.4:
resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==}
dev: false