shopify-app-js 0.0.1-security → 1.0.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.
Potentially problematic release.
This version of shopify-app-js might be problematic. Click here for more details.
- package/.changeset/README.md +8 -0
- package/.changeset/config.json +14 -0
- package/.changeset/flat-clouds-camp.md +5 -0
- package/.eslintrc.js +36 -0
- package/.github/CODEOWNERS +1 -0
- package/.github/ISSUE_TEMPLATE/BUG_REPORT.md +36 -0
- package/.github/ISSUE_TEMPLATE/ENHANCEMENT.md +9 -0
- package/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md +9 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +34 -0
- package/.github/dependabot.yml +9 -0
- package/.github/workflows/changelog.yml +30 -0
- package/.github/workflows/ci.yml +22 -0
- package/.github/workflows/cla.yml +22 -0
- package/.github/workflows/close-waiting-for-response-issues.yml +20 -0
- package/.github/workflows/main-release.yml +36 -0
- package/.github/workflows/markdown_link_check.yml +14 -0
- package/.github/workflows/markdown_link_checker_config.json +9 -0
- package/.github/workflows/publish-experimental-build.yml +30 -0
- package/.github/workflows/release-candidate.yml +35 -0
- package/.github/workflows/remove-labels-on-activity.yml +16 -0
- package/.github/workflows/stale.yml +26 -0
- package/.prettierignore +5 -0
- package/.prettierrc +1 -0
- package/CODE_OF_CONDUCT.md +46 -0
- package/CONTRIBUTING.md +39 -0
- package/LICENSE.md +9 -0
- package/README.md +62 -3
- package/RELEASING.md +142 -0
- package/loom.config.ts +115 -0
- package/package.json +44 -3
- package/packages/.prettierrc +1 -0
- package/packages/shopify-app-express/CHANGELOG.md +316 -0
- package/packages/shopify-app-express/LICENSE.md +9 -0
- package/packages/shopify-app-express/README.md +93 -0
- package/packages/shopify-app-express/docs/reference/README.md +3 -0
- package/packages/shopify-app-express/docs/reference/auth.md +76 -0
- package/packages/shopify-app-express/docs/reference/cspHeaders.md +24 -0
- package/packages/shopify-app-express/docs/reference/ensureInstalledOnShop.md +17 -0
- package/packages/shopify-app-express/docs/reference/migrating-app-v6-api-lib-to-express-lib.md +345 -0
- package/packages/shopify-app-express/docs/reference/processWebhooks.md +67 -0
- package/packages/shopify-app-express/docs/reference/redirectOutOfApp.md +77 -0
- package/packages/shopify-app-express/docs/reference/redirectToShopifyOrAppRoot.md +20 -0
- package/packages/shopify-app-express/docs/reference/shopifyApp.md +148 -0
- package/packages/shopify-app-express/docs/reference/validateAuthenticatedSession.md +30 -0
- package/packages/shopify-app-express/loom.config.ts +27 -0
- package/packages/shopify-app-express/package.json +54 -0
- package/packages/shopify-app-express/src/__tests__/index.test.ts +100 -0
- package/packages/shopify-app-express/src/__tests__/integration/oauth.test.ts +445 -0
- package/packages/shopify-app-express/src/__tests__/integration/responses.ts +135 -0
- package/packages/shopify-app-express/src/__tests__/integration/types.ts +22 -0
- package/packages/shopify-app-express/src/__tests__/integration/utils.ts +68 -0
- package/packages/shopify-app-express/src/__tests__/integration/webhooks.test.ts +208 -0
- package/packages/shopify-app-express/src/__tests__/redirect-to-auth.test.ts +103 -0
- package/packages/shopify-app-express/src/__tests__/setup-jest.ts +8 -0
- package/packages/shopify-app-express/src/__tests__/test-helper.ts +204 -0
- package/packages/shopify-app-express/src/app-installations.ts +42 -0
- package/packages/shopify-app-express/src/auth/__tests__/auth.test.ts +303 -0
- package/packages/shopify-app-express/src/auth/auth-callback.ts +131 -0
- package/packages/shopify-app-express/src/auth/index.ts +32 -0
- package/packages/shopify-app-express/src/auth/types.ts +13 -0
- package/packages/shopify-app-express/src/config-types.ts +38 -0
- package/packages/shopify-app-express/src/error.ts +8 -0
- package/packages/shopify-app-express/src/index.ts +171 -0
- package/packages/shopify-app-express/src/middlewares/__tests__/csp-headers.test.ts +69 -0
- package/packages/shopify-app-express/src/middlewares/__tests__/ensure-installed-on-shop.test.ts +193 -0
- package/packages/shopify-app-express/src/middlewares/__tests__/redirect-to-shopify-or-app-root.test.ts +59 -0
- package/packages/shopify-app-express/src/middlewares/__tests__/validate-authenticated-session.test.ts +319 -0
- package/packages/shopify-app-express/src/middlewares/csp-headers.ts +31 -0
- package/packages/shopify-app-express/src/middlewares/ensure-installed-on-shop.ts +176 -0
- package/packages/shopify-app-express/src/middlewares/has-valid-access-token.ts +25 -0
- package/packages/shopify-app-express/src/middlewares/index.ts +15 -0
- package/packages/shopify-app-express/src/middlewares/redirect-to-shopify-or-app-root.ts +39 -0
- package/packages/shopify-app-express/src/middlewares/types.ts +6 -0
- package/packages/shopify-app-express/src/middlewares/validate-authenticated-session.ts +142 -0
- package/packages/shopify-app-express/src/redirect-out-of-app.ts +80 -0
- package/packages/shopify-app-express/src/redirect-to-auth.ts +70 -0
- package/packages/shopify-app-express/src/types.ts +26 -0
- package/packages/shopify-app-express/src/version.ts +1 -0
- package/packages/shopify-app-express/src/webhooks/__tests__/process.test.ts +138 -0
- package/packages/shopify-app-express/src/webhooks/index.ts +54 -0
- package/packages/shopify-app-express/src/webhooks/process.ts +22 -0
- package/packages/shopify-app-express/src/webhooks/types.ts +24 -0
- package/packages/shopify-app-express/tsconfig.json +10 -0
- package/packages/shopify-app-remix/.eslintrc.js +3 -0
- package/packages/shopify-app-remix/CHANGELOG.md +569 -0
- package/packages/shopify-app-remix/LICENSE.md +9 -0
- package/packages/shopify-app-remix/README.md +223 -0
- package/packages/shopify-app-remix/docs/build-docs.sh +11 -0
- package/packages/shopify-app-remix/docs/generated/generated_docs_data.json +18650 -0
- package/packages/shopify-app-remix/docs/generated/generated_static_pages.json +540 -0
- package/packages/shopify-app-remix/docs/staticPages/admin.doc.ts +130 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/admin/auth-cors.example.tsx +11 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/admin/auth.example.tsx +19 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/admin/graphql.example.tsx +29 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/admin/headers.example.tsx +10 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/admin/rest-resources.example.tsx +9 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/admin/rest.example.tsx +17 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/future-flags/config.example.ts +8 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/future-flags/unstable.example.ts +9 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/graphql-types/.graphqlrc.ts +16 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/graphql-types/install.npm.example.sh +2 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/graphql-types/install.pnpm.example.sh +2 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/graphql-types/install.yarn.example.sh +2 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/graphql-types/package.json +5 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/graphql-types/run.npm.example.sh +1 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/graphql-types/run.pnpm.example.sh +1 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/graphql-types/run.yarn.example.sh +1 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/webhooks/config.example.ts +19 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/guides/webhooks/endpoint.example.ts +24 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/app-provider.example.ts +30 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/boundaries.example.ts +9 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/create.npm.example.sh +1 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/create.pnpm.example.sh +1 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/create.yarn.example.sh +1 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/embedded-app-auth-strategy-config.example.ts +10 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/entry-server.example.ts +12 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/install.npm.example.sh +1 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/install.pnpm.example.sh +1 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/install.yarn.example.sh +1 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/shopify-app.example.ts +14 -0
- package/packages/shopify-app-remix/docs/staticPages/examples/index/splat-route.example.ts +11 -0
- package/packages/shopify-app-remix/docs/staticPages/future-flags.doc.ts +94 -0
- package/packages/shopify-app-remix/docs/staticPages/graphql-types.doc.ts +148 -0
- package/packages/shopify-app-remix/docs/staticPages/index.doc.ts +227 -0
- package/packages/shopify-app-remix/docs/staticPages/webhooks.doc.ts +64 -0
- package/packages/shopify-app-remix/docs/tsconfig.docs.json +9 -0
- package/packages/shopify-app-remix/docs/typeOverride.json +1 -0
- package/packages/shopify-app-remix/docs/upcoming_changes.md +153 -0
- package/packages/shopify-app-remix/loom.config.ts +57 -0
- package/packages/shopify-app-remix/package.json +93 -0
- package/packages/shopify-app-remix/src/react/.eslintrc.js +16 -0
- package/packages/shopify-app-remix/src/react/__tests__/test-helper.ts +22 -0
- package/packages/shopify-app-remix/src/react/components/AppProvider/AppProvider.doc.ts +34 -0
- package/packages/shopify-app-remix/src/react/components/AppProvider/AppProvider.tsx +121 -0
- package/packages/shopify-app-remix/src/react/components/AppProvider/__tests__/AppProvider.test.tsx +68 -0
- package/packages/shopify-app-remix/src/react/components/AppProvider/index.ts +1 -0
- package/packages/shopify-app-remix/src/react/components/RemixPolarisLink.tsx +14 -0
- package/packages/shopify-app-remix/src/react/components/index.ts +1 -0
- package/packages/shopify-app-remix/src/react/const.ts +2 -0
- package/packages/shopify-app-remix/src/react/index.ts +1 -0
- package/packages/shopify-app-remix/src/server/.eslintrc.js +16 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/__tests__/request-mock.test.ts +171 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/const.ts +11 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/expect-admin-api-client.ts +119 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/expect-begin-auth-redirect.ts +22 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/expect-document-request-headers.ts +25 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/expect-exit-iframe.ts +37 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/expect-login-redirect.ts +8 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/expect-storefront-api-client.ts +50 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/get-hmac.ts +10 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/get-jwt.ts +31 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/get-thrown-response.ts +17 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/index.ts +14 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/request-mock.ts +169 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/setup-valid-session.ts +45 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/sign-request-cookie.ts +21 -0
- package/packages/shopify-app-remix/src/server/__test-helpers/test-config.ts +112 -0
- package/packages/shopify-app-remix/src/server/__tests__/override-logger.test.ts +101 -0
- package/packages/shopify-app-remix/src/server/__tests__/shopify-app.test.ts +119 -0
- package/packages/shopify-app-remix/src/server/adapters/__tests__/node-app-bridge-url.test.ts +18 -0
- package/packages/shopify-app-remix/src/server/adapters/__tests__/node.test.ts +28 -0
- package/packages/shopify-app-remix/src/server/adapters/node/__tests__/setup-jest.ts +10 -0
- package/packages/shopify-app-remix/src/server/adapters/node/index.ts +20 -0
- package/packages/shopify-app-remix/src/server/adapters/vercel/__tests__/setup-jest.ts +12 -0
- package/packages/shopify-app-remix/src/server/adapters/vercel/index.ts +13 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/__tests__/admin-client.test.ts +181 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/__tests__/doc-request-path.test.ts +151 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/__tests__/exit-i-frame-path.test.ts +99 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/__tests__/patch-session-token-path.test.ts +58 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/__tests__/reject-bot.test.ts +23 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/__tests__/respond-to-options.test.ts +50 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/__tests__/session-token-header-path.test.ts +91 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/authenticate.admin.doc.ts +37 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/authenticate.ts +201 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/__tests__/cancel.test.ts +258 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/__tests__/check.test.ts +254 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/__tests__/mock-responses.ts +65 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/__tests__/request.test.ts +373 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/__tests__/require.test.ts +316 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/authenticate.admin.billing.doc.ts +28 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/cancel.ts +37 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/check.ts +38 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/index.ts +4 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/request.ts +101 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/require.ts +56 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/billing/types.ts +383 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/__tests__/redirect.test.ts +313 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/__tests__/validate-redirect-url.test.ts +84 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/begin-auth.ts +17 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/create-admin-api-context.ts +22 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.ts +18 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.ts +25 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/handle-client-error.ts +43 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/index.ts +14 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/redirect-to-auth-page.ts +28 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/redirect-to-bounce-page.ts +23 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.ts +21 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.ts +13 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/redirect-with-exitiframe.ts +28 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/redirect.ts +83 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/render-app-bridge.ts +46 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/trigger-after-auth-hook.ts +28 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/validate-redirect-url.ts +67 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/helpers/validate-shop-and-host-params.ts +28 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/strategies/__tests__/auth-code-flow/admin-client.test.ts +222 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/strategies/__tests__/auth-code-flow/auth-callback-path.test.ts +395 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/strategies/__tests__/auth-code-flow/auth-path.test.ts +83 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/strategies/__tests__/auth-code-flow/authenticate.test.ts +183 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/strategies/__tests__/auth-code-flow/ensure-installed-on-shop.test.ts +234 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/strategies/__tests__/auth-code-flow/session-token-header-path.test.ts +79 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/strategies/__tests__/token-exchange/admin-client.test.ts +189 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/strategies/__tests__/token-exchange/authenticate.test.ts +310 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/strategies/auth-code-flow.ts +333 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/strategies/token-exchange.ts +169 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/strategies/types.ts +29 -0
- package/packages/shopify-app-remix/src/server/authenticate/admin/types.ts +199 -0
- package/packages/shopify-app-remix/src/server/authenticate/const.ts +15 -0
- package/packages/shopify-app-remix/src/server/authenticate/flow/__tests__/authenticate.test.ts +142 -0
- package/packages/shopify-app-remix/src/server/authenticate/flow/authenticate.flow.doc.ts +34 -0
- package/packages/shopify-app-remix/src/server/authenticate/flow/authenticate.ts +71 -0
- package/packages/shopify-app-remix/src/server/authenticate/flow/types.ts +90 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/__tests__/add-response-headers.test.ts +25 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/__tests__/app-bridge-url.test.ts +21 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/__tests__/idempotent-promise-handler.test.ts +104 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/add-response-headers.ts +43 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/app-bridge-url.ts +10 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/ensure-cors-headers.ts +38 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/get-session-token-header.ts +11 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/idempotent-promise-handler.ts +45 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/index.ts +8 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/reject-bot-request.ts +13 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/respond-to-invalid-session-token.ts +29 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/respond-to-options-request.ts +26 -0
- package/packages/shopify-app-remix/src/server/authenticate/helpers/validate-session-token.ts +32 -0
- package/packages/shopify-app-remix/src/server/authenticate/login/__tests__/login.test.ts +157 -0
- package/packages/shopify-app-remix/src/server/authenticate/login/login.ts +53 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/__tests__/factory.test.ts +224 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/appProxy/__tests__/authenticate.test.ts +282 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.ts +36 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/appProxy/authenticate.ts +90 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/appProxy/types.ts +164 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/checkout/__tests__/authenticate.test.ts +142 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/checkout/authenticate.public.checkout.doc.ts +23 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/checkout/authenticate.ts +45 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/checkout/types.ts +65 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/factory.ts +49 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/index.ts +1 -0
- package/packages/shopify-app-remix/src/server/authenticate/public/types.ts +77 -0
- package/packages/shopify-app-remix/src/server/authenticate/webhooks/__tests__/authenticate.test.ts +207 -0
- package/packages/shopify-app-remix/src/server/authenticate/webhooks/__tests__/mock-responses.ts +45 -0
- package/packages/shopify-app-remix/src/server/authenticate/webhooks/__tests__/register.test.ts +210 -0
- package/packages/shopify-app-remix/src/server/authenticate/webhooks/authenticate.ts +113 -0
- package/packages/shopify-app-remix/src/server/authenticate/webhooks/authenticate.webhooks.doc.ts +28 -0
- package/packages/shopify-app-remix/src/server/authenticate/webhooks/index.ts +1 -0
- package/packages/shopify-app-remix/src/server/authenticate/webhooks/register.ts +48 -0
- package/packages/shopify-app-remix/src/server/authenticate/webhooks/types.ts +246 -0
- package/packages/shopify-app-remix/src/server/boundary/__tests__/error.test.tsx +36 -0
- package/packages/shopify-app-remix/src/server/boundary/__tests__/headers.test.ts +66 -0
- package/packages/shopify-app-remix/src/server/boundary/error.tsx +14 -0
- package/packages/shopify-app-remix/src/server/boundary/headers.ts +15 -0
- package/packages/shopify-app-remix/src/server/boundary/index.ts +39 -0
- package/packages/shopify-app-remix/src/server/boundary/types.ts +4 -0
- package/packages/shopify-app-remix/src/server/clients/admin/authenticate.admin.api.doc.ts +34 -0
- package/packages/shopify-app-remix/src/server/clients/admin/factory.ts +30 -0
- package/packages/shopify-app-remix/src/server/clients/admin/graphql.ts +39 -0
- package/packages/shopify-app-remix/src/server/clients/admin/index.ts +2 -0
- package/packages/shopify-app-remix/src/server/clients/admin/rest.ts +157 -0
- package/packages/shopify-app-remix/src/server/clients/admin/types.ts +178 -0
- package/packages/shopify-app-remix/src/server/clients/index.ts +2 -0
- package/packages/shopify-app-remix/src/server/clients/storefront/authenticate.storefront.api.doc.ts +34 -0
- package/packages/shopify-app-remix/src/server/clients/storefront/factory.ts +32 -0
- package/packages/shopify-app-remix/src/server/clients/storefront/index.ts +2 -0
- package/packages/shopify-app-remix/src/server/clients/storefront/types.ts +31 -0
- package/packages/shopify-app-remix/src/server/clients/types.ts +27 -0
- package/packages/shopify-app-remix/src/server/config-types.ts +293 -0
- package/packages/shopify-app-remix/src/server/errors.ts +3 -0
- package/packages/shopify-app-remix/src/server/future/flags.ts +57 -0
- package/packages/shopify-app-remix/src/server/index.ts +20 -0
- package/packages/shopify-app-remix/src/server/override-logger.ts +42 -0
- package/packages/shopify-app-remix/src/server/shopify-app.doc.ts +45 -0
- package/packages/shopify-app-remix/src/server/shopify-app.ts +198 -0
- package/packages/shopify-app-remix/src/server/types.ts +509 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/admin/__tests__/factory.test.ts +30 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/admin/factory.ts +29 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/admin/index.ts +1 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/admin/types.ts +117 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/admin/unauthenticated.admin.doc.ts +40 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/helpers/get-offline-session.ts +13 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/helpers/index.ts +1 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/storefront/__tests__/factory.test.ts +30 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/storefront/factory.ts +28 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/storefront/index.ts +1 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/storefront/types.ts +39 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/storefront/unauthenticated.storefront.doc.ts +40 -0
- package/packages/shopify-app-remix/src/server/unauthenticated/types.ts +68 -0
- package/packages/shopify-app-remix/src/server/version.ts +1 -0
- package/packages/shopify-app-remix/tsconfig.json +11 -0
- package/packages/shopify-app-session-storage/CHANGELOG.md +149 -0
- package/packages/shopify-app-session-storage/LICENSE.md +9 -0
- package/packages/shopify-app-session-storage/README.md +5 -0
- package/packages/shopify-app-session-storage/implementing-session-storage.md +214 -0
- package/packages/shopify-app-session-storage/loom.config.ts +45 -0
- package/packages/shopify-app-session-storage/package.json +44 -0
- package/packages/shopify-app-session-storage/src/__tests__/setup-jest.ts +8 -0
- package/packages/shopify-app-session-storage/src/abstract-migration-engine.ts +53 -0
- package/packages/shopify-app-session-storage/src/index.ts +3 -0
- package/packages/shopify-app-session-storage/src/rdbms-session-storage-migrator.ts +59 -0
- package/packages/shopify-app-session-storage/src/types.ts +174 -0
- package/packages/shopify-app-session-storage/tsconfig.json +10 -0
- package/packages/shopify-app-session-storage-dynamodb/CHANGELOG.md +150 -0
- package/packages/shopify-app-session-storage-dynamodb/LICENSE.md +9 -0
- package/packages/shopify-app-session-storage-dynamodb/README.md +75 -0
- package/packages/shopify-app-session-storage-dynamodb/loom.config.ts +27 -0
- package/packages/shopify-app-session-storage-dynamodb/package.json +51 -0
- package/packages/shopify-app-session-storage-dynamodb/src/__tests__/dynamodb.test.ts +93 -0
- package/packages/shopify-app-session-storage-dynamodb/src/__tests__/setup-jest.ts +8 -0
- package/packages/shopify-app-session-storage-dynamodb/src/dynamodb.ts +126 -0
- package/packages/shopify-app-session-storage-dynamodb/tsconfig.json +10 -0
- package/packages/shopify-app-session-storage-kv/CHANGELOG.md +204 -0
- package/packages/shopify-app-session-storage-kv/LICENSE.md +9 -0
- package/packages/shopify-app-session-storage-kv/README.md +41 -0
- package/packages/shopify-app-session-storage-kv/loom.config.ts +27 -0
- package/packages/shopify-app-session-storage-kv/package.json +52 -0
- package/packages/shopify-app-session-storage-kv/src/__tests__/kv-namespace-dummy-worker.ts +8 -0
- package/packages/shopify-app-session-storage-kv/src/__tests__/kv.test.ts +22 -0
- package/packages/shopify-app-session-storage-kv/src/__tests__/setup-jest.ts +8 -0
- package/packages/shopify-app-session-storage-kv/src/kv.ts +87 -0
- package/packages/shopify-app-session-storage-kv/tsconfig.json +11 -0
- package/packages/shopify-app-session-storage-memory/CHANGELOG.md +190 -0
- package/packages/shopify-app-session-storage-memory/LICENSE.md +9 -0
- package/packages/shopify-app-session-storage-memory/README.md +19 -0
- package/packages/shopify-app-session-storage-memory/loom.config.ts +27 -0
- package/packages/shopify-app-session-storage-memory/package.json +46 -0
- package/packages/shopify-app-session-storage-memory/src/__tests__/memory.test.ts +12 -0
- package/packages/shopify-app-session-storage-memory/src/__tests__/setup-jest.ts +8 -0
- package/packages/shopify-app-session-storage-memory/src/memory.ts +34 -0
- package/packages/shopify-app-session-storage-memory/tsconfig.json +10 -0
- package/packages/shopify-app-session-storage-mongodb/CHANGELOG.md +208 -0
- package/packages/shopify-app-session-storage-mongodb/LICENSE.md +9 -0
- package/packages/shopify-app-session-storage-mongodb/README.md +30 -0
- package/packages/shopify-app-session-storage-mongodb/loom.config.ts +27 -0
- package/packages/shopify-app-session-storage-mongodb/package.json +49 -0
- package/packages/shopify-app-session-storage-mongodb/src/__tests__/mongodb.test.ts +54 -0
- package/packages/shopify-app-session-storage-mongodb/src/__tests__/setup-jest.ts +8 -0
- package/packages/shopify-app-session-storage-mongodb/src/mongodb.ts +120 -0
- package/packages/shopify-app-session-storage-mongodb/tsconfig.json +10 -0
- package/packages/shopify-app-session-storage-mysql/CHANGELOG.md +220 -0
- package/packages/shopify-app-session-storage-mysql/LICENSE.md +9 -0
- package/packages/shopify-app-session-storage-mysql/README.md +41 -0
- package/packages/shopify-app-session-storage-mysql/loom.config.ts +27 -0
- package/packages/shopify-app-session-storage-mysql/package.json +50 -0
- package/packages/shopify-app-session-storage-mysql/src/__tests__/mysql.test.ts +137 -0
- package/packages/shopify-app-session-storage-mysql/src/__tests__/setup-jest.ts +8 -0
- package/packages/shopify-app-session-storage-mysql/src/migrations.ts +18 -0
- package/packages/shopify-app-session-storage-mysql/src/mysql-connection.ts +108 -0
- package/packages/shopify-app-session-storage-mysql/src/mysql-migrator.ts +53 -0
- package/packages/shopify-app-session-storage-mysql/src/mysql.ts +178 -0
- package/packages/shopify-app-session-storage-mysql/tsconfig.json +10 -0
- package/packages/shopify-app-session-storage-postgresql/CHANGELOG.md +210 -0
- package/packages/shopify-app-session-storage-postgresql/LICENSE.md +9 -0
- package/packages/shopify-app-session-storage-postgresql/README.md +39 -0
- package/packages/shopify-app-session-storage-postgresql/loom.config.ts +27 -0
- package/packages/shopify-app-session-storage-postgresql/package.json +52 -0
- package/packages/shopify-app-session-storage-postgresql/src/__tests__/migrate-to-case-sensitivity.test.ts +344 -0
- package/packages/shopify-app-session-storage-postgresql/src/__tests__/postgresql.test.ts +136 -0
- package/packages/shopify-app-session-storage-postgresql/src/__tests__/setup-jest.ts +8 -0
- package/packages/shopify-app-session-storage-postgresql/src/migrations.ts +70 -0
- package/packages/shopify-app-session-storage-postgresql/src/postgres-connection.ts +94 -0
- package/packages/shopify-app-session-storage-postgresql/src/postgres-migrator.ts +27 -0
- package/packages/shopify-app-session-storage-postgresql/src/postgresql.ts +178 -0
- package/packages/shopify-app-session-storage-postgresql/tsconfig.json +10 -0
- package/packages/shopify-app-session-storage-prisma/CHANGELOG.md +148 -0
- package/packages/shopify-app-session-storage-prisma/LICENSE.md +9 -0
- package/packages/shopify-app-session-storage-prisma/README.md +68 -0
- package/packages/shopify-app-session-storage-prisma/loom.config.ts +27 -0
- package/packages/shopify-app-session-storage-prisma/package.json +51 -0
- package/packages/shopify-app-session-storage-prisma/prisma/migrations/20230425184828_init/migration.sql +11 -0
- package/packages/shopify-app-session-storage-prisma/prisma/migrations/20230906155758_mySession/migration.sql +11 -0
- package/packages/shopify-app-session-storage-prisma/prisma/migrations/migration_lock.toml +3 -0
- package/packages/shopify-app-session-storage-prisma/prisma/schema.prisma +30 -0
- package/packages/shopify-app-session-storage-prisma/src/__tests__/prisma.test.ts +66 -0
- package/packages/shopify-app-session-storage-prisma/src/__tests__/setup-jest.ts +8 -0
- package/packages/shopify-app-session-storage-prisma/src/prisma.ts +145 -0
- package/packages/shopify-app-session-storage-prisma/tsconfig.json +10 -0
- package/packages/shopify-app-session-storage-redis/CHANGELOG.md +200 -0
- package/packages/shopify-app-session-storage-redis/LICENSE.md +9 -0
- package/packages/shopify-app-session-storage-redis/README.md +38 -0
- package/packages/shopify-app-session-storage-redis/loom.config.ts +27 -0
- package/packages/shopify-app-session-storage-redis/package.json +50 -0
- package/packages/shopify-app-session-storage-redis/src/__tests__/migration-test-data.ts +46 -0
- package/packages/shopify-app-session-storage-redis/src/__tests__/redis.conf +2 -0
- package/packages/shopify-app-session-storage-redis/src/__tests__/redis.test.ts +236 -0
- package/packages/shopify-app-session-storage-redis/src/__tests__/setup-jest.ts +8 -0
- package/packages/shopify-app-session-storage-redis/src/migrations.ts +36 -0
- package/packages/shopify-app-session-storage-redis/src/redis-connection.ts +64 -0
- package/packages/shopify-app-session-storage-redis/src/redis-migrator.ts +58 -0
- package/packages/shopify-app-session-storage-redis/src/redis.ts +167 -0
- package/packages/shopify-app-session-storage-redis/tsconfig.json +10 -0
- package/packages/shopify-app-session-storage-sqlite/CHANGELOG.md +202 -0
- package/packages/shopify-app-session-storage-sqlite/LICENSE.md +9 -0
- package/packages/shopify-app-session-storage-sqlite/README.md +25 -0
- package/packages/shopify-app-session-storage-sqlite/loom.config.ts +27 -0
- package/packages/shopify-app-session-storage-sqlite/package.json +51 -0
- package/packages/shopify-app-session-storage-sqlite/src/__tests__/setup-jest.ts +8 -0
- package/packages/shopify-app-session-storage-sqlite/src/__tests__/sqlite.test.ts +44 -0
- package/packages/shopify-app-session-storage-sqlite/src/migrations.ts +54 -0
- package/packages/shopify-app-session-storage-sqlite/src/sqlite-connection.ts +80 -0
- package/packages/shopify-app-session-storage-sqlite/src/sqlite-migrator.ts +34 -0
- package/packages/shopify-app-session-storage-sqlite/src/sqlite.ts +147 -0
- package/packages/shopify-app-session-storage-sqlite/tsconfig.json +10 -0
- package/packages/shopify-app-session-storage-test-utils/CHANGELOG.md +185 -0
- package/packages/shopify-app-session-storage-test-utils/LICENSE.md +9 -0
- package/packages/shopify-app-session-storage-test-utils/loom.config.ts +27 -0
- package/packages/shopify-app-session-storage-test-utils/package.json +48 -0
- package/packages/shopify-app-session-storage-test-utils/src/__tests__/session-test-utils.test.ts +273 -0
- package/packages/shopify-app-session-storage-test-utils/src/battery-of-tests.ts +250 -0
- package/packages/shopify-app-session-storage-test-utils/src/index.ts +2 -0
- package/packages/shopify-app-session-storage-test-utils/src/session-test-utils.ts +24 -0
- package/packages/shopify-app-session-storage-test-utils/src/utils.ts +71 -0
- package/packages/shopify-app-session-storage-test-utils/tsconfig.json +10 -0
- package/tests/setup/build.js +1 -0
- package/tests/setup/setup-jest.ts +8 -0
- package/tsconfig.base.json +41 -0
- package/tsconfig.json +19 -0
package/RELEASING.md
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Releasing shopify-app-js
|
|
2
|
+
|
|
3
|
+
## General overview of the release process
|
|
4
|
+
|
|
5
|
+
The `shopify-app-js` repo uses `changesets` to track and update the `CHANGELOG.md` file, as well as to publish to NPM.
|
|
6
|
+
|
|
7
|
+
### For fixes and new functionality that are being published _without_ using any release candidates
|
|
8
|
+
|
|
9
|
+
1. The developer creates a branch with their change using `main` as the base branch, opens a PR to obtain the necessary feedback, makes any required updates and obtains approval from the maintainers.
|
|
10
|
+
|
|
11
|
+
1. The developer merges their PR, which merges their branch into `main`. This triggers the `main-release.yml` workflow.
|
|
12
|
+
|
|
13
|
+
1. The `main-release.yml` workflow will create a branch called `changeset-release/main` and a corresponding PR called `Packages for release` (or update the branch and PR if they already exist). This branch/PR contains the necessary updates to the `CHANGELOG.md` file that will be included in the release, as well as any updates (e.g., version) to the `package.json` file.
|
|
14
|
+
|
|
15
|
+
1. When ready to release, merging the `Packages for release` PR will update `main` with the contents of the `changeset-release/main` branch, and will automatically publish the package(s) to NPM.
|
|
16
|
+
|
|
17
|
+
### If release candidates are used to obtain feedback from the community prior to an upcoming release
|
|
18
|
+
|
|
19
|
+
1. Prior to the development of breaking changes (for which pre-releases are being used), the `release-candidate` branch is created from `main` and put into _pre-release_ mode using the `yarn changeset` command (see details in the [release candidates](#release-candidates) section below).
|
|
20
|
+
|
|
21
|
+
1. The developer creates a branch with their change using `release-candidate` as the base branch, obtains the necessary feedback, makes any required updates and obtains approval from the maintainers.
|
|
22
|
+
|
|
23
|
+
1. The developer merges their PR, which merges their branch into `release-candidate`. This triggers the `release-candidate.yml` workflow.
|
|
24
|
+
|
|
25
|
+
1. The `release-candidate.yml` workflow will create a branch called `changeset-release/release-candidate` and a corresponding PR called `Packages for release-candidate (rc)` (or update the branch and PR if they already exist). This branch/PR contains the necessary updates to the `CHANGELOG.md` file that will be included in the release candidate, as well as any updates (e.g., version) to the `package.json` file.
|
|
26
|
+
|
|
27
|
+
1. When ready to publish the release candidate, merging the `Packages for release-candidate (rc)` PR will update the `release-candidate` branch with the contents of the `changeset-release/release-candidate` branch, and will automatically publish the release candidate package(s) to NPM.
|
|
28
|
+
|
|
29
|
+
1. When ready to publish as the next general release, the `release-candidate` branch is taken out of _pre-release_ mode using the `yarn changeset` command (see details in the [release candidates](#release-candidates) section below).
|
|
30
|
+
|
|
31
|
+
1. Create a PR to merge the `release-candidate` branch into `main` and proceed as per the [general release process above](#for-fixes-and-new-functionality-that-are-being-published-without-using-any-release-candidates)
|
|
32
|
+
|
|
33
|
+
See the sections below for specific details related to the steps outlined above.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Notes before releasing
|
|
38
|
+
|
|
39
|
+
- Check the Semantic Versioning page for info on how to version the new release: [http://semver.org](http://semver.org)
|
|
40
|
+
|
|
41
|
+
- When creating a PR, the author should run the `yarn changeset` command, answer the relevant questions (i.e., is it major/minor/patch, what is the change description), then add and commit the new file tht was created in the `.changeset` directory. These files are used by the workflows to construct the `CHANGELOG.md` entries.
|
|
42
|
+
|
|
43
|
+
> **Note**
|
|
44
|
+
> If the change is very small and doesn't warrant a changelog entry, run `yarn changeset --empty` and commit the resultant file in the `.changeset` directory.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## :exclamation: To perform a release
|
|
49
|
+
|
|
50
|
+
1. Checkout the `changeset-release/main` branch
|
|
51
|
+
|
|
52
|
+
```shell
|
|
53
|
+
git checkout changeset-release/main
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
1. If releasing the Express package, update the version string in the `packages/shopify-app-express/src/version.ts` file to match the version in the `packages/shopify-app-express/package.json` file.
|
|
57
|
+
1. If releasing the Remix package, update the version string in the `packages/shopify-app-remix/src/version.ts` file to match the version in the `packages/shopify-app-remix/package.json` file.
|
|
58
|
+
|
|
59
|
+
1. If needed, edit/remove any of the comments in the `CHANGELOG.md` files and commit them to the `changeset-release/main` branch.
|
|
60
|
+
|
|
61
|
+
1. Once the files in the PR reflect the desired release changes, merge the `Packages for release` PR into `main` - this triggers the release.
|
|
62
|
+
|
|
63
|
+
1. The same `changesets/action` in the `main-release.yml` workflow will call `yarn release`, which builds the packages and pushes the changed packages to `npmjs.org`.
|
|
64
|
+
|
|
65
|
+
1. After the release, there will no longer be a `Packages for release` PR. `changesets` will re-create it when a branch that contains `changesets`-created changelog files is merged into `main`.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Release Candidates
|
|
70
|
+
|
|
71
|
+
For significant API changes that could result in significant refactoring on the part of developers, consider releasing a few _Release Candidate_ versions in advance of the final version.
|
|
72
|
+
|
|
73
|
+
> **Warning**
|
|
74
|
+
>
|
|
75
|
+
> These changes **must** be made against the `release-candidate` branch, so that the appropriate workflows can run (`release-candidate.yml`).
|
|
76
|
+
|
|
77
|
+
> **Warning**
|
|
78
|
+
>
|
|
79
|
+
> Before commencing the effort for a batch of release candidates, make sure the `release-candidate` branch an identical copy of `main`.
|
|
80
|
+
|
|
81
|
+
- Prior to creating the first PR against the `release-candidate` branch, run the `yarn changeset pre enter rc` command and commit the resultant files from `.changeset`, including the `pre.json` file. This informs `changesets` that it is in pre-release mode, and that the pre-release tag is `rc`.
|
|
82
|
+
|
|
83
|
+
- When creating a PR, the author should run the `yarn changeset` command, answer the relevant questions (i.e., is it major/minor/patch, what is the change description), and then commit the new file created in the `.changeset` directory. These files are used by the workflows to construct the `CHANGELOG.md` entries for the release candidates.
|
|
84
|
+
|
|
85
|
+
> **Note**
|
|
86
|
+
> If the change is very small and doesn't warrant a changelog entry, run `yarn changeset --empty` and commit the resultant file in the `.changeset` directory.
|
|
87
|
+
|
|
88
|
+
- When the PR is merged into the `release-candidate` branch, the `release-candidate.yml` workflow uses the `changesets/action` to either create or update an existing PR that has the title `Packages for release-candidate (rc)`.
|
|
89
|
+
|
|
90
|
+
### :exclamation: To perform a release of release candidate packages
|
|
91
|
+
|
|
92
|
+
1. Checkout the `changeset-release/release-candidate` branch
|
|
93
|
+
|
|
94
|
+
```shell
|
|
95
|
+
git checkout changeset-release/release-candidate
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
1. If releasing the Express package, update the version string in the `packages/shopify-app-express/src/version.ts` file to match the version in the `packages/shopify-app-express/package.json` file. Make sure to add an `-rc.X` to the version, like so:
|
|
99
|
+
|
|
100
|
+
```text
|
|
101
|
+
2.0.0-rc.1
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
1. If releasing the Remix package, update the version string in the `packages/shopify-app-remix/src/version.ts` file to match the version in the `packages/shopify-app-remix/package.json` file. Make sure to add an `-rc.X` to the version, like so:
|
|
105
|
+
|
|
106
|
+
```text
|
|
107
|
+
2.0.0-rc.1
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
1. If needed, edit/remove any of the comments in the changed `CHANGELOG.md` files and commit them to the `changeset-release/release-candidate` branch.
|
|
111
|
+
|
|
112
|
+
1. Once the files in the PR reflect the desired release changes, merge the `Packages for release-candidate (rc)` PR into `release-candidate` - this triggers the release.
|
|
113
|
+
|
|
114
|
+
1. The same `changesets/action` in the `release-candidate.yml` workflow will call `yarn release`, which builds and pushes the release candidates to `npmjs.org`.
|
|
115
|
+
|
|
116
|
+
1. After the release, there will no longer be a `Packages for release-candidate (rc)` PR. `changesets` will re-create it when a branch that contains `changesets`-created changelog files is merged into `release-candidate`.
|
|
117
|
+
|
|
118
|
+
## Merging `release-candidate` into `main` (moving from pre-release to main release)
|
|
119
|
+
|
|
120
|
+
When a major set of changes is about to be mass released from the `release-candidate` branch
|
|
121
|
+
|
|
122
|
+
> **Warning**
|
|
123
|
+
>
|
|
124
|
+
> The next steps need to be confirmed
|
|
125
|
+
|
|
126
|
+
1. Checkout the `release-candidate` branch
|
|
127
|
+
|
|
128
|
+
```shell
|
|
129
|
+
git checkout release-candidate
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
1. Take the `release-candidate` branch out of pre-release mode by running
|
|
133
|
+
|
|
134
|
+
```shell
|
|
135
|
+
yarn changeset pre exit
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
And commit the changed files.
|
|
139
|
+
|
|
140
|
+
1. Create a PR to merge the `release-candidate` branch into `main`.
|
|
141
|
+
|
|
142
|
+
1. Once that PR is merged, follow the [to perform a release](#exclamation-to-perform-a-release) outlined above.
|
package/loom.config.ts
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import {createWorkspace, createWorkspacePlugin} from '@shopify/loom';
|
|
2
|
+
import {buildLibraryWorkspace} from '@shopify/loom-plugin-build-library';
|
|
3
|
+
import {eslint} from '@shopify/loom-plugin-eslint';
|
|
4
|
+
import {prettier} from '@shopify/loom-plugin-prettier';
|
|
5
|
+
import {Config} from '@jest/types';
|
|
6
|
+
|
|
7
|
+
import type {} from '@shopify/loom-plugin-jest';
|
|
8
|
+
|
|
9
|
+
export default createWorkspace((workspace) => {
|
|
10
|
+
workspace.use(
|
|
11
|
+
buildLibraryWorkspace(),
|
|
12
|
+
eslint(),
|
|
13
|
+
prettier({files: '**/*.{json,md}'}),
|
|
14
|
+
jestWorkspaceConfigPlugin(),
|
|
15
|
+
);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
function jestWorkspaceConfigPlugin() {
|
|
19
|
+
return createWorkspacePlugin(
|
|
20
|
+
'shopify-app-js--workplace-setup',
|
|
21
|
+
({tasks: {test}}) => {
|
|
22
|
+
test.hook(({hooks}) => {
|
|
23
|
+
hooks.configure.hook((configure) => {
|
|
24
|
+
configure.jestSetupFilesAfterEnv?.hook((files) => [
|
|
25
|
+
...files,
|
|
26
|
+
'../../tests/setup/setup-jest.ts',
|
|
27
|
+
]);
|
|
28
|
+
configure.jestConfig?.hook((config) => {
|
|
29
|
+
return {
|
|
30
|
+
...config,
|
|
31
|
+
projects: configureProjects(
|
|
32
|
+
config.projects as Config.InitialProjectOptions[],
|
|
33
|
+
),
|
|
34
|
+
testTimeout: 30000,
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function configureProjects(projects: Config.InitialProjectOptions[]) {
|
|
44
|
+
return setTransformIgnorePatterns(projects).reduce((acc, project) => {
|
|
45
|
+
if (
|
|
46
|
+
typeof project !== 'string' &&
|
|
47
|
+
project.displayName === 'shopify-app-remix'
|
|
48
|
+
) {
|
|
49
|
+
return acc.concat(forkRemixProject(project));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return acc.concat(project);
|
|
53
|
+
}, [] as Config.InitialProjectOptions[]);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Some ESM-only packages need to be included in jest transforms for them to work. This function adds them to the
|
|
58
|
+
* transformIgnorePatterns array for each project.
|
|
59
|
+
*/
|
|
60
|
+
function setTransformIgnorePatterns(projects: Config.InitialProjectOptions[]) {
|
|
61
|
+
return projects.map((project) => {
|
|
62
|
+
return {
|
|
63
|
+
...project,
|
|
64
|
+
transformIgnorePatterns: [
|
|
65
|
+
...(project.transformIgnorePatterns || []),
|
|
66
|
+
'node_modules/(?!@web3-storage)',
|
|
67
|
+
],
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* The remix project is a bit of a special case because we need to run its tests in two different environments, one
|
|
74
|
+
* using jsdom and the other, node.
|
|
75
|
+
*
|
|
76
|
+
* To achieve that, we create two separate projects which copy all of the settings from the original project, overriding
|
|
77
|
+
* the test environment and making them mutually exclusive.
|
|
78
|
+
*/
|
|
79
|
+
function forkRemixProject(project: Config.InitialProjectOptions) {
|
|
80
|
+
return [
|
|
81
|
+
{
|
|
82
|
+
...project,
|
|
83
|
+
displayName: 'shopify-app-remix-react',
|
|
84
|
+
testEnvironment: 'jsdom',
|
|
85
|
+
testPathIgnorePatterns: ['src/server'],
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
...project,
|
|
89
|
+
setupFilesAfterEnv: [
|
|
90
|
+
...(project.setupFilesAfterEnv ?? []),
|
|
91
|
+
'../../packages/shopify-app-remix/src/server/adapters/node/__tests__/setup-jest.ts',
|
|
92
|
+
],
|
|
93
|
+
displayName: 'shopify-app-remix-server-node',
|
|
94
|
+
testEnvironment: 'node',
|
|
95
|
+
testPathIgnorePatterns: ['src/react', 'src/server/adapters/__tests__'],
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
...project,
|
|
99
|
+
setupFilesAfterEnv: [
|
|
100
|
+
...(project.setupFilesAfterEnv ?? []),
|
|
101
|
+
'../../packages/shopify-app-remix/src/server/adapters/vercel/__tests__/setup-jest.ts',
|
|
102
|
+
],
|
|
103
|
+
displayName: 'shopify-app-remix-server-vercel',
|
|
104
|
+
testEnvironment: 'node',
|
|
105
|
+
testPathIgnorePatterns: ['src/react', 'src/server/adapters/__tests__'],
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
...project,
|
|
109
|
+
testRegex: undefined,
|
|
110
|
+
displayName: 'shopify-app-remix-server-adapters',
|
|
111
|
+
testMatch: ['<rootDir>/src/server/adapters/__tests__/**/*'],
|
|
112
|
+
testEnvironment: 'node',
|
|
113
|
+
},
|
|
114
|
+
];
|
|
115
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,47 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shopify-app-js",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"license": "UNLICENSED",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"preinstall": "node tests/build.js",
|
|
7
|
+
"build": "loom build",
|
|
8
|
+
"test": "loom test",
|
|
9
|
+
"lint": "loom lint",
|
|
10
|
+
"release": "loom build && changeset publish",
|
|
11
|
+
"clean": "rimraf ./packages/*/build .loom"
|
|
12
|
+
},
|
|
13
|
+
"devDependencies": {
|
|
14
|
+
"@changesets/cli": "^2.27.1",
|
|
15
|
+
"@jest/types": "^29.6.3",
|
|
16
|
+
"@shopify/eslint-plugin": "^44.0.0",
|
|
17
|
+
"@shopify/loom": "^1.0.2",
|
|
18
|
+
"@shopify/loom-cli": "^1.1.0",
|
|
19
|
+
"@shopify/loom-plugin-build-library": "^1.0.3",
|
|
20
|
+
"@shopify/loom-plugin-eslint": "^2.0.1",
|
|
21
|
+
"@shopify/loom-plugin-jest": "^1.0.2",
|
|
22
|
+
"@shopify/loom-plugin-prettier": "^2.0.1",
|
|
23
|
+
"@shopify/prettier-config": "^1.1.2",
|
|
24
|
+
"@shopify/typescript-configs": "^5.1.0",
|
|
25
|
+
"@types/jest": "^29.5.12",
|
|
26
|
+
"eslint": "^8.55.0",
|
|
27
|
+
"eslint-plugin-prettier": "^5.1.3",
|
|
28
|
+
"jest": "^29.7.0",
|
|
29
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
30
|
+
"jest-fetch-mock": "^3.0.3",
|
|
31
|
+
"jest-runner-eslint": "^2.1.2",
|
|
32
|
+
"prettier": "^3.2.5",
|
|
33
|
+
"rimraf": "^5.0.5",
|
|
34
|
+
"ts-jest": "^29.1.2",
|
|
35
|
+
"tslib": "^2.6.2",
|
|
36
|
+
"typescript": "5.3.3"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {},
|
|
39
|
+
"resolutions": {
|
|
40
|
+
"jest": "^29.7.0",
|
|
41
|
+
"jest-circus": "^29.7.0",
|
|
42
|
+
"ts-jest": "^29.1.2"
|
|
43
|
+
},
|
|
44
|
+
"workspaces": [
|
|
45
|
+
"packages/*"
|
|
46
|
+
]
|
|
6
47
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"@shopify/prettier-config"
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 4.1.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 6deb1bd: Updated dependency on `semver`
|
|
8
|
+
|
|
9
|
+
## 4.1.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- b1ddc74: Return a 403 with X-Shopify headers on XHR requests for non-embedded apps, instead of a 302. The 302 ran into CORS errors and always failed.
|
|
14
|
+
|
|
15
|
+
These requests will return the following headers:
|
|
16
|
+
|
|
17
|
+
- `X-Shopify-Api-Request-Failure-Reauthorize`: `1`
|
|
18
|
+
- `X-Shopify-Api-Request-Failure-Reauthorize-Url`: <URL>
|
|
19
|
+
|
|
20
|
+
- 02a8341: Updated dependency on `@shopify/shopify-api` to 9.3.1
|
|
21
|
+
- 321d6a4: Update @shopify/shopify-api to 9.3.2
|
|
22
|
+
- Updated dependencies [02a8341]
|
|
23
|
+
- Updated dependencies [321d6a4]
|
|
24
|
+
- @shopify/shopify-app-session-storage-memory@3.0.1
|
|
25
|
+
- @shopify/shopify-app-session-storage@2.1.1
|
|
26
|
+
|
|
27
|
+
## 4.1.0
|
|
28
|
+
|
|
29
|
+
### Minor Changes
|
|
30
|
+
|
|
31
|
+
- 64e0246: Update shopify-api version to 9.2.0
|
|
32
|
+
|
|
33
|
+
### Patch Changes
|
|
34
|
+
|
|
35
|
+
- f5742c1: Updated dependency on `@shopify/shopify-api`
|
|
36
|
+
- Updated dependencies [f5742c1]
|
|
37
|
+
- Updated dependencies [64e0246]
|
|
38
|
+
- @shopify/shopify-app-session-storage-memory@3.0.0
|
|
39
|
+
- @shopify/shopify-app-session-storage@2.1.0
|
|
40
|
+
|
|
41
|
+
## 4.0.1
|
|
42
|
+
|
|
43
|
+
### Patch Changes
|
|
44
|
+
|
|
45
|
+
- b4eeb24: Improved and simplified package.json dependencies
|
|
46
|
+
- b998c30: Bump shopify-api version from 9.0.1 to 9.0.2
|
|
47
|
+
- d8f8436: Replaced query() internal call in the GraphQL client with request()
|
|
48
|
+
- Updated dependencies [b4eeb24]
|
|
49
|
+
- Updated dependencies [b998c30]
|
|
50
|
+
- @shopify/shopify-app-session-storage-memory@2.0.4
|
|
51
|
+
- @shopify/shopify-app-session-storage@2.0.4
|
|
52
|
+
|
|
53
|
+
## 4.0.0
|
|
54
|
+
|
|
55
|
+
### Major Changes
|
|
56
|
+
|
|
57
|
+
- d3e4b5e: Updated `@shopify/shopify-api` to the latest major version. Please follow [the v9 migration guide](https://github.com/Shopify/shopify-api-js/blob/main/packages/shopify-api/docs/migrating-to-v9.md) to update your app.
|
|
58
|
+
|
|
59
|
+
### Patch Changes
|
|
60
|
+
|
|
61
|
+
- Updated dependencies [d3e4b5e]
|
|
62
|
+
- @shopify/shopify-app-session-storage-memory@2.0.3
|
|
63
|
+
- @shopify/shopify-app-session-storage@2.0.3
|
|
64
|
+
|
|
65
|
+
## 3.0.2
|
|
66
|
+
|
|
67
|
+
### Patch Changes
|
|
68
|
+
|
|
69
|
+
- 3685bd4: Bump shopify-api to ^8.1.1
|
|
70
|
+
- Updated dependencies [3685bd4]
|
|
71
|
+
- @shopify/shopify-app-session-storage-memory@2.0.2
|
|
72
|
+
- @shopify/shopify-app-session-storage@2.0.2
|
|
73
|
+
|
|
74
|
+
## 3.0.1
|
|
75
|
+
|
|
76
|
+
### Patch Changes
|
|
77
|
+
|
|
78
|
+
- 6d12840: Updating dependencies on @shopify/shopify-api
|
|
79
|
+
- Updated dependencies [6d12840]
|
|
80
|
+
- @shopify/shopify-app-session-storage-memory@2.0.1
|
|
81
|
+
- @shopify/shopify-app-session-storage@2.0.1
|
|
82
|
+
|
|
83
|
+
## 3.0.0
|
|
84
|
+
|
|
85
|
+
### Major Changes
|
|
86
|
+
|
|
87
|
+
- f837060: **Removed support for Node 14**
|
|
88
|
+
|
|
89
|
+
Node 14 has reached its [EOL](https://endoflife.date/nodejs), and dependencies to this package no longer work on Node 14.
|
|
90
|
+
Because of that, we can no longer support that version.
|
|
91
|
+
|
|
92
|
+
If your app is running on Node 14, you'll need to update to a more recent version before upgrading this package.
|
|
93
|
+
|
|
94
|
+
This upgrade does not require any code changes.
|
|
95
|
+
|
|
96
|
+
#### Changes to the `ShopifyApp` type
|
|
97
|
+
|
|
98
|
+
Previously, the `ShopifyApp` type accepted 2 generic types: the REST resources and the session storage class.
|
|
99
|
+
In v3, that type accepts 1 generic: the params given to the `shopifyApp()` function, which contains both of the previous types, and more.
|
|
100
|
+
|
|
101
|
+
Apps shouldn't need to use that type directly since `shopifyApp()` is able to extract the types from the parameters it's given.
|
|
102
|
+
If you need to explicitly set those generics, you'll need to use the `AppConfigParams` type.
|
|
103
|
+
|
|
104
|
+
<details>
|
|
105
|
+
<summary>See an example</summary>
|
|
106
|
+
|
|
107
|
+
Before:
|
|
108
|
+
|
|
109
|
+
```ts
|
|
110
|
+
import {ShopifyApp} from '@shopify/shopify-app-express';
|
|
111
|
+
import {restResources} from '@shopify/shopify-api/rest/admin/2023-10';
|
|
112
|
+
import {MemorySessionStorage} from '@shopify/shopify-app-session-storage-memory';
|
|
113
|
+
|
|
114
|
+
const myVariable: ShopifyApp<typeof restResources, MemorySessionStorage>;
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
After:
|
|
118
|
+
|
|
119
|
+
```ts
|
|
120
|
+
import {ShopifyApp, AppConfigParams} from '@shopify/shopify-app-express';
|
|
121
|
+
import {restResources} from '@shopify/shopify-api/rest/admin/2023-10';
|
|
122
|
+
import {MemorySessionStorage} from '@shopify/shopify-app-session-storage-memory';
|
|
123
|
+
|
|
124
|
+
const myVariable: ShopifyApp<
|
|
125
|
+
AppConfigParams<typeof restResources, MemorySessionStorage>
|
|
126
|
+
>;
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
</details>
|
|
130
|
+
|
|
131
|
+
### Patch Changes
|
|
132
|
+
|
|
133
|
+
- a69d6fc: Updating dependency on @shopify/shopify-api to v.8.0.1
|
|
134
|
+
- Updated dependencies [f837060]
|
|
135
|
+
- Updated dependencies [a69d6fc]
|
|
136
|
+
- @shopify/shopify-app-session-storage@2.0.0
|
|
137
|
+
- @shopify/shopify-app-session-storage-memory@2.0.0
|
|
138
|
+
|
|
139
|
+
## 2.2.4
|
|
140
|
+
|
|
141
|
+
### Patch Changes
|
|
142
|
+
|
|
143
|
+
- 616388d: Updating dependency on @shopify/shopify-api to 7.7.0
|
|
144
|
+
- Updated dependencies [616388d]
|
|
145
|
+
- @shopify/shopify-app-session-storage-memory@1.0.13
|
|
146
|
+
- @shopify/shopify-app-session-storage@1.1.10
|
|
147
|
+
|
|
148
|
+
## 2.2.3
|
|
149
|
+
|
|
150
|
+
### Patch Changes
|
|
151
|
+
|
|
152
|
+
- 5b862fe: Upgraded shopify-api dependency to 7.6.0
|
|
153
|
+
- Updated dependencies [5b862fe]
|
|
154
|
+
- @shopify/shopify-app-session-storage-memory@1.0.12
|
|
155
|
+
- @shopify/shopify-app-session-storage@1.1.9
|
|
156
|
+
|
|
157
|
+
## 2.2.2
|
|
158
|
+
|
|
159
|
+
### Patch Changes
|
|
160
|
+
|
|
161
|
+
- 346b623: Updating dependency on @shopify/shopify-api
|
|
162
|
+
- Updated dependencies [346b623]
|
|
163
|
+
- @shopify/shopify-app-session-storage-memory@1.0.11
|
|
164
|
+
- @shopify/shopify-app-session-storage@1.1.8
|
|
165
|
+
|
|
166
|
+
## 2.2.1
|
|
167
|
+
|
|
168
|
+
### Patch Changes
|
|
169
|
+
|
|
170
|
+
- 0c46a39: Fixing CSP header for internal Shopify use
|
|
171
|
+
- 13b9048: Updating @shopify/shopify-api dependency to the latest version
|
|
172
|
+
- Updated dependencies [13b9048]
|
|
173
|
+
- @shopify/shopify-app-session-storage-memory@1.0.10
|
|
174
|
+
- @shopify/shopify-app-session-storage@1.1.7
|
|
175
|
+
|
|
176
|
+
## 2.2.0
|
|
177
|
+
|
|
178
|
+
### Minor Changes
|
|
179
|
+
|
|
180
|
+
- 32296d7: Update @shopify/shopify-api dependency to 7.5.0
|
|
181
|
+
|
|
182
|
+
### Patch Changes
|
|
183
|
+
|
|
184
|
+
- Updated dependencies [32296d7]
|
|
185
|
+
- @shopify/shopify-app-session-storage-memory@1.0.9
|
|
186
|
+
- @shopify/shopify-app-session-storage@1.1.6
|
|
187
|
+
|
|
188
|
+
## 2.1.4
|
|
189
|
+
|
|
190
|
+
### Patch Changes
|
|
191
|
+
|
|
192
|
+
- 93e9126: Updating @shopify/shopify-api dependency
|
|
193
|
+
- Updated dependencies [93e9126]
|
|
194
|
+
- @shopify/shopify-app-session-storage-memory@1.0.8
|
|
195
|
+
- @shopify/shopify-app-session-storage@1.1.5
|
|
196
|
+
|
|
197
|
+
## 2.1.3
|
|
198
|
+
|
|
199
|
+
### Patch Changes
|
|
200
|
+
|
|
201
|
+
- bf91be6: [Internal] Improved tracking of GraphQL calls made by the package
|
|
202
|
+
- b3453ff: Bumping @shopify/shopify-api dependency to latest version
|
|
203
|
+
- Updated dependencies [b3453ff]
|
|
204
|
+
- @shopify/shopify-app-session-storage-memory@1.0.7
|
|
205
|
+
- @shopify/shopify-app-session-storage@1.1.4
|
|
206
|
+
|
|
207
|
+
## 2.1.2
|
|
208
|
+
|
|
209
|
+
### Patch Changes
|
|
210
|
+
|
|
211
|
+
- 2f10cdd: Bumps [semver](https://github.com/npm/node-semver) from 7.5.0 to 7.5.1. See `semver`'s [release notes](https://github.com/npm/node-semver/releases) for more details.
|
|
212
|
+
|
|
213
|
+
## 2.1.1
|
|
214
|
+
|
|
215
|
+
### Patch Changes
|
|
216
|
+
|
|
217
|
+
- f8978a5: Add `X-Shopify-Api-Request-Failure-Reauthorize` and `X-Shopify-Api-Request-Failure-Reauthorize-Url` to `Access-Control-Expose-Headers` when redirecting using headers via App Bridge.
|
|
218
|
+
- 553fd67: Respond with 410 to OAuth requests that are initiated by a bot, using bot detection mechanism introduced in 7.1.0 of API library.
|
|
219
|
+
- f40fede: Bumps [semver](https://github.com/npm/node-semver) from 7.4.0 to 7.5.0. See semver [changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md) for more details.
|
|
220
|
+
- 1d007e8: Bumps [@shopify/shopify-api](https://github.com/Shopify/shopify-api-js) from 7.0.0 to 7.1.0. See `@shopify/shopify-api`'s [changelog](https://github.com/Shopify/shopify-api-js/blob/main/packages/shopify-api/CHANGELOG.md) for more details.
|
|
221
|
+
- Updated dependencies [e1d4f4f]
|
|
222
|
+
- Updated dependencies [1d007e8]
|
|
223
|
+
- @shopify/shopify-app-session-storage@1.1.3
|
|
224
|
+
- @shopify/shopify-app-session-storage-memory@1.0.6
|
|
225
|
+
|
|
226
|
+
## 2.1.0
|
|
227
|
+
|
|
228
|
+
### Minor Changes
|
|
229
|
+
|
|
230
|
+
- bdfd30b: Add redirectOutOfApp function to shopifyApp object, which allows apps to redirect out of the app (e.g. for OAuth or billing) regardless of how the request was set up
|
|
231
|
+
|
|
232
|
+
## 2.0.0
|
|
233
|
+
|
|
234
|
+
### Major Changes
|
|
235
|
+
|
|
236
|
+
- 814a9c1: Bump @shopify/shopify-api from 6.2.0 to 7.0.0. See [changelog](https://github.com/Shopify/shopify-api-js/blob/main/packages/shopify-api/CHANGELOG.md) for details.
|
|
237
|
+
|
|
238
|
+
⚠️ [Breaking] Refer to the [6 to 7 migration guide](https://github.com/Shopify/shopify-api-js/blob/main/packages/shopify-api/docs/migrating-to-v7.md) for more details on how the `.api` property returned by `shopifyApp` may be impacted by this release of the API library.
|
|
239
|
+
|
|
240
|
+
⚠️ [Breaking] If your app is using the logging methods of the `.config.logger` property returned by `shopifyApp`, it is no longer `async`.
|
|
241
|
+
|
|
242
|
+
### Patch Changes
|
|
243
|
+
|
|
244
|
+
- 49cdf3f: Bump semver from 7.3.8 to 7.4.0. See [changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md) for details.
|
|
245
|
+
- Updated dependencies [e4f3415]
|
|
246
|
+
- @shopify/shopify-app-session-storage-memory@1.0.5
|
|
247
|
+
- @shopify/shopify-app-session-storage@1.1.2
|
|
248
|
+
|
|
249
|
+
## 1.2.2
|
|
250
|
+
|
|
251
|
+
### Patch Changes
|
|
252
|
+
|
|
253
|
+
- Updated dependencies [97346b3]
|
|
254
|
+
- @shopify/shopify-app-session-storage@1.1.1
|
|
255
|
+
- @shopify/shopify-app-session-storage-memory@1.0.4
|
|
256
|
+
|
|
257
|
+
## 1.2.1
|
|
258
|
+
|
|
259
|
+
### Patch Changes
|
|
260
|
+
|
|
261
|
+
- 719f289: Attempt to set shop from token, if present and if no shop param provided or no session found in database. Fixes #94
|
|
262
|
+
- e0fddde: ensureInstalledOnShop - catch error if host param is missing, return 400. Fixes #81
|
|
263
|
+
|
|
264
|
+
## 1.2.0
|
|
265
|
+
|
|
266
|
+
### Minor Changes
|
|
267
|
+
|
|
268
|
+
- becc305: Migrations capabilities that can handle persistence changes for all session storage implementations
|
|
269
|
+
|
|
270
|
+
### Patch Changes
|
|
271
|
+
|
|
272
|
+
- b20b498: Bump supertest to 6.3.3
|
|
273
|
+
- 8a4be18: Bump to Mongodb 5.0.0
|
|
274
|
+
- b699a5b: Bump mongodb to 4.13.0
|
|
275
|
+
- b6501b0: Bump typescript to 4.9.5
|
|
276
|
+
- 348b5af: Bump @ypes/pg to 8.6.6
|
|
277
|
+
- cf34f7d: Bump @types/express to 4.17.16
|
|
278
|
+
- Updated dependencies [b6501b0]
|
|
279
|
+
- Updated dependencies [becc305]
|
|
280
|
+
- @shopify/shopify-app-session-storage-memory@1.0.3
|
|
281
|
+
- @shopify/shopify-app-session-storage@1.1.0
|
|
282
|
+
|
|
283
|
+
## 1.1.0
|
|
284
|
+
|
|
285
|
+
### Minor Changes
|
|
286
|
+
|
|
287
|
+
- 222b755: Updating @shopify/shopify-api to v6.1.0
|
|
288
|
+
|
|
289
|
+
### Patch Changes
|
|
290
|
+
|
|
291
|
+
- Updated dependencies [222b755]
|
|
292
|
+
- @shopify/shopify-app-session-storage@1.0.2
|
|
293
|
+
- @shopify/shopify-app-session-storage-memory@1.0.2
|
|
294
|
+
|
|
295
|
+
## 1.0.2
|
|
296
|
+
|
|
297
|
+
### Patch Changes
|
|
298
|
+
|
|
299
|
+
- 1eccbd6: Gracefully handle session errors in validateAuthenticatedSession
|
|
300
|
+
- 1eccbd6: Check if session is valid before embedding into the Shopify Admin
|
|
301
|
+
- 866b50c: Update dependencies on shopify-api v6.0.2
|
|
302
|
+
- Updated dependencies [866b50c]
|
|
303
|
+
- @shopify/shopify-app-session-storage@1.0.1
|
|
304
|
+
- @shopify/shopify-app-session-storage-memory@1.0.1
|
|
305
|
+
|
|
306
|
+
## 1.0.1
|
|
307
|
+
|
|
308
|
+
### Patch Changes
|
|
309
|
+
|
|
310
|
+
- d72952e: Allow both online and offline tokens with a single package instance
|
|
311
|
+
|
|
312
|
+
## 1.0.0
|
|
313
|
+
|
|
314
|
+
### Major Changes
|
|
315
|
+
|
|
316
|
+
- Initial public release of @shopify/shopify-app-express
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022-present, Shopify Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
|
+
|
|
7
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|