@shopify/shopify-app-remix 1.0.0-rc.1 → 1.0.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 (92) hide show
  1. package/README.md +73 -18
  2. package/build/cjs/adapters/node/index.js +10 -0
  3. package/build/cjs/auth/admin/authenticate.js +25 -30
  4. package/build/cjs/auth/const.js +0 -8
  5. package/build/cjs/auth/helpers/add-response-headers.js +13 -50
  6. package/build/cjs/auth/helpers/app-bridge-url.js +16 -0
  7. package/build/cjs/auth/helpers/ensure-cors-headers.js +24 -0
  8. package/build/cjs/auth/helpers/redirect-with-app-bridge-headers.js +3 -9
  9. package/build/cjs/auth/helpers/respond-to-options-request.js +19 -0
  10. package/build/cjs/auth/login/login.js +0 -6
  11. package/build/cjs/auth/public/authenticate.js +5 -1
  12. package/build/cjs/billing/request.js +1 -1
  13. package/build/cjs/boundary/error.js +12 -0
  14. package/build/cjs/boundary/headers.js +18 -0
  15. package/build/cjs/index.js +57 -8
  16. package/build/cjs/types.js +1 -0
  17. package/build/cjs/version.js +1 -1
  18. package/build/ts/adapters/node/index.js +6 -0
  19. package/build/ts/adapters/node/index.js.map +1 -1
  20. package/build/ts/auth/admin/authenticate.d.ts +0 -2
  21. package/build/ts/auth/admin/authenticate.d.ts.map +1 -1
  22. package/build/ts/auth/admin/authenticate.js +13 -25
  23. package/build/ts/auth/admin/authenticate.js.map +1 -1
  24. package/build/ts/auth/admin/types.d.ts +32 -13
  25. package/build/ts/auth/admin/types.d.ts.map +1 -1
  26. package/build/ts/auth/const.d.ts +1 -2
  27. package/build/ts/auth/const.d.ts.map +1 -1
  28. package/build/ts/auth/const.js +2 -3
  29. package/build/ts/auth/const.js.map +1 -1
  30. package/build/ts/auth/helpers/add-response-headers.d.ts +2 -3
  31. package/build/ts/auth/helpers/add-response-headers.d.ts.map +1 -1
  32. package/build/ts/auth/helpers/add-response-headers.js +16 -49
  33. package/build/ts/auth/helpers/add-response-headers.js.map +1 -1
  34. package/build/ts/auth/helpers/app-bridge-url.d.ts +3 -0
  35. package/build/ts/auth/helpers/app-bridge-url.d.ts.map +1 -0
  36. package/build/ts/auth/helpers/app-bridge-url.js +14 -0
  37. package/build/ts/auth/helpers/app-bridge-url.js.map +1 -0
  38. package/build/ts/auth/helpers/ensure-cors-headers.d.ts +6 -0
  39. package/build/ts/auth/helpers/ensure-cors-headers.d.ts.map +1 -0
  40. package/build/ts/auth/helpers/ensure-cors-headers.js +19 -0
  41. package/build/ts/auth/helpers/ensure-cors-headers.js.map +1 -0
  42. package/build/ts/auth/helpers/index.d.ts +11 -7
  43. package/build/ts/auth/helpers/index.d.ts.map +1 -1
  44. package/build/ts/auth/helpers/index.js +12 -15
  45. package/build/ts/auth/helpers/index.js.map +1 -1
  46. package/build/ts/auth/helpers/redirect-with-app-bridge-headers.d.ts +1 -1
  47. package/build/ts/auth/helpers/redirect-with-app-bridge-headers.d.ts.map +1 -1
  48. package/build/ts/auth/helpers/redirect-with-app-bridge-headers.js +3 -7
  49. package/build/ts/auth/helpers/redirect-with-app-bridge-headers.js.map +1 -1
  50. package/build/ts/auth/helpers/respond-to-options-request.d.ts +3 -0
  51. package/build/ts/auth/helpers/respond-to-options-request.d.ts.map +1 -0
  52. package/build/ts/auth/helpers/respond-to-options-request.js +17 -0
  53. package/build/ts/auth/helpers/respond-to-options-request.js.map +1 -0
  54. package/build/ts/auth/login/login.d.ts.map +1 -1
  55. package/build/ts/auth/login/login.js +0 -4
  56. package/build/ts/auth/login/login.js.map +1 -1
  57. package/build/ts/auth/public/authenticate.d.ts.map +1 -1
  58. package/build/ts/auth/public/authenticate.js +2 -0
  59. package/build/ts/auth/public/authenticate.js.map +1 -1
  60. package/build/ts/auth/public/types.d.ts +25 -2
  61. package/build/ts/auth/public/types.d.ts.map +1 -1
  62. package/build/ts/billing/request.js +1 -1
  63. package/build/ts/billing/request.js.map +1 -1
  64. package/build/ts/billing/types.d.ts +20 -12
  65. package/build/ts/billing/types.d.ts.map +1 -1
  66. package/build/ts/boundary/error.d.ts +2 -0
  67. package/build/ts/boundary/error.d.ts.map +1 -0
  68. package/build/ts/boundary/error.js +11 -0
  69. package/build/ts/boundary/error.js.map +1 -0
  70. package/build/ts/boundary/headers.d.ts +3 -0
  71. package/build/ts/boundary/headers.d.ts.map +1 -0
  72. package/build/ts/boundary/headers.js +13 -0
  73. package/build/ts/boundary/headers.js.map +1 -0
  74. package/build/ts/boundary/types.d.ts +4 -0
  75. package/build/ts/boundary/types.d.ts.map +1 -0
  76. package/build/ts/boundary/types.js +3 -0
  77. package/build/ts/boundary/types.js.map +1 -0
  78. package/build/ts/config-types.d.ts +28 -18
  79. package/build/ts/config-types.d.ts.map +1 -1
  80. package/build/ts/index.d.ts +39 -1
  81. package/build/ts/index.d.ts.map +1 -1
  82. package/build/ts/index.js +56 -10
  83. package/build/ts/index.js.map +1 -1
  84. package/build/ts/types.d.ts +88 -122
  85. package/build/ts/types.d.ts.map +1 -1
  86. package/build/ts/types.js.map +1 -1
  87. package/build/ts/version.d.ts +1 -1
  88. package/build/ts/version.d.ts.map +1 -1
  89. package/build/ts/version.js +1 -1
  90. package/build/ts/version.js.map +1 -1
  91. package/build/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +1 -1
@@ -15,6 +15,7 @@ export declare enum AppDistribution {
15
15
  SingleMerchant = "single_merchant",
16
16
  ShopifyAdmin = "shopify_admin"
17
17
  }
18
+ export type MandatoryTopics = 'CUSTOMERS_DATA_REQUEST' | 'CUSTOMERS_REDACT' | 'SHOP_REDACT';
18
19
  interface JSONObject {
19
20
  [x: string]: JSONValue;
20
21
  }
@@ -29,34 +30,17 @@ export interface LoginError {
29
30
  shop?: LoginErrorType;
30
31
  }
31
32
  type Login = (request: Request) => Promise<LoginError | never>;
32
- type AddResponseHeaders = (request: Request, headers: Headers) => void;
33
+ type AddDocumentResponseHeaders = (request: Request, headers: Headers) => void;
33
34
  type AuthenticateAdmin<Config extends AppConfigArg, Resources extends ShopifyRestResources = ShopifyRestResources> = (request: Request) => Promise<AdminContext<Config, Resources>>;
34
35
  type AuthenticatePublic = (request: Request) => Promise<PublicContext>;
35
36
  type AuthenticateWebhook<Resources extends ShopifyRestResources = ShopifyRestResources, Topics = string | number | symbol> = (request: Request) => Promise<WebhookContext<Topics, Resources>>;
36
37
  type RestResourcesType<Config extends AppConfigArg> = Config['restResources'] extends ShopifyRestResources ? Config['restResources'] : ShopifyRestResources;
37
38
  type SessionStorageType<Config extends AppConfigArg> = Config['sessionStorage'] extends SessionStorage ? Config['sessionStorage'] : SessionStorage;
38
- /**
39
- * An object your app can use to interact with Shopify.
40
- *
41
- */
42
- export interface ShopifyApp<Config extends AppConfigArg> {
39
+ export interface ShopifyAppBase<Config extends AppConfigArg> {
43
40
  /**
44
41
  * The SessionStorage instance your app is using.
45
42
  *
46
- * If you passed in a custom SessionStorage instance, this will be that instance. If not, this will be an instance of `SQLiteSessionStorage`.
47
- *
48
- * @example
49
- * Defaulting to `SQLiteSessionStorage`
50
- * ```ts
51
- * // app/shopify.server.ts
52
- * import { shopifyApp } from "@shopify/shopify-app-remix";
53
- *
54
- * const shopify = shopifyApp({
55
- * // ...etc
56
- * })
57
- *
58
- * // shopify.sessionStorage is an instance of SQLiteSessionStorage
59
- * ```
43
+ * An instance of the SessionStorage class you passed in as a config option.
60
44
  *
61
45
  * @example
62
46
  * Using Prisma
@@ -75,43 +59,6 @@ export interface ShopifyApp<Config extends AppConfigArg> {
75
59
  * ```
76
60
  */
77
61
  sessionStorage: SessionStorageType<Config>;
78
- /**
79
- * Whether this app is allowed to display a login form to the merchant that calls shopify.login().
80
- *
81
- * If distribution is AppDistribution.ShopifyAdmin this is false.
82
- *
83
- * @example
84
- * Render a page containing a login form, only when allowed.
85
- * ```ts
86
- * // app/routes/*.ts
87
- * import { shopify } from "~/shopify.server";
88
- * import { Form, useLoaderData } from "@remix-run/react";
89
- *
90
- * export async function loader({ request }) {
91
- * return json({ showForm: shopify.canUseLoginForm });
92
- * }
93
- *
94
- * export default function Page() {
95
- * const { showForm } = useLoaderData();
96
- *
97
- * if (showForm) {
98
- * return (
99
- * <Form method="post" action="/auth/login">
100
- * <label>
101
- * <span>Shop domain</span>
102
- * <input type="text" name="shop" />
103
- * <span>e.g: my-shop-domain.myshopify.com</span>
104
- * </label>
105
- * <button type="submit">Log in</button>
106
- * </Form>
107
- * );
108
- * }
109
- *
110
- * return null;
111
- * }
112
- * ```
113
- */
114
- canUseLoginForm: boolean;
115
62
  /**
116
63
  * Adds the required Content Security Policy headers for Shopify apps to the given Headers object.
117
64
  *
@@ -123,12 +70,14 @@ export interface ShopifyApp<Config extends AppConfigArg> {
123
70
  * // ~/shopify.server.ts
124
71
  * import { shopifyApp } from "@shopify/shopify-app-remix";
125
72
  *
126
- * export const shopify = shopifyApp({
73
+ * const shopify = shopifyApp({
127
74
  * // ...etc
128
75
  * });
76
+ * export default shopify;
77
+ * export const addDocumentResponseheaders = shopify.addDocumentResponseheaders;
129
78
  *
130
79
  * // entry.server.tsx
131
- * import { shopify } from "~/shopify.server";
80
+ * import { addDocumentResponseHeaders } from "~/shopify.server";
132
81
  *
133
82
  * export default function handleRequest(
134
83
  * request: Request,
@@ -141,7 +90,7 @@ export interface ShopifyApp<Config extends AppConfigArg> {
141
90
  * );
142
91
  *
143
92
  * responseHeaders.set("Content-Type", "text/html");
144
- * shopify.addResponseHeaders(request, responseHeaders);
93
+ * addDocumentResponseHeaders(request, responseHeaders);
145
94
  *
146
95
  * return new Response("<!DOCTYPE html>" + markup, {
147
96
  * status: responseStatusCode,
@@ -150,7 +99,7 @@ export interface ShopifyApp<Config extends AppConfigArg> {
150
99
  * }
151
100
  * ```
152
101
  */
153
- addResponseHeaders: AddResponseHeaders;
102
+ addDocumentResponseHeaders: AddDocumentResponseHeaders;
154
103
  /**
155
104
  * Register webhook topics for a store using the given session. Most likely you want to use this in combination with the afterAuth hook.
156
105
  *
@@ -159,7 +108,7 @@ export interface ShopifyApp<Config extends AppConfigArg> {
159
108
  * ```ts
160
109
  * import { DeliveryMethod, shopifyApp } from "@shopify/shopify-app-remix";
161
110
  *
162
- * export const shopify = shopifyApp({
111
+ * const shopify = shopifyApp({
163
112
  * hooks: {
164
113
  * afterAuth: async ({ session }) => {
165
114
  * shopify.registerWebhooks({ session });
@@ -176,57 +125,6 @@ export interface ShopifyApp<Config extends AppConfigArg> {
176
125
  * ```
177
126
  */
178
127
  registerWebhooks: RegisterWebhooks;
179
- /**
180
- * Log a merchant in, and redirect them to the app root. Will redirect the merchant to authentication if a shop is
181
- * present in the URL search parameters or form data.
182
- *
183
- * @example
184
- * Providing a login form as a route that can handle GET and POST requests.
185
- * export async function loader({ request }: LoaderArgs) {
186
- * const errors = shopify.login(request);
187
- *
188
- * return json(errors);
189
- * }
190
- *
191
- * export async function action({ request }: ActionArgs) {
192
- * const errors = shopify.login(request);
193
- *
194
- * return json(errors);
195
- * }
196
- *
197
- * export default function Auth() {
198
- * const actionData = useActionData<typeof action>();
199
- * const [shop, setShop] = useState("");
200
- *
201
- * return (
202
- * <Page>
203
- * <Card>
204
- * <Form method="post">
205
- * <FormLayout>
206
- * <Text variant="headingMd" as="h2">
207
- * Login
208
- * </Text>
209
- * <TextField
210
- * type="text"
211
- * name="shop"
212
- * label="Shop domain"
213
- * helpText="e.g: my-shop-domain.myshopify.com"
214
- * value={shop}
215
- * onChange={setShop}
216
- * autoComplete="on"
217
- * error={actionData?.errors.shop}
218
- * />
219
- * <Button submit primary>
220
- * Submit
221
- * </Button>
222
- * </FormLayout>
223
- * </Form>
224
- * </Card>
225
- * </Page>
226
- * );
227
- * }
228
- */
229
- login: Login;
230
128
  /**
231
129
  * Ways to authenticate requests from different surfaces across Shopify.
232
130
  *
@@ -249,17 +147,19 @@ export interface ShopifyApp<Config extends AppConfigArg> {
249
147
  * import { LATEST_API_VERSION, shopifyApp } from "@shopify/shopify-app-remix";
250
148
  * import { restResources } from "@shopify/shopify-api/rest/admin/2023-04";
251
149
  *
252
- * export const shopify = shopifyApp({
150
+ * const shopify = shopifyApp({
253
151
  * restResources,
254
152
  * // ...etc
255
153
  * });
154
+ * export default shopify;
155
+ * export const authenticate = shopify.authenticate;
256
156
  *
257
157
  * // app/routes/**\/*.jsx
258
158
  * import { LoaderArgs, json } from "@remix-run/node";
259
- * import { shopify } from "../../shopify.server";
159
+ * import { authenticate } from "../../shopify.server";
260
160
  *
261
161
  * export async function loader({ request }: LoaderArgs) {
262
- * const {admin, session, sessionToken, billing} = shopify.authenticate.admin(request);
162
+ * const {admin, session, sessionToken, billing} = authenticate.admin(request);
263
163
  *
264
164
  * return json(await admin.rest.resources.Product.count({ session }));
265
165
  * }
@@ -280,11 +180,11 @@ export interface ShopifyApp<Config extends AppConfigArg> {
280
180
  * ```ts
281
181
  * // app/routes/api/checkout.jsx
282
182
  * import { LoaderArgs, json } from "@remix-run/node";
283
- * import { shopify } from "../../shopify.server";
183
+ * import { authenticate } from "../../shopify.server";
284
184
  * import { getWidgets } from "~/db/widgets";
285
185
  *
286
186
  * export async function loader({ request }: LoaderArgs) {
287
- * const {sessionToken} = shopify.authenticate.public(request);
187
+ * const {sessionToken} = authenticate.public(request);
288
188
  *
289
189
  * return json(await getWidgets(sessionToken));
290
190
  * }
@@ -307,7 +207,7 @@ export interface ShopifyApp<Config extends AppConfigArg> {
307
207
  * shopifyApp,
308
208
  * } from "@shopify/shopify-app-remix";
309
209
  *
310
- * export const shopify = shopifyApp({
210
+ * const shopify = shopifyApp({
311
211
  * webhooks: {
312
212
  * APP_UNINSTALLED: {
313
213
  * deliveryMethod: DeliveryMethod.Http,
@@ -321,14 +221,16 @@ export interface ShopifyApp<Config extends AppConfigArg> {
321
221
  * },
322
222
  * // ...etc
323
223
  * });
224
+ * export default shopify;
225
+ * export const authenticate = shopify.authenticate;
324
226
  *
325
227
  * // app/routes/webhooks.ts
326
228
  * import { ActionArgs } from "@remix-run/node";
327
- * import { shopify } from "../shopify.server";
229
+ * import { authenticate } from "../shopify.server";
328
230
  * import db from "../db.server";
329
231
  *
330
232
  * export const action = async ({ request }: ActionArgs) => {
331
- * const { topic, shop, admin, payload } = await shopify.authenticate.webhook(request);
233
+ * const { topic, shop, admin, payload } = await authenticate.webhook(request);
332
234
  *
333
235
  * switch (topic) {
334
236
  * case "APP_UNINSTALLED":
@@ -348,6 +250,70 @@ export interface ShopifyApp<Config extends AppConfigArg> {
348
250
  webhook: AuthenticateWebhook<RestResourcesType<Config>, keyof Config['webhooks'] | MandatoryTopics>;
349
251
  };
350
252
  }
351
- export type MandatoryTopics = 'CUSTOMERS_DATA_REQUEST' | 'CUSTOMERS_REDACT' | 'SHOP_REDACT';
253
+ interface ShopifyAppLogin {
254
+ /**
255
+ * Log a merchant in, and redirect them to the app root. Will redirect the merchant to authentication if a shop is
256
+ * present in the URL search parameters or form data.
257
+ *
258
+ * This function won't be present when the `distribution` config option is set to `AppDistribution.ShopifyAdmin`,
259
+ * because Admin apps aren't allowed to show a login page.
260
+ *
261
+ * @example
262
+ * Providing a login form as a route that can handle GET and POST requests.
263
+ * export async function loader({ request }: LoaderArgs) {
264
+ * const errors = shopify.login(request);
265
+ *
266
+ * return json(errors);
267
+ * }
268
+ *
269
+ * export async function action({ request }: ActionArgs) {
270
+ * const errors = shopify.login(request);
271
+ *
272
+ * return json(errors);
273
+ * }
274
+ *
275
+ * export default function Auth() {
276
+ * const actionData = useActionData<typeof action>();
277
+ * const [shop, setShop] = useState("");
278
+ *
279
+ * return (
280
+ * <Page>
281
+ * <Card>
282
+ * <Form method="post">
283
+ * <FormLayout>
284
+ * <Text variant="headingMd" as="h2">
285
+ * Login
286
+ * </Text>
287
+ * <TextField
288
+ * type="text"
289
+ * name="shop"
290
+ * label="Shop domain"
291
+ * helpText="e.g: my-shop-domain.myshopify.com"
292
+ * value={shop}
293
+ * onChange={setShop}
294
+ * autoComplete="on"
295
+ * error={actionData?.errors.shop}
296
+ * />
297
+ * <Button submit primary>
298
+ * Submit
299
+ * </Button>
300
+ * </FormLayout>
301
+ * </Form>
302
+ * </Card>
303
+ * </Page>
304
+ * );
305
+ * }
306
+ */
307
+ login: Login;
308
+ }
309
+ export type AdminApp<Config extends AppConfigArg> = ShopifyAppBase<Config>;
310
+ export type SingleMerchantApp<Config extends AppConfigArg> = ShopifyAppBase<Config> & ShopifyAppLogin;
311
+ export type AppStoreApp<Config extends AppConfigArg> = ShopifyAppBase<Config> & ShopifyAppLogin;
312
+ /**
313
+ * An object your app can use to interact with Shopify.
314
+ *
315
+ * By default, the app's distribution will be AppStore.
316
+ */
317
+ export type ShopifyApp<Config extends AppConfigArg> = Config['distribution'] extends AppDistribution.ShopifyAdmin ? AdminApp<Config> : Config['distribution'] extends AppDistribution.SingleMerchant ? SingleMerchantApp<Config> : Config['distribution'] extends AppDistribution.AppStore ? AppStoreApp<Config> : AppStoreApp<Config>;
352
318
  export {};
353
319
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA6BA,+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;AAYD,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/types.ts"],"names":[],"mappings":";;;AA6BA,+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,2 +1,2 @@
1
- export declare const SHOPIFY_REMIX_LIBRARY_VERSION = "1.0.0-rc.1";
1
+ export declare const SHOPIFY_REMIX_LIBRARY_VERSION = "1.0.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,eAAe,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,UAAU,CAAC"}
@@ -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 = '1.0.0-rc.1';
4
+ exports.SHOPIFY_REMIX_LIBRARY_VERSION = '1.0.0';
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,6BAA6B,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,6BAA6B,GAAG,OAAO,CAAC"}