@agnostack/next-shopify 1.7.11 → 1.7.12-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/handlers/ssr/protect.js +2 -2
- package/dist/handlers/ssr/protect.js.map +1 -1
- package/dist/handlers/ssr/wrap.d.ts +4 -3
- package/dist/handlers/ssr/wrap.js +5 -2
- package/dist/handlers/ssr/wrap.js.map +1 -1
- package/dist/utils/shopify.d.ts +3 -1
- package/dist/utils/shopify.js +5 -2
- package/dist/utils/shopify.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,7 +7,8 @@ const protectRoute = (props) => async ({ req, res, query, locale } = {}, data) =
|
|
|
7
7
|
const { PAGE_PATHS, API_PATHS } = props;
|
|
8
8
|
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;
|
|
9
9
|
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;
|
|
10
|
-
|
|
10
|
+
const { shopify, findSessionIds, loadSession } = await utils_1.getShopifyHelpers(props, { shop });
|
|
11
|
+
res.setHeader('Content-Security-Policy', utils_1.getSecurityHeader(shop, shopify.config));
|
|
11
12
|
if (utils_1.stringEmpty(shop)) {
|
|
12
13
|
return {
|
|
13
14
|
redirect: {
|
|
@@ -22,7 +23,6 @@ const protectRoute = (props) => async ({ req, res, query, locale } = {}, data) =
|
|
|
22
23
|
props: utils_1.cleanObject(Object.assign({ locale }, data)),
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
|
-
const { shopify, findSessionIds, loadSession } = await utils_1.getShopifyHelpers(props, { shop });
|
|
26
26
|
const existingSessionIds = await findSessionIds(shop);
|
|
27
27
|
if (utils_1.arrayEmpty(existingSessionIds)) {
|
|
28
28
|
// TODO: explore objectToQuerystring
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect.js","sourceRoot":"","sources":["../../../src/handlers/ssr/protect.js"],"names":[],"mappings":";;;AAAA,uCAUoB;AAEb,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE;;IACtF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IACvC,MAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,IAAI,CAAA;IAC3C,MAAM,QAAQ,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,QAAQ,CAAA;IAEvD,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,yBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"protect.js","sourceRoot":"","sources":["../../../src/handlers/ssr/protect.js"],"names":[],"mappings":";;;AAAA,uCAUoB;AAEb,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE;;IACtF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IACvC,MAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,IAAI,CAAA;IAC3C,MAAM,QAAQ,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,QAAQ,CAAA;IAEvD,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,yBAAiB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAEzF,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,yBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAEjF,IAAI,mBAAW,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO;YACL,QAAQ,EAAE;gBACR,WAAW,EAAE,GAAG,UAAU,CAAC,wBAAgB,CAAC,KAAK,CAAC,0CAA0C;gBAC5F,SAAS,EAAE,KAAK;aACjB;SACF,CAAA;KACF;IAED,6EAA6E;IAC7E,IAAI,wBAAgB,CAAC,KAAK,CAAC,EAAE;QAC3B,OAAO;YACL,KAAK,EAAE,mBAAW,iBAChB,MAAM,IACH,IAAI,EACP;SACH,CAAA;KACF;IAED,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;IAErD,IAAI,kBAAU,CAAC,kBAAkB,CAAC,EAAE;QAClC,oCAAoC;QACpC,MAAM,WAAW,GAAG,IAAI,eAAe,iCAAM,KAAK,KAAE,IAAI,IAAG,CAAC,QAAQ,EAAE,CAAA;QAEtE,OAAO;YACL,QAAQ,EAAE;gBACR,WAAW,EAAE,GAAG,SAAS,CAAC,uBAAe,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE;gBAChE,SAAS,EAAE,KAAK;aACjB;SACF,CAAA;KACF;IAED,IAAI,QAAQ,KAAK,GAAG,EAAE;QACpB,IAAI;YACF,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YAE/B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACvD,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,GAAG;aACjB,CAAC,CAAA;YAEF,OAAO;gBACL,QAAQ,EAAE;oBACR,WAAW;oBACX,SAAS,EAAE,KAAK;iBACjB;aACF,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,kCAA0B,EAAE;gBAC/C,yBAAyB;gBACzB,MAAM,WAAW,GAAG,IAAI,eAAe,iCAAM,KAAK,KAAE,IAAI,IAAG,CAAC,QAAQ,EAAE,CAAA;gBAEtE,OAAO;oBACL,QAAQ,EAAE;wBACR,WAAW,EAAE,GAAG,SAAS,CAAC,uBAAe,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE;wBAChE,SAAS,EAAE,KAAK;qBACjB;iBACF,CAAA;aACF;YAED,MAAM,KAAK,CAAA;SACZ;KACF;IAED,OAAO;QACL,KAAK,EAAE,mBAAW,iBAChB,MAAM,IACH,IAAI,EACP;KACH,CAAA;AACH,CAAC,CAAA;AAhFY,QAAA,YAAY,gBAgFxB"}
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.wrapRoute = void 0;
|
|
4
4
|
const utils_1 = require("../../utils");
|
|
5
|
-
const wrapRoute = () => ({ res, query, locale } = {}, data) => {
|
|
6
|
-
|
|
5
|
+
const wrapRoute = (props) => async ({ req, res, query, locale } = {}, data) => {
|
|
6
|
+
var _a, _b;
|
|
7
|
+
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;
|
|
8
|
+
const { shopify } = await utils_1.getShopifyHelpers(props, { shop });
|
|
9
|
+
res.setHeader('Content-Security-Policy', utils_1.getSecurityHeader(shop, shopify === null || shopify === void 0 ? void 0 : shopify.config));
|
|
7
10
|
return {
|
|
8
11
|
props: utils_1.cleanObject(Object.assign({ locale }, data)),
|
|
9
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../src/handlers/ssr/wrap.js"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../src/handlers/ssr/wrap.js"],"names":[],"mappings":";;;AAAA,uCAA+E;AAExE,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE;;IACnF,MAAM,IAAI,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,MAAA,GAAG,CAAC,KAAK,0CAAE,IAAI,CAAA;IAE3C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,yBAAiB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAE5D,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,yBAAiB,CAAC,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,CAAC,CAAA;IAElF,OAAO;QACL,KAAK,EAAE,mBAAW,iBAChB,MAAM,IACH,IAAI,EACP;KACH,CAAA;AACH,CAAC,CAAA;AAbY,QAAA,SAAS,aAarB"}
|
package/dist/utils/shopify.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export function getSecurityHeader(shop: any
|
|
1
|
+
export function getSecurityHeader(shop: any, { isEmbeddedApp }?: {
|
|
2
|
+
isEmbeddedApp: any;
|
|
3
|
+
}): string;
|
|
2
4
|
export function allowLocalBypass({ SHOPIFY_RUN_MODE, APP_CONFIG }?: {
|
|
3
5
|
SHOPIFY_RUN_MODE: any;
|
|
4
6
|
APP_CONFIG: any;
|
package/dist/utils/shopify.js
CHANGED
|
@@ -22,10 +22,13 @@ const js_base64_1 = require("js-base64");
|
|
|
22
22
|
const display_1 = require("./display");
|
|
23
23
|
const constants_1 = require("./constants");
|
|
24
24
|
const VALID_WEBHOOK_TOPICS = Object.keys(constants_1.API_WEBHOOK_TOPICS);
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
// NOTE rejection response shows accepted value is "frame-ancestors https://admin.shopify.com https://[shop].myshopify.com"
|
|
26
|
+
// NOTE cli-scaffolded app has encodeURIComponent(shop)
|
|
27
|
+
const getSecurityHeader = (shop, { isEmbeddedApp } = {}) => ((display_1.stringNotEmpty(shop) && display_1.isTrue(isEmbeddedApp))
|
|
28
|
+
? `frame-ancestors https://${encodeURIComponent(shop)} https://admin.shopify.com;`
|
|
27
29
|
: "frame-ancestors 'none';");
|
|
28
30
|
exports.getSecurityHeader = getSecurityHeader;
|
|
31
|
+
//frame-ancestors https://${encodeURIComponent(shop)} https://admin.shopify.com;
|
|
29
32
|
// NOTE: this should handle running in next to test non-shopify functionality
|
|
30
33
|
const allowLocalBypass = ({ SHOPIFY_RUN_MODE, APP_CONFIG } = {}) => ((SHOPIFY_RUN_MODE !== 'cli') &&
|
|
31
34
|
(!APP_CONFIG.apiSecretKey ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopify.js","sourceRoot":"","sources":["../../src/utils/shopify.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8CAA2C;AAC3C,sDAAiE;AAEjE,4DAAmC;AACnC,yCAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"shopify.js","sourceRoot":"","sources":["../../src/utils/shopify.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": "1.7.
|
|
3
|
+
"version": "1.7.12-alpha.2",
|
|
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",
|