@shopify/shopify-app-remix 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/build/cjs/server/adapters/node/index.js +1 -0
  2. package/build/cjs/server/authenticate/admin/authenticate.js +17 -14
  3. package/build/cjs/server/authenticate/admin/billing/cancel.js +1 -2
  4. package/build/cjs/server/authenticate/admin/billing/request.js +0 -1
  5. package/build/cjs/server/authenticate/admin/billing/require.js +1 -2
  6. package/build/cjs/server/authenticate/admin/helpers/create-admin-api-context.js +2 -5
  7. package/build/cjs/server/authenticate/admin/helpers/handle-client-error.js +8 -4
  8. package/build/cjs/server/authenticate/admin/helpers/redirect-to-bounce-page.js +4 -2
  9. package/build/cjs/server/authenticate/admin/helpers/redirect.js +1 -5
  10. package/build/cjs/server/authenticate/admin/helpers/trigger-after-auth-hook.js +2 -2
  11. package/build/cjs/server/authenticate/admin/strategies/auth-code-flow.js +37 -13
  12. package/build/cjs/server/authenticate/admin/strategies/token-exchange.js +155 -0
  13. package/build/cjs/server/authenticate/const.js +4 -0
  14. package/build/cjs/server/authenticate/helpers/idempotent-promise-handler.js +40 -0
  15. package/build/cjs/server/authenticate/helpers/respond-to-invalid-session-token.js +33 -0
  16. package/build/cjs/server/authenticate/login/login.js +5 -1
  17. package/build/cjs/server/authenticate/public/checkout/authenticate.js +1 -0
  18. package/build/cjs/server/authenticate/webhooks/authenticate.js +1 -2
  19. package/build/cjs/server/authenticate/webhooks/register.js +16 -0
  20. package/build/cjs/server/clients/admin/graphql.js +5 -12
  21. package/build/cjs/server/clients/storefront/factory.js +5 -12
  22. package/build/cjs/server/shopify-app.js +12 -6
  23. package/build/cjs/server/version.js +1 -1
  24. package/build/ts/react/components/AppProvider/AppProvider.js +1 -1
  25. package/build/ts/react/components/AppProvider/AppProvider.js.map +1 -1
  26. package/build/ts/server/__test-helpers/const.d.ts +2 -1
  27. package/build/ts/server/__test-helpers/const.d.ts.map +1 -1
  28. package/build/ts/server/__test-helpers/const.js +3 -2
  29. package/build/ts/server/__test-helpers/const.js.map +1 -1
  30. package/build/ts/server/__test-helpers/expect-admin-api-client.d.ts.map +1 -1
  31. package/build/ts/server/__test-helpers/expect-admin-api-client.js +2 -2
  32. package/build/ts/server/__test-helpers/expect-admin-api-client.js.map +1 -1
  33. package/build/ts/server/__test-helpers/expect-document-request-headers.js.map +1 -1
  34. package/build/ts/server/__test-helpers/expect-exit-iframe.js.map +1 -1
  35. package/build/ts/server/__test-helpers/expect-storefront-api-client.js +1 -1
  36. package/build/ts/server/__test-helpers/expect-storefront-api-client.js.map +1 -1
  37. package/build/ts/server/__test-helpers/get-thrown-response.js.map +1 -1
  38. package/build/ts/server/__test-helpers/request-mock.d.ts.map +1 -1
  39. package/build/ts/server/__test-helpers/request-mock.js +1 -1
  40. package/build/ts/server/__test-helpers/request-mock.js.map +1 -1
  41. package/build/ts/server/__test-helpers/setup-valid-session.d.ts +1 -1
  42. package/build/ts/server/__test-helpers/setup-valid-session.d.ts.map +1 -1
  43. package/build/ts/server/__test-helpers/setup-valid-session.js +5 -5
  44. package/build/ts/server/__test-helpers/setup-valid-session.js.map +1 -1
  45. package/build/ts/server/__test-helpers/test-config.d.ts +2 -1
  46. package/build/ts/server/__test-helpers/test-config.d.ts.map +1 -1
  47. package/build/ts/server/__test-helpers/test-config.js +1 -0
  48. package/build/ts/server/__test-helpers/test-config.js.map +1 -1
  49. package/build/ts/server/adapters/node/index.js.map +1 -1
  50. package/build/ts/server/authenticate/admin/authenticate.d.ts +7 -1
  51. package/build/ts/server/authenticate/admin/authenticate.d.ts.map +1 -1
  52. package/build/ts/server/authenticate/admin/authenticate.js +14 -14
  53. package/build/ts/server/authenticate/admin/authenticate.js.map +1 -1
  54. package/build/ts/server/authenticate/admin/billing/request.js.map +1 -1
  55. package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.d.ts +2 -2
  56. package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.d.ts.map +1 -1
  57. package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.js +2 -5
  58. package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.js.map +1 -1
  59. package/build/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js.map +1 -1
  60. package/build/ts/server/authenticate/admin/helpers/handle-client-error.d.ts +2 -5
  61. package/build/ts/server/authenticate/admin/helpers/handle-client-error.d.ts.map +1 -1
  62. package/build/ts/server/authenticate/admin/helpers/handle-client-error.js +6 -5
  63. package/build/ts/server/authenticate/admin/helpers/handle-client-error.js.map +1 -1
  64. package/build/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.d.ts.map +1 -1
  65. package/build/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.js +4 -2
  66. package/build/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.js.map +1 -1
  67. package/build/ts/server/authenticate/admin/helpers/redirect-with-exitiframe.js.map +1 -1
  68. package/build/ts/server/authenticate/admin/helpers/redirect.js +0 -3
  69. package/build/ts/server/authenticate/admin/helpers/redirect.js.map +1 -1
  70. package/build/ts/server/authenticate/admin/helpers/render-app-bridge.js.map +1 -1
  71. package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.d.ts +2 -1
  72. package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.d.ts.map +1 -1
  73. package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.js +2 -2
  74. package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.js.map +1 -1
  75. package/build/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.js.map +1 -1
  76. package/build/ts/server/authenticate/admin/strategies/auth-code-flow.d.ts +4 -2
  77. package/build/ts/server/authenticate/admin/strategies/auth-code-flow.d.ts.map +1 -1
  78. package/build/ts/server/authenticate/admin/strategies/auth-code-flow.js +27 -7
  79. package/build/ts/server/authenticate/admin/strategies/auth-code-flow.js.map +1 -1
  80. package/build/ts/server/authenticate/admin/strategies/token-exchange.d.ts +17 -0
  81. package/build/ts/server/authenticate/admin/strategies/token-exchange.d.ts.map +1 -0
  82. package/build/ts/server/authenticate/admin/strategies/token-exchange.js +163 -0
  83. package/build/ts/server/authenticate/admin/strategies/token-exchange.js.map +1 -0
  84. package/build/ts/server/authenticate/admin/strategies/types.d.ts +16 -5
  85. package/build/ts/server/authenticate/admin/strategies/types.d.ts.map +1 -1
  86. package/build/ts/server/authenticate/admin/types.d.ts +0 -4
  87. package/build/ts/server/authenticate/admin/types.d.ts.map +1 -1
  88. package/build/ts/server/authenticate/const.d.ts +3 -0
  89. package/build/ts/server/authenticate/const.d.ts.map +1 -1
  90. package/build/ts/server/authenticate/const.js +4 -1
  91. package/build/ts/server/authenticate/const.js.map +1 -1
  92. package/build/ts/server/authenticate/helpers/add-response-headers.js.map +1 -1
  93. package/build/ts/server/authenticate/helpers/ensure-cors-headers.js.map +1 -1
  94. package/build/ts/server/authenticate/helpers/idempotent-promise-handler.d.ts +12 -0
  95. package/build/ts/server/authenticate/helpers/idempotent-promise-handler.d.ts.map +1 -0
  96. package/build/ts/server/authenticate/helpers/idempotent-promise-handler.js +53 -0
  97. package/build/ts/server/authenticate/helpers/idempotent-promise-handler.js.map +1 -0
  98. package/build/ts/server/authenticate/helpers/index.d.ts +1 -0
  99. package/build/ts/server/authenticate/helpers/index.d.ts.map +1 -1
  100. package/build/ts/server/authenticate/helpers/index.js +1 -0
  101. package/build/ts/server/authenticate/helpers/index.js.map +1 -1
  102. package/build/ts/server/authenticate/helpers/reject-bot-request.js.map +1 -1
  103. package/build/ts/server/authenticate/helpers/respond-to-invalid-session-token.d.ts +9 -0
  104. package/build/ts/server/authenticate/helpers/respond-to-invalid-session-token.d.ts.map +1 -0
  105. package/build/ts/server/authenticate/helpers/respond-to-invalid-session-token.js +20 -0
  106. package/build/ts/server/authenticate/helpers/respond-to-invalid-session-token.js.map +1 -0
  107. package/build/ts/server/authenticate/helpers/respond-to-options-request.js.map +1 -1
  108. package/build/ts/server/authenticate/login/login.d.ts.map +1 -1
  109. package/build/ts/server/authenticate/login/login.js +6 -2
  110. package/build/ts/server/authenticate/login/login.js.map +1 -1
  111. package/build/ts/server/authenticate/public/appProxy/authenticate.js.map +1 -1
  112. package/build/ts/server/authenticate/public/checkout/authenticate.js.map +1 -1
  113. package/build/ts/server/authenticate/public/factory.js.map +1 -1
  114. package/build/ts/server/authenticate/webhooks/authenticate.js.map +1 -1
  115. package/build/ts/server/authenticate/webhooks/register.d.ts +1 -1
  116. package/build/ts/server/authenticate/webhooks/register.d.ts.map +1 -1
  117. package/build/ts/server/authenticate/webhooks/register.js +20 -1
  118. package/build/ts/server/authenticate/webhooks/register.js.map +1 -1
  119. package/build/ts/server/authenticate/webhooks/types.d.ts +12 -5
  120. package/build/ts/server/authenticate/webhooks/types.d.ts.map +1 -1
  121. package/build/ts/server/boundary/error.js.map +1 -1
  122. package/build/ts/server/boundary/headers.js.map +1 -1
  123. package/build/ts/server/clients/admin/graphql.d.ts +3 -3
  124. package/build/ts/server/clients/admin/graphql.d.ts.map +1 -1
  125. package/build/ts/server/clients/admin/graphql.js +5 -8
  126. package/build/ts/server/clients/admin/graphql.js.map +1 -1
  127. package/build/ts/server/clients/admin/rest.js.map +1 -1
  128. package/build/ts/server/clients/admin/types.d.ts +2 -1
  129. package/build/ts/server/clients/admin/types.d.ts.map +1 -1
  130. package/build/ts/server/clients/storefront/factory.d.ts.map +1 -1
  131. package/build/ts/server/clients/storefront/factory.js +5 -8
  132. package/build/ts/server/clients/storefront/factory.js.map +1 -1
  133. package/build/ts/server/clients/storefront/types.d.ts +2 -1
  134. package/build/ts/server/clients/storefront/types.d.ts.map +1 -1
  135. package/build/ts/server/clients/types.d.ts +4 -7
  136. package/build/ts/server/clients/types.d.ts.map +1 -1
  137. package/build/ts/server/config-types.d.ts +2 -0
  138. package/build/ts/server/config-types.d.ts.map +1 -1
  139. package/build/ts/server/future/flags.d.ts +6 -0
  140. package/build/ts/server/future/flags.d.ts.map +1 -1
  141. package/build/ts/server/override-logger.js.map +1 -1
  142. package/build/ts/server/shopify-app.d.ts +1 -0
  143. package/build/ts/server/shopify-app.d.ts.map +1 -1
  144. package/build/ts/server/shopify-app.js +11 -5
  145. package/build/ts/server/shopify-app.js.map +1 -1
  146. package/build/ts/server/types.d.ts +10 -4
  147. package/build/ts/server/types.d.ts.map +1 -1
  148. package/build/ts/server/types.js +2 -2
  149. package/build/ts/server/types.js.map +1 -1
  150. package/build/ts/server/unauthenticated/admin/factory.js.map +1 -1
  151. package/build/ts/server/unauthenticated/storefront/factory.js.map +1 -1
  152. package/build/ts/server/version.d.ts +1 -1
  153. package/build/ts/server/version.js +1 -1
  154. package/package.json +14 -16
@@ -1,3 +1,4 @@
1
+ import { StorefrontOperations } from '@shopify/storefront-api-client';
1
2
  import { GraphQLClient } from '../types';
2
3
  export interface StorefrontContext {
3
4
  /**
@@ -24,6 +25,6 @@ export interface StorefrontContext {
24
25
  * }
25
26
  * ```
26
27
  */
27
- graphql: GraphQLClient;
28
+ graphql: GraphQLClient<StorefrontOperations>;
28
29
  }
29
30
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/storefront/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,EAAE,aAAa,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/storefront/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;CAC9C"}
@@ -1,15 +1,12 @@
1
+ import type { AllOperations, ReturnData, FetchResponseBody, ApiClientRequestOptions, ResponseWithType } from '@shopify/admin-api-client';
1
2
  import { ApiVersion } from '@shopify/shopify-api';
2
- interface QueryVariables {
3
- [key: string]: any;
4
- }
5
- export interface GraphQLQueryOptions {
6
- variables?: QueryVariables;
3
+ export interface GraphQLQueryOptions<Operation extends keyof Operations, Operations extends AllOperations> {
4
+ variables?: ApiClientRequestOptions<Operation, Operations>['variables'];
7
5
  apiVersion?: ApiVersion;
8
6
  headers?: {
9
7
  [key: string]: any;
10
8
  };
11
9
  tries?: number;
12
10
  }
13
- export type GraphQLClient = (query: string, options?: GraphQLQueryOptions) => Promise<Response>;
14
- export {};
11
+ export type GraphQLClient<Operations extends AllOperations> = <Operation extends keyof Operations>(query: Operation, options?: GraphQLQueryOptions<Operation, Operations>) => Promise<ResponseWithType<FetchResponseBody<ReturnData<Operation, Operations>>>>;
15
12
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/clients/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,UAAU,cAAc;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,mBAAmB,KAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/clients/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,MAAM,WAAW,mBAAmB,CAClC,SAAS,SAAS,MAAM,UAAU,EAClC,UAAU,SAAS,aAAa;IAEhC,SAAS,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,CAAC,UAAU,SAAS,aAAa,IAAI,CAC5D,SAAS,SAAS,MAAM,UAAU,EAElC,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,KACjD,OAAO,CACV,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CACvE,CAAC"}
@@ -3,6 +3,7 @@ import { SessionStorage } from '@shopify/shopify-app-session-storage';
3
3
  import type { FutureFlagOptions, FutureFlags } from './future/flags';
4
4
  import type { AppDistribution } from './types';
5
5
  import type { AdminApiContext } from './clients';
6
+ import { IdempotentPromiseHandler } from './authenticate/helpers/idempotent-promise-handler';
6
7
  export interface AppConfigArg<Resources extends ShopifyRestResources = ShopifyRestResources, Storage extends SessionStorage = SessionStorage, Future extends FutureFlagOptions = FutureFlagOptions> extends Omit<ApiConfigArg<Resources>, 'hostName' | 'hostScheme' | 'isEmbeddedApp' | 'apiVersion' | 'isCustomStoreApp' | 'future'> {
7
8
  /**
8
9
  * The URL your app is running on.
@@ -201,6 +202,7 @@ export interface AppConfig<Storage extends SessionStorage = SessionStorage> exte
201
202
  useOnlineTokens: boolean;
202
203
  hooks: HooksConfig;
203
204
  future: FutureFlags;
205
+ idempotentPromiseHandler: IdempotentPromiseHandler;
204
206
  }
205
207
  export interface AuthConfig {
206
208
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../../../src/server/config-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,IAAI,YAAY,EAC5B,eAAe,IAAI,SAAS,EAC5B,oBAAoB,EACpB,OAAO,EACP,UAAU,EACV,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,EAAC,MAAM,sCAAsC,CAAC;AAEpE,OAAO,KAAK,EAAC,iBAAiB,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,YAAY,CAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,EAC7D,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,CACpD,SAAQ,IAAI,CACV,YAAY,CAAC,SAAS,CAAC,EACrB,UAAU,GACV,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,kBAAkB,GAClB,QAAQ,CACX;IACD;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;IAE/B;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,CACxE,SAAQ,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc,EAAE,CAAC;CAClD;AAED,UAAU,WAAW;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,gBAAgB,CAC/B,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAC3B"}
1
+ {"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../../../src/server/config-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,IAAI,YAAY,EAC5B,eAAe,IAAI,SAAS,EAC5B,oBAAoB,EACpB,OAAO,EACP,UAAU,EACV,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,EAAC,MAAM,sCAAsC,CAAC;AAEpE,OAAO,KAAK,EAAC,iBAAiB,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAC,wBAAwB,EAAC,MAAM,mDAAmD,CAAC;AAE3F,MAAM,WAAW,YAAY,CAC3B,SAAS,SAAS,oBAAoB,GAAG,oBAAoB,EAC7D,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,CACpD,SAAQ,IAAI,CACV,YAAY,CAAC,SAAS,CAAC,EACrB,UAAU,GACV,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,kBAAkB,GAClB,QAAQ,CACX;IACD;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;IAE/B;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,CACxE,SAAQ,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,wBAAwB,EAAE,wBAAwB,CAAC;CACpD;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc,EAAE,CAAC;CAClD;AAED,UAAU,WAAW;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,gBAAgB,CAC/B,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAC3B"}
@@ -11,6 +11,12 @@ export interface FutureFlags {
11
11
  * @default false
12
12
  */
13
13
  v3_authenticatePublic?: boolean;
14
+ /**
15
+ * When enabled, embedded apps will fetch access tokens via token exchange. This assumes app are using declarative scopes with Shopify managing installs.
16
+ *
17
+ * @default false
18
+ */
19
+ unstable_newEmbeddedAuthStrategy?: boolean;
14
20
  }
15
21
  export type FutureFlagOptions = FutureFlags | undefined;
16
22
  export type FeatureEnabled<Future extends FutureFlagOptions, Flag extends keyof FutureFlags> = Future extends FutureFlags ? Future[Flag] extends true ? true : false : false;
@@ -1 +1 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../../src/server/future/flags.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,cAAc,CACxB,MAAM,SAAS,iBAAiB,EAChC,IAAI,SAAS,MAAM,WAAW,IAC5B,MAAM,SAAS,WAAW,GAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GACvB,IAAI,GACJ,KAAK,GACP,KAAK,CAAC"}
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../../src/server/future/flags.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;OAIG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;CAC5C;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,cAAc,CACxB,MAAM,SAAS,iBAAiB,EAChC,IAAI,SAAS,MAAM,WAAW,IAC5B,MAAM,SAAS,WAAW,GAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,GACvB,IAAI,GACJ,KAAK,GACP,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"override-logger.js","sourceRoot":"","sources":["../../../src/server/override-logger.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAC5B,oDAAqE;AAErE,qCAAwD;AAExD,+CAA+C;AAC/C,mGAAmG;AACnG,mFAAmF;AACnF,SAAgB,cAAc,CAAC,MAAyB;IACtD,IAAM,WAAW,GAAG,EAAC,OAAO,EAAE,aAAa,EAAC,CAAC;IAE7C,IAAM,eAAe,GAAiC,UACpD,OAAO,EACP,OAAY;QAAZ,wBAAA,EAAA,YAAY;QACT,OAAA,MAAM,CAAC,OAAO,CAAC,OAAO,wCAAM,WAAW,GAAK,OAAO,EAAE;IAArD,CAAqD,CAAC;IAE3D,SAAS,UAAU,CAAC,eAA6C;QAC/D,OAAO,UAAU,OAAe,EAAE,OAAe;YAC/C,IAAI,gBAAM,CAAC,GAAG,CAAC,uCAA6B,EAAE,OAAO,CAAC,EAAE;gBACtD,MAAM,IAAI,oCAAsB,CAC9B,4CAAqC,OAAO,CAAE,CAC/C,CAAC;aACH;YAED,OAAO,eAAe,CAAC,wBAAiB,OAAO,eAAK,OAAO,CAAE,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC;IAED,6CACK,MAAM,KACT,GAAG,EAAE,UAAC,QAAQ,EAAE,OAAO,EAAE,OAAY;YAAZ,wBAAA,EAAA,YAAY;YACnC,OAAA,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,wCAAM,WAAW,GAAK,OAAO,EAAE;QAA3D,CAA2D,EAC7D,KAAK,EAAE,UAAC,OAAO,EAAE,OAAY;YAAZ,wBAAA,EAAA,YAAY;YAC3B,OAAA,MAAM,CAAC,KAAK,CAAC,OAAO,wCAAM,WAAW,GAAK,OAAO,EAAE;QAAnD,CAAmD,EACrD,IAAI,EAAE,UAAC,OAAO,EAAE,OAAY;YAAZ,wBAAA,EAAA,YAAY;YAC1B,OAAA,MAAM,CAAC,IAAI,CAAC,OAAO,wCAAM,WAAW,GAAK,OAAO,EAAE;QAAlD,CAAkD,EACpD,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,UAAC,OAAO,EAAE,OAAY;YAAZ,wBAAA,EAAA,YAAY;YAC3B,OAAA,MAAM,CAAC,KAAK,CAAC,OAAO,wCAAM,WAAW,GAAK,OAAO,EAAE;QAAnD,CAAmD,EACrD,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC,IACvC;AACJ,CAAC;AAjCD,wCAiCC"}
1
+ {"version":3,"file":"override-logger.js","sourceRoot":"","sources":["../../../src/server/override-logger.ts"],"names":[],"mappings":";;;;AAAA,0DAA4B;AAC5B,oDAAqE;AAErE,qCAAwD;AAExD,+CAA+C;AAC/C,mGAAmG;AACnG,mFAAmF;AACnF,SAAgB,cAAc,CAAC,MAAyB;IACtD,IAAM,WAAW,GAAG,EAAC,OAAO,EAAE,aAAa,EAAC,CAAC;IAE7C,IAAM,eAAe,GAAiC,UACpD,OAAO,EACP,OAAY;QAAZ,wBAAA,EAAA,YAAY;QACT,OAAA,MAAM,CAAC,OAAO,CAAC,OAAO,wCAAM,WAAW,GAAK,OAAO,EAAE;IAArD,CAAqD,CAAC;IAE3D,SAAS,UAAU,CAAC,eAA6C;QAC/D,OAAO,UAAU,OAAe,EAAE,OAAe;YAC/C,IAAI,gBAAM,CAAC,GAAG,CAAC,uCAA6B,EAAE,OAAO,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,oCAAsB,CAC9B,4CAAqC,OAAO,CAAE,CAC/C,CAAC;YACJ,CAAC;YAED,OAAO,eAAe,CAAC,wBAAiB,OAAO,eAAK,OAAO,CAAE,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC;IAED,6CACK,MAAM,KACT,GAAG,EAAE,UAAC,QAAQ,EAAE,OAAO,EAAE,OAAY;YAAZ,wBAAA,EAAA,YAAY;YACnC,OAAA,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,wCAAM,WAAW,GAAK,OAAO,EAAE;QAA3D,CAA2D,EAC7D,KAAK,EAAE,UAAC,OAAO,EAAE,OAAY;YAAZ,wBAAA,EAAA,YAAY;YAC3B,OAAA,MAAM,CAAC,KAAK,CAAC,OAAO,wCAAM,WAAW,GAAK,OAAO,EAAE;QAAnD,CAAmD,EACrD,IAAI,EAAE,UAAC,OAAO,EAAE,OAAY;YAAZ,wBAAA,EAAA,YAAY;YAC1B,OAAA,MAAM,CAAC,IAAI,CAAC,OAAO,wCAAM,WAAW,GAAK,OAAO,EAAE;QAAlD,CAAkD,EACpD,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,UAAC,OAAO,EAAE,OAAY;YAAZ,wBAAA,EAAA,YAAY;YAC3B,OAAA,MAAM,CAAC,KAAK,CAAC,OAAO,wCAAM,WAAW,GAAK,OAAO,EAAE;QAAnD,CAAmD,EACrD,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC,IACvC;AACJ,CAAC;AAjCD,wCAiCC"}
@@ -12,6 +12,7 @@ import { type ShopifyApp } from './types';
12
12
  * @example
13
13
  * <caption>The minimum viable configuration</caption>
14
14
  * ```ts
15
+ * // /shopify.server.ts
15
16
  * import { shopifyApp } from "@shopify/shopify-app-remix/server";
16
17
  *
17
18
  * const shopify = shopifyApp({
@@ -1 +1 @@
1
- {"version":3,"file":"shopify-app.d.ts","sourceRoot":"","sources":["../../../src/server/shopify-app.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAIL,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,EAAC,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAiB,KAAK,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAIL,KAAK,UAAU,EAKhB,MAAM,SAAS,CAAC;AAajB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CACxB,MAAM,SAAS,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,EAC/C,SAAS,SAAS,oBAAoB,EACtC,OAAO,SAAS,cAAc,EAC9B,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CA8CvC"}
1
+ {"version":3,"file":"shopify-app.d.ts","sourceRoot":"","sources":["../../../src/server/shopify-app.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAC/C,OAAO,EAIL,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,EAAC,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAiB,KAAK,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAIL,KAAK,UAAU,EAKhB,MAAM,SAAS,CAAC;AAejB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CACxB,MAAM,SAAS,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,EAC/C,SAAS,SAAS,oBAAoB,EACtC,OAAO,SAAS,cAAc,EAC9B,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAgDvC"}
@@ -16,6 +16,8 @@ var admin_1 = require("./unauthenticated/admin");
16
16
  var public_1 = require("./authenticate/public");
17
17
  var storefront_1 = require("./unauthenticated/storefront");
18
18
  var auth_code_flow_1 = require("./authenticate/admin/strategies/auth-code-flow");
19
+ var token_exchange_1 = require("./authenticate/admin/strategies/token-exchange");
20
+ var idempotent_promise_handler_1 = require("./authenticate/helpers/idempotent-promise-handler");
19
21
  /**
20
22
  * Creates an object your app will use to interact with Shopify.
21
23
  *
@@ -25,6 +27,7 @@ var auth_code_flow_1 = require("./authenticate/admin/strategies/auth-code-flow")
25
27
  * @example
26
28
  * <caption>The minimum viable configuration</caption>
27
29
  * ```ts
30
+ * // /shopify.server.ts
28
31
  * import { shopifyApp } from "@shopify/shopify-app-remix/server";
29
32
  *
30
33
  * const shopify = shopifyApp({
@@ -44,8 +47,9 @@ function shopifyApp(appConfig) {
44
47
  api.webhooks.addHandlers(appConfig.webhooks);
45
48
  }
46
49
  var params = { api: api, config: config, logger: logger };
47
- var oauth = new auth_code_flow_1.AuthCodeFlowStrategy(params);
48
- var authStrategy = (0, authenticate_1.authStrategyFactory)(tslib_1.__assign(tslib_1.__assign({}, params), { strategy: oauth }));
50
+ var authStrategy = (0, authenticate_1.authStrategyFactory)(tslib_1.__assign(tslib_1.__assign({}, params), { strategy: config.future.unstable_newEmbeddedAuthStrategy && config.isEmbeddedApp
51
+ ? new token_exchange_1.TokenExchangeStrategy(params)
52
+ : new auth_code_flow_1.AuthCodeFlowStrategy(params) }));
49
53
  var shopify = {
50
54
  sessionStorage: config.sessionStorage,
51
55
  addDocumentResponseHeaders: (0, helpers_1.addDocumentResponseHeadersFactory)(params),
@@ -74,7 +78,7 @@ function isSingleMerchantApp(_shopify, config) {
74
78
  return config.distribution === types_1.AppDistribution.SingleMerchant;
75
79
  }
76
80
  function deriveApi(appConfig) {
77
- var _a, _b;
81
+ var _a, _b, _c;
78
82
  var appUrl;
79
83
  try {
80
84
  appUrl = new URL(appConfig.appUrl);
@@ -92,7 +96,9 @@ function deriveApi(appConfig) {
92
96
  if (appConfig.userAgentPrefix) {
93
97
  userAgentPrefix = "".concat(appConfig.userAgentPrefix, " | ").concat(userAgentPrefix);
94
98
  }
95
- return (0, shopify_api_1.shopifyApi)(tslib_1.__assign(tslib_1.__assign({}, appConfig), { hostName: appUrl.host, hostScheme: appUrl.protocol.replace(':', ''), userAgentPrefix: userAgentPrefix, isEmbeddedApp: (_a = appConfig.isEmbeddedApp) !== null && _a !== void 0 ? _a : true, apiVersion: (_b = appConfig.apiVersion) !== null && _b !== void 0 ? _b : shopify_api_1.LATEST_API_VERSION, isCustomStoreApp: appConfig.distribution === types_1.AppDistribution.ShopifyAdmin, future: {} }));
99
+ return (0, shopify_api_1.shopifyApi)(tslib_1.__assign(tslib_1.__assign({}, appConfig), { hostName: appUrl.host, hostScheme: appUrl.protocol.replace(':', ''), userAgentPrefix: userAgentPrefix, isEmbeddedApp: (_a = appConfig.isEmbeddedApp) !== null && _a !== void 0 ? _a : true, apiVersion: (_b = appConfig.apiVersion) !== null && _b !== void 0 ? _b : shopify_api_1.LATEST_API_VERSION, isCustomStoreApp: appConfig.distribution === types_1.AppDistribution.ShopifyAdmin, future: {
100
+ unstable_tokenExchange: (_c = appConfig.future) === null || _c === void 0 ? void 0 : _c.unstable_newEmbeddedAuthStrategy,
101
+ } }));
96
102
  }
97
103
  function deriveConfig(appConfig, apiConfig) {
98
104
  var _a, _b, _c, _d;
@@ -101,7 +107,7 @@ function deriveConfig(appConfig, apiConfig) {
101
107
  }
102
108
  var authPathPrefix = appConfig.authPathPrefix || '/auth';
103
109
  appConfig.distribution = (_a = appConfig.distribution) !== null && _a !== void 0 ? _a : types_1.AppDistribution.AppStore;
104
- return tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, appConfig), apiConfig), { canUseLoginForm: appConfig.distribution !== types_1.AppDistribution.ShopifyAdmin, useOnlineTokens: (_b = appConfig.useOnlineTokens) !== null && _b !== void 0 ? _b : false, hooks: (_c = appConfig.hooks) !== null && _c !== void 0 ? _c : {}, sessionStorage: appConfig.sessionStorage, future: (_d = appConfig.future) !== null && _d !== void 0 ? _d : {}, auth: {
110
+ return tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, appConfig), apiConfig), { idempotentPromiseHandler: new idempotent_promise_handler_1.IdempotentPromiseHandler(), canUseLoginForm: appConfig.distribution !== types_1.AppDistribution.ShopifyAdmin, useOnlineTokens: (_b = appConfig.useOnlineTokens) !== null && _b !== void 0 ? _b : false, hooks: (_c = appConfig.hooks) !== null && _c !== void 0 ? _c : {}, sessionStorage: appConfig.sessionStorage, future: (_d = appConfig.future) !== null && _d !== void 0 ? _d : {}, auth: {
105
111
  path: authPathPrefix,
106
112
  callbackPath: "".concat(authPathPrefix, "/callback"),
107
113
  patchSessionTokenPath: "".concat(authPathPrefix, "/session-token"),
@@ -1 +1 @@
1
- {"version":3,"file":"shopify-app.js","sourceRoot":"","sources":["../../../src/server/shopify-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shopify-app.js","sourceRoot":"","sources":["../../../src/server/shopify-app.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
- import { RegisterReturn, Shopify, ShopifyRestResources } from '@shopify/shopify-api';
1
+ import { ConfigParams, RegisterReturn, Shopify, ShopifyRestResources } from '@shopify/shopify-api';
2
2
  import { SessionStorage } from '@shopify/shopify-app-session-storage';
3
3
  import type { AppConfig, AppConfigArg } from './config-types';
4
4
  import type { AuthenticateWebhook, RegisterWebhooksOptions } from './authenticate/webhooks/types';
5
5
  import type { AuthenticatePublic } from './authenticate/public/types';
6
6
  import type { AdminContext } from './authenticate/admin/types';
7
7
  import type { Unauthenticated } from './unauthenticated/types';
8
- export interface BasicParams {
9
- api: Shopify;
8
+ import { FutureFlagOptions, FutureFlags } from './future/flags';
9
+ export interface BasicParams<Future extends FutureFlagOptions = FutureFlagOptions> {
10
+ api: Shopify<ApiConfigWithFutureFlags<Future>, ShopifyRestResources, ApiFutureFlags<Future>>;
10
11
  config: AppConfig;
11
12
  logger: Shopify['logger'];
12
13
  }
14
+ export interface ApiFutureFlags<Future extends FutureFlagOptions> {
15
+ unstable_tokenExchange?: Future extends FutureFlags ? Future['unstable_newEmbeddedAuthStrategy'] : boolean;
16
+ }
17
+ export type ApiConfigWithFutureFlags<Future extends FutureFlagOptions> = ConfigParams<ShopifyRestResources, ApiFutureFlags<Future>>;
13
18
  export type JSONValue = string | number | boolean | null | JSONObject | JSONArray;
14
19
  export declare enum AppDistribution {
15
20
  AppStore = "app_store",
@@ -22,7 +27,7 @@ interface JSONObject {
22
27
  }
23
28
  interface JSONArray extends Array<JSONValue> {
24
29
  }
25
- type RegisterWebhooks = (options: RegisterWebhooksOptions) => Promise<RegisterReturn>;
30
+ type RegisterWebhooks = (options: RegisterWebhooksOptions) => Promise<RegisterReturn | void>;
26
31
  export declare enum LoginErrorType {
27
32
  MissingShop = "MISSING_SHOP",
28
33
  InvalidShop = "INVALID_SHOP"
@@ -219,6 +224,7 @@ export interface ShopifyAppBase<Config extends AppConfigArg> {
219
224
  * <caption>Registering webhooks after install</caption>
220
225
  * <description>Trigger the registration to create the webhook subscriptions after a merchant installs your app using the `afterAuth` hook. Learn more about [subscribing to webhooks.](/docs/api/shopify-app-remix/v1/guide-webhooks)</description>
221
226
  * ```ts
227
+ * // /app/shopify.server.ts
222
228
  * import { DeliveryMethod, shopifyApp } from "@shopify/shopify-app-remix/server";
223
229
  *
224
230
  * const shopify = shopifyApp({
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,10 @@ var AppDistribution;
8
8
  AppDistribution["AppStore"] = "app_store";
9
9
  AppDistribution["SingleMerchant"] = "single_merchant";
10
10
  AppDistribution["ShopifyAdmin"] = "shopify_admin";
11
- })(AppDistribution = exports.AppDistribution || (exports.AppDistribution = {}));
11
+ })(AppDistribution || (exports.AppDistribution = AppDistribution = {}));
12
12
  var LoginErrorType;
13
13
  (function (LoginErrorType) {
14
14
  LoginErrorType["MissingShop"] = "MISSING_SHOP";
15
15
  LoginErrorType["InvalidShop"] = "INVALID_SHOP";
16
- })(LoginErrorType = exports.LoginErrorType || (exports.LoginErrorType = {}));
16
+ })(LoginErrorType || (exports.LoginErrorType = LoginErrorType = {}));
17
17
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":";;;AA8BA,+CAA+C;AAC/C,sFAAsF;AACtF,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,yCAAsB,CAAA;IACtB,qDAAkC,CAAA;IAClC,iDAA8B,CAAA;AAChC,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B;AAiBD,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,8CAA4B,CAAA;IAC5B,8CAA4B,CAAA;AAC9B,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":";;;AA+CA,+CAA+C;AAC/C,sFAAsF;AACtF,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,yCAAsB,CAAA;IACtB,qDAAkC,CAAA;IAClC,iDAA8B,CAAA;AAChC,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAiBD,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,8CAA4B,CAAA;IAC5B,8CAA4B,CAAA;AAC9B,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/admin/factory.ts"],"names":[],"mappings":";;;;AAAA,oDAAwE;AAGxE,6CAAuD;AACvD,sCAA6C;AAI7C,SAAgB,kCAAkC,CAEhD,MAAmB;IAFrB,iBAmBC;IAhBC,OAAO,UACL,IAAY;;;;wBAEI,qBAAM,IAAA,2BAAiB,EAAC,IAAI,EAAE,MAAM,CAAC,EAAA;;oBAA/C,OAAO,GAAG,SAAqC;oBAErD,IAAI,CAAC,OAAO,EAAE;wBACZ,MAAM,IAAI,0BAAY,CACpB,4CAAqC,IAAI,iDAA8C,CACxF,CAAC;qBACH;oBAED,sBAAO;4BACL,OAAO,SAAA;4BACP,KAAK,EAAE,IAAA,0BAAkB,EAAY,EAAC,MAAM,QAAA,EAAE,OAAO,SAAA,EAAC,CAAC;yBACxD,EAAC;;;SACH,CAAC;AACJ,CAAC;AAnBD,gFAmBC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/admin/factory.ts"],"names":[],"mappings":";;;;AAAA,oDAAwE;AAGxE,6CAAuD;AACvD,sCAA6C;AAI7C,SAAgB,kCAAkC,CAEhD,MAAmB;IAFrB,iBAmBC;IAhBC,OAAO,UACL,IAAY;;;;wBAEI,qBAAM,IAAA,2BAAiB,EAAC,IAAI,EAAE,MAAM,CAAC,EAAA;;oBAA/C,OAAO,GAAG,SAAqC;oBAErD,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,IAAI,0BAAY,CACpB,4CAAqC,IAAI,iDAA8C,CACxF,CAAC;oBACJ,CAAC;oBAED,sBAAO;4BACL,OAAO,SAAA;4BACP,KAAK,EAAE,IAAA,0BAAkB,EAAY,EAAC,MAAM,QAAA,EAAE,OAAO,SAAA,EAAC,CAAC;yBACxD,EAAC;;;SACH,CAAC;AACJ,CAAC;AAnBD,gFAmBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/storefront/factory.ts"],"names":[],"mappings":";;;;AAAA,oDAAkD;AAGlD,uDAAiE;AACjE,sCAA6C;AAO7C,SAAgB,uCAAuC,CACrD,MAAmB;IADrB,iBAiBC;IAdC,OAAO,UAAO,IAAY;;;;wBACR,qBAAM,IAAA,2BAAiB,EAAC,IAAI,EAAE,MAAM,CAAC,EAAA;;oBAA/C,OAAO,GAAG,SAAqC;oBAErD,IAAI,CAAC,OAAO,EAAE;wBACZ,MAAM,IAAI,0BAAY,CACpB,4CAAqC,IAAI,sDAAmD,CAC7F,CAAC;qBACH;oBAED,sBAAO;4BACL,OAAO,SAAA;4BACP,UAAU,EAAE,IAAA,oCAAuB,EAAC,EAAC,MAAM,QAAA,EAAE,OAAO,SAAA,EAAC,CAAC;yBACvD,EAAC;;;SACH,CAAC;AACJ,CAAC;AAjBD,0FAiBC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/storefront/factory.ts"],"names":[],"mappings":";;;;AAAA,oDAAkD;AAGlD,uDAAiE;AACjE,sCAA6C;AAO7C,SAAgB,uCAAuC,CACrD,MAAmB;IADrB,iBAiBC;IAdC,OAAO,UAAO,IAAY;;;;wBACR,qBAAM,IAAA,2BAAiB,EAAC,IAAI,EAAE,MAAM,CAAC,EAAA;;oBAA/C,OAAO,GAAG,SAAqC;oBAErD,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,IAAI,0BAAY,CACpB,4CAAqC,IAAI,sDAAmD,CAC7F,CAAC;oBACJ,CAAC;oBAED,sBAAO;4BACL,OAAO,SAAA;4BACP,UAAU,EAAE,IAAA,oCAAuB,EAAC,EAAC,MAAM,QAAA,EAAE,OAAO,SAAA,EAAC,CAAC;yBACvD,EAAC;;;SACH,CAAC;AACJ,CAAC;AAjBD,0FAiBC"}
@@ -1,2 +1,2 @@
1
- export declare const SHOPIFY_REMIX_LIBRARY_VERSION = "2.2.0";
1
+ export declare const SHOPIFY_REMIX_LIBRARY_VERSION = "2.4.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SHOPIFY_REMIX_LIBRARY_VERSION = void 0;
4
- exports.SHOPIFY_REMIX_LIBRARY_VERSION = '2.2.0';
4
+ exports.SHOPIFY_REMIX_LIBRARY_VERSION = '2.4.0';
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopify/shopify-app-remix",
3
- "version": "2.2.0",
3
+ "version": "2.4.0",
4
4
  "description": "Shopify Remix - to simplify the building of Shopify Apps with Remix",
5
5
  "repository": {
6
6
  "type": "git",
@@ -50,29 +50,27 @@
50
50
  "Storefront API"
51
51
  ],
52
52
  "devDependencies": {
53
- "@remix-run/react": "^2.0.0",
54
- "@shopify/generate-docs": "^0.11.1",
53
+ "@remix-run/react": "^2.5.0",
54
+ "@shopify/generate-docs": "^0.13.1",
55
55
  "@shopify/polaris": "^11.8.0",
56
56
  "@shopify/react-testing": "^5.1.3",
57
- "@shopify/shopify-app-session-storage-memory": "^2.0.2",
58
- "@types/jest": "^29.5.1",
59
- "@types/jsonwebtoken": "^9.0.2",
57
+ "@shopify/shopify-app-session-storage-memory": "^2.0.4",
58
+ "@types/jsonwebtoken": "^9.0.5",
60
59
  "@types/react": "^18.2.18",
61
- "@types/semver": "^7.3.13",
62
- "jest": "^29.5.0",
60
+ "@types/semver": "^7.5.6",
63
61
  "jest-fetch-mock": "^3.0.3",
64
- "jsonwebtoken": "^9.0.0",
62
+ "jsonwebtoken": "^9.0.2",
65
63
  "react": "^18.2.0",
66
- "react-dom": "^18.2.0",
67
- "ts-jest": "^29.1.0"
64
+ "react-dom": "^18.2.0"
68
65
  },
69
66
  "dependencies": {
70
67
  "@remix-run/server-runtime": "^2.0.0",
71
- "@shopify/shopify-api": "^8.1.1",
72
- "@shopify/shopify-app-session-storage": "^2.0.2",
73
- "isbot": "^3.6.5",
74
- "semver": "^7.5.0",
75
- "tslib": "^2.5.0"
68
+ "@shopify/admin-api-client": "^0.2.1",
69
+ "@shopify/shopify-api": "^9.0.2",
70
+ "@shopify/shopify-app-session-storage": "^2.0.4",
71
+ "@shopify/storefront-api-client": "^0.2.1",
72
+ "isbot": "^3.7.1",
73
+ "semver": "^7.5.4"
76
74
  },
77
75
  "peerDependencies": {
78
76
  "@remix-run/react": "*",