@agnostack/next-shopify 2.0.14-alpha.8 → 2.0.14-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [2.0.14-alpha.9](https://github.com/agnostack/next-shopify/compare/v2.0.14-alpha.8...v2.0.14-alpha.9) (2024-10-06)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * protect route mods ([dadc019](https://github.com/agnostack/next-shopify/commit/dadc01900f7e449bf6dc11acc30415fd920ecd39))
7
+
1
8
  ## [2.0.14-alpha.8](https://github.com/agnostack/next-shopify/compare/v2.0.14-alpha.7...v2.0.14-alpha.8) (2024-10-06)
2
9
 
3
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/protect.js"],"names":[],"mappings":"AAqBO;;;;;;;;;;;;;;GAqKN"}
1
+ {"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/protect.js"],"names":[],"mappings":"AAqBO;;;;;;;;;;;;;;GAqJN"}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- // import chalk from 'chalk'
3
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -9,140 +8,119 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
10
9
  });
11
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
12
14
  Object.defineProperty(exports, "__esModule", { value: true });
13
15
  exports.protectRoute = void 0;
16
+ const chalk_1 = __importDefault(require("chalk"));
14
17
  const utils_1 = require("../../utils");
15
18
  const shared_1 = require("../../../shared");
16
19
  const protectRoute = (serverRuntimeConfig, props) => {
17
- const { PAGE_PATHS } = serverRuntimeConfig; // API_PATHS // PAYMENT_CONFIG
20
+ const { PAGE_PATHS, API_PATHS } = serverRuntimeConfig; // PAYMENT_CONFIG
18
21
  const prepareWebhookHandlers = (0, utils_1.getPrepareWebhookHandlers)(serverRuntimeConfig);
19
22
  return ({ req, res, query, locale, } = {}, data) => __awaiter(void 0, void 0, void 0, function* () {
20
- var _a, _b, _c, _d;
21
- try {
22
- const shop = (_a = query === null || query === void 0 ? void 0 : query.shop) !== null && _a !== void 0 ? _a : (_b = req.query) === null || _b === void 0 ? void 0 : _b.shop;
23
- // const embedded = query?.embedded ?? req.query?.embedded
24
- const idToken = (_c = query === null || query === void 0 ? void 0 : query.id_token) !== null && _c !== void 0 ? _c : (_d = req.query) === null || _d === void 0 ? void 0 : _d.id_token;
25
- if ((0, shared_1.stringEmpty)(shop)) {
23
+ var _a, _b, _c, _d, _e, _f;
24
+ const shop = (_a = query === null || query === void 0 ? void 0 : query.shop) !== null && _a !== void 0 ? _a : (_b = req.query) === null || _b === void 0 ? void 0 : _b.shop;
25
+ const embedded = (_c = query === null || query === void 0 ? void 0 : query.embedded) !== null && _c !== void 0 ? _c : (_d = req.query) === null || _d === void 0 ? void 0 : _d.embedded;
26
+ const idToken = (_e = query === null || query === void 0 ? void 0 : query.id_token) !== null && _e !== void 0 ? _e : (_f = req.query) === null || _f === void 0 ? void 0 : _f.id_token;
27
+ if ((0, shared_1.stringEmpty)(shop)) {
28
+ return {
29
+ redirect: {
30
+ destination: `${PAGE_PATHS[shared_1.PAGE_ROUTE_NAMES.ERROR]}?code=no_shop_provided&type=protectRoute`,
31
+ permanent: false,
32
+ },
33
+ };
34
+ }
35
+ // NOTE: this should handle running in next to test non-shopify functionality
36
+ const shouldBypassProtect = (0, utils_1.allowLocalBypass)(serverRuntimeConfig);
37
+ if (shouldBypassProtect) {
38
+ console.info(`${chalk_1.default.yellowBright('next-shopify')} - [${chalk_1.default.bold('protectRoute')}]: ${`Bypassing local protect - should ONLY happen when running in next to test non-shopify functionality!`}`);
39
+ return {
40
+ props: (0, shared_1.cleanObject)(Object.assign(Object.assign({ locale }, props), data), false, shared_1.stringEmptyOnly),
41
+ };
42
+ }
43
+ const { shopify, loadAppData, loadSession, findSessionIds, handleTokenExchange, encryptStoreSession, } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
44
+ if (shopify === null || shopify === void 0 ? void 0 : shopify.config) {
45
+ res.setHeader('Content-Security-Policy', (0, utils_1.getSecurityHeader)(shop, shopify.config));
46
+ }
47
+ // NOTE initial load
48
+ if ((embedded === 1) && (0, shared_1.stringNotEmpty)(idToken)) {
49
+ const { session: _offlineSession } = yield handleTokenExchange({ idToken });
50
+ const offlineSession = _offlineSession.toObject();
51
+ console.info(`>>> ~ offlineSession`, offlineSession);
52
+ // const { session: onlineSession } = await handleTokenExchange({ idToken, isOnline: true })
53
+ // console.info(`>>> ~ onlineSession`, onlineSession)
54
+ yield encryptStoreSession(offlineSession);
55
+ let appId;
56
+ try {
57
+ const { appInfo } = yield loadAppData();
58
+ appId = (0, shared_1.normalizeShopifyId)(appInfo === null || appInfo === void 0 ? void 0 : appInfo.id).id;
59
+ // eslint-disable-next-line no-empty
60
+ }
61
+ catch (_ignore) {
62
+ console.info('Ignoring error loading appData', _ignore);
63
+ }
64
+ // Register webhooks
65
+ const webhookHandlers = prepareWebhookHandlers({ appId });
66
+ shopify.webhooks.addHandlers(webhookHandlers);
67
+ // NOTE: webhooks cannot use an online session to make API calls to Shopify (but not all webooks may be doing that for all apps)
68
+ yield shopify.webhooks.register({ session: offlineSession });
69
+ // if (PAYMENT_CONFIG?.required) {
70
+ // // NOTE: handleEnsureBilling handles calling encryptStoreSession for offline session when shouldCheckBilling
71
+ // const confirmationUrl = await handleEnsureBilling(session, reAuth)
72
+ // if (stringNotEmpty(confirmationUrl)) {
73
+ // redirectUrl = confirmationUrl
74
+ // }
75
+ // }
76
+ }
77
+ else {
78
+ const existingSessionIds = yield findSessionIds(shop);
79
+ if ((0, shared_1.arrayEmpty)(existingSessionIds)) {
80
+ // TODO: explore objectToQuerystring
81
+ const queryParams = new URLSearchParams(Object.assign(Object.assign({}, query), { shop })).toString();
26
82
  return {
27
83
  redirect: {
28
- destination: `${PAGE_PATHS[shared_1.PAGE_ROUTE_NAMES.ERROR]}?code=no_shop_provided&type=protectRoute`,
84
+ destination: `${API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_ONLINE]}?${queryParams}`,
29
85
  permanent: false,
30
86
  },
31
87
  };
32
88
  }
33
- // // NOTE: this should handle running in next to test non-shopify functionality
34
- // const shouldBypassProtect = allowLocalBypass(serverRuntimeConfig)
35
- // if (shouldBypassProtect) {
36
- // console.info(`${chalk.yellowBright('next-shopify')} - [${chalk.bold('protectRoute')}]: ${
37
- // `Bypassing local protect - should ONLY happen when running in next to test non-shopify functionality!`
38
- // }`)
39
- // return {
40
- // props: cleanObject({
41
- // locale,
42
- // ...props,
43
- // ...data,
44
- // }, false, stringEmptyOnly),
45
- // }
46
- // }
47
- // findSessionIds, loadSession,
48
- const { shopify, loadAppData, encryptStoreSession, handleTokenExchange, } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
49
- if (shopify === null || shopify === void 0 ? void 0 : shopify.config) {
50
- res.setHeader('Content-Security-Policy', (0, utils_1.getSecurityHeader)(shop, shopify.config));
51
- }
52
- // NOTE initial load
53
- if ((0, shared_1.stringNotEmpty)(idToken)) {
54
- const { session: _offlineSession } = yield handleTokenExchange({ idToken });
55
- const offlineSession = _offlineSession.toObject();
56
- console.info(`>>> ~ offlineSession`, offlineSession);
57
- // const { session: onlineSession } = await handleTokenExchange({ idToken, isOnline: true })
58
- // console.info(`>>> ~ onlineSession`, onlineSession)
59
- yield encryptStoreSession(offlineSession);
60
- let appId;
61
- try {
62
- const { appInfo } = yield loadAppData();
63
- appId = (0, shared_1.normalizeShopifyId)(appInfo === null || appInfo === void 0 ? void 0 : appInfo.id).id;
64
- // eslint-disable-next-line no-empty
65
- }
66
- catch (_ignore) {
67
- console.info('Ignoring error loading appData', _ignore);
68
- }
69
- // Register webhooks
70
- const webhookHandlers = prepareWebhookHandlers({ appId });
71
- shopify.webhooks.addHandlers(webhookHandlers);
72
- // NOTE: webhooks cannot use an online session to make API calls to Shopify (but not all webooks may be doing that for all apps)
73
- yield shopify.webhooks.register({ session: offlineSession });
74
- // if (PAYMENT_CONFIG?.required) {
75
- // // NOTE: handleEnsureBilling handles calling encryptStoreSession for offline session when shouldCheckBilling
76
- // const confirmationUrl = await handleEnsureBilling(session, reAuth)
77
- // if (stringNotEmpty(confirmationUrl)) {
78
- // redirectUrl = confirmationUrl
79
- // }
80
- // }
81
- }
82
- /*
83
- const existingSessionIds = await findSessionIds(shop)
84
- if (arrayEmpty(existingSessionIds)) {
85
- // TODO: explore objectToQuerystring
86
- const queryParams = new URLSearchParams({ ...query, shop }).toString()
87
-
88
- return {
89
- redirect: {
90
- destination: `${API_PATHS[API_ROUTE_NAMES.AUTH_ONLINE]}?${queryParams}`,
91
- permanent: false,
92
- },
93
- }
94
- }
95
-
96
89
  if (embedded !== '1') {
97
- try {
98
- // NOTE: this does not work if called INSIDE of embedded
99
- await loadSession({ req, res })
100
-
101
- const destination = await shopify.auth.getEmbeddedAppUrl({
102
- rawRequest: req,
103
- rawResponse: res,
104
- })
105
-
106
- return {
107
- redirect: {
108
- destination,
109
- permanent: false,
110
- },
90
+ try {
91
+ // NOTE: this does not work if called INSIDE of embedded
92
+ yield loadSession({ req, res });
93
+ const destination = yield shopify.auth.getEmbeddedAppUrl({
94
+ rawRequest: req,
95
+ rawResponse: res,
96
+ });
97
+ return {
98
+ redirect: {
99
+ destination,
100
+ permanent: false,
101
+ },
102
+ };
111
103
  }
112
- } catch (error) {
113
- if (error instanceof ShopifyAuthenticationError) {
114
- // TODO: explore objectToQuerystring
115
- const queryParams = new URLSearchParams({
116
- ...query,
117
- shop,
118
- reAuth: (error instanceof ShopifySessionAuthenticationError),
119
- }).toString()
120
-
121
- return {
122
- redirect: {
123
- destination: `${API_PATHS[API_ROUTE_NAMES.AUTH_ONLINE]}?${queryParams}`,
124
- permanent: false,
125
- },
126
- }
104
+ catch (error) {
105
+ if (error instanceof shared_1.ShopifyAuthenticationError) {
106
+ // TODO: explore objectToQuerystring
107
+ const queryParams = new URLSearchParams(Object.assign(Object.assign({}, query), { shop, reAuth: (error instanceof shared_1.ShopifySessionAuthenticationError) })).toString();
108
+ return {
109
+ redirect: {
110
+ destination: `${API_PATHS[shared_1.API_ROUTE_NAMES.AUTH_ONLINE]}?${queryParams}`,
111
+ permanent: false,
112
+ },
113
+ };
114
+ }
115
+ console.error('Error protecting route.', error);
116
+ throw error;
127
117
  }
128
- console.error('Error protecting route.', error)
129
-
130
- throw error
131
- }
132
118
  }
133
- */
134
- const foo = (0, shared_1.cleanObject)(Object.assign(Object.assign({ locale }, props), data), false, shared_1.stringEmptyOnly);
135
- return {
136
- props: foo,
137
- };
138
- }
139
- catch (error) {
140
- console.error(`>>> ~ error`, error);
141
- const foo = (0, shared_1.cleanObject)(Object.assign(Object.assign({ locale }, props), data), false, shared_1.stringEmptyOnly);
142
- return {
143
- props: foo,
144
- };
145
119
  }
120
+ const foo = (0, shared_1.cleanObject)(Object.assign(Object.assign({ locale }, props), data), false, shared_1.stringEmptyOnly);
121
+ return {
122
+ props: foo,
123
+ };
146
124
  });
147
125
  };
148
126
  exports.protectRoute = protectRoute;
@@ -1 +1 @@
1
- {"version":3,"file":"protect.js","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/protect.js"],"names":[],"mappings":";AAAA,4BAA4B;;;;;;;;;;;;AAE5B,uCAKoB;AACpB,4CAWwB;AAEjB,MAAM,YAAY,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE;IACzD,MAAM,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAA,CAAC,8BAA8B;IAEzE,MAAM,sBAAsB,GAAG,IAAA,iCAAyB,EAAC,mBAAmB,CAAC,CAAA;IAE7E,OAAO,CAAO,EACZ,GAAG,EACH,GAAG,EACH,KAAK,EACL,MAAM,GACP,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE;;QACd,IAAI;YACF,MAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,IAAI,CAAA;YAC3C,0DAA0D;YAC1D,MAAM,OAAO,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,QAAQ,CAAA;YAEtD,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,EAAE;gBACrB,OAAO;oBACL,QAAQ,EAAE;wBACR,WAAW,EAAE,GAAG,UAAU,CAAC,yBAAgB,CAAC,KAAK,CAAC,0CAA0C;wBAC5F,SAAS,EAAE,KAAK;qBACjB;iBACF,CAAA;aACF;YAED,gFAAgF;YAChF,oEAAoE;YACpE,6BAA6B;YAC7B,8FAA8F;YAC9F,6GAA6G;YAC7G,QAAQ;YAER,aAAa;YACb,2BAA2B;YAC3B,gBAAgB;YAChB,kBAAkB;YAClB,iBAAiB;YACjB,kCAAkC;YAClC,MAAM;YACN,IAAI;YAEJ,gCAAgC;YAChC,MAAM,EACJ,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,mBAAmB,GACpB,GAAG,MAAM,IAAA,yBAAiB,EAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YAE1D,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;gBACnB,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,IAAA,yBAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;aAClF;YAED,oBAAoB;YACpB,IAAI,IAAA,uBAAc,EAAC,OAAO,CAAC,EAAE;gBAC3B,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;gBAC3E,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAA;gBACjD,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAA;gBACpD,4FAA4F;gBAC5F,qDAAqD;gBAErD,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAA;gBAEzC,IAAI,KAAK,CAAA;gBACT,IAAI;oBACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,EAAE,CAAA;oBACvC,KAAK,GAAG,IAAA,2BAAkB,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,CAAC,CAAC,EAAE,CAAA;oBAC5C,oCAAoC;iBACnC;gBAAC,OAAO,OAAO,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAA;iBACxD;gBAED,oBAAoB;gBACpB,MAAM,eAAe,GAAG,sBAAsB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;gBACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;gBAC7C,gIAAgI;gBAChI,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;gBAE5D,kCAAkC;gBAClC,iHAAiH;gBACjH,uEAAuE;gBAEvE,2CAA2C;gBAC3C,oCAAoC;gBACpC,MAAM;gBACN,IAAI;aAGL;YAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAmDI;YAEJ,MAAM,GAAG,GAAG,IAAA,oBAAW,gCACrB,MAAM,IACH,KAAK,GACL,IAAI,GACN,KAAK,EAAE,wBAAe,CAAC,CAAA;YAE1B,OAAO;gBACL,KAAK,EAAE,GAAG;aACX,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;YACnC,MAAM,GAAG,GAAG,IAAA,oBAAW,gCACrB,MAAM,IACH,KAAK,GACL,IAAI,GACN,KAAK,EAAE,wBAAe,CAAC,CAAA;YAE1B,OAAO;gBACL,KAAK,EAAE,GAAG;aACX,CAAA;SACF;IACH,CAAC,CAAA,CAAA;AACH,CAAC,CAAA;AArKY,QAAA,YAAY,gBAqKxB"}
1
+ {"version":3,"file":"protect.js","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/protect.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agnostack/next-shopify",
3
- "version": "2.0.14-alpha.8",
3
+ "version": "2.0.14-alpha.9",
4
4
  "author": "agnoStack Dev <developers@agnostack.com> (https://agnostack.com)",
5
5
  "owner": "agnoStack",
6
6
  "description": "Please contact agnoStack via info@agnostack.com for any questions",