@shopify/shopify-app-remix 4.2.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/cjs/react/components/AppProvider/AppProvider.js.map +1 -1
  2. package/dist/cjs/react/components/AppProxyForm/AppProxyForm.js +4 -3
  3. package/dist/cjs/react/components/AppProxyForm/AppProxyForm.js.map +1 -1
  4. package/dist/cjs/react/components/AppProxyLink/AppProxyLink.js +4 -3
  5. package/dist/cjs/react/components/AppProxyLink/AppProxyLink.js.map +1 -1
  6. package/dist/cjs/react/components/AppProxyProvider/AppProxyProvider.js.map +1 -1
  7. package/dist/cjs/server/authenticate/admin/helpers/redirect.js +2 -2
  8. package/dist/cjs/server/authenticate/admin/helpers/redirect.js.map +1 -1
  9. package/dist/cjs/server/authenticate/webhooks/authenticate.js +1 -1
  10. package/dist/cjs/server/authenticate/webhooks/authenticate.js.map +1 -1
  11. package/dist/cjs/server/future/flags.js.map +1 -1
  12. package/dist/cjs/server/shopify-app.js +1 -0
  13. package/dist/cjs/server/shopify-app.js.map +1 -1
  14. package/dist/cjs/server/version.js +1 -1
  15. package/dist/cjs/server/version.js.map +1 -1
  16. package/dist/esm/react/components/AppProvider/AppProvider.mjs.map +1 -1
  17. package/dist/esm/react/components/AppProxyForm/AppProxyForm.mjs +5 -4
  18. package/dist/esm/react/components/AppProxyForm/AppProxyForm.mjs.map +1 -1
  19. package/dist/esm/react/components/AppProxyLink/AppProxyLink.mjs +5 -4
  20. package/dist/esm/react/components/AppProxyLink/AppProxyLink.mjs.map +1 -1
  21. package/dist/esm/react/components/AppProxyProvider/AppProxyProvider.mjs.map +1 -1
  22. package/dist/esm/server/authenticate/admin/helpers/redirect.mjs +2 -2
  23. package/dist/esm/server/authenticate/admin/helpers/redirect.mjs.map +1 -1
  24. package/dist/esm/server/authenticate/webhooks/authenticate.mjs +1 -1
  25. package/dist/esm/server/authenticate/webhooks/authenticate.mjs.map +1 -1
  26. package/dist/esm/server/future/flags.mjs.map +1 -1
  27. package/dist/esm/server/shopify-app.mjs +1 -0
  28. package/dist/esm/server/shopify-app.mjs.map +1 -1
  29. package/dist/esm/server/version.mjs +1 -1
  30. package/dist/esm/server/version.mjs.map +1 -1
  31. package/dist/ts/react/components/AppProvider/AppProvider.d.ts +5 -1
  32. package/dist/ts/react/components/AppProvider/AppProvider.d.ts.map +1 -1
  33. package/dist/ts/react/components/AppProxyForm/AppProxyForm.d.ts +2 -1
  34. package/dist/ts/react/components/AppProxyForm/AppProxyForm.d.ts.map +1 -1
  35. package/dist/ts/react/components/AppProxyLink/AppProxyLink.d.ts +2 -1
  36. package/dist/ts/react/components/AppProxyLink/AppProxyLink.d.ts.map +1 -1
  37. package/dist/ts/react/components/AppProxyProvider/AppProxyProvider.d.ts +5 -1
  38. package/dist/ts/react/components/AppProxyProvider/AppProxyProvider.d.ts.map +1 -1
  39. package/dist/ts/server/authenticate/admin/billing/types.d.ts +4 -0
  40. package/dist/ts/server/authenticate/admin/billing/types.d.ts.map +1 -1
  41. package/dist/ts/server/authenticate/admin/scope/types.d.ts +2 -1
  42. package/dist/ts/server/authenticate/admin/scope/types.d.ts.map +1 -1
  43. package/dist/ts/server/authenticate/admin/types.d.ts +10 -0
  44. package/dist/ts/server/authenticate/admin/types.d.ts.map +1 -1
  45. package/dist/ts/server/authenticate/flow/types.d.ts +4 -0
  46. package/dist/ts/server/authenticate/flow/types.d.ts.map +1 -1
  47. package/dist/ts/server/authenticate/fulfillment-service/types.d.ts +4 -0
  48. package/dist/ts/server/authenticate/fulfillment-service/types.d.ts.map +1 -1
  49. package/dist/ts/server/authenticate/public/appProxy/types.d.ts +4 -0
  50. package/dist/ts/server/authenticate/public/appProxy/types.d.ts.map +1 -1
  51. package/dist/ts/server/authenticate/public/checkout/types.d.ts +4 -0
  52. package/dist/ts/server/authenticate/public/checkout/types.d.ts.map +1 -1
  53. package/dist/ts/server/authenticate/public/customer-account/types.d.ts +4 -0
  54. package/dist/ts/server/authenticate/public/customer-account/types.d.ts.map +1 -1
  55. package/dist/ts/server/authenticate/webhooks/types.d.ts +6 -5
  56. package/dist/ts/server/authenticate/webhooks/types.d.ts.map +1 -1
  57. package/dist/ts/server/boundary/error.d.ts +1 -1
  58. package/dist/ts/server/boundary/error.d.ts.map +1 -1
  59. package/dist/ts/server/clients/admin/types.d.ts +4 -0
  60. package/dist/ts/server/clients/admin/types.d.ts.map +1 -1
  61. package/dist/ts/server/clients/storefront/types.d.ts +4 -0
  62. package/dist/ts/server/clients/storefront/types.d.ts.map +1 -1
  63. package/dist/ts/server/future/flags.d.ts +6 -0
  64. package/dist/ts/server/future/flags.d.ts.map +1 -1
  65. package/dist/ts/server/shopify-app.d.ts +1 -0
  66. package/dist/ts/server/shopify-app.d.ts.map +1 -1
  67. package/dist/ts/server/unauthenticated/admin/types.d.ts +4 -0
  68. package/dist/ts/server/unauthenticated/admin/types.d.ts.map +1 -1
  69. package/dist/ts/server/unauthenticated/storefront/types.d.ts +4 -0
  70. package/dist/ts/server/unauthenticated/storefront/types.d.ts.map +1 -1
  71. package/dist/ts/server/version.d.ts +1 -1
  72. package/dist/tsconfig.build.tsbuildinfo +1 -1
  73. package/package.json +12 -12
  74. package/src/react/components/AppProvider/AppProvider.tsx +4 -0
  75. package/src/react/components/AppProxyForm/AppProxyForm.tsx +18 -15
  76. package/src/react/components/AppProxyLink/AppProxyLink.tsx +18 -15
  77. package/src/react/components/AppProxyProvider/AppProxyProvider.tsx +4 -0
  78. package/src/server/__test-helpers/setup-non-embedded-flow.ts +1 -1
  79. package/src/server/__test-helpers/sign-request-cookie.ts +21 -10
  80. package/src/server/authenticate/admin/billing/types.ts +4 -0
  81. package/src/server/authenticate/admin/helpers/redirect.ts +2 -2
  82. package/src/server/authenticate/admin/scope/types.ts +2 -1
  83. package/src/server/authenticate/admin/types.ts +10 -0
  84. package/src/server/authenticate/flow/types.ts +4 -0
  85. package/src/server/authenticate/fulfillment-service/types.ts +4 -0
  86. package/src/server/authenticate/public/appProxy/types.ts +4 -0
  87. package/src/server/authenticate/public/checkout/types.ts +4 -0
  88. package/src/server/authenticate/public/customer-account/types.ts +4 -0
  89. package/src/server/authenticate/webhooks/authenticate.ts +1 -1
  90. package/src/server/authenticate/webhooks/types.ts +6 -5
  91. package/src/server/clients/admin/types.ts +4 -0
  92. package/src/server/clients/storefront/types.ts +4 -0
  93. package/src/server/future/flags.ts +6 -0
  94. package/src/server/shopify-app.ts +1 -0
  95. package/src/server/unauthenticated/admin/types.ts +4 -0
  96. package/src/server/unauthenticated/storefront/types.ts +4 -0
  97. package/src/server/version.ts +1 -1
  98. package/dist/ts/react/components/AppProvider/AppProvider.doc.d.ts +0 -4
  99. package/dist/ts/react/components/AppProvider/AppProvider.doc.d.ts.map +0 -1
  100. package/dist/ts/react/components/AppProxyForm/AppProxyForm.doc.d.ts +0 -4
  101. package/dist/ts/react/components/AppProxyForm/AppProxyForm.doc.d.ts.map +0 -1
  102. package/dist/ts/react/components/AppProxyLink/AppProxyLink.doc.d.ts +0 -4
  103. package/dist/ts/react/components/AppProxyLink/AppProxyLink.doc.d.ts.map +0 -1
  104. package/dist/ts/react/components/AppProxyProvider/AppProxyProvider.doc.d.ts +0 -4
  105. package/dist/ts/react/components/AppProxyProvider/AppProxyProvider.doc.d.ts.map +0 -1
  106. package/dist/ts/server/authenticate/admin/authenticate.admin.doc.d.ts +0 -4
  107. package/dist/ts/server/authenticate/admin/authenticate.admin.doc.d.ts.map +0 -1
  108. package/dist/ts/server/authenticate/admin/billing/authenticate.admin.billing.doc.d.ts +0 -4
  109. package/dist/ts/server/authenticate/admin/billing/authenticate.admin.billing.doc.d.ts.map +0 -1
  110. package/dist/ts/server/authenticate/admin/scope/authenticate.admin.scopes.doc.d.ts +0 -4
  111. package/dist/ts/server/authenticate/admin/scope/authenticate.admin.scopes.doc.d.ts.map +0 -1
  112. package/dist/ts/server/authenticate/flow/authenticate.flow.doc.d.ts +0 -4
  113. package/dist/ts/server/authenticate/flow/authenticate.flow.doc.d.ts.map +0 -1
  114. package/dist/ts/server/authenticate/fulfillment-service/authenticate.fulfillment-service.doc.d.ts +0 -4
  115. package/dist/ts/server/authenticate/fulfillment-service/authenticate.fulfillment-service.doc.d.ts.map +0 -1
  116. package/dist/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.d.ts +0 -4
  117. package/dist/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.d.ts.map +0 -1
  118. package/dist/ts/server/authenticate/public/checkout/authenticate.public.checkout.doc.d.ts +0 -4
  119. package/dist/ts/server/authenticate/public/checkout/authenticate.public.checkout.doc.d.ts.map +0 -1
  120. package/dist/ts/server/authenticate/public/customer-account/authenticate.public.customerAccount.doc.d.ts +0 -4
  121. package/dist/ts/server/authenticate/public/customer-account/authenticate.public.customerAccount.doc.d.ts.map +0 -1
  122. package/dist/ts/server/authenticate/webhooks/authenticate.webhooks.doc.d.ts +0 -4
  123. package/dist/ts/server/authenticate/webhooks/authenticate.webhooks.doc.d.ts.map +0 -1
  124. package/dist/ts/server/clients/admin/authenticate.admin.api.doc.d.ts +0 -4
  125. package/dist/ts/server/clients/admin/authenticate.admin.api.doc.d.ts.map +0 -1
  126. package/dist/ts/server/clients/storefront/authenticate.storefront.api.doc.d.ts +0 -4
  127. package/dist/ts/server/clients/storefront/authenticate.storefront.api.doc.d.ts.map +0 -1
  128. package/dist/ts/server/shopify-app.doc.d.ts +0 -4
  129. package/dist/ts/server/shopify-app.doc.d.ts.map +0 -1
  130. package/dist/ts/server/unauthenticated/admin/unauthenticated.admin.doc.d.ts +0 -4
  131. package/dist/ts/server/unauthenticated/admin/unauthenticated.admin.doc.d.ts.map +0 -1
  132. package/dist/ts/server/unauthenticated/storefront/unauthenticated.storefront.doc.d.ts +0 -4
  133. package/dist/ts/server/unauthenticated/storefront/unauthenticated.storefront.doc.d.ts.map +0 -1
  134. package/src/react/components/AppProvider/AppProvider.doc.ts +0 -35
  135. package/src/react/components/AppProxyForm/AppProxyForm.doc.ts +0 -28
  136. package/src/react/components/AppProxyLink/AppProxyLink.doc.ts +0 -28
  137. package/src/react/components/AppProxyProvider/AppProxyProvider.doc.ts +0 -40
  138. package/src/server/authenticate/admin/authenticate.admin.doc.ts +0 -51
  139. package/src/server/authenticate/admin/billing/authenticate.admin.billing.doc.ts +0 -29
  140. package/src/server/authenticate/admin/scope/authenticate.admin.scopes.doc.ts +0 -28
  141. package/src/server/authenticate/flow/authenticate.flow.doc.ts +0 -47
  142. package/src/server/authenticate/fulfillment-service/authenticate.fulfillment-service.doc.ts +0 -48
  143. package/src/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.ts +0 -55
  144. package/src/server/authenticate/public/checkout/authenticate.public.checkout.doc.ts +0 -49
  145. package/src/server/authenticate/public/customer-account/authenticate.public.customerAccount.doc.ts +0 -49
  146. package/src/server/authenticate/webhooks/authenticate.webhooks.doc.ts +0 -39
  147. package/src/server/clients/admin/authenticate.admin.api.doc.ts +0 -34
  148. package/src/server/clients/storefront/authenticate.storefront.api.doc.ts +0 -34
  149. package/src/server/shopify-app.doc.ts +0 -45
  150. package/src/server/unauthenticated/admin/unauthenticated.admin.doc.ts +0 -40
  151. package/src/server/unauthenticated/storefront/unauthenticated.storefront.doc.ts +0 -40
@@ -1 +1 @@
1
- {"version":3,"file":"flags.mjs","sources":["../../../../../src/server/future/flags.ts"],"sourcesContent":["import type {ConfigParams, Shopify} from '@shopify/shopify-api';\n\nimport {AppConfig} from '../config-types';\n\n// When adding new flags, you should also add them to the `TEST_FUTURE_FLAGS` object in `test-config.ts` to ensure that\n// it doesn't cause regressions.\nexport interface FutureFlags {\n /**\n * When enabled, embedded apps will fetch access tokens via [token exchange](https://shopify.dev/docs/apps/auth/get-access-tokens/token-exchange).\n * This assumes the app has scopes declared for [Shopify managing installation](https://shopify.dev/docs/apps/auth/installation#shopify-managed-installation).\n *\n * Learn more about this [new embedded app auth strategy](https://shopify.dev/docs/api/shopify-app-remix#embedded-auth-strategy).\n *\n * @default false\n */\n unstable_newEmbeddedAuthStrategy?: boolean;\n /**\n * When enabled, the app will start using expiring offline access tokens and automatically refresh them when they are close to expiring.\n *\n * @default false\n */\n expiringOfflineAccessTokens?: boolean;\n}\n\n// When adding new flags, use this format:\n// apiFutureFlag: Future extends FutureFlags ? Future['remixFutureFlag'] : false;\nexport interface ApiFutureFlags<Future extends FutureFlagOptions> {\n expiringOfflineAccessTokens: Future extends FutureFlags\n ? Future['expiringOfflineAccessTokens']\n : false;\n unstable_managedPricingSupport: true;\n}\n\nexport type ApiConfigWithFutureFlags<Future extends FutureFlagOptions> =\n ConfigParams<ApiFutureFlags<Future>>;\n\nexport type FutureFlagOptions = FutureFlags | undefined;\n\nexport type FeatureEnabled<\n Future extends FutureFlagOptions,\n Flag extends keyof FutureFlags,\n> = Future extends FutureFlags\n ? Future[Flag] extends true\n ? true\n : false\n : false;\n\nexport function logDisabledFutureFlags(\n config: AppConfig,\n logger: Shopify['logger'],\n) {\n const logFlag = (flag: string, message: string) =>\n logger.info(`Future flag ${flag} is disabled.\\n\\n ${message}\\n`);\n\n if (!config.future.unstable_newEmbeddedAuthStrategy) {\n logFlag(\n 'unstable_newEmbeddedAuthStrategy',\n 'Enable this to use OAuth token exchange instead of auth code to generate API access tokens.' +\n '\\n Your app must be using Shopify managed install: https://shopify.dev/docs/apps/auth/installation',\n );\n }\n}\n"],"names":[],"mappings":"AA+CM,SAAU,sBAAsB,CACpC,MAAiB,EACjB,MAAyB,EAAA;AAEzB,IAAA,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,OAAe,KAC5C,MAAM,CAAC,IAAI,CAAC,CAAA,YAAA,EAAe,IAAI,sBAAsB,OAAO,CAAA,EAAA,CAAI,CAAC;AAEnE,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gCAAgC,EAAE;QACnD,OAAO,CACL,kCAAkC,EAClC,6FAA6F;AAC3F,YAAA,qGAAqG,CACxG;IACH;AACF;;;;"}
1
+ {"version":3,"file":"flags.mjs","sources":["../../../../../src/server/future/flags.ts"],"sourcesContent":["import type {ConfigParams, Shopify} from '@shopify/shopify-api';\n\nimport {AppConfig} from '../config-types';\n\n// When adding new flags, you should also add them to the `TEST_FUTURE_FLAGS` object in `test-config.ts` to ensure that\n// it doesn't cause regressions.\n/**\n * Set future flags using the `future` configuration field to opt in to upcoming breaking changes.\n *\n * With this feature, you can prepare for major releases ahead of time, as well as try out new features before they are released.\n * @publicDocs\n */\nexport interface FutureFlags {\n /**\n * When enabled, embedded apps will fetch access tokens via [token exchange](https://shopify.dev/docs/apps/auth/get-access-tokens/token-exchange).\n * This assumes the app has scopes declared for [Shopify managing installation](https://shopify.dev/docs/apps/auth/installation#shopify-managed-installation).\n *\n * Learn more about this [new embedded app auth strategy](https://shopify.dev/docs/api/shopify-app-remix#embedded-auth-strategy).\n *\n * @default false\n */\n unstable_newEmbeddedAuthStrategy?: boolean;\n /**\n * When enabled, the app will start using expiring offline access tokens and automatically refresh them when they are close to expiring.\n *\n * @default false\n */\n expiringOfflineAccessTokens?: boolean;\n}\n\n// When adding new flags, use this format:\n// apiFutureFlag: Future extends FutureFlags ? Future['remixFutureFlag'] : false;\nexport interface ApiFutureFlags<Future extends FutureFlagOptions> {\n expiringOfflineAccessTokens: Future extends FutureFlags\n ? Future['expiringOfflineAccessTokens']\n : false;\n unstable_managedPricingSupport: true;\n}\n\nexport type ApiConfigWithFutureFlags<Future extends FutureFlagOptions> =\n ConfigParams<ApiFutureFlags<Future>>;\n\nexport type FutureFlagOptions = FutureFlags | undefined;\n\nexport type FeatureEnabled<\n Future extends FutureFlagOptions,\n Flag extends keyof FutureFlags,\n> = Future extends FutureFlags\n ? Future[Flag] extends true\n ? true\n : false\n : false;\n\nexport function logDisabledFutureFlags(\n config: AppConfig,\n logger: Shopify['logger'],\n) {\n const logFlag = (flag: string, message: string) =>\n logger.info(`Future flag ${flag} is disabled.\\n\\n ${message}\\n`);\n\n if (!config.future.unstable_newEmbeddedAuthStrategy) {\n logFlag(\n 'unstable_newEmbeddedAuthStrategy',\n 'Enable this to use OAuth token exchange instead of auth code to generate API access tokens.' +\n '\\n Your app must be using Shopify managed install: https://shopify.dev/docs/apps/auth/installation',\n );\n }\n}\n"],"names":[],"mappings":"AAqDM,SAAU,sBAAsB,CACpC,MAAiB,EACjB,MAAyB,EAAA;AAEzB,IAAA,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,OAAe,KAC5C,MAAM,CAAC,IAAI,CAAC,CAAA,YAAA,EAAe,IAAI,sBAAsB,OAAO,CAAA,EAAA,CAAI,CAAC;AAEnE,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gCAAgC,EAAE;QACnD,OAAO,CACL,kCAAkC,EAClC,6FAA6F;AAC3F,YAAA,qGAAqG,CACxG;IACH;AACF;;;;"}
@@ -26,6 +26,7 @@ import { logDisabledFutureFlags } from './future/flags.mjs';
26
26
  *
27
27
  * @param appConfig Configuration options for your Shopify app, such as the scopes your app needs.
28
28
  * @returns `ShopifyApp` An object constructed using your appConfig. It has methods for interacting with Shopify.
29
+ * @publicDocs
29
30
  *
30
31
  * @example
31
32
  * <caption>The minimum viable configuration</caption>
@@ -1 +1 @@
1
- {"version":3,"file":"shopify-app.mjs","sources":["../../../../src/server/shopify-app.ts"],"sourcesContent":["import '@shopify/shopify-api/adapters/web-api';\nimport {\n ConfigInterface as ApiConfig,\n ShopifyError,\n shopifyApi,\n} from '@shopify/shopify-api';\nimport {SessionStorage} from '@shopify/shopify-app-session-storage';\n\nimport {type AppConfig, type AppConfigArg} from './config-types';\nimport {\n AppDistribution,\n type BasicParams,\n type ShopifyApp,\n type ShopifyAppBase,\n type AdminApp,\n type SingleMerchantApp,\n type AppStoreApp,\n} from './types';\nimport {SHOPIFY_REMIX_LIBRARY_VERSION} from './version';\nimport {registerWebhooksFactory} from './authenticate/webhooks';\nimport {authStrategyFactory} from './authenticate/admin/authenticate';\nimport {authenticateWebhookFactory} from './authenticate/webhooks/authenticate';\nimport {overrideLogger} from './override-logger';\nimport {addDocumentResponseHeadersFactory} from './authenticate/helpers';\nimport {loginFactory} from './authenticate/login/login';\nimport {unauthenticatedAdminContextFactory} from './unauthenticated/admin';\nimport {authenticatePublicFactory} from './authenticate/public';\nimport {unauthenticatedStorefrontContextFactory} from './unauthenticated/storefront';\nimport {AuthCodeFlowStrategy} from './authenticate/admin/strategies/auth-code-flow';\nimport {TokenExchangeStrategy} from './authenticate/admin/strategies/token-exchange';\nimport {MerchantCustomAuth} from './authenticate/admin/strategies/merchant-custom-app';\nimport {IdempotentPromiseHandler} from './authenticate/helpers/idempotent-promise-handler';\nimport {authenticateFlowFactory} from './authenticate/flow/authenticate';\nimport {authenticateFulfillmentServiceFactory} from './authenticate/fulfillment-service/authenticate';\nimport {FutureFlagOptions, logDisabledFutureFlags} from './future/flags';\n\n/**\n * Creates an object your app will use to interact with Shopify.\n *\n * @param appConfig Configuration options for your Shopify app, such as the scopes your app needs.\n * @returns `ShopifyApp` An object constructed using your appConfig. It has methods for interacting with Shopify.\n *\n * @example\n * <caption>The minimum viable configuration</caption>\n * ```ts\n * // /shopify.server.ts\n * import { shopifyApp } from \"@shopify/shopify-app-remix/server\";\n *\n * const shopify = shopifyApp({\n * apiKey: process.env.SHOPIFY_API_KEY!,\n * apiSecretKey: process.env.SHOPIFY_API_SECRET!,\n * scopes: process.env.SCOPES?.split(\",\")!,\n * appUrl: process.env.SHOPIFY_APP_URL!,\n * });\n * export default shopify;\n * ```\n */\nexport function shopifyApp<\n Config extends AppConfigArg<Storage, Future>,\n Storage extends SessionStorage,\n Future extends FutureFlagOptions = Config['future'],\n>(appConfig: Readonly<Config>): ShopifyApp<Config> {\n const api = deriveApi(appConfig);\n const config = deriveConfig<Storage>(appConfig, api.config);\n const logger = overrideLogger(api.logger);\n\n if (appConfig.webhooks) {\n api.webhooks.addHandlers(appConfig.webhooks);\n }\n\n const params: BasicParams = {api, config, logger};\n\n let strategy;\n if (config.distribution === AppDistribution.ShopifyAdmin) {\n strategy = new MerchantCustomAuth(params);\n } else if (\n config.future.unstable_newEmbeddedAuthStrategy &&\n config.isEmbeddedApp\n ) {\n strategy = new TokenExchangeStrategy(params);\n } else {\n strategy = new AuthCodeFlowStrategy(params);\n }\n\n const authStrategy = authStrategyFactory<Config>({\n ...params,\n strategy,\n });\n\n const shopify:\n | AdminApp<Config>\n | AppStoreApp<Config>\n | SingleMerchantApp<Config> = {\n sessionStorage: config.sessionStorage,\n addDocumentResponseHeaders: addDocumentResponseHeadersFactory(params),\n registerWebhooks: registerWebhooksFactory(params),\n authenticate: {\n admin: authStrategy,\n flow: authenticateFlowFactory(params),\n public: authenticatePublicFactory(params),\n fulfillmentService: authenticateFulfillmentServiceFactory(params),\n webhook: authenticateWebhookFactory<string>(params),\n },\n unauthenticated: {\n admin: unauthenticatedAdminContextFactory(params),\n storefront: unauthenticatedStorefrontContextFactory(params),\n },\n };\n\n if (\n isAppStoreApp(shopify, appConfig) ||\n isSingleMerchantApp(shopify, appConfig)\n ) {\n shopify.login = loginFactory(params);\n }\n\n logDisabledFutureFlags(config, logger);\n\n return shopify as ShopifyApp<Config>;\n}\n\nfunction isAppStoreApp<Config extends AppConfigArg>(\n _shopify: ShopifyAppBase<Config>,\n config: Config,\n): _shopify is AppStoreApp<Config> {\n return config.distribution === AppDistribution.AppStore;\n}\n\nfunction isSingleMerchantApp<Config extends AppConfigArg>(\n _shopify: ShopifyAppBase<Config>,\n config: Config,\n): _shopify is SingleMerchantApp<Config> {\n return config.distribution === AppDistribution.SingleMerchant;\n}\n\n// This function is only exported so we can unit test it without having to mock the underlying module.\n// It's not available to consumers of the library because it is not exported in the index module, and never should be.\nexport function deriveApi(appConfig: AppConfigArg): BasicParams['api'] {\n let appUrl: URL;\n try {\n appUrl = new URL(appConfig.appUrl);\n } catch (error) {\n const message =\n appConfig.appUrl === ''\n ? `Detected an empty appUrl configuration, please make sure to set the necessary environment variables.\\n` +\n `If you're deploying your app, you can find more information at https://shopify.dev/docs/apps/launch/deployment/deploy-web-app/deploy-to-hosting-service#step-4-set-up-environment-variables`\n : `Invalid appUrl configuration '${appConfig.appUrl}', please provide a valid URL.`;\n throw new ShopifyError(message);\n }\n\n /* eslint-disable no-process-env */\n if (appUrl.hostname === 'localhost' && !appUrl.port && process.env.PORT) {\n appUrl.port = process.env.PORT;\n }\n /* eslint-enable no-process-env */\n appConfig.appUrl = appUrl.origin;\n\n let userAgentPrefix = `Shopify Remix Library v${SHOPIFY_REMIX_LIBRARY_VERSION}`;\n if (appConfig.userAgentPrefix) {\n userAgentPrefix = `${appConfig.userAgentPrefix} | ${userAgentPrefix}`;\n }\n\n return shopifyApi({\n ...appConfig,\n hostName: appUrl.host,\n hostScheme: appUrl.protocol.replace(':', '') as 'http' | 'https',\n userAgentPrefix,\n isEmbeddedApp: appConfig.isEmbeddedApp ?? true,\n apiVersion: appConfig.apiVersion,\n isCustomStoreApp: appConfig.distribution === AppDistribution.ShopifyAdmin,\n billing: appConfig.billing as ApiConfig['billing'],\n future: {\n unstable_managedPricingSupport: true,\n },\n _logDisabledFutureFlags: false,\n });\n}\n\nfunction deriveConfig<Storage extends SessionStorage>(\n appConfig: AppConfigArg,\n apiConfig: ApiConfig,\n): AppConfig<Storage> {\n if (\n !appConfig.sessionStorage &&\n appConfig.distribution !== AppDistribution.ShopifyAdmin\n ) {\n throw new ShopifyError(\n 'Please provide a valid session storage. Refer to https://github.com/Shopify/shopify-app-js/blob/main/README.md#session-storage-options for options.',\n );\n }\n\n const authPathPrefix = appConfig.authPathPrefix || '/auth';\n appConfig.distribution = appConfig.distribution ?? AppDistribution.AppStore;\n\n return {\n ...appConfig,\n ...apiConfig,\n billing: appConfig.billing as ApiConfig['billing'],\n scopes: apiConfig.scopes,\n idempotentPromiseHandler: new IdempotentPromiseHandler(),\n canUseLoginForm: appConfig.distribution !== AppDistribution.ShopifyAdmin,\n useOnlineTokens: appConfig.useOnlineTokens ?? false,\n hooks: appConfig.hooks ?? {},\n sessionStorage: appConfig.sessionStorage as Storage,\n future: appConfig.future ?? {},\n auth: {\n path: authPathPrefix,\n callbackPath: `${authPathPrefix}/callback`,\n patchSessionTokenPath: `${authPathPrefix}/session-token`,\n exitIframePath: `${authPathPrefix}/exit-iframe`,\n loginPath: `${authPathPrefix}/login`,\n },\n distribution: appConfig.distribution,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shopify-app.mjs","sources":["../../../../src/server/shopify-app.ts"],"sourcesContent":["import '@shopify/shopify-api/adapters/web-api';\nimport {\n ConfigInterface as ApiConfig,\n ShopifyError,\n shopifyApi,\n} from '@shopify/shopify-api';\nimport {SessionStorage} from '@shopify/shopify-app-session-storage';\n\nimport {type AppConfig, type AppConfigArg} from './config-types';\nimport {\n AppDistribution,\n type BasicParams,\n type ShopifyApp,\n type ShopifyAppBase,\n type AdminApp,\n type SingleMerchantApp,\n type AppStoreApp,\n} from './types';\nimport {SHOPIFY_REMIX_LIBRARY_VERSION} from './version';\nimport {registerWebhooksFactory} from './authenticate/webhooks';\nimport {authStrategyFactory} from './authenticate/admin/authenticate';\nimport {authenticateWebhookFactory} from './authenticate/webhooks/authenticate';\nimport {overrideLogger} from './override-logger';\nimport {addDocumentResponseHeadersFactory} from './authenticate/helpers';\nimport {loginFactory} from './authenticate/login/login';\nimport {unauthenticatedAdminContextFactory} from './unauthenticated/admin';\nimport {authenticatePublicFactory} from './authenticate/public';\nimport {unauthenticatedStorefrontContextFactory} from './unauthenticated/storefront';\nimport {AuthCodeFlowStrategy} from './authenticate/admin/strategies/auth-code-flow';\nimport {TokenExchangeStrategy} from './authenticate/admin/strategies/token-exchange';\nimport {MerchantCustomAuth} from './authenticate/admin/strategies/merchant-custom-app';\nimport {IdempotentPromiseHandler} from './authenticate/helpers/idempotent-promise-handler';\nimport {authenticateFlowFactory} from './authenticate/flow/authenticate';\nimport {authenticateFulfillmentServiceFactory} from './authenticate/fulfillment-service/authenticate';\nimport {FutureFlagOptions, logDisabledFutureFlags} from './future/flags';\n\n/**\n * Creates an object your app will use to interact with Shopify.\n *\n * @param appConfig Configuration options for your Shopify app, such as the scopes your app needs.\n * @returns `ShopifyApp` An object constructed using your appConfig. It has methods for interacting with Shopify.\n * @publicDocs\n *\n * @example\n * <caption>The minimum viable configuration</caption>\n * ```ts\n * // /shopify.server.ts\n * import { shopifyApp } from \"@shopify/shopify-app-remix/server\";\n *\n * const shopify = shopifyApp({\n * apiKey: process.env.SHOPIFY_API_KEY!,\n * apiSecretKey: process.env.SHOPIFY_API_SECRET!,\n * scopes: process.env.SCOPES?.split(\",\")!,\n * appUrl: process.env.SHOPIFY_APP_URL!,\n * });\n * export default shopify;\n * ```\n */\nexport function shopifyApp<\n Config extends AppConfigArg<Storage, Future>,\n Storage extends SessionStorage,\n Future extends FutureFlagOptions = Config['future'],\n>(appConfig: Readonly<Config>): ShopifyApp<Config> {\n const api = deriveApi(appConfig);\n const config = deriveConfig<Storage>(appConfig, api.config);\n const logger = overrideLogger(api.logger);\n\n if (appConfig.webhooks) {\n api.webhooks.addHandlers(appConfig.webhooks);\n }\n\n const params: BasicParams = {api, config, logger};\n\n let strategy;\n if (config.distribution === AppDistribution.ShopifyAdmin) {\n strategy = new MerchantCustomAuth(params);\n } else if (\n config.future.unstable_newEmbeddedAuthStrategy &&\n config.isEmbeddedApp\n ) {\n strategy = new TokenExchangeStrategy(params);\n } else {\n strategy = new AuthCodeFlowStrategy(params);\n }\n\n const authStrategy = authStrategyFactory<Config>({\n ...params,\n strategy,\n });\n\n const shopify:\n | AdminApp<Config>\n | AppStoreApp<Config>\n | SingleMerchantApp<Config> = {\n sessionStorage: config.sessionStorage,\n addDocumentResponseHeaders: addDocumentResponseHeadersFactory(params),\n registerWebhooks: registerWebhooksFactory(params),\n authenticate: {\n admin: authStrategy,\n flow: authenticateFlowFactory(params),\n public: authenticatePublicFactory(params),\n fulfillmentService: authenticateFulfillmentServiceFactory(params),\n webhook: authenticateWebhookFactory<string>(params),\n },\n unauthenticated: {\n admin: unauthenticatedAdminContextFactory(params),\n storefront: unauthenticatedStorefrontContextFactory(params),\n },\n };\n\n if (\n isAppStoreApp(shopify, appConfig) ||\n isSingleMerchantApp(shopify, appConfig)\n ) {\n shopify.login = loginFactory(params);\n }\n\n logDisabledFutureFlags(config, logger);\n\n return shopify as ShopifyApp<Config>;\n}\n\nfunction isAppStoreApp<Config extends AppConfigArg>(\n _shopify: ShopifyAppBase<Config>,\n config: Config,\n): _shopify is AppStoreApp<Config> {\n return config.distribution === AppDistribution.AppStore;\n}\n\nfunction isSingleMerchantApp<Config extends AppConfigArg>(\n _shopify: ShopifyAppBase<Config>,\n config: Config,\n): _shopify is SingleMerchantApp<Config> {\n return config.distribution === AppDistribution.SingleMerchant;\n}\n\n// This function is only exported so we can unit test it without having to mock the underlying module.\n// It's not available to consumers of the library because it is not exported in the index module, and never should be.\nexport function deriveApi(appConfig: AppConfigArg): BasicParams['api'] {\n let appUrl: URL;\n try {\n appUrl = new URL(appConfig.appUrl);\n } catch (error) {\n const message =\n appConfig.appUrl === ''\n ? `Detected an empty appUrl configuration, please make sure to set the necessary environment variables.\\n` +\n `If you're deploying your app, you can find more information at https://shopify.dev/docs/apps/launch/deployment/deploy-web-app/deploy-to-hosting-service#step-4-set-up-environment-variables`\n : `Invalid appUrl configuration '${appConfig.appUrl}', please provide a valid URL.`;\n throw new ShopifyError(message);\n }\n\n /* eslint-disable no-process-env */\n if (appUrl.hostname === 'localhost' && !appUrl.port && process.env.PORT) {\n appUrl.port = process.env.PORT;\n }\n /* eslint-enable no-process-env */\n appConfig.appUrl = appUrl.origin;\n\n let userAgentPrefix = `Shopify Remix Library v${SHOPIFY_REMIX_LIBRARY_VERSION}`;\n if (appConfig.userAgentPrefix) {\n userAgentPrefix = `${appConfig.userAgentPrefix} | ${userAgentPrefix}`;\n }\n\n return shopifyApi({\n ...appConfig,\n hostName: appUrl.host,\n hostScheme: appUrl.protocol.replace(':', '') as 'http' | 'https',\n userAgentPrefix,\n isEmbeddedApp: appConfig.isEmbeddedApp ?? true,\n apiVersion: appConfig.apiVersion,\n isCustomStoreApp: appConfig.distribution === AppDistribution.ShopifyAdmin,\n billing: appConfig.billing as ApiConfig['billing'],\n future: {\n unstable_managedPricingSupport: true,\n },\n _logDisabledFutureFlags: false,\n });\n}\n\nfunction deriveConfig<Storage extends SessionStorage>(\n appConfig: AppConfigArg,\n apiConfig: ApiConfig,\n): AppConfig<Storage> {\n if (\n !appConfig.sessionStorage &&\n appConfig.distribution !== AppDistribution.ShopifyAdmin\n ) {\n throw new ShopifyError(\n 'Please provide a valid session storage. Refer to https://github.com/Shopify/shopify-app-js/blob/main/README.md#session-storage-options for options.',\n );\n }\n\n const authPathPrefix = appConfig.authPathPrefix || '/auth';\n appConfig.distribution = appConfig.distribution ?? AppDistribution.AppStore;\n\n return {\n ...appConfig,\n ...apiConfig,\n billing: appConfig.billing as ApiConfig['billing'],\n scopes: apiConfig.scopes,\n idempotentPromiseHandler: new IdempotentPromiseHandler(),\n canUseLoginForm: appConfig.distribution !== AppDistribution.ShopifyAdmin,\n useOnlineTokens: appConfig.useOnlineTokens ?? false,\n hooks: appConfig.hooks ?? {},\n sessionStorage: appConfig.sessionStorage as Storage,\n future: appConfig.future ?? {},\n auth: {\n path: authPathPrefix,\n callbackPath: `${authPathPrefix}/callback`,\n patchSessionTokenPath: `${authPathPrefix}/session-token`,\n exitIframePath: `${authPathPrefix}/exit-iframe`,\n loginPath: `${authPathPrefix}/login`,\n },\n distribution: appConfig.distribution,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const SHOPIFY_REMIX_LIBRARY_VERSION = '4.2.0';
1
+ const SHOPIFY_REMIX_LIBRARY_VERSION = '4.2.1';
2
2
 
3
3
  export { SHOPIFY_REMIX_LIBRARY_VERSION };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../../src/server/version.ts"],"sourcesContent":["export const SHOPIFY_REMIX_LIBRARY_VERSION = '4.2.0';\n"],"names":[],"mappings":"AAAO,MAAM,6BAA6B,GAAG;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../../src/server/version.ts"],"sourcesContent":["export const SHOPIFY_REMIX_LIBRARY_VERSION = '4.2.1';\n"],"names":[],"mappings":"AAAO,MAAM,6BAA6B,GAAG;;;;"}
@@ -1,4 +1,8 @@
1
1
  import { AppProviderProps as PolarisAppProviderProps } from '@shopify/polaris';
2
+ /**
3
+ * Props for the `AppProvider` component.
4
+ * @publicDocs
5
+ */
2
6
  export interface AppProviderProps extends Omit<PolarisAppProviderProps, 'linkComponent' | 'i18n'> {
3
7
  /**
4
8
  * The API key for your Shopify app. This is the `Client ID` from the Partner Dashboard.
@@ -88,5 +92,5 @@ export interface AppProviderProps extends Omit<PolarisAppProviderProps, 'linkCom
88
92
  * }
89
93
  * ```
90
94
  */
91
- export declare function AppProvider(props: AppProviderProps): import("react/jsx-runtime").JSX.Element;
95
+ export declare function AppProvider(props: AppProviderProps): import("react").JSX.Element;
92
96
  //# sourceMappingURL=AppProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppProvider.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProvider/AppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,IAAI,uBAAuB,EAC5C,MAAM,kBAAkB,CAAC;AAW1B,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,uBAAuB,EACvB,eAAe,GAAG,MAAM,CACzB;IACC;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,IAAI,CAAC,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACvC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAuClD"}
1
+ {"version":3,"file":"AppProvider.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProvider/AppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,IAAI,uBAAuB,EAC5C,MAAM,kBAAkB,CAAC;AAW1B;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,uBAAuB,EACvB,eAAe,GAAG,MAAM,CACzB;IACC;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,IAAI,CAAC,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACvC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAuClD"}
@@ -57,6 +57,7 @@ export interface AppProxyFormProps extends FormProps {
57
57
  * );
58
58
  * }
59
59
  * ```
60
+ * @publicDocs
60
61
  */
61
- export declare function AppProxyForm(props: AppProxyFormProps): import("react/jsx-runtime").JSX.Element;
62
+ export declare const AppProxyForm: import("react").ForwardRefExoticComponent<AppProxyFormProps & import("react").RefAttributes<HTMLFormElement>>;
62
63
  //# sourceMappingURL=AppProxyForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppProxyForm.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAItD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAgBpD"}
1
+ {"version":3,"file":"AppProxyForm.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAItD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,eAAO,MAAM,YAAY,+GAkBxB,CAAC"}
@@ -30,6 +30,7 @@ export interface AppProxyLinkProps extends React.DetailedHTMLProps<React.AnchorH
30
30
  * );
31
31
  * }
32
32
  * ```
33
+ * @publicDocs
33
34
  */
34
- export declare function AppProxyLink(props: AppProxyLinkProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare const AppProxyLink: import("react").ForwardRefExoticComponent<Omit<AppProxyLinkProps, "ref"> & import("react").RefAttributes<HTMLAnchorElement>>;
35
36
  //# sourceMappingURL=AppProxyLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppProxyLink.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProxyLink/AppProxyLink.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,iBAAiB,CAChE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,iBAAiB,CAClB;IACC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAgBpD"}
1
+ {"version":3,"file":"AppProxyLink.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProxyLink/AppProxyLink.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,iBAAiB,CAChE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,iBAAiB,CAClB;IACC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,YAAY,8HAkBxB,CAAC"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Props for the `AppProxyProvider` component.
3
+ * @publicDocs
4
+ */
1
5
  export interface AppProxyProviderProps {
2
6
  /**
3
7
  * The URL where the app is hosted. You can set this from the `SHOPIFY_APP_URL` environment variable.
@@ -49,6 +53,6 @@ export declare const AppProxyProviderContext: import("react").Context<AppProxyPr
49
53
  * }
50
54
  * ```
51
55
  */
52
- export declare function AppProxyProvider(props: AppProxyProviderProps): import("react/jsx-runtime").JSX.Element;
56
+ export declare function AppProxyProvider(props: AppProxyProviderProps): import("react").JSX.Element;
53
57
  export {};
54
58
  //# sourceMappingURL=AppProxyProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppProxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProxyProvider/AppProxyProvider.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,KAAK,iBAAiB,GAAG,CACvB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,SAAS,CAAC,EAAE,OAAO,KAChB,MAAM,GAAG,SAAS,CAAC;AAExB,UAAU,4BAA4B;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,eAAO,MAAM,uBAAuB,8DACsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAkB5D"}
1
+ {"version":3,"file":"AppProxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProxyProvider/AppProxyProvider.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,KAAK,iBAAiB,GAAG,CACvB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,SAAS,CAAC,EAAE,OAAO,KAChB,MAAM,GAAG,SAAS,CAAC;AAExB,UAAU,4BAA4B;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,iBAAiB,CAAC;IAC7B,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,eAAO,MAAM,uBAAuB,8DACsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAkB5D"}
@@ -91,6 +91,10 @@ export interface UpdateUsageCappedAmountOptions {
91
91
  currencyCode: string;
92
92
  };
93
93
  }
94
+ /**
95
+ * Provides utilities that apps can use to request billing for the app using the Admin API.
96
+ * @publicDocs
97
+ */
94
98
  export interface BillingContext<Config extends AppConfigArg> {
95
99
  /**
96
100
  * Checks if the shop has an active payment for any plan defined in the `billing` config option.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/admin/billing/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/admin/billing/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /**
2
- * The Scopes API enables embedded apps and extensions to request merchant consent for access scopes.
2
+ * Provides utilities that apps can use to [manage scopes](https://shopify.dev/docs/apps/build/authentication-authorization/app-installation/manage-access-scopes) for the app using the Admin API.
3
+ * @publicDocs
3
4
  */
4
5
  export interface ScopesApiContext {
5
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/admin/scope/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,KAAK,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,EAAE,KAAK,EAAE,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/admin/scope/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,KAAK,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,EAAE,KAAK,EAAE,CAAC;CAClB"}
@@ -138,6 +138,10 @@ export interface EmbeddedAdminContext<Config extends AppConfigArg> extends Admin
138
138
  *
139
139
  * Returned only if `isEmbeddedApp` is `true`.
140
140
  *
141
+ * Request parameters (including `id_token`, `shop`, `host`, and `embedded`) are only copied to the destination when
142
+ * it resolves to the same origin as `appUrl`. This helper does not validate the destination URL — avoid passing
143
+ * unvalidated user input (for example, a raw `?next=` query parameter) and use an allow-list of paths instead.
144
+ *
141
145
  * @example
142
146
  * <caption>Redirecting to an app route.</caption>
143
147
  * <description>Use the `redirect` helper to safely redirect between pages.</description>
@@ -192,6 +196,12 @@ export interface ScopesContext {
192
196
  scopes: ScopesApiContext;
193
197
  }
194
198
  export type AdminContext<Config extends AppConfigArg> = EmbeddedTypedAdminContext<Config> & ScopesContext;
199
+ /**
200
+ * Authenticates requests coming from the Shopify admin.
201
+ *
202
+ * The shape of the returned object changes depending on the `isEmbeddedApp` config.
203
+ * @publicDocs
204
+ */
195
205
  export type AuthenticateAdmin<Config extends AppConfigArg> = (request: Request) => Promise<AdminContext<Config>>;
196
206
  export {};
197
207
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/C,UAAU,oBAAoB,CAAC,MAAM,SAAS,YAAY;IACxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyDG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB;;;;OAIG;IACH,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB,CACnC,MAAM,SAAS,YAAY,CAC3B,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,YAAY,EAAE,UAAU,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AACD,MAAM,WAAW,uBAAuB,CACtC,MAAM,SAAS,YAAY,CAC3B,SAAQ,oBAAoB,CAAC,MAAM,CAAC;CAAG;AAEzC,KAAK,yBAAyB,CAAC,MAAM,SAAS,YAAY,IACxD,MAAM,CAAC,eAAe,CAAC,SAAS,KAAK,GACjC,uBAAuB,CAAC,MAAM,CAAC,GAC/B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,YAAY,IAClD,yBAAyB,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC;AAEpD,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,YAAY,IAAI,CAC3D,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/C,UAAU,oBAAoB,CAAC,MAAM,SAAS,YAAY;IACxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyDG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB;;;;OAIG;IACH,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB,CACnC,MAAM,SAAS,YAAY,CAC3B,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,YAAY,EAAE,UAAU,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AACD,MAAM,WAAW,uBAAuB,CACtC,MAAM,SAAS,YAAY,CAC3B,SAAQ,oBAAoB,CAAC,MAAM,CAAC;CAAG;AAEzC,KAAK,yBAAyB,CAAC,MAAM,SAAS,YAAY,IACxD,MAAM,CAAC,eAAe,CAAC,SAAS,KAAK,GACjC,uBAAuB,CAAC,MAAM,CAAC,GAC/B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,YAAY,IAClD,yBAAyB,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,YAAY,IAAI,CAC3D,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -77,5 +77,9 @@ export interface FlowContext {
77
77
  */
78
78
  admin: AdminApiContext;
79
79
  }
80
+ /**
81
+ * Verifies requests coming from Shopify Flow extensions.
82
+ * @publicDocs
83
+ */
80
84
  export type AuthenticateFlow = (request: Request) => Promise<FlowContext>;
81
85
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/flow/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,EAAE,GAAG,CAAC;IAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/flow/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,EAAE,GAAG,CAAC;IAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,KAAK,EAAE,eAAe,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC"}
@@ -72,5 +72,9 @@ export interface FulfillmentServiceContext {
72
72
  */
73
73
  payload: FulfillmentServicePayload;
74
74
  }
75
+ /**
76
+ * Verifies requests coming from Shopify to fulfillment service apps.
77
+ * @publicDocs
78
+ */
75
79
  export type AuthenticateFulfillmentService = (request: Request) => Promise<FulfillmentServiceContext>;
76
80
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/fulfillment-service/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAC5D,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC;;;;;;;;;;;;;;;;;;;;SAoBK;IACL,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,EAAE,yBAAyB,CAAC;CACpC;AAED,MAAM,MAAM,8BAA8B,GAAG,CAC3C,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/fulfillment-service/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAC5D,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC;;;;;;;;;;;;;;;;;;;;SAoBK;IACL,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,EAAE,yBAAyB,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,yBAAyB,CAAC,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import { Session } from '@shopify/shopify-api';
2
2
  import { AdminApiContext, StorefrontContext } from '../../../clients';
3
+ /**
4
+ * Authenticates requests coming to the app from Shopify app proxies.
5
+ * @publicDocs
6
+ */
3
7
  export type AuthenticateAppProxy = (request: Request) => Promise<AppProxyContext | AppProxyContextWithSession>;
4
8
  interface Options {
5
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/appProxy/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,eAAe,GAAG,0BAA0B,CAAC,CAAC;AAE3D,UAAU,OAAO;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,KAC/C,QAAQ,CAAC;AAEd,UAAU,OAAO;IACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoEG;IACH,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C;;;;OAIG;IACH,OAAO,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;;OAGG;IACH,UAAU,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,0BAA2B,SAAQ,OAAO;IACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,UAAU,EAAE,iBAAiB,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/appProxy/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,eAAe,GAAG,0BAA0B,CAAC,CAAC;AAE3D,UAAU,OAAO;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,KAC/C,QAAQ,CAAC;AAEd,UAAU,OAAO;IACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoEG;IACH,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C;;;;OAIG;IACH,OAAO,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;;OAGG;IACH,UAAU,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,0BAA2B,SAAQ,OAAO;IACzD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,UAAU,EAAE,iBAAiB,CAAC;CAC/B"}
@@ -1,5 +1,9 @@
1
1
  import { JwtPayload } from '@shopify/shopify-api';
2
2
  import { EnsureCORSFunction } from '../../helpers/ensure-cors-headers';
3
+ /**
4
+ * Authenticates requests coming from Shopify checkout extensions.
5
+ * @publicDocs
6
+ */
3
7
  export type AuthenticateCheckout = (request: Request, options?: AuthenticateCheckoutOptions) => Promise<CheckoutContext>;
4
8
  export interface AuthenticateCheckoutOptions {
5
9
  corsHeaders?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/checkout/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAErE,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,2BAA2B,KAClC,OAAO,CAAC,eAAe,CAAC,CAAC;AAE9B,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,YAAY,EAAE,UAAU,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAI,EAAE,kBAAkB,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/checkout/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,2BAA2B,KAClC,OAAO,CAAC,eAAe,CAAC,CAAC;AAE9B,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,YAAY,EAAE,UAAU,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAI,EAAE,kBAAkB,CAAC;CAC1B"}
@@ -1,5 +1,9 @@
1
1
  import { JwtPayload } from '@shopify/shopify-api';
2
2
  import { EnsureCORSFunction } from '../../helpers/ensure-cors-headers';
3
+ /**
4
+ * Authenticates requests coming from Shopify customer account extensions.
5
+ * @publicDocs
6
+ */
3
7
  export type AuthenticateCustomerAccount = (request: Request, options?: AuthenticateCustomerAccountOptions) => Promise<CustomerAccountContext>;
4
8
  export interface AuthenticateCustomerAccountOptions {
5
9
  corsHeaders?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/customer-account/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAErE,MAAM,MAAM,2BAA2B,GAAG,CACxC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,kCAAkC,KACzC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAErC,MAAM,WAAW,kCAAkC;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,YAAY,EAAE,UAAU,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAI,EAAE,kBAAkB,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/customer-account/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,CACxC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,kCAAkC,KACzC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAErC,MAAM,WAAW,kCAAkC;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,YAAY,EAAE,UAAU,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAI,EAAE,kBAAkB,CAAC;CAC1B"}
@@ -69,11 +69,8 @@ interface Context<Topics = string | number | symbol> {
69
69
  */
70
70
  topic: Topics;
71
71
  /**
72
- * A unique ID for the webhook. Useful to keep track of which events your app has already processed.
73
- *
74
- * For events webhooks (`webhookType === 'events'`), this is set to the `eventId` value for
75
- * backwards compatibility. Prefer using `eventId` directly for events webhooks — `webhookId`
76
- * will be removed from events webhooks in the next major version.
72
+ * A unique ID for the webhook. This is the idempotency key — useful to keep track of which
73
+ * events your app has already processed.
77
74
  *
78
75
  * @example
79
76
  * <caption>Webhook ID.</caption>
@@ -235,6 +232,10 @@ export interface WebhookContextWithSession<Topics = string | number | symbol> ex
235
232
  admin: AdminApiContext;
236
233
  }
237
234
  export type WebhookContext<Topics = string | number | symbol> = WebhookContextWithoutSession<Topics> | WebhookContextWithSession<Topics>;
235
+ /**
236
+ * Verifies requests coming from Shopify webhooks.
237
+ * @publicDocs
238
+ */
238
239
  export type AuthenticateWebhook<Topics = string | number | symbol> = (request: Request) => Promise<WebhookContext<Topics>>;
239
240
  export {};
240
241
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/webhooks/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IACjD;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B;;OAEG;IACH,WAAW,EAAE,gBAAgB,CAAC;IAE9B;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B,CAC3C,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CACjC,SAAQ,OAAO,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB,CACxC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CACjC,SAAQ,OAAO,CAAC,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IACxD,4BAA4B,CAAC,MAAM,CAAC,GACpC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAEtC,MAAM,MAAM,mBAAmB,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,CACnE,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/webhooks/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IACjD;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B;;OAEG;IACH,WAAW,EAAE,gBAAgB,CAAC;IAE9B;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B,CAC3C,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CACjC,SAAQ,OAAO,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB,CACxC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CACjC,SAAQ,OAAO,CAAC,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IACxD,4BAA4B,CAAC,MAAM,CAAC,GACpC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,mBAAmB,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,CACnE,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare function errorBoundary(error: any): import("react/jsx-runtime").JSX.Element;
1
+ export declare function errorBoundary(error: any): import("react").JSX.Element;
2
2
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/server/boundary/error.tsx"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,2CAavC"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/server/boundary/error.tsx"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,+BAavC"}
@@ -12,6 +12,10 @@ export type HandleAdminClientError = (arg: {
12
12
  params: BasicParams;
13
13
  session: Session;
14
14
  }) => Promise<void>;
15
+ /**
16
+ * Provides utilities that apps can use to make requests to the Admin API.
17
+ * @publicDocs
18
+ */
15
19
  export interface AdminApiContext {
16
20
  /**
17
21
  * Methods for interacting with the Shopify Admin GraphQL API
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;CAC5C;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE;IACzC,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkGG;IACH,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;CACzC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;CAC5C;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE;IACzC,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpB;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkGG;IACH,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;CACzC"}
@@ -1,5 +1,9 @@
1
1
  import { StorefrontOperations } from '@shopify/storefront-api-client';
2
2
  import { GraphQLClient } from '../types';
3
+ /**
4
+ * Provides utilities that apps can use to make requests to the Storefront API.
5
+ * @publicDocs
6
+ */
3
7
  export interface StorefrontContext {
4
8
  /**
5
9
  * Method for interacting with the Shopify Storefront GraphQL API
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/storefront/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsEG;IACH,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;CAC9C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/storefront/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsEG;IACH,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;CAC9C"}
@@ -1,5 +1,11 @@
1
1
  import type { ConfigParams, Shopify } from '@shopify/shopify-api';
2
2
  import { AppConfig } from '../config-types';
3
+ /**
4
+ * Set future flags using the `future` configuration field to opt in to upcoming breaking changes.
5
+ *
6
+ * With this feature, you can prepare for major releases ahead of time, as well as try out new features before they are released.
7
+ * @publicDocs
8
+ */
3
9
  export interface FutureFlags {
4
10
  /**
5
11
  * When enabled, embedded apps will fetch access tokens via [token exchange](https://shopify.dev/docs/apps/auth/get-access-tokens/token-exchange).
@@ -1 +1 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../../src/server/future/flags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAI1C,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAID,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,iBAAiB;IAC9D,2BAA2B,EAAE,MAAM,SAAS,WAAW,GACnD,MAAM,CAAC,6BAA6B,CAAC,GACrC,KAAK,CAAC;IACV,8BAA8B,EAAE,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,iBAAiB,IACnE,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAEvC,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,cAAc,CACxB,MAAM,SAAS,iBAAiB,EAChC,IAAI,SAAS,MAAM,WAAW,IAC5B,MAAM,SAAS,WAAW,GAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GACvB,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEV,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,QAY1B"}
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../../src/server/future/flags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAI1C;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAID,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,iBAAiB;IAC9D,2BAA2B,EAAE,MAAM,SAAS,WAAW,GACnD,MAAM,CAAC,6BAA6B,CAAC,GACrC,KAAK,CAAC;IACV,8BAA8B,EAAE,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,wBAAwB,CAAC,MAAM,SAAS,iBAAiB,IACnE,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAEvC,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,cAAc,CACxB,MAAM,SAAS,iBAAiB,EAChC,IAAI,SAAS,MAAM,WAAW,IAC5B,MAAM,SAAS,WAAW,GAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GACvB,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEV,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,QAY1B"}
@@ -8,6 +8,7 @@ import { FutureFlagOptions } from './future/flags';
8
8
  *
9
9
  * @param appConfig Configuration options for your Shopify app, such as the scopes your app needs.
10
10
  * @returns `ShopifyApp` An object constructed using your appConfig. It has methods for interacting with Shopify.
11
+ * @publicDocs
11
12
  *
12
13
  * @example
13
14
  * <caption>The minimum viable configuration</caption>
@@ -1 +1 @@
1
- {"version":3,"file":"shopify-app.d.ts","sourceRoot":"","sources":["../../../src/server/shopify-app.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAM/C,OAAO,EAAC,cAAc,EAAC,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAiB,KAAK,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,UAAU,EAKhB,MAAM,SAAS,CAAC;AAiBjB,OAAO,EAAC,iBAAiB,EAAyB,MAAM,gBAAgB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CACxB,MAAM,SAAS,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAC5C,OAAO,SAAS,cAAc,EAC9B,MAAM,SAAS,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,EACnD,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CA0DjD;AAkBD,wBAAgB,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAuCrE"}
1
+ {"version":3,"file":"shopify-app.d.ts","sourceRoot":"","sources":["../../../src/server/shopify-app.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAM/C,OAAO,EAAC,cAAc,EAAC,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAiB,KAAK,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,UAAU,EAKhB,MAAM,SAAS,CAAC;AAiBjB,OAAO,EAAC,iBAAiB,EAAyB,MAAM,gBAAgB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CACxB,MAAM,SAAS,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAC5C,OAAO,SAAS,cAAc,EAC9B,MAAM,SAAS,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,EACnD,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CA0DjD;AAkBD,wBAAgB,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAuCrE"}
@@ -70,5 +70,9 @@ export interface UnauthenticatedAdminContext {
70
70
  */
71
71
  admin: AdminApiContext;
72
72
  }
73
+ /**
74
+ * Creates an unauthenticated Admin context.
75
+ * @publicDocs
76
+ */
73
77
  export type GetUnauthenticatedAdminContext = (shop: string) => Promise<UnauthenticatedAdminContext>;
74
78
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,MAAM,8BAA8B,GAAG,CAC3C,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,2BAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,KAAK,EAAE,eAAe,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,2BAA2B,CAAC,CAAC"}
@@ -96,5 +96,9 @@ export interface UnauthenticatedStorefrontContext {
96
96
  */
97
97
  storefront: StorefrontContext;
98
98
  }
99
+ /**
100
+ * Creates an unauthenticated Storefront context.
101
+ * @publicDocs
102
+ */
99
103
  export type GetUnauthenticatedStorefrontContext = (shop: string) => Promise<UnauthenticatedStorefrontContext>;
100
104
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/storefront/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,gCAAgC;IAC/C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoEG;IACH,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED,MAAM,MAAM,mCAAmC,GAAG,CAChD,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,gCAAgC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/storefront/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,gCAAgC;IAC/C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoEG;IACH,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,MAAM,mCAAmC,GAAG,CAChD,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,gCAAgC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const SHOPIFY_REMIX_LIBRARY_VERSION = "4.2.0";
1
+ export declare const SHOPIFY_REMIX_LIBRARY_VERSION = "4.2.1";
2
2
  //# sourceMappingURL=version.d.ts.map