@shopify/shopify-app-remix 2.7.0 → 2.8.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.
- package/dist/cjs/react/components/AppProvider/AppProvider.js +78 -0
- package/dist/cjs/react/components/AppProvider/AppProvider.js.map +1 -0
- package/dist/cjs/react/components/AppProxyForm/AppProxyForm.js +71 -0
- package/dist/cjs/react/components/AppProxyForm/AppProxyForm.js.map +1 -0
- package/dist/cjs/react/components/AppProxyLink/AppProxyLink.js +47 -0
- package/dist/cjs/react/components/AppProxyLink/AppProxyLink.js.map +1 -0
- package/dist/cjs/react/components/AppProxyProvider/AppProxyProvider.js +65 -0
- package/dist/cjs/react/components/AppProxyProvider/AppProxyProvider.js.map +1 -0
- package/dist/cjs/react/components/RemixPolarisLink.js +10 -0
- package/dist/cjs/react/components/RemixPolarisLink.js.map +1 -0
- package/dist/cjs/react/const.js +6 -0
- package/dist/cjs/react/const.js.map +1 -0
- package/dist/cjs/react/index.js +15 -0
- package/dist/cjs/react/index.js.map +1 -0
- package/dist/cjs/server/adapters/node/index.js +18 -0
- package/dist/cjs/server/adapters/node/index.js.map +1 -0
- package/dist/cjs/server/adapters/vercel/index.js +13 -0
- package/dist/cjs/server/adapters/vercel/index.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/authenticate.js +131 -0
- package/dist/cjs/server/authenticate/admin/authenticate.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/billing/cancel.js +35 -0
- package/dist/cjs/server/authenticate/admin/billing/cancel.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/billing/check.js +35 -0
- package/dist/cjs/server/authenticate/admin/billing/check.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/billing/request.js +75 -0
- package/dist/cjs/server/authenticate/admin/billing/request.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/billing/require.js +45 -0
- package/dist/cjs/server/authenticate/admin/billing/require.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/begin-auth.js +14 -0
- package/dist/cjs/server/authenticate/admin/helpers/begin-auth.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/create-admin-api-context.js +14 -0
- package/dist/cjs/server/authenticate/admin/helpers/create-admin-api-context.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js +16 -0
- package/dist/cjs/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js +19 -0
- package/dist/cjs/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/handle-client-error.js +30 -0
- package/dist/cjs/server/authenticate/admin/helpers/handle-client-error.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect-to-auth-page.js +26 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect-to-auth-page.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect-to-bounce-page.js +19 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect-to-bounce-page.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js +17 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.js +18 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect-with-exitiframe.js +21 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect-with-exitiframe.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect.js +62 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/render-app-bridge.js +25 -0
- package/dist/cjs/server/authenticate/admin/helpers/render-app-bridge.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/trigger-after-auth-hook.js +17 -0
- package/dist/cjs/server/authenticate/admin/helpers/trigger-after-auth-hook.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/validate-redirect-url.js +48 -0
- package/dist/cjs/server/authenticate/admin/helpers/validate-redirect-url.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js +27 -0
- package/dist/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/strategies/auth-code-flow.js +225 -0
- package/dist/cjs/server/authenticate/admin/strategies/auth-code-flow.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/strategies/token-exchange.js +110 -0
- package/dist/cjs/server/authenticate/admin/strategies/token-exchange.js.map +1 -0
- package/dist/cjs/server/authenticate/const.js +12 -0
- package/dist/cjs/server/authenticate/const.js.map +1 -0
- package/dist/cjs/server/authenticate/flow/authenticate.js +53 -0
- package/dist/cjs/server/authenticate/flow/authenticate.js.map +1 -0
- package/dist/cjs/server/authenticate/fulfillment-service/authenticate.js +59 -0
- package/dist/cjs/server/authenticate/fulfillment-service/authenticate.js.map +1 -0
- package/dist/cjs/server/authenticate/helpers/add-response-headers.js +27 -0
- package/dist/cjs/server/authenticate/helpers/add-response-headers.js.map +1 -0
- package/dist/cjs/server/authenticate/helpers/app-bridge-url.js +15 -0
- package/dist/cjs/server/authenticate/helpers/app-bridge-url.js.map +1 -0
- package/dist/cjs/server/authenticate/helpers/ensure-cors-headers.js +25 -0
- package/dist/cjs/server/authenticate/helpers/ensure-cors-headers.js.map +1 -0
- package/dist/cjs/server/authenticate/helpers/get-session-token-header.js +14 -0
- package/dist/cjs/server/authenticate/helpers/get-session-token-header.js.map +1 -0
- package/dist/cjs/server/authenticate/helpers/idempotent-promise-handler.js +36 -0
- package/dist/cjs/server/authenticate/helpers/idempotent-promise-handler.js.map +1 -0
- package/dist/cjs/server/authenticate/helpers/reject-bot-request.js +13 -0
- package/dist/cjs/server/authenticate/helpers/reject-bot-request.js.map +1 -0
- package/dist/cjs/server/authenticate/helpers/respond-to-invalid-session-token.js +20 -0
- package/dist/cjs/server/authenticate/helpers/respond-to-invalid-session-token.js.map +1 -0
- package/dist/cjs/server/authenticate/helpers/respond-to-options-request.js +18 -0
- package/dist/cjs/server/authenticate/helpers/respond-to-options-request.js.map +1 -0
- package/dist/cjs/server/authenticate/helpers/validate-session-token.js +24 -0
- package/dist/cjs/server/authenticate/helpers/validate-session-token.js.map +1 -0
- package/dist/cjs/server/authenticate/login/login.js +43 -0
- package/dist/cjs/server/authenticate/login/login.js.map +1 -0
- package/dist/cjs/server/authenticate/public/appProxy/authenticate.js +95 -0
- package/dist/cjs/server/authenticate/public/appProxy/authenticate.js.map +1 -0
- package/dist/cjs/server/authenticate/public/checkout/authenticate.js +33 -0
- package/dist/cjs/server/authenticate/public/checkout/authenticate.js.map +1 -0
- package/dist/cjs/server/authenticate/public/factory.js +27 -0
- package/dist/cjs/server/authenticate/public/factory.js.map +1 -0
- package/dist/cjs/server/authenticate/webhooks/authenticate.js +85 -0
- package/dist/cjs/server/authenticate/webhooks/authenticate.js.map +1 -0
- package/dist/cjs/server/authenticate/webhooks/register.js +45 -0
- package/dist/cjs/server/authenticate/webhooks/register.js.map +1 -0
- package/dist/cjs/server/boundary/error.js +14 -0
- package/dist/cjs/server/boundary/error.js.map +1 -0
- package/dist/cjs/server/boundary/headers.js +16 -0
- package/dist/cjs/server/boundary/headers.js.map +1 -0
- package/dist/cjs/server/boundary/index.js +43 -0
- package/dist/cjs/server/boundary/index.js.map +1 -0
- package/dist/cjs/server/clients/admin/factory.js +18 -0
- package/dist/cjs/server/clients/admin/factory.js.map +1 -0
- package/dist/cjs/server/clients/admin/graphql.js +32 -0
- package/dist/cjs/server/clients/admin/graphql.js.map +1 -0
- package/dist/cjs/server/clients/admin/rest.js +121 -0
- package/dist/cjs/server/clients/admin/rest.js.map +1 -0
- package/dist/cjs/server/clients/storefront/factory.js +22 -0
- package/dist/cjs/server/clients/storefront/factory.js.map +1 -0
- package/dist/cjs/server/errors.js +9 -0
- package/dist/cjs/server/errors.js.map +1 -0
- package/dist/cjs/server/future/flags.js +22 -0
- package/dist/cjs/server/future/flags.js.map +1 -0
- package/dist/cjs/server/index.js +46 -0
- package/dist/cjs/server/index.js.map +1 -0
- package/dist/cjs/server/override-logger.js +33 -0
- package/dist/cjs/server/override-logger.js.map +1 -0
- package/dist/cjs/server/shopify-app.js +147 -0
- package/dist/cjs/server/shopify-app.js.map +1 -0
- package/dist/cjs/server/types.js +16 -0
- package/dist/cjs/server/types.js.map +1 -0
- package/dist/cjs/server/unauthenticated/admin/factory.js +21 -0
- package/dist/cjs/server/unauthenticated/admin/factory.js.map +1 -0
- package/dist/cjs/server/unauthenticated/helpers/get-offline-session.js +10 -0
- package/dist/cjs/server/unauthenticated/helpers/get-offline-session.js.map +1 -0
- package/dist/cjs/server/unauthenticated/storefront/factory.js +21 -0
- package/dist/cjs/server/unauthenticated/storefront/factory.js.map +1 -0
- package/dist/cjs/server/version.js +6 -0
- package/dist/cjs/server/version.js.map +1 -0
- package/dist/esm/react/components/AppProvider/AppProvider.mjs +76 -0
- package/dist/esm/react/components/AppProvider/AppProvider.mjs.map +1 -0
- package/dist/esm/react/components/AppProxyForm/AppProxyForm.mjs +69 -0
- package/dist/esm/react/components/AppProxyForm/AppProxyForm.mjs.map +1 -0
- package/dist/esm/react/components/AppProxyLink/AppProxyLink.mjs +45 -0
- package/dist/esm/react/components/AppProxyLink/AppProxyLink.mjs.map +1 -0
- package/dist/esm/react/components/AppProxyProvider/AppProxyProvider.mjs +62 -0
- package/dist/esm/react/components/AppProxyProvider/AppProxyProvider.mjs.map +1 -0
- package/dist/esm/react/components/RemixPolarisLink.mjs +8 -0
- package/dist/esm/react/components/RemixPolarisLink.mjs.map +1 -0
- package/dist/esm/react/const.mjs +4 -0
- package/dist/esm/react/const.mjs.map +1 -0
- package/dist/esm/react/index.mjs +5 -0
- package/dist/esm/react/index.mjs.map +1 -0
- package/dist/esm/server/adapters/node/index.mjs +16 -0
- package/dist/esm/server/adapters/node/index.mjs.map +1 -0
- package/dist/esm/server/adapters/vercel/index.mjs +11 -0
- package/dist/esm/server/adapters/vercel/index.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/authenticate.mjs +129 -0
- package/dist/esm/server/authenticate/admin/authenticate.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/billing/cancel.mjs +33 -0
- package/dist/esm/server/authenticate/admin/billing/cancel.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/billing/check.mjs +33 -0
- package/dist/esm/server/authenticate/admin/billing/check.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/billing/request.mjs +73 -0
- package/dist/esm/server/authenticate/admin/billing/request.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/billing/require.mjs +43 -0
- package/dist/esm/server/authenticate/admin/billing/require.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/begin-auth.mjs +12 -0
- package/dist/esm/server/authenticate/admin/helpers/begin-auth.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/create-admin-api-context.mjs +12 -0
- package/dist/esm/server/authenticate/admin/helpers/create-admin-api-context.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.mjs +14 -0
- package/dist/esm/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.mjs +17 -0
- package/dist/esm/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/handle-client-error.mjs +28 -0
- package/dist/esm/server/authenticate/admin/helpers/handle-client-error.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect-to-auth-page.mjs +24 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect-to-auth-page.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect-to-bounce-page.mjs +17 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect-to-bounce-page.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.mjs +15 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.mjs +15 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect-with-exitiframe.mjs +19 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect-with-exitiframe.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect.mjs +60 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/render-app-bridge.mjs +23 -0
- package/dist/esm/server/authenticate/admin/helpers/render-app-bridge.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/trigger-after-auth-hook.mjs +15 -0
- package/dist/esm/server/authenticate/admin/helpers/trigger-after-auth-hook.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/validate-redirect-url.mjs +46 -0
- package/dist/esm/server/authenticate/admin/helpers/validate-redirect-url.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/validate-shop-and-host-params.mjs +25 -0
- package/dist/esm/server/authenticate/admin/helpers/validate-shop-and-host-params.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/strategies/auth-code-flow.mjs +223 -0
- package/dist/esm/server/authenticate/admin/strategies/auth-code-flow.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/strategies/token-exchange.mjs +108 -0
- package/dist/esm/server/authenticate/admin/strategies/token-exchange.mjs.map +1 -0
- package/dist/esm/server/authenticate/const.mjs +8 -0
- package/dist/esm/server/authenticate/const.mjs.map +1 -0
- package/dist/esm/server/authenticate/flow/authenticate.mjs +51 -0
- package/dist/esm/server/authenticate/flow/authenticate.mjs.map +1 -0
- package/dist/esm/server/authenticate/fulfillment-service/authenticate.mjs +57 -0
- package/dist/esm/server/authenticate/fulfillment-service/authenticate.mjs.map +1 -0
- package/dist/esm/server/authenticate/helpers/add-response-headers.mjs +24 -0
- package/dist/esm/server/authenticate/helpers/add-response-headers.mjs.map +1 -0
- package/dist/esm/server/authenticate/helpers/app-bridge-url.mjs +12 -0
- package/dist/esm/server/authenticate/helpers/app-bridge-url.mjs.map +1 -0
- package/dist/esm/server/authenticate/helpers/ensure-cors-headers.mjs +23 -0
- package/dist/esm/server/authenticate/helpers/ensure-cors-headers.mjs.map +1 -0
- package/dist/esm/server/authenticate/helpers/get-session-token-header.mjs +11 -0
- package/dist/esm/server/authenticate/helpers/get-session-token-header.mjs.map +1 -0
- package/dist/esm/server/authenticate/helpers/idempotent-promise-handler.mjs +34 -0
- package/dist/esm/server/authenticate/helpers/idempotent-promise-handler.mjs.map +1 -0
- package/dist/esm/server/authenticate/helpers/reject-bot-request.mjs +11 -0
- package/dist/esm/server/authenticate/helpers/reject-bot-request.mjs.map +1 -0
- package/dist/esm/server/authenticate/helpers/respond-to-invalid-session-token.mjs +18 -0
- package/dist/esm/server/authenticate/helpers/respond-to-invalid-session-token.mjs.map +1 -0
- package/dist/esm/server/authenticate/helpers/respond-to-options-request.mjs +16 -0
- package/dist/esm/server/authenticate/helpers/respond-to-options-request.mjs.map +1 -0
- package/dist/esm/server/authenticate/helpers/validate-session-token.mjs +22 -0
- package/dist/esm/server/authenticate/helpers/validate-session-token.mjs.map +1 -0
- package/dist/esm/server/authenticate/login/login.mjs +41 -0
- package/dist/esm/server/authenticate/login/login.mjs.map +1 -0
- package/dist/esm/server/authenticate/public/appProxy/authenticate.mjs +93 -0
- package/dist/esm/server/authenticate/public/appProxy/authenticate.mjs.map +1 -0
- package/dist/esm/server/authenticate/public/checkout/authenticate.mjs +31 -0
- package/dist/esm/server/authenticate/public/checkout/authenticate.mjs.map +1 -0
- package/dist/esm/server/authenticate/public/factory.mjs +25 -0
- package/dist/esm/server/authenticate/public/factory.mjs.map +1 -0
- package/dist/esm/server/authenticate/webhooks/authenticate.mjs +83 -0
- package/dist/esm/server/authenticate/webhooks/authenticate.mjs.map +1 -0
- package/dist/esm/server/authenticate/webhooks/register.mjs +43 -0
- package/dist/esm/server/authenticate/webhooks/register.mjs.map +1 -0
- package/dist/esm/server/boundary/error.mjs +12 -0
- package/dist/esm/server/boundary/error.mjs.map +1 -0
- package/dist/esm/server/boundary/headers.mjs +14 -0
- package/dist/esm/server/boundary/headers.mjs.map +1 -0
- package/dist/esm/server/boundary/index.mjs +41 -0
- package/dist/esm/server/boundary/index.mjs.map +1 -0
- package/dist/esm/server/clients/admin/factory.mjs +16 -0
- package/dist/esm/server/clients/admin/factory.mjs.map +1 -0
- package/dist/esm/server/clients/admin/graphql.mjs +30 -0
- package/dist/esm/server/clients/admin/graphql.mjs.map +1 -0
- package/dist/esm/server/clients/admin/rest.mjs +119 -0
- package/dist/esm/server/clients/admin/rest.mjs.map +1 -0
- package/dist/esm/server/clients/storefront/factory.mjs +20 -0
- package/dist/esm/server/clients/storefront/factory.mjs.map +1 -0
- package/dist/esm/server/errors.mjs +7 -0
- package/dist/esm/server/errors.mjs.map +1 -0
- package/dist/esm/server/future/flags.mjs +20 -0
- package/dist/esm/server/future/flags.mjs.map +1 -0
- package/dist/esm/server/index.mjs +12 -0
- package/dist/esm/server/index.mjs.map +1 -0
- package/dist/esm/server/override-logger.mjs +31 -0
- package/dist/esm/server/override-logger.mjs.map +1 -0
- package/dist/esm/server/shopify-app.mjs +145 -0
- package/dist/esm/server/shopify-app.mjs.map +1 -0
- package/dist/esm/server/types.mjs +16 -0
- package/dist/esm/server/types.mjs.map +1 -0
- package/dist/esm/server/unauthenticated/admin/factory.mjs +19 -0
- package/dist/esm/server/unauthenticated/admin/factory.mjs.map +1 -0
- package/dist/esm/server/unauthenticated/helpers/get-offline-session.mjs +8 -0
- package/dist/esm/server/unauthenticated/helpers/get-offline-session.mjs.map +1 -0
- package/dist/esm/server/unauthenticated/storefront/factory.mjs +19 -0
- package/dist/esm/server/unauthenticated/storefront/factory.mjs.map +1 -0
- package/dist/esm/server/version.mjs +4 -0
- package/dist/esm/server/version.mjs.map +1 -0
- package/dist/ts/react/components/AppProvider/AppProvider.d.ts +92 -0
- package/dist/ts/react/components/AppProvider/AppProvider.d.ts.map +1 -0
- package/dist/ts/react/components/AppProxyForm/AppProxyForm.d.ts +59 -0
- package/dist/ts/react/components/AppProxyForm/AppProxyForm.d.ts.map +1 -0
- package/dist/ts/react/components/AppProxyForm/AppProxyForm.doc.d.ts +4 -0
- package/dist/ts/react/components/AppProxyForm/AppProxyForm.doc.d.ts.map +1 -0
- package/dist/ts/react/components/AppProxyForm/index.d.ts +2 -0
- package/dist/ts/react/components/AppProxyForm/index.d.ts.map +1 -0
- package/dist/ts/react/components/AppProxyLink/AppProxyLink.d.ts +36 -0
- package/dist/ts/react/components/AppProxyLink/AppProxyLink.d.ts.map +1 -0
- package/dist/ts/react/components/AppProxyLink/AppProxyLink.doc.d.ts +4 -0
- package/dist/ts/react/components/AppProxyLink/AppProxyLink.doc.d.ts.map +1 -0
- package/dist/ts/react/components/AppProxyLink/index.d.ts +2 -0
- package/dist/ts/react/components/AppProxyLink/index.d.ts.map +1 -0
- package/dist/ts/react/components/AppProxyProvider/AppProxyProvider.d.ts +55 -0
- package/dist/ts/react/components/AppProxyProvider/AppProxyProvider.d.ts.map +1 -0
- package/dist/ts/react/components/AppProxyProvider/AppProxyProvider.doc.d.ts +4 -0
- package/dist/ts/react/components/AppProxyProvider/AppProxyProvider.doc.d.ts.map +1 -0
- package/dist/ts/react/components/AppProxyProvider/index.d.ts +2 -0
- package/dist/ts/react/components/AppProxyProvider/index.d.ts.map +1 -0
- package/dist/ts/react/components/index.d.ts +5 -0
- package/dist/ts/react/components/index.d.ts.map +1 -0
- package/dist/ts/server/authenticate/helpers/validate-session-token.d.ts +8 -0
- package/dist/ts/server/authenticate/helpers/validate-session-token.d.ts.map +1 -0
- package/dist/ts/server/authenticate/public/appProxy/authenticate.d.ts.map +1 -0
- package/dist/ts/server/authenticate/public/appProxy/types.d.ts +201 -0
- package/dist/ts/server/authenticate/public/appProxy/types.d.ts.map +1 -0
- package/dist/ts/server/authenticate/public/checkout/authenticate.d.ts.map +1 -0
- package/dist/ts/server/boundary/index.d.ts +38 -0
- package/dist/ts/server/clients/admin/types.d.ts +242 -0
- package/dist/ts/server/version.d.ts +2 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +51 -25
- package/build/cjs/react/components/AppProvider/AppProvider.js +0 -98
- package/build/cjs/react/components/RemixPolarisLink.js +0 -22
- package/build/cjs/react/const.js +0 -7
- package/build/cjs/react/index.js +0 -9
- package/build/cjs/server/adapters/node/index.js +0 -22
- package/build/cjs/server/adapters/vercel/index.js +0 -12
- package/build/cjs/server/authenticate/admin/authenticate.js +0 -174
- package/build/cjs/server/authenticate/admin/billing/cancel.js +0 -41
- package/build/cjs/server/authenticate/admin/billing/check.js +0 -41
- package/build/cjs/server/authenticate/admin/billing/request.js +0 -86
- package/build/cjs/server/authenticate/admin/billing/require.js +0 -48
- package/build/cjs/server/authenticate/admin/helpers/begin-auth.js +0 -18
- package/build/cjs/server/authenticate/admin/helpers/create-admin-api-context.js +0 -15
- package/build/cjs/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js +0 -27
- package/build/cjs/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js +0 -25
- package/build/cjs/server/authenticate/admin/helpers/handle-client-error.js +0 -43
- package/build/cjs/server/authenticate/admin/helpers/redirect-to-auth-page.js +0 -27
- package/build/cjs/server/authenticate/admin/helpers/redirect-to-bounce-page.js +0 -24
- package/build/cjs/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js +0 -22
- package/build/cjs/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.js +0 -21
- package/build/cjs/server/authenticate/admin/helpers/redirect-with-exitiframe.js +0 -25
- package/build/cjs/server/authenticate/admin/helpers/redirect.js +0 -63
- package/build/cjs/server/authenticate/admin/helpers/render-app-bridge.js +0 -31
- package/build/cjs/server/authenticate/admin/helpers/trigger-after-auth-hook.js +0 -21
- package/build/cjs/server/authenticate/admin/helpers/validate-redirect-url.js +0 -45
- package/build/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js +0 -32
- package/build/cjs/server/authenticate/admin/strategies/auth-code-flow.js +0 -334
- package/build/cjs/server/authenticate/admin/strategies/token-exchange.js +0 -155
- package/build/cjs/server/authenticate/const.js +0 -13
- package/build/cjs/server/authenticate/flow/authenticate.js +0 -68
- package/build/cjs/server/authenticate/fulfillment-service/authenticate.js +0 -70
- package/build/cjs/server/authenticate/helpers/add-response-headers.js +0 -32
- package/build/cjs/server/authenticate/helpers/app-bridge-url.js +0 -16
- package/build/cjs/server/authenticate/helpers/ensure-cors-headers.js +0 -25
- package/build/cjs/server/authenticate/helpers/get-session-token-header.js +0 -16
- package/build/cjs/server/authenticate/helpers/idempotent-promise-handler.js +0 -40
- package/build/cjs/server/authenticate/helpers/reject-bot-request.js +0 -23
- package/build/cjs/server/authenticate/helpers/respond-to-invalid-session-token.js +0 -33
- package/build/cjs/server/authenticate/helpers/respond-to-options-request.js +0 -19
- package/build/cjs/server/authenticate/helpers/validate-session-token.js +0 -29
- package/build/cjs/server/authenticate/login/login.js +0 -52
- package/build/cjs/server/authenticate/public/appProxy/authenticate.js +0 -88
- package/build/cjs/server/authenticate/public/checkout/authenticate.js +0 -39
- package/build/cjs/server/authenticate/public/factory.js +0 -31
- package/build/cjs/server/authenticate/webhooks/authenticate.js +0 -96
- package/build/cjs/server/authenticate/webhooks/register.js +0 -56
- package/build/cjs/server/boundary/error.js +0 -18
- package/build/cjs/server/boundary/headers.js +0 -18
- package/build/cjs/server/boundary/index.js +0 -44
- package/build/cjs/server/clients/admin/factory.js +0 -27
- package/build/cjs/server/clients/admin/graphql.js +0 -40
- package/build/cjs/server/clients/admin/rest.js +0 -145
- package/build/cjs/server/clients/storefront/factory.js +0 -28
- package/build/cjs/server/errors.js +0 -9
- package/build/cjs/server/future/flags.js +0 -28
- package/build/cjs/server/index.js +0 -41
- package/build/cjs/server/override-logger.js +0 -55
- package/build/cjs/server/shopify-app.js +0 -151
- package/build/cjs/server/types.js +0 -26
- package/build/cjs/server/unauthenticated/admin/factory.js +0 -25
- package/build/cjs/server/unauthenticated/helpers/get-offline-session.js +0 -14
- package/build/cjs/server/unauthenticated/storefront/factory.js +0 -25
- package/build/cjs/server/version.js +0 -7
- package/build/ts/react/components/AppProvider/AppProvider.d.ts +0 -90
- package/build/ts/react/components/AppProvider/AppProvider.d.ts.map +0 -1
- package/build/ts/react/components/AppProvider/AppProvider.doc.js +0 -34
- package/build/ts/react/components/AppProvider/AppProvider.doc.js.map +0 -1
- package/build/ts/react/components/AppProvider/AppProvider.js +0 -76
- package/build/ts/react/components/AppProvider/AppProvider.js.map +0 -1
- package/build/ts/react/components/AppProvider/index.js +0 -5
- package/build/ts/react/components/AppProvider/index.js.map +0 -1
- package/build/ts/react/components/RemixPolarisLink.js +0 -12
- package/build/ts/react/components/RemixPolarisLink.js.map +0 -1
- package/build/ts/react/components/index.d.ts +0 -2
- package/build/ts/react/components/index.d.ts.map +0 -1
- package/build/ts/react/components/index.js +0 -5
- package/build/ts/react/components/index.js.map +0 -1
- package/build/ts/react/const.js +0 -5
- package/build/ts/react/const.js.map +0 -1
- package/build/ts/react/index.js +0 -5
- package/build/ts/react/index.js.map +0 -1
- package/build/ts/server/__test-helpers/const.d.ts +0 -10
- package/build/ts/server/__test-helpers/const.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/const.js +0 -14
- package/build/ts/server/__test-helpers/const.js.map +0 -1
- package/build/ts/server/__test-helpers/expect-admin-api-client.d.ts +0 -8
- package/build/ts/server/__test-helpers/expect-admin-api-client.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/expect-admin-api-client.js +0 -165
- package/build/ts/server/__test-helpers/expect-admin-api-client.js.map +0 -1
- package/build/ts/server/__test-helpers/expect-begin-auth-redirect.d.ts +0 -3
- package/build/ts/server/__test-helpers/expect-begin-auth-redirect.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/expect-begin-auth-redirect.js +0 -16
- package/build/ts/server/__test-helpers/expect-begin-auth-redirect.js.map +0 -1
- package/build/ts/server/__test-helpers/expect-document-request-headers.d.ts +0 -2
- package/build/ts/server/__test-helpers/expect-document-request-headers.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/expect-document-request-headers.js +0 -18
- package/build/ts/server/__test-helpers/expect-document-request-headers.js.map +0 -1
- package/build/ts/server/__test-helpers/expect-exit-iframe.d.ts +0 -9
- package/build/ts/server/__test-helpers/expect-exit-iframe.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/expect-exit-iframe.js +0 -21
- package/build/ts/server/__test-helpers/expect-exit-iframe.js.map +0 -1
- package/build/ts/server/__test-helpers/expect-login-redirect.d.ts +0 -2
- package/build/ts/server/__test-helpers/expect-login-redirect.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/expect-login-redirect.js +0 -11
- package/build/ts/server/__test-helpers/expect-login-redirect.js.map +0 -1
- package/build/ts/server/__test-helpers/expect-storefront-api-client.d.ts +0 -8
- package/build/ts/server/__test-helpers/expect-storefront-api-client.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/expect-storefront-api-client.js +0 -57
- package/build/ts/server/__test-helpers/expect-storefront-api-client.js.map +0 -1
- package/build/ts/server/__test-helpers/get-hmac.d.ts +0 -2
- package/build/ts/server/__test-helpers/get-hmac.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/get-hmac.js +0 -14
- package/build/ts/server/__test-helpers/get-hmac.js.map +0 -1
- package/build/ts/server/__test-helpers/get-jwt.d.ts +0 -8
- package/build/ts/server/__test-helpers/get-jwt.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/get-jwt.js +0 -17
- package/build/ts/server/__test-helpers/get-jwt.js.map +0 -1
- package/build/ts/server/__test-helpers/get-thrown-response.d.ts +0 -2
- package/build/ts/server/__test-helpers/get-thrown-response.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/get-thrown-response.js +0 -28
- package/build/ts/server/__test-helpers/get-thrown-response.js.map +0 -1
- package/build/ts/server/__test-helpers/index.d.ts +0 -15
- package/build/ts/server/__test-helpers/index.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/index.js +0 -18
- package/build/ts/server/__test-helpers/index.js.map +0 -1
- package/build/ts/server/__test-helpers/request-mock.d.ts +0 -10
- package/build/ts/server/__test-helpers/request-mock.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/request-mock.js +0 -271
- package/build/ts/server/__test-helpers/request-mock.js.map +0 -1
- package/build/ts/server/__test-helpers/setup-valid-session.d.ts +0 -4
- package/build/ts/server/__test-helpers/setup-valid-session.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/setup-valid-session.js +0 -45
- package/build/ts/server/__test-helpers/setup-valid-session.js.map +0 -1
- package/build/ts/server/__test-helpers/sign-request-cookie.d.ts +0 -6
- package/build/ts/server/__test-helpers/sign-request-cookie.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/sign-request-cookie.js +0 -14
- package/build/ts/server/__test-helpers/sign-request-cookie.js.map +0 -1
- package/build/ts/server/__test-helpers/test-config.d.ts +0 -43
- package/build/ts/server/__test-helpers/test-config.d.ts.map +0 -1
- package/build/ts/server/__test-helpers/test-config.js +0 -46
- package/build/ts/server/__test-helpers/test-config.js.map +0 -1
- package/build/ts/server/adapters/node/index.js +0 -16
- package/build/ts/server/adapters/node/index.js.map +0 -1
- package/build/ts/server/adapters/vercel/index.js +0 -26
- package/build/ts/server/adapters/vercel/index.js.map +0 -1
- package/build/ts/server/authenticate/admin/authenticate.admin.doc.js +0 -48
- package/build/ts/server/authenticate/admin/authenticate.admin.doc.js.map +0 -1
- package/build/ts/server/authenticate/admin/authenticate.js +0 -166
- package/build/ts/server/authenticate/admin/authenticate.js.map +0 -1
- package/build/ts/server/authenticate/admin/billing/authenticate.admin.billing.doc.js +0 -26
- package/build/ts/server/authenticate/admin/billing/authenticate.admin.billing.doc.js.map +0 -1
- package/build/ts/server/authenticate/admin/billing/cancel.js +0 -46
- package/build/ts/server/authenticate/admin/billing/cancel.js.map +0 -1
- package/build/ts/server/authenticate/admin/billing/check.js +0 -46
- package/build/ts/server/authenticate/admin/billing/check.js.map +0 -1
- package/build/ts/server/authenticate/admin/billing/index.js +0 -12
- package/build/ts/server/authenticate/admin/billing/index.js.map +0 -1
- package/build/ts/server/authenticate/admin/billing/request.js +0 -80
- package/build/ts/server/authenticate/admin/billing/request.js.map +0 -1
- package/build/ts/server/authenticate/admin/billing/require.js +0 -58
- package/build/ts/server/authenticate/admin/billing/require.js.map +0 -1
- package/build/ts/server/authenticate/admin/billing/types.js +0 -3
- package/build/ts/server/authenticate/admin/billing/types.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/begin-auth.js +0 -24
- package/build/ts/server/authenticate/admin/helpers/begin-auth.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.js +0 -13
- package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js +0 -25
- package/build/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js +0 -23
- package/build/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/handle-client-error.js +0 -42
- package/build/ts/server/authenticate/admin/helpers/handle-client-error.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/index.js +0 -18
- package/build/ts/server/authenticate/admin/helpers/index.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/redirect-to-auth-page.js +0 -36
- package/build/ts/server/authenticate/admin/helpers/redirect-to-auth-page.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.js +0 -18
- package/build/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js +0 -32
- package/build/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.js +0 -18
- package/build/ts/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/redirect-with-exitiframe.js +0 -20
- package/build/ts/server/authenticate/admin/helpers/redirect-with-exitiframe.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/redirect.js +0 -61
- package/build/ts/server/authenticate/admin/helpers/redirect.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/render-app-bridge.js +0 -23
- package/build/ts/server/authenticate/admin/helpers/render-app-bridge.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.js +0 -28
- package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/validate-redirect-url.js +0 -49
- package/build/ts/server/authenticate/admin/helpers/validate-redirect-url.js.map +0 -1
- package/build/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.js +0 -26
- package/build/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.js.map +0 -1
- package/build/ts/server/authenticate/admin/strategies/auth-code-flow.js +0 -343
- package/build/ts/server/authenticate/admin/strategies/auth-code-flow.js.map +0 -1
- package/build/ts/server/authenticate/admin/strategies/token-exchange.js +0 -163
- package/build/ts/server/authenticate/admin/strategies/token-exchange.js.map +0 -1
- package/build/ts/server/authenticate/admin/strategies/types.js +0 -3
- package/build/ts/server/authenticate/admin/strategies/types.js.map +0 -1
- package/build/ts/server/authenticate/admin/types.js +0 -3
- package/build/ts/server/authenticate/admin/types.js.map +0 -1
- package/build/ts/server/authenticate/const.js +0 -14
- package/build/ts/server/authenticate/const.js.map +0 -1
- package/build/ts/server/authenticate/flow/authenticate.flow.doc.js +0 -46
- package/build/ts/server/authenticate/flow/authenticate.flow.doc.js.map +0 -1
- package/build/ts/server/authenticate/flow/authenticate.js +0 -67
- package/build/ts/server/authenticate/flow/authenticate.js.map +0 -1
- package/build/ts/server/authenticate/flow/types.js +0 -3
- package/build/ts/server/authenticate/flow/types.js.map +0 -1
- package/build/ts/server/authenticate/fulfillment-service/authenticate.fulfillment-service.doc.js +0 -46
- package/build/ts/server/authenticate/fulfillment-service/authenticate.fulfillment-service.doc.js.map +0 -1
- package/build/ts/server/authenticate/fulfillment-service/authenticate.js +0 -73
- package/build/ts/server/authenticate/fulfillment-service/authenticate.js.map +0 -1
- package/build/ts/server/authenticate/fulfillment-service/types.js +0 -3
- package/build/ts/server/authenticate/fulfillment-service/types.js.map +0 -1
- package/build/ts/server/authenticate/helpers/add-response-headers.js +0 -27
- package/build/ts/server/authenticate/helpers/add-response-headers.js.map +0 -1
- package/build/ts/server/authenticate/helpers/app-bridge-url.js +0 -14
- package/build/ts/server/authenticate/helpers/app-bridge-url.js.map +0 -1
- package/build/ts/server/authenticate/helpers/ensure-cors-headers.js +0 -25
- package/build/ts/server/authenticate/helpers/ensure-cors-headers.js.map +0 -1
- package/build/ts/server/authenticate/helpers/get-session-token-header.js +0 -15
- package/build/ts/server/authenticate/helpers/get-session-token-header.js.map +0 -1
- package/build/ts/server/authenticate/helpers/idempotent-promise-handler.js +0 -53
- package/build/ts/server/authenticate/helpers/idempotent-promise-handler.js.map +0 -1
- package/build/ts/server/authenticate/helpers/index.js +0 -12
- package/build/ts/server/authenticate/helpers/index.js.map +0 -1
- package/build/ts/server/authenticate/helpers/reject-bot-request.js +0 -14
- package/build/ts/server/authenticate/helpers/reject-bot-request.js.map +0 -1
- package/build/ts/server/authenticate/helpers/respond-to-invalid-session-token.js +0 -20
- package/build/ts/server/authenticate/helpers/respond-to-invalid-session-token.js.map +0 -1
- package/build/ts/server/authenticate/helpers/respond-to-options-request.js +0 -17
- package/build/ts/server/authenticate/helpers/respond-to-options-request.js.map +0 -1
- package/build/ts/server/authenticate/helpers/validate-session-token.d.ts +0 -8
- package/build/ts/server/authenticate/helpers/validate-session-token.d.ts.map +0 -1
- package/build/ts/server/authenticate/helpers/validate-session-token.js +0 -39
- package/build/ts/server/authenticate/helpers/validate-session-token.js.map +0 -1
- package/build/ts/server/authenticate/login/login.js +0 -58
- package/build/ts/server/authenticate/login/login.js.map +0 -1
- package/build/ts/server/authenticate/public/appProxy/authenticate.d.ts.map +0 -1
- package/build/ts/server/authenticate/public/appProxy/authenticate.js +0 -81
- package/build/ts/server/authenticate/public/appProxy/authenticate.js.map +0 -1
- package/build/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.js +0 -53
- package/build/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.js.map +0 -1
- package/build/ts/server/authenticate/public/appProxy/types.d.ts +0 -166
- package/build/ts/server/authenticate/public/appProxy/types.d.ts.map +0 -1
- package/build/ts/server/authenticate/public/appProxy/types.js +0 -3
- package/build/ts/server/authenticate/public/appProxy/types.js.map +0 -1
- package/build/ts/server/authenticate/public/checkout/authenticate.d.ts.map +0 -1
- package/build/ts/server/authenticate/public/checkout/authenticate.js +0 -42
- package/build/ts/server/authenticate/public/checkout/authenticate.js.map +0 -1
- package/build/ts/server/authenticate/public/checkout/authenticate.public.checkout.doc.js +0 -39
- package/build/ts/server/authenticate/public/checkout/authenticate.public.checkout.doc.js.map +0 -1
- package/build/ts/server/authenticate/public/checkout/types.js +0 -3
- package/build/ts/server/authenticate/public/checkout/types.js.map +0 -1
- package/build/ts/server/authenticate/public/factory.js +0 -26
- package/build/ts/server/authenticate/public/factory.js.map +0 -1
- package/build/ts/server/authenticate/public/index.js +0 -5
- package/build/ts/server/authenticate/public/index.js.map +0 -1
- package/build/ts/server/authenticate/public/types.js +0 -3
- package/build/ts/server/authenticate/public/types.js.map +0 -1
- package/build/ts/server/authenticate/webhooks/authenticate.js +0 -94
- package/build/ts/server/authenticate/webhooks/authenticate.js.map +0 -1
- package/build/ts/server/authenticate/webhooks/authenticate.webhooks.doc.js +0 -40
- package/build/ts/server/authenticate/webhooks/authenticate.webhooks.doc.js.map +0 -1
- package/build/ts/server/authenticate/webhooks/index.js +0 -6
- package/build/ts/server/authenticate/webhooks/index.js.map +0 -1
- package/build/ts/server/authenticate/webhooks/register.js +0 -58
- package/build/ts/server/authenticate/webhooks/register.js.map +0 -1
- package/build/ts/server/authenticate/webhooks/types.js +0 -3
- package/build/ts/server/authenticate/webhooks/types.js.map +0 -1
- package/build/ts/server/boundary/error.js +0 -13
- package/build/ts/server/boundary/error.js.map +0 -1
- package/build/ts/server/boundary/headers.js +0 -13
- package/build/ts/server/boundary/headers.js.map +0 -1
- package/build/ts/server/boundary/index.d.ts +0 -38
- package/build/ts/server/boundary/index.js +0 -41
- package/build/ts/server/boundary/index.js.map +0 -1
- package/build/ts/server/boundary/types.js +0 -3
- package/build/ts/server/boundary/types.js.map +0 -1
- package/build/ts/server/clients/admin/authenticate.admin.api.doc.js +0 -32
- package/build/ts/server/clients/admin/authenticate.admin.api.doc.js.map +0 -1
- package/build/ts/server/clients/admin/factory.js +0 -18
- package/build/ts/server/clients/admin/factory.js.map +0 -1
- package/build/ts/server/clients/admin/graphql.js +0 -45
- package/build/ts/server/clients/admin/graphql.js.map +0 -1
- package/build/ts/server/clients/admin/index.js +0 -6
- package/build/ts/server/clients/admin/index.js.map +0 -1
- package/build/ts/server/clients/admin/rest.js +0 -165
- package/build/ts/server/clients/admin/rest.js.map +0 -1
- package/build/ts/server/clients/admin/types.d.ts +0 -242
- package/build/ts/server/clients/admin/types.js +0 -3
- package/build/ts/server/clients/admin/types.js.map +0 -1
- package/build/ts/server/clients/index.js +0 -6
- package/build/ts/server/clients/index.js.map +0 -1
- package/build/ts/server/clients/storefront/authenticate.storefront.api.doc.js +0 -32
- package/build/ts/server/clients/storefront/authenticate.storefront.api.doc.js.map +0 -1
- package/build/ts/server/clients/storefront/factory.js +0 -36
- package/build/ts/server/clients/storefront/factory.js.map +0 -1
- package/build/ts/server/clients/storefront/index.js +0 -6
- package/build/ts/server/clients/storefront/index.js.map +0 -1
- package/build/ts/server/clients/storefront/types.js +0 -3
- package/build/ts/server/clients/storefront/types.js.map +0 -1
- package/build/ts/server/clients/types.js +0 -3
- package/build/ts/server/clients/types.js.map +0 -1
- package/build/ts/server/config-types.js +0 -3
- package/build/ts/server/config-types.js.map +0 -1
- package/build/ts/server/errors.js +0 -14
- package/build/ts/server/errors.js.map +0 -1
- package/build/ts/server/future/flags.js +0 -24
- package/build/ts/server/future/flags.js.map +0 -1
- package/build/ts/server/index.js +0 -24
- package/build/ts/server/index.js.map +0 -1
- package/build/ts/server/override-logger.js +0 -40
- package/build/ts/server/override-logger.js.map +0 -1
- package/build/ts/server/shopify-app.doc.js +0 -43
- package/build/ts/server/shopify-app.doc.js.map +0 -1
- package/build/ts/server/shopify-app.js +0 -124
- package/build/ts/server/shopify-app.js.map +0 -1
- package/build/ts/server/types.js +0 -17
- package/build/ts/server/types.js.map +0 -1
- package/build/ts/server/unauthenticated/admin/factory.js +0 -29
- package/build/ts/server/unauthenticated/admin/factory.js.map +0 -1
- package/build/ts/server/unauthenticated/admin/index.js +0 -5
- package/build/ts/server/unauthenticated/admin/index.js.map +0 -1
- package/build/ts/server/unauthenticated/admin/types.js +0 -3
- package/build/ts/server/unauthenticated/admin/types.js.map +0 -1
- package/build/ts/server/unauthenticated/admin/unauthenticated.admin.doc.js +0 -26
- package/build/ts/server/unauthenticated/admin/unauthenticated.admin.doc.js.map +0 -1
- package/build/ts/server/unauthenticated/helpers/get-offline-session.js +0 -22
- package/build/ts/server/unauthenticated/helpers/get-offline-session.js.map +0 -1
- package/build/ts/server/unauthenticated/helpers/index.js +0 -5
- package/build/ts/server/unauthenticated/helpers/index.js.map +0 -1
- package/build/ts/server/unauthenticated/storefront/factory.js +0 -29
- package/build/ts/server/unauthenticated/storefront/factory.js.map +0 -1
- package/build/ts/server/unauthenticated/storefront/index.js +0 -5
- package/build/ts/server/unauthenticated/storefront/index.js.map +0 -1
- package/build/ts/server/unauthenticated/storefront/types.js +0 -3
- package/build/ts/server/unauthenticated/storefront/types.js.map +0 -1
- package/build/ts/server/unauthenticated/storefront/unauthenticated.storefront.doc.js +0 -26
- package/build/ts/server/unauthenticated/storefront/unauthenticated.storefront.doc.js.map +0 -1
- package/build/ts/server/unauthenticated/types.js +0 -3
- package/build/ts/server/unauthenticated/types.js.map +0 -1
- package/build/ts/server/version.d.ts +0 -2
- package/build/ts/server/version.js +0 -5
- package/build/ts/server/version.js.map +0 -1
- /package/{build → dist}/ts/react/components/AppProvider/AppProvider.doc.d.ts +0 -0
- /package/{build → dist}/ts/react/components/AppProvider/AppProvider.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/react/components/AppProvider/index.d.ts +0 -0
- /package/{build → dist}/ts/react/components/AppProvider/index.d.ts.map +0 -0
- /package/{build → dist}/ts/react/components/RemixPolarisLink.d.ts +0 -0
- /package/{build → dist}/ts/react/components/RemixPolarisLink.d.ts.map +0 -0
- /package/{build → dist}/ts/react/const.d.ts +0 -0
- /package/{build → dist}/ts/react/const.d.ts.map +0 -0
- /package/{build → dist}/ts/react/index.d.ts +0 -0
- /package/{build → dist}/ts/react/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/adapters/node/index.d.ts +0 -0
- /package/{build → dist}/ts/server/adapters/node/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/adapters/vercel/index.d.ts +0 -0
- /package/{build → dist}/ts/server/adapters/vercel/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/authenticate.admin.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/authenticate.admin.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/authenticate.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/authenticate.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/authenticate.admin.billing.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/authenticate.admin.billing.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/cancel.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/cancel.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/check.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/check.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/index.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/request.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/request.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/require.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/require.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/types.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/billing/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/begin-auth.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/begin-auth.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/create-admin-api-context.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/create-admin-api-context.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/handle-client-error.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/handle-client-error.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/index.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-auth-page.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-auth-page.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-with-exitiframe.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-with-exitiframe.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/render-app-bridge.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/render-app-bridge.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/validate-redirect-url.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/validate-redirect-url.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/strategies/auth-code-flow.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/strategies/auth-code-flow.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/strategies/token-exchange.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/strategies/token-exchange.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/strategies/types.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/strategies/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/types.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/admin/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/const.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/const.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/flow/authenticate.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/flow/authenticate.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/flow/authenticate.flow.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/flow/authenticate.flow.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/flow/types.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/flow/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/fulfillment-service/authenticate.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/fulfillment-service/authenticate.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/fulfillment-service/authenticate.fulfillment-service.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/fulfillment-service/authenticate.fulfillment-service.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/fulfillment-service/types.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/fulfillment-service/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/add-response-headers.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/add-response-headers.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/app-bridge-url.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/app-bridge-url.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/ensure-cors-headers.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/ensure-cors-headers.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/get-session-token-header.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/get-session-token-header.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/idempotent-promise-handler.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/idempotent-promise-handler.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/index.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/reject-bot-request.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/reject-bot-request.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/respond-to-invalid-session-token.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/respond-to-invalid-session-token.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/respond-to-options-request.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/helpers/respond-to-options-request.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/login/login.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/login/login.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/public/appProxy/authenticate.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/public/checkout/authenticate.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/public/checkout/authenticate.public.checkout.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/public/checkout/authenticate.public.checkout.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/public/checkout/types.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/public/checkout/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/public/factory.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/public/factory.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/public/index.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/public/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/public/types.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/public/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/webhooks/authenticate.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/webhooks/authenticate.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/webhooks/authenticate.webhooks.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/webhooks/authenticate.webhooks.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/webhooks/index.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/webhooks/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/webhooks/register.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/webhooks/register.d.ts.map +0 -0
- /package/{build → dist}/ts/server/authenticate/webhooks/types.d.ts +0 -0
- /package/{build → dist}/ts/server/authenticate/webhooks/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/boundary/error.d.ts +0 -0
- /package/{build → dist}/ts/server/boundary/error.d.ts.map +0 -0
- /package/{build → dist}/ts/server/boundary/headers.d.ts +0 -0
- /package/{build → dist}/ts/server/boundary/headers.d.ts.map +0 -0
- /package/{build → dist}/ts/server/boundary/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/boundary/types.d.ts +0 -0
- /package/{build → dist}/ts/server/boundary/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/admin/authenticate.admin.api.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/clients/admin/authenticate.admin.api.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/admin/factory.d.ts +0 -0
- /package/{build → dist}/ts/server/clients/admin/factory.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/admin/graphql.d.ts +0 -0
- /package/{build → dist}/ts/server/clients/admin/graphql.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/admin/index.d.ts +0 -0
- /package/{build → dist}/ts/server/clients/admin/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/admin/rest.d.ts +0 -0
- /package/{build → dist}/ts/server/clients/admin/rest.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/admin/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/index.d.ts +0 -0
- /package/{build → dist}/ts/server/clients/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/storefront/authenticate.storefront.api.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/clients/storefront/authenticate.storefront.api.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/storefront/factory.d.ts +0 -0
- /package/{build → dist}/ts/server/clients/storefront/factory.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/storefront/index.d.ts +0 -0
- /package/{build → dist}/ts/server/clients/storefront/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/storefront/types.d.ts +0 -0
- /package/{build → dist}/ts/server/clients/storefront/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/clients/types.d.ts +0 -0
- /package/{build → dist}/ts/server/clients/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/config-types.d.ts +0 -0
- /package/{build → dist}/ts/server/config-types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/errors.d.ts +0 -0
- /package/{build → dist}/ts/server/errors.d.ts.map +0 -0
- /package/{build → dist}/ts/server/future/flags.d.ts +0 -0
- /package/{build → dist}/ts/server/future/flags.d.ts.map +0 -0
- /package/{build → dist}/ts/server/index.d.ts +0 -0
- /package/{build → dist}/ts/server/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/override-logger.d.ts +0 -0
- /package/{build → dist}/ts/server/override-logger.d.ts.map +0 -0
- /package/{build → dist}/ts/server/shopify-app.d.ts +0 -0
- /package/{build → dist}/ts/server/shopify-app.d.ts.map +0 -0
- /package/{build → dist}/ts/server/shopify-app.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/shopify-app.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/types.d.ts +0 -0
- /package/{build → dist}/ts/server/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/unauthenticated/admin/factory.d.ts +0 -0
- /package/{build → dist}/ts/server/unauthenticated/admin/factory.d.ts.map +0 -0
- /package/{build → dist}/ts/server/unauthenticated/admin/index.d.ts +0 -0
- /package/{build → dist}/ts/server/unauthenticated/admin/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/unauthenticated/admin/types.d.ts +0 -0
- /package/{build → dist}/ts/server/unauthenticated/admin/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/unauthenticated/admin/unauthenticated.admin.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/unauthenticated/admin/unauthenticated.admin.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/unauthenticated/helpers/get-offline-session.d.ts +0 -0
- /package/{build → dist}/ts/server/unauthenticated/helpers/get-offline-session.d.ts.map +0 -0
- /package/{build → dist}/ts/server/unauthenticated/helpers/index.d.ts +0 -0
- /package/{build → dist}/ts/server/unauthenticated/helpers/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/unauthenticated/storefront/factory.d.ts +0 -0
- /package/{build → dist}/ts/server/unauthenticated/storefront/factory.d.ts.map +0 -0
- /package/{build → dist}/ts/server/unauthenticated/storefront/index.d.ts +0 -0
- /package/{build → dist}/ts/server/unauthenticated/storefront/index.d.ts.map +0 -0
- /package/{build → dist}/ts/server/unauthenticated/storefront/types.d.ts +0 -0
- /package/{build → dist}/ts/server/unauthenticated/storefront/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/unauthenticated/storefront/unauthenticated.storefront.doc.d.ts +0 -0
- /package/{build → dist}/ts/server/unauthenticated/storefront/unauthenticated.storefront.doc.d.ts.map +0 -0
- /package/{build → dist}/ts/server/unauthenticated/types.d.ts +0 -0
- /package/{build → dist}/ts/server/unauthenticated/types.d.ts.map +0 -0
- /package/{build → dist}/ts/server/version.d.ts.map +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import { Form } from '@remix-run/react';
|
|
4
|
+
import { AppProxyProviderContext } from '../AppProxyProvider/AppProxyProvider.mjs';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Sets up a Remix `<Form>` component that works when rendered behind an app proxy.
|
|
8
|
+
*
|
|
9
|
+
* Supports any properties accepted by the `<Form>` component.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <caption>Render a form element in a proxied route.</caption>
|
|
13
|
+
* <description>Use an `AppProxyForm` within an `AppProxy` to create a form.</description>
|
|
14
|
+
* ```ts
|
|
15
|
+
* // /app/routes/**\/*.ts
|
|
16
|
+
* import {
|
|
17
|
+
* AppProxyProvider,
|
|
18
|
+
* AppProxyForm,
|
|
19
|
+
* } from "@shopify/shopify-app-remix/react";
|
|
20
|
+
* import { authenticate } from "~/shopify.server";
|
|
21
|
+
*
|
|
22
|
+
* export async function loader({ request }) {
|
|
23
|
+
* await authenticate.public.appProxy(request);
|
|
24
|
+
*
|
|
25
|
+
* return json({ appUrl: process.env.SHOPIFY_APP_URL });
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* export async function action({ request }) {
|
|
29
|
+
* await authenticate.public.appProxy(request);
|
|
30
|
+
*
|
|
31
|
+
* const formData = await request.formData();
|
|
32
|
+
* const field = formData.get("field")?.toString();
|
|
33
|
+
*
|
|
34
|
+
* // Perform actions
|
|
35
|
+
* if (field) {
|
|
36
|
+
* console.log("Field:", field);
|
|
37
|
+
* }
|
|
38
|
+
*
|
|
39
|
+
* // Return JSON to the client
|
|
40
|
+
* return json({ message: "Success!" });
|
|
41
|
+
* }
|
|
42
|
+
*
|
|
43
|
+
* export default function App() {
|
|
44
|
+
* const { appUrl } = useLoaderData();
|
|
45
|
+
* const data = useActionData();
|
|
46
|
+
*
|
|
47
|
+
* return (
|
|
48
|
+
* <AppProxyProvider appUrl={appUrl}>
|
|
49
|
+
* <AppProxyForm action="/">
|
|
50
|
+
* <input type="text" name="field" defaultValue={data?.field} />
|
|
51
|
+
*
|
|
52
|
+
* <input type="submit" name="Submit" />
|
|
53
|
+
* </AppProxyForm>
|
|
54
|
+
* </AppProxyProvider>
|
|
55
|
+
* );
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
function AppProxyForm(props) {
|
|
60
|
+
const context = useContext(AppProxyProviderContext);
|
|
61
|
+
if (!context) {
|
|
62
|
+
throw new Error('AppProxyForm must be used within an AppProxyProvider component');
|
|
63
|
+
}
|
|
64
|
+
const { children, action, ...otherProps } = props;
|
|
65
|
+
return (jsx(Form, { action: context.formatUrl(action, false), ...otherProps, children: children }));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export { AppProxyForm };
|
|
69
|
+
//# sourceMappingURL=AppProxyForm.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppProxyForm.mjs","sources":["../../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDG;AACG,SAAU,YAAY,CAAC,KAAwB,EAAA;AACnD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;KACH;IAED,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK,CAAC;IAEhD,QACEA,IAAC,IAAI,EAAA,EAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAM,GAAA,UAAU,YAC3D,QAAQ,EAAA,CACJ,EACP;AACJ;;;;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import { AppProxyProviderContext } from '../AppProxyProvider/AppProxyProvider.mjs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Sets up an `<a />` HTML element that works when rendered behind an app proxy.
|
|
7
|
+
*
|
|
8
|
+
* Supports any properties accepted by the `<a />` HTML element.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <caption>Link to a different route.</caption>
|
|
12
|
+
* <description>Use an `AppProxyLink` within an `AppProxyProvider` to link to a different proxied route.</description>
|
|
13
|
+
* ```ts
|
|
14
|
+
* // /app/routes/**\/*.ts
|
|
15
|
+
* import {authenticate} from '~/shopify.server';
|
|
16
|
+
* import {AppProxyProvider, AppProxyLink} from '@shopify/shopify-app-remix/react';
|
|
17
|
+
*
|
|
18
|
+
* export async function loader({ request }) {
|
|
19
|
+
* await authenticate.public.appProxy(request);
|
|
20
|
+
*
|
|
21
|
+
* return json({ appUrl: process.env.SHOPIFY_APP_URL });
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* export default function App() {
|
|
25
|
+
* const { appUrl } = useLoaderData();
|
|
26
|
+
*
|
|
27
|
+
* return (
|
|
28
|
+
* <AppProxyProvider appUrl={appUrl}>
|
|
29
|
+
* <AppProxyLink href="/other-proxy-route">Link to another route</AppProxyLink>
|
|
30
|
+
* </AppProxyProvider>
|
|
31
|
+
* );
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
function AppProxyLink(props) {
|
|
36
|
+
const context = useContext(AppProxyProviderContext);
|
|
37
|
+
if (!context) {
|
|
38
|
+
throw new Error('AppProxyLink must be used within an AppProxyProvider component');
|
|
39
|
+
}
|
|
40
|
+
const { children, href, ...otherProps } = props;
|
|
41
|
+
return (jsx("a", { href: context.formatUrl(href), ...otherProps, children: children }));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export { AppProxyLink };
|
|
45
|
+
//# sourceMappingURL=AppProxyLink.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppProxyLink.mjs","sources":["../../../../../../src/react/components/AppProxyLink/AppProxyLink.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AACG,SAAU,YAAY,CAAC,KAAwB,EAAA;AACnD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;KACH;IAED,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK,CAAC;AAE9C,IAAA,QACEA,GAAG,CAAA,GAAA,EAAA,EAAA,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAM,UAAU,EAAA,QAAA,EAC7C,QAAQ,EAAA,CACP,EACJ;AACJ;;;;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { createContext, useState, useEffect } from 'react';
|
|
3
|
+
|
|
4
|
+
const AppProxyProviderContext = createContext(null);
|
|
5
|
+
/**
|
|
6
|
+
* Sets up a page to render behind a Shopify app proxy, enabling JavaScript and CSS to be loaded from the app.
|
|
7
|
+
*
|
|
8
|
+
* Also provides components that enable using other components such as links and forms within proxies.
|
|
9
|
+
*
|
|
10
|
+
* > Caution:
|
|
11
|
+
* Because Remix doesn't support URL rewriting, any route using this component should <b>match the pathname of the proxy
|
|
12
|
+
* URL exactly</b>, and <b>end in a trailing slash</b> (e.g., `https://<shop>/apps/proxy/`).
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* <caption>Wrap a route with an AppProxyProvider component.</caption>
|
|
16
|
+
* <description>Wrap your route component in the `AppProxyProvider` component and pass in your app URL.</description>
|
|
17
|
+
* ```ts
|
|
18
|
+
* // /app/routes/**\/*.ts
|
|
19
|
+
* import {authenticate} from '~/shopify.server';
|
|
20
|
+
* import {AppProxyProvider} from '@shopify/shopify-app-remix/react';
|
|
21
|
+
*
|
|
22
|
+
* export async function loader({ request }) {
|
|
23
|
+
* await authenticate.public.appProxy(request);
|
|
24
|
+
*
|
|
25
|
+
* return json({ appUrl: process.env.SHOPIFY_APP_URL });
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* export default function App() {
|
|
29
|
+
* const { appUrl } = useLoaderData();
|
|
30
|
+
*
|
|
31
|
+
* return (
|
|
32
|
+
* <AppProxyProvider appUrl={appUrl}>
|
|
33
|
+
* Page content
|
|
34
|
+
* </AppProxyProvider>
|
|
35
|
+
* );
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
function AppProxyProvider(props) {
|
|
40
|
+
const { children, appUrl } = props;
|
|
41
|
+
const [requestUrl, setRequestUrl] = useState();
|
|
42
|
+
useEffect(() => setRequestUrl(new URL(window.location.href)), [setRequestUrl]);
|
|
43
|
+
return (jsxs(AppProxyProviderContext.Provider, { value: { appUrl, requestUrl, formatUrl: formatProxyUrl(requestUrl) }, children: [jsx("base", { href: appUrl }), children] }));
|
|
44
|
+
}
|
|
45
|
+
function formatProxyUrl(requestUrl) {
|
|
46
|
+
return (url, addOrigin = true) => {
|
|
47
|
+
if (!url) {
|
|
48
|
+
return url;
|
|
49
|
+
}
|
|
50
|
+
let finalUrl = url;
|
|
51
|
+
if (addOrigin && requestUrl && finalUrl.startsWith('/')) {
|
|
52
|
+
finalUrl = new URL(`${requestUrl.origin}${url}`).href;
|
|
53
|
+
}
|
|
54
|
+
if (!finalUrl.endsWith('/')) {
|
|
55
|
+
finalUrl = `${finalUrl}/`;
|
|
56
|
+
}
|
|
57
|
+
return finalUrl;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { AppProxyProvider, AppProxyProviderContext };
|
|
62
|
+
//# sourceMappingURL=AppProxyProvider.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppProxyProvider.mjs","sources":["../../../../../../src/react/components/AppProxyProvider/AppProxyProvider.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;MAyBa,uBAAuB,GAClC,aAAa,CAAsC,IAAI,EAAE;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;AACG,SAAU,gBAAgB,CAAC,KAA4B,EAAA;AAC3D,IAAA,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAC,GAAG,KAAK,CAAC;IACjC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAmB,CAAC;IAEhE,SAAS,CACP,MAAM,aAAa,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAClD,CAAC,aAAa,CAAC,CAChB,CAAC;AAEF,IAAA,QACEA,IAAA,CAAC,uBAAuB,CAAC,QAAQ,EAAA,EAC/B,KAAK,EAAE,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,EAAC,EAAA,QAAA,EAAA,CAElEC,GAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAE,MAAM,EAAI,CAAA,EAErB,QAAQ,CAAA,EAAA,CACwB,EACnC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,UAA2B,EAAA;AACjD,IAAA,OAAO,CAAC,GAAuB,EAAE,SAAS,GAAG,IAAI,KAAI;QACnD,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,OAAO,GAAG,CAAC;SACZ;QAED,IAAI,QAAQ,GAAG,GAAG,CAAC;QAEnB,IAAI,SAAS,IAAI,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACvD,YAAA,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,CAAA,EAAG,GAAG,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC;SACvD;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC3B,YAAA,QAAQ,GAAG,CAAA,EAAG,QAAQ,CAAA,CAAA,CAAG,CAAC;SAC3B;AAED,QAAA,OAAO,QAAQ,CAAC;AAClB,KAAC,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Link } from '@remix-run/react';
|
|
4
|
+
|
|
5
|
+
const RemixPolarisLink = React.forwardRef((props, ref) => (jsx(Link, { ...props, to: props.url ?? props.to, ref: ref })));
|
|
6
|
+
|
|
7
|
+
export { RemixPolarisLink };
|
|
8
|
+
//# sourceMappingURL=RemixPolarisLink.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemixPolarisLink.mjs","sources":["../../../../../src/react/components/RemixPolarisLink.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;AAQa,MAAA,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAG9C,CAAC,KAAK,EAAE,GAAG,MACXA,GAAC,CAAA,IAAI,EAAK,EAAA,GAAA,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAI,CAAA,CACzD;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.mjs","sources":["../../../../src/react/const.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAO,MAAM,cAAc,GACzB;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { AppProvider } from './components/AppProvider/AppProvider.mjs';
|
|
2
|
+
export { AppProxyProvider, AppProxyProviderContext } from './components/AppProxyProvider/AppProxyProvider.mjs';
|
|
3
|
+
export { AppProxyForm } from './components/AppProxyForm/AppProxyForm.mjs';
|
|
4
|
+
export { AppProxyLink } from './components/AppProxyLink/AppProxyLink.mjs';
|
|
5
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
import { setCrypto, setAbstractRuntimeString } from '@shopify/shopify-api/runtime';
|
|
3
|
+
import { setAppBridgeUrlOverride } from '../../authenticate/helpers/app-bridge-url.mjs';
|
|
4
|
+
import '@remix-run/server-runtime';
|
|
5
|
+
import 'isbot';
|
|
6
|
+
|
|
7
|
+
setCrypto(crypto);
|
|
8
|
+
setAbstractRuntimeString(() => {
|
|
9
|
+
return `Remix (Node)`;
|
|
10
|
+
});
|
|
11
|
+
/* eslint-disable no-process-env */
|
|
12
|
+
if (process.env.APP_BRIDGE_URL) {
|
|
13
|
+
setAppBridgeUrlOverride(process.env.APP_BRIDGE_URL);
|
|
14
|
+
}
|
|
15
|
+
/* eslint-enable no-process-env */
|
|
16
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../src/server/adapters/node/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AASA,SAAS,CAAC,MAAa,CAAC,CAAC;AAEzB,wBAAwB,CAAC,MAAK;AAC5B,IAAA,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH;AACA,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;AAC9B,IAAA,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACtD,CAAC;AACD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { setAbstractFetchFunc } from '@shopify/shopify-api/runtime';
|
|
2
|
+
import { installGlobals } from '@remix-run/node';
|
|
3
|
+
import '../node/index.mjs';
|
|
4
|
+
|
|
5
|
+
installGlobals();
|
|
6
|
+
const fetchFunc = fetch;
|
|
7
|
+
setAbstractFetchFunc(async (...args) => {
|
|
8
|
+
const response = await fetchFunc(...args);
|
|
9
|
+
return response;
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../src/server/adapters/vercel/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA,cAAc,EAAE,CAAC;AAEjB,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,oBAAoB,CAAC,OAAO,GAAG,IAAI,KAAI;IACrC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;AAE1C,IAAA,OAAO,QAAe,CAAC;AACzB,CAAC,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { ensureCORSHeadersFactory } from '../helpers/ensure-cors-headers.mjs';
|
|
2
|
+
import { validateSessionToken } from '../helpers/validate-session-token.mjs';
|
|
3
|
+
import { getSessionTokenHeader, getSessionTokenFromUrlParam } from '../helpers/get-session-token-header.mjs';
|
|
4
|
+
import { respondToBotRequest } from '../helpers/reject-bot-request.mjs';
|
|
5
|
+
import { respondToOptionsRequest } from '../helpers/respond-to-options-request.mjs';
|
|
6
|
+
import '@remix-run/server-runtime';
|
|
7
|
+
import { cancelBillingFactory } from './billing/cancel.mjs';
|
|
8
|
+
import { requireBillingFactory } from './billing/require.mjs';
|
|
9
|
+
import { requestBillingFactory } from './billing/request.mjs';
|
|
10
|
+
import { checkBillingFactory } from './billing/check.mjs';
|
|
11
|
+
import { createAdminApiContext } from './helpers/create-admin-api-context.mjs';
|
|
12
|
+
import { ensureAppIsEmbeddedIfRequired } from './helpers/ensure-app-is-embedded-if-required.mjs';
|
|
13
|
+
import { ensureSessionTokenSearchParamIfRequired } from './helpers/ensure-session-token-search-param-if-required.mjs';
|
|
14
|
+
import '@shopify/shopify-api';
|
|
15
|
+
import { redirectFactory } from './helpers/redirect.mjs';
|
|
16
|
+
import { renderAppBridge } from './helpers/render-app-bridge.mjs';
|
|
17
|
+
import { validateShopAndHostParams } from './helpers/validate-shop-and-host-params.mjs';
|
|
18
|
+
|
|
19
|
+
function authStrategyFactory({ strategy, ...params }) {
|
|
20
|
+
const { api, logger, config } = params;
|
|
21
|
+
async function respondToBouncePageRequest(request) {
|
|
22
|
+
const url = new URL(request.url);
|
|
23
|
+
if (url.pathname === config.auth.patchSessionTokenPath) {
|
|
24
|
+
logger.debug('Rendering bounce page');
|
|
25
|
+
throw renderAppBridge({ config, logger, api }, request);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function respondToExitIframeRequest(request) {
|
|
29
|
+
const url = new URL(request.url);
|
|
30
|
+
if (url.pathname === config.auth.exitIframePath) {
|
|
31
|
+
const destination = url.searchParams.get('exitIframe');
|
|
32
|
+
logger.debug('Rendering exit iframe page', { destination });
|
|
33
|
+
throw renderAppBridge({ config, logger, api }, request, { url: destination });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function createContext(request, session, authStrategy, sessionToken) {
|
|
37
|
+
const context = {
|
|
38
|
+
admin: createAdminApiContext(session, params, authStrategy.handleClientError(request)),
|
|
39
|
+
billing: {
|
|
40
|
+
require: requireBillingFactory(params, request, session),
|
|
41
|
+
check: checkBillingFactory(params, request, session),
|
|
42
|
+
request: requestBillingFactory(params, request, session),
|
|
43
|
+
cancel: cancelBillingFactory(params, request, session),
|
|
44
|
+
},
|
|
45
|
+
session,
|
|
46
|
+
cors: ensureCORSHeadersFactory(params, request),
|
|
47
|
+
};
|
|
48
|
+
if (config.isEmbeddedApp) {
|
|
49
|
+
return {
|
|
50
|
+
...context,
|
|
51
|
+
sessionToken,
|
|
52
|
+
redirect: redirectFactory(params, request),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return context;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return async function authenticateAdmin(request) {
|
|
60
|
+
try {
|
|
61
|
+
respondToBotRequest(params, request);
|
|
62
|
+
respondToOptionsRequest(params, request);
|
|
63
|
+
await respondToBouncePageRequest(request);
|
|
64
|
+
await respondToExitIframeRequest(request);
|
|
65
|
+
await strategy.respondToOAuthRequests(request);
|
|
66
|
+
// If this is a valid request, but it doesn't have a session token header, this is a document request. We need to
|
|
67
|
+
// ensure we're embedded if needed and we have the information needed to load the session.
|
|
68
|
+
if (!getSessionTokenHeader(request)) {
|
|
69
|
+
validateShopAndHostParams(params, request);
|
|
70
|
+
await ensureAppIsEmbeddedIfRequired(params, request);
|
|
71
|
+
await ensureSessionTokenSearchParamIfRequired(params, request);
|
|
72
|
+
}
|
|
73
|
+
logger.info('Authenticating admin request');
|
|
74
|
+
const { payload, shop, sessionId, sessionToken } = await getSessionTokenContext(params, request);
|
|
75
|
+
logger.debug('Loading session from storage', { sessionId });
|
|
76
|
+
const existingSession = sessionId
|
|
77
|
+
? await config.sessionStorage.loadSession(sessionId)
|
|
78
|
+
: undefined;
|
|
79
|
+
const session = await strategy.authenticate(request, {
|
|
80
|
+
session: existingSession,
|
|
81
|
+
sessionToken,
|
|
82
|
+
shop,
|
|
83
|
+
});
|
|
84
|
+
logger.debug('Request is valid, loaded session from session token', {
|
|
85
|
+
shop: session.shop,
|
|
86
|
+
isOnline: session.isOnline,
|
|
87
|
+
});
|
|
88
|
+
return createContext(request, session, strategy, payload);
|
|
89
|
+
}
|
|
90
|
+
catch (errorOrResponse) {
|
|
91
|
+
if (errorOrResponse instanceof Response) {
|
|
92
|
+
ensureCORSHeadersFactory(params, request)(errorOrResponse);
|
|
93
|
+
}
|
|
94
|
+
throw errorOrResponse;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
async function getSessionTokenContext(params, request) {
|
|
99
|
+
const { api, config, logger } = params;
|
|
100
|
+
const headerSessionToken = getSessionTokenHeader(request);
|
|
101
|
+
const searchParamSessionToken = getSessionTokenFromUrlParam(request);
|
|
102
|
+
const sessionToken = (headerSessionToken || searchParamSessionToken);
|
|
103
|
+
logger.debug('Attempting to authenticate session token', {
|
|
104
|
+
sessionToken: JSON.stringify({
|
|
105
|
+
header: headerSessionToken,
|
|
106
|
+
search: searchParamSessionToken,
|
|
107
|
+
}),
|
|
108
|
+
});
|
|
109
|
+
if (config.isEmbeddedApp) {
|
|
110
|
+
const payload = await validateSessionToken(params, request, sessionToken);
|
|
111
|
+
const dest = new URL(payload.dest);
|
|
112
|
+
const shop = dest.hostname;
|
|
113
|
+
logger.debug('Session token is valid', { shop, payload });
|
|
114
|
+
const sessionId = config.useOnlineTokens
|
|
115
|
+
? api.session.getJwtSessionId(shop, payload.sub)
|
|
116
|
+
: api.session.getOfflineId(shop);
|
|
117
|
+
return { shop, payload, sessionId, sessionToken };
|
|
118
|
+
}
|
|
119
|
+
const url = new URL(request.url);
|
|
120
|
+
const shop = url.searchParams.get('shop');
|
|
121
|
+
const sessionId = await api.session.getCurrentId({
|
|
122
|
+
isOnline: config.useOnlineTokens,
|
|
123
|
+
rawRequest: request,
|
|
124
|
+
});
|
|
125
|
+
return { shop, sessionId, payload: undefined, sessionToken };
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export { authStrategyFactory };
|
|
129
|
+
//# sourceMappingURL=authenticate.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticate.mjs","sources":["../../../../../../src/server/authenticate/admin/authenticate.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { HttpResponseError } from '@shopify/shopify-api';
|
|
2
|
+
import '@remix-run/server-runtime';
|
|
3
|
+
import { redirectToAuthPage } from '../helpers/redirect-to-auth-page.mjs';
|
|
4
|
+
|
|
5
|
+
function cancelBillingFactory(params, request, session) {
|
|
6
|
+
return async function cancelBilling(options) {
|
|
7
|
+
const { api, logger, config } = params;
|
|
8
|
+
logger.debug('Cancelling billing', { shop: session.shop, ...options });
|
|
9
|
+
try {
|
|
10
|
+
return await api.billing.cancel({
|
|
11
|
+
session,
|
|
12
|
+
subscriptionId: options.subscriptionId,
|
|
13
|
+
isTest: options.isTest,
|
|
14
|
+
prorate: options.prorate,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
if (error instanceof HttpResponseError && error.response.code === 401) {
|
|
19
|
+
logger.debug('API token was invalid, redirecting to OAuth', {
|
|
20
|
+
shop: session.shop,
|
|
21
|
+
});
|
|
22
|
+
await config.sessionStorage.deleteSession(session.id);
|
|
23
|
+
throw await redirectToAuthPage(params, request, session.shop);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export { cancelBillingFactory };
|
|
33
|
+
//# sourceMappingURL=cancel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancel.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/cancel.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;SAOgB,oBAAoB,CAClC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,OAAO,eAAe,aAAa,CAAC,OAA6B,EAAA;QAC/D,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAErC,QAAA,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC;AAErE,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC9B,OAAO;gBACP,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,iBAAA,CAAC,CAAC;gBACH,MAAM,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACtD,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AACH,KAAC,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { HttpResponseError } from '@shopify/shopify-api';
|
|
2
|
+
import '@remix-run/server-runtime';
|
|
3
|
+
import { redirectToAuthPage } from '../helpers/redirect-to-auth-page.mjs';
|
|
4
|
+
|
|
5
|
+
function checkBillingFactory(params, request, session) {
|
|
6
|
+
return async function checkBilling(options) {
|
|
7
|
+
const { api, logger, config } = params;
|
|
8
|
+
logger.debug('Checking billing plans', { shop: session.shop, ...options });
|
|
9
|
+
try {
|
|
10
|
+
return await api.billing.check({
|
|
11
|
+
session,
|
|
12
|
+
plans: options.plans,
|
|
13
|
+
isTest: options.isTest,
|
|
14
|
+
returnObject: true,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
if (error instanceof HttpResponseError && error.response.code === 401) {
|
|
19
|
+
logger.debug('API token was invalid, redirecting to OAuth', {
|
|
20
|
+
shop: session.shop,
|
|
21
|
+
});
|
|
22
|
+
await config.sessionStorage.deleteSession(session.id);
|
|
23
|
+
throw await redirectToAuthPage(params, request, session.shop);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export { checkBillingFactory };
|
|
33
|
+
//# sourceMappingURL=check.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/check.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;SAQgB,mBAAmB,CACjC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,OAAO,eAAe,YAAY,CAAC,OAAoC,EAAA;QACrE,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAErC,QAAA,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC;AAEzE,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,KAAiB;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,iBAAA,CAAC,CAAC;gBACH,MAAM,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACtD,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AACH,KAAC,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { HttpResponseError } from '@shopify/shopify-api';
|
|
2
|
+
import { redirect } from '@remix-run/server-runtime';
|
|
3
|
+
import { redirectToAuthPage } from '../helpers/redirect-to-auth-page.mjs';
|
|
4
|
+
import { getAppBridgeHeaders } from '../helpers/redirect-with-app-bridge-headers.mjs';
|
|
5
|
+
|
|
6
|
+
function requestBillingFactory(params, request, session) {
|
|
7
|
+
return async function requestBilling({ plan, isTest, returnUrl, ...overrides }) {
|
|
8
|
+
const { api, logger, config } = params;
|
|
9
|
+
logger.info('Requesting billing', {
|
|
10
|
+
shop: session.shop,
|
|
11
|
+
plan,
|
|
12
|
+
isTest,
|
|
13
|
+
returnUrl,
|
|
14
|
+
});
|
|
15
|
+
let result;
|
|
16
|
+
try {
|
|
17
|
+
result = await api.billing.request({
|
|
18
|
+
plan: plan,
|
|
19
|
+
session,
|
|
20
|
+
isTest,
|
|
21
|
+
returnUrl,
|
|
22
|
+
returnObject: true,
|
|
23
|
+
...overrides,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
if (error instanceof HttpResponseError && error.response.code === 401) {
|
|
28
|
+
logger.debug('API token was invalid, redirecting to OAuth', {
|
|
29
|
+
shop: session.shop,
|
|
30
|
+
});
|
|
31
|
+
await config.sessionStorage.deleteSession(session.id);
|
|
32
|
+
throw await redirectToAuthPage(params, request, session.shop);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
throw redirectOutOfApp(params, request, result.confirmationUrl, session.shop);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function redirectOutOfApp(params, request, url, shop) {
|
|
42
|
+
const { config, logger } = params;
|
|
43
|
+
logger.debug('Redirecting out of app', { url });
|
|
44
|
+
const requestUrl = new URL(request.url);
|
|
45
|
+
const isEmbeddedRequest = requestUrl.searchParams.get('embedded') === '1';
|
|
46
|
+
const isXhrRequest = request.headers.get('authorization');
|
|
47
|
+
if (isXhrRequest) {
|
|
48
|
+
// eslint-disable-next-line no-warning-comments
|
|
49
|
+
// TODO Check this with the beta flag disabled (with the bounce page)
|
|
50
|
+
// Remix is not including the X-Shopify-API-Request-Failure-Reauthorize-Url when throwing a Response
|
|
51
|
+
// https://github.com/remix-run/remix/issues/5356
|
|
52
|
+
throw new Response(undefined, {
|
|
53
|
+
status: 401,
|
|
54
|
+
statusText: 'Unauthorized',
|
|
55
|
+
headers: getAppBridgeHeaders(url),
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
else if (isEmbeddedRequest) {
|
|
59
|
+
const params = new URLSearchParams({
|
|
60
|
+
shop,
|
|
61
|
+
host: requestUrl.searchParams.get('host'),
|
|
62
|
+
exitIframe: url,
|
|
63
|
+
});
|
|
64
|
+
throw redirect(`${config.auth.exitIframePath}?${params.toString()}`);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
// This will only ever happen for non-embedded apps, because the authenticator will stop before reaching this point
|
|
68
|
+
throw redirect(url);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export { requestBillingFactory };
|
|
73
|
+
//# sourceMappingURL=request.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/request.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { HttpResponseError } from '@shopify/shopify-api';
|
|
2
|
+
import '@remix-run/server-runtime';
|
|
3
|
+
import { redirectToAuthPage } from '../helpers/redirect-to-auth-page.mjs';
|
|
4
|
+
|
|
5
|
+
function requireBillingFactory(params, request, session) {
|
|
6
|
+
const { api, logger, config } = params;
|
|
7
|
+
return async function requireBilling(options) {
|
|
8
|
+
const logContext = {
|
|
9
|
+
shop: session.shop,
|
|
10
|
+
plans: options.plans,
|
|
11
|
+
isTest: options.isTest,
|
|
12
|
+
};
|
|
13
|
+
logger.debug('Checking billing for the shop', logContext);
|
|
14
|
+
let data;
|
|
15
|
+
try {
|
|
16
|
+
data = await api.billing.check({
|
|
17
|
+
session,
|
|
18
|
+
plans: options.plans,
|
|
19
|
+
isTest: options.isTest,
|
|
20
|
+
returnObject: true,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
if (error instanceof HttpResponseError && error.response.code === 401) {
|
|
25
|
+
logger.debug('API token was invalid, redirecting to OAuth', logContext);
|
|
26
|
+
await config.sessionStorage.deleteSession(session.id);
|
|
27
|
+
throw await redirectToAuthPage(params, request, session.shop);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (!data.hasActivePayment) {
|
|
34
|
+
logger.debug('Billing check failed', logContext);
|
|
35
|
+
throw await options.onFailure(new Error('Billing check failed'));
|
|
36
|
+
}
|
|
37
|
+
logger.debug('Billing check succeeded', logContext);
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { requireBillingFactory };
|
|
43
|
+
//# sourceMappingURL=require.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/require.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;SAYgB,qBAAqB,CACnC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;IAEhB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAErC,IAAA,OAAO,eAAe,cAAc,CAAC,OAAsC,EAAA;AACzE,QAAA,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;AAEF,QAAA,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,UAAU,CAAC,CAAC;AAE1D,QAAA,IAAI,IAAgC,CAAC;AACrC,QAAA,IAAI;AACF,YAAA,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,KAAiB;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,UAAU,CAAC,CAAC;gBACxE,MAAM,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACtD,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC;aACb;SACF;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAC1B,YAAA,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;YACjD,MAAM,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAClE;AAED,QAAA,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;AAEpD,QAAA,OAAO,IAAI,CAAC;AACd,KAAC,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
async function beginAuth(params, request, isOnline, shop) {
|
|
2
|
+
const { api, config } = params;
|
|
3
|
+
throw await api.auth.begin({
|
|
4
|
+
shop,
|
|
5
|
+
callbackPath: config.auth.callbackPath,
|
|
6
|
+
isOnline,
|
|
7
|
+
rawRequest: request,
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { beginAuth };
|
|
12
|
+
//# sourceMappingURL=begin-auth.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"begin-auth.mjs","sources":["../../../../../../../src/server/authenticate/admin/helpers/begin-auth.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEO,eAAe,SAAS,CAC7B,MAAmB,EACnB,OAAgB,EAChB,QAAiB,EACjB,IAAY,EAAA;AAEZ,IAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,IAAA,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI;AACJ,QAAA,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;QACtC,QAAQ;AACR,QAAA,UAAU,EAAE,OAAO;AACpB,KAAA,CAAC,CAAC;AACL;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { adminClientFactory } from '../../../clients/admin/factory.mjs';
|
|
2
|
+
|
|
3
|
+
function createAdminApiContext(session, params, handleClientError) {
|
|
4
|
+
return adminClientFactory({
|
|
5
|
+
session,
|
|
6
|
+
params,
|
|
7
|
+
handleClientError,
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { createAdminApiContext };
|
|
12
|
+
//# sourceMappingURL=create-admin-api-context.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-admin-api-context.mjs","sources":["../../../../../../../src/server/authenticate/admin/helpers/create-admin-api-context.ts"],"sourcesContent":[null],"names":[],"mappings":";;SASgB,qBAAqB,CAGnC,OAAgB,EAChB,MAAmB,EACnB,iBAAyC,EAAA;AAEzC,IAAA,OAAO,kBAAkB,CAAY;QACnC,OAAO;QACP,MAAM;QACN,iBAAiB;AAClB,KAAA,CAAC,CAAC;AACL;;;;"}
|