@agnostack/next-shopify 1.9.1 → 1.9.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/CHANGELOG.md +7 -0
- package/dist/lib/handlers/api/proxy.js +3 -3
- package/dist/lib/handlers/api/proxy.js.map +1 -1
- package/dist/lib/index.d.ts +0 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/utils/shopify-api-js/oauth.js +2 -2
- package/dist/lib/utils/shopify-api-js/oauth.js.map +1 -1
- package/dist/lib/utils/shopify.d.ts +0 -19
- package/dist/lib/utils/shopify.d.ts.map +1 -1
- package/dist/lib/utils/shopify.js +1 -48
- package/dist/lib/utils/shopify.js.map +1 -1
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/shopify.d.ts +24 -0
- package/dist/shared/shopify.d.ts.map +1 -0
- package/dist/shared/shopify.js +61 -0
- package/dist/shared/shopify.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [1.9.2](https://github.com/agnostack/next-shopify/compare/v1.9.1...v1.9.2) (2023-07-05)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* add shopify runtime helpers ([f6e0888](https://github.com/agnostack/next-shopify/commit/f6e08881a83a709b645d8919d02423808ff86cab))
|
|
7
|
+
|
|
1
8
|
## [1.9.1](https://github.com/agnostack/next-shopify/compare/v1.9.0...v1.9.1) (2023-07-05)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -36,7 +36,7 @@ const handleProxy = (serverRuntimeConfig) => (req, res, _params) => tslib_1.__aw
|
|
|
36
36
|
catch (ignore) {
|
|
37
37
|
console.log('Ignoring error decoding origin', ignore);
|
|
38
38
|
}
|
|
39
|
-
if (_shop && (0, shared_1.stringNotEmpty)((_a = (0,
|
|
39
|
+
if (_shop && (0, shared_1.stringNotEmpty)((_a = (0, shared_1.getSanitizedShopData)(_shop)) === null || _a === void 0 ? void 0 : _a.shop)) {
|
|
40
40
|
return callback(null, true);
|
|
41
41
|
}
|
|
42
42
|
return callback(new Error('Invalid CORS origin'));
|
|
@@ -56,7 +56,7 @@ const handleProxy = (serverRuntimeConfig) => (req, res, _params) => tslib_1.__aw
|
|
|
56
56
|
const { signature, proxyEncoded } = query, verifiable = tslib_1.__rest(query, ["signature", "proxyEncoded"]);
|
|
57
57
|
const { shop: _shop, host: _host, timestamp, path_prefix } = verifiable;
|
|
58
58
|
const isShopifyOriginOrRelative = (0, shared_1.stringNotEmpty)((0, shared_1.ensureString)(path_prefix).startsWith('http')
|
|
59
|
-
? (_a = (0,
|
|
59
|
+
? (_a = (0, shared_1.getSanitizedShopData)(new URL(path_prefix).hostname)) === null || _a === void 0 ? void 0 : _a.shop
|
|
60
60
|
: path_prefix);
|
|
61
61
|
// TODO: explore moving this to sessionToken middleware??
|
|
62
62
|
const _b = _headers !== null && _headers !== void 0 ? _headers : {}, { 'x-extension-session': sessionToken, 'x-extension-point': extensionPoint } = _b, __headers = tslib_1.__rest(_b, ['x-extension-session', 'x-extension-point']);
|
|
@@ -68,7 +68,7 @@ const handleProxy = (serverRuntimeConfig) => (req, res, _params) => tslib_1.__aw
|
|
|
68
68
|
}
|
|
69
69
|
if (sessionToken) {
|
|
70
70
|
// NOTE: this does not contain sid for some reason (presuming permission approval)
|
|
71
|
-
const { shop, host } = (0,
|
|
71
|
+
const { shop, host } = (0, shared_1.decodeShopData)(sessionToken);
|
|
72
72
|
if ((shop !== _shop) || (host !== _host)) {
|
|
73
73
|
return res.status(403).json({ message: 'Unauthorized shop or host.' });
|
|
74
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/proxy.js"],"names":[],"mappings":";;;;AAAA,sDAAsD;AACtD,gDAAgD;AAChD,oEAAkC;AAClC,sEAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/proxy.js"],"names":[],"mappings":"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"}
|
package/dist/lib/index.d.ts
CHANGED
package/dist/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getShopifyHelpers = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
tslib_1.__exportStar(require("../shared"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./handlers"), exports);
|
|
@@ -8,7 +8,4 @@ tslib_1.__exportStar(require("./withShopify"), exports);
|
|
|
8
8
|
tslib_1.__exportStar(require("./utils/graph"), exports);
|
|
9
9
|
var session_1 = require("./utils/session");
|
|
10
10
|
Object.defineProperty(exports, "getShopifyHelpers", { enumerable: true, get: function () { return session_1.getShopifyHelpers; } });
|
|
11
|
-
var shopify_1 = require("./utils/shopify");
|
|
12
|
-
Object.defineProperty(exports, "getSanitizedShopData", { enumerable: true, get: function () { return shopify_1.getSanitizedShopData; } });
|
|
13
|
-
Object.defineProperty(exports, "decodeShopData", { enumerable: true, get: function () { return shopify_1.decodeShopData; } });
|
|
14
11
|
//# sourceMappingURL=index.js.map
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;AAAA,oDAAyB;AACzB,qDAA0B;AAC1B,wDAA6B;AAC7B,wDAA6B;AAC7B,2CAAmD;AAA1C,4GAAA,iBAAiB,OAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;AAAA,oDAAyB;AACzB,qDAA0B;AAC1B,wDAA6B;AAC7B,wDAA6B;AAC7B,2CAAmD;AAA1C,4GAAA,iBAAiB,OAAA"}
|
|
@@ -6,7 +6,7 @@ const isbot_1 = tslib_1.__importDefault(require("isbot"));
|
|
|
6
6
|
const runtime_1 = require("@shopify/shopify-api/runtime");
|
|
7
7
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
8
8
|
const crypto_1 = require("../crypto");
|
|
9
|
-
const
|
|
9
|
+
const shared_1 = require("../../../shared");
|
|
10
10
|
// NOTE this is a custom implementation of shopify.auth.begin from @shopify/shopify-api
|
|
11
11
|
// for leveraging a custom auth state
|
|
12
12
|
const beginAuth = (_a) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -27,7 +27,7 @@ const beginAuth = (_a) => tslib_1.__awaiter(void 0, void 0, void 0, function* ()
|
|
|
27
27
|
keys: [config.apiSecretKey],
|
|
28
28
|
secure: true,
|
|
29
29
|
});
|
|
30
|
-
const { shop } = (0,
|
|
30
|
+
const { shop } = (0, shared_1.getSanitizedShopData)(shopProp);
|
|
31
31
|
const state = stateProp !== null && stateProp !== void 0 ? stateProp : (0, crypto_1.getNonce)();
|
|
32
32
|
yield cookies.setAndSign(shopify_api_1.STATE_COOKIE_NAME, state, {
|
|
33
33
|
expires: new Date(Date.now() + 60000),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../../src/lib/utils/shopify-api-js/oauth.js"],"names":[],"mappings":";;;;AAAA,0DAAyB;AACzB,0DAKqC;AACrC,sDAG6B;AAE7B,sCAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../../src/lib/utils/shopify-api-js/oauth.js"],"names":[],"mappings":";;;;AAAA,0DAAyB;AACzB,0DAKqC;AACrC,sDAG6B;AAE7B,sCAAoC;AACpC,4CAAsD;AAEtD,uFAAuF;AACvF,qCAAqC;AAC9B,MAAM,SAAS,GAAG,CAAO,EAO/B,EAAE,EAAE;QAP2B,EAC9B,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,OAEjB,EADI,WAAW,sBANgB,uDAO/B,CADe;IAEd,IAAI,MAAM,CAAC,gBAAgB,EAAE;QAC3B,MAAM,IAAI,6BAAe,CAAC,uCAAuC,CAAC,CAAA;KACnE;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAsB,EAAC,WAAW,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,MAAM,IAAA,yCAA+B,EAAC,WAAW,CAAC,CAAA;IAEnE,IAAI,IAAA,eAAK,EAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE;YACjD,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;SACzC,CAAC,CAAA;QACF,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;QACzB,OAAO,IAAA,iCAAuB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;KACtD;IAED,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,EAAE,QAAQ,EAAE;QAC7C,IAAI,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3B,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IAEF,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,6BAAoB,EAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAA,iBAAQ,GAAE,CAAA;IAErC,MAAM,OAAO,CAAC,UAAU,CAAC,+BAAiB,EAAE,KAAK,EAAE;QACjD,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACrC,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,YAAY;KACnB,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC,MAAM;QACxB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC/B,YAAY,EAAE,GAAG,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,QAAQ,GAAG,YAAY,EAAE;QACxE,KAAK;QACL,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;KAC9C,CAAC,CAAC,QAAQ,EAAE,CAAA;IAEb,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;IACzB,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,iDACX,QAAQ,CAAC,OAAO,GAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,KAC3B,QAAQ,EAAE,WAAW,IAAI,0BAA0B,WAAW,EAAE,GACjE,CAAA;IAED,OAAO,IAAA,iCAAuB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;AACvD,CAAC,CAAA,CAAA;AAvDY,QAAA,SAAS,aAuDrB"}
|
|
@@ -5,25 +5,6 @@ export function allowLocalBypass({ SHOPIFY_RUN_MODE, APP_CONFIG }?: {
|
|
|
5
5
|
SHOPIFY_RUN_MODE: any;
|
|
6
6
|
APP_CONFIG: any;
|
|
7
7
|
}): boolean;
|
|
8
|
-
export function getSanitizedShopData(shop: any, customDomains: any): {
|
|
9
|
-
shop: string;
|
|
10
|
-
store_name: string;
|
|
11
|
-
};
|
|
12
|
-
export function decodeShopData(token: any): {
|
|
13
|
-
token?: undefined;
|
|
14
|
-
dest?: undefined;
|
|
15
|
-
sid?: undefined;
|
|
16
|
-
shop?: undefined;
|
|
17
|
-
host?: undefined;
|
|
18
|
-
store_name?: undefined;
|
|
19
|
-
} | {
|
|
20
|
-
token: any;
|
|
21
|
-
dest: any;
|
|
22
|
-
sid: any;
|
|
23
|
-
shop: string;
|
|
24
|
-
host: any;
|
|
25
|
-
store_name: string;
|
|
26
|
-
};
|
|
27
8
|
export function getInitializedShopify(props: any): import("@shopify/shopify-api").Shopify<import("@shopify/shopify-api").ShopifyRestResources> | undefined;
|
|
28
9
|
export function getWebhookHandlers({ APP_WEBHOOKS }?: {
|
|
29
10
|
APP_WEBHOOKS: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopify.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/shopify.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shopify.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/shopify.js"],"names":[],"mappings":"AAkBO;;WAIN;AAGM;;;YAQN;AAEM,2JAON;AAEM;;OA8DN;AAEM;;;QAYN;AAEM;;;;;;;;;;EAiBN;AAED,uEAMC"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SHOP_QUERY = exports.getAuthErrorResponse = exports.getCallback = exports.getWebhookHandlers = exports.getInitializedShopify = exports.
|
|
3
|
+
exports.SHOP_QUERY = exports.getAuthErrorResponse = exports.getCallback = exports.getWebhookHandlers = exports.getInitializedShopify = exports.allowLocalBypass = exports.getSecurityHeader = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
6
|
require("@shopify/shopify-api/adapters/node");
|
|
7
7
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
8
|
-
const jwt_decode_1 = tslib_1.__importDefault(require("jwt-decode"));
|
|
9
|
-
const js_base64_1 = require("js-base64");
|
|
10
8
|
const shared_1 = require("../../shared");
|
|
11
9
|
const VALID_WEBHOOK_TOPICS = Object.keys(shared_1.API_WEBHOOK_TOPICS);
|
|
12
10
|
// NOTE rejection response shows accepted value is "frame-ancestors https://admin.shopify.com https://[shop].myshopify.com"
|
|
@@ -21,51 +19,6 @@ const allowLocalBypass = ({ SHOPIFY_RUN_MODE, APP_CONFIG } = {}) => ((SHOPIFY_RU
|
|
|
21
19
|
!APP_CONFIG.apiKey ||
|
|
22
20
|
!APP_CONFIG.scopes));
|
|
23
21
|
exports.allowLocalBypass = allowLocalBypass;
|
|
24
|
-
// NOTE: This is a semi-replica of shopify-api-node/src/utils/shop-validator.ts
|
|
25
|
-
const getSanitizedShopData = (shop, customDomains) => {
|
|
26
|
-
var _a;
|
|
27
|
-
const domainsRegex = (0, shared_1.ensureArray)(customDomains).reduce((_domainsRegex, customDomain) => {
|
|
28
|
-
var _a;
|
|
29
|
-
return ([
|
|
30
|
-
..._domainsRegex,
|
|
31
|
-
(_a = customDomain === null || customDomain === void 0 ? void 0 : customDomain.source) !== null && _a !== void 0 ? _a : customDomain
|
|
32
|
-
]);
|
|
33
|
-
}, ['myshopify\\.com', 'myshopify\\.io']); // HMMM: do we need to add: shopify\\.com
|
|
34
|
-
const shopUrlRegex = new RegExp(`^([a-zA-Z0-9][a-zA-Z0-9-_]*)\\.(${domainsRegex.join('|')})[/]*$`);
|
|
35
|
-
const [sanitizedShop, store_name] = (_a = (0, shared_1.ensureString)(shop).match(shopUrlRegex)) !== null && _a !== void 0 ? _a : [];
|
|
36
|
-
return {
|
|
37
|
-
shop: sanitizedShop,
|
|
38
|
-
store_name,
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
exports.getSanitizedShopData = getSanitizedShopData;
|
|
42
|
-
const decodeShopData = (token) => {
|
|
43
|
-
if ((0, shared_1.stringEmpty)(token)) {
|
|
44
|
-
return {};
|
|
45
|
-
}
|
|
46
|
-
const { dest, sid } = (0, jwt_decode_1.default)(token.replace('Bearer '));
|
|
47
|
-
if ((0, shared_1.stringEmpty)(dest)) {
|
|
48
|
-
return {};
|
|
49
|
-
}
|
|
50
|
-
let _shop;
|
|
51
|
-
try {
|
|
52
|
-
_shop = dest.startsWith('http') ? new URL(dest).hostname : undefined;
|
|
53
|
-
}
|
|
54
|
-
catch (ignore) {
|
|
55
|
-
console.log('Ignoring error decoding dest', ignore);
|
|
56
|
-
}
|
|
57
|
-
const { shop, store_name, } = (0, exports.getSanitizedShopData)(_shop !== null && _shop !== void 0 ? _shop : dest);
|
|
58
|
-
const host = (0, shared_1.stringNotEmpty)(shop) ? (0, js_base64_1.encode)(`${shop}/admin`) : undefined;
|
|
59
|
-
return {
|
|
60
|
-
token,
|
|
61
|
-
dest,
|
|
62
|
-
sid,
|
|
63
|
-
shop,
|
|
64
|
-
host,
|
|
65
|
-
store_name,
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
exports.decodeShopData = decodeShopData;
|
|
69
22
|
const getInitializedShopify = (props) => {
|
|
70
23
|
// NOTE: this should handle running in next to test non-shopify functionality
|
|
71
24
|
if ((0, exports.allowLocalBypass)(props)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopify.js","sourceRoot":"","sources":["../../../src/lib/utils/shopify.js"],"names":[],"mappings":";;;;AAAA,0DAAyB;AAEzB,8CAA2C;AAC3C,sDAAiE;AAEjE,
|
|
1
|
+
{"version":3,"file":"shopify.js","sourceRoot":"","sources":["../../../src/lib/utils/shopify.js"],"names":[],"mappings":"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"}
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
package/dist/shared/index.js
CHANGED
|
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./constants"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./display"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./errors"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./shopify"), exports);
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/shared/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,oDAAyB;AACzB,mDAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,oDAAyB;AACzB,mDAAwB;AACxB,oDAAyB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function getSanitizedShopData(shop: any, customDomains: any): {
|
|
2
|
+
shop: string;
|
|
3
|
+
store_name: string;
|
|
4
|
+
};
|
|
5
|
+
export function sanitizeShop(shop: any, { throwOnInvalid, customDomains }?: {
|
|
6
|
+
throwOnInvalid: any;
|
|
7
|
+
customDomains: any;
|
|
8
|
+
}): string;
|
|
9
|
+
export function decodeShopData(token: any): {
|
|
10
|
+
token?: undefined;
|
|
11
|
+
dest?: undefined;
|
|
12
|
+
sid?: undefined;
|
|
13
|
+
shop?: undefined;
|
|
14
|
+
host?: undefined;
|
|
15
|
+
store_name?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
token: any;
|
|
18
|
+
dest: any;
|
|
19
|
+
sid: any;
|
|
20
|
+
shop: string;
|
|
21
|
+
host: any;
|
|
22
|
+
store_name: string;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=shopify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shopify.d.ts","sourceRoot":"","sources":["../../src/shared/shopify.js"],"names":[],"mappings":"AAMO;;;EAcN;AAEM;;;WAQN;AAEM;;;;;;;;;;;;;;EA+BN"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeShopData = exports.sanitizeShop = exports.getSanitizedShopData = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jwt_decode_1 = tslib_1.__importDefault(require("jwt-decode"));
|
|
6
|
+
const js_base64_1 = require("js-base64");
|
|
7
|
+
const display_1 = require("./display");
|
|
8
|
+
// NOTE: This is a semi-replica of shopify-api-node/src/utils/shop-validator.ts
|
|
9
|
+
const getSanitizedShopData = (shop, customDomains) => {
|
|
10
|
+
var _a;
|
|
11
|
+
const domainsRegex = (0, display_1.ensureArray)(customDomains).reduce((_domainsRegex, customDomain) => {
|
|
12
|
+
var _a;
|
|
13
|
+
return ([
|
|
14
|
+
..._domainsRegex,
|
|
15
|
+
(_a = customDomain === null || customDomain === void 0 ? void 0 : customDomain.source) !== null && _a !== void 0 ? _a : customDomain
|
|
16
|
+
]);
|
|
17
|
+
}, ['myshopify\\.com', 'myshopify\\.io']); // HMMM: do we need to add: shopify\\.com
|
|
18
|
+
const shopUrlRegex = new RegExp(`^([a-zA-Z0-9][a-zA-Z0-9-_]*)\\.(${domainsRegex.join('|')})[/]*$`);
|
|
19
|
+
const [sanitizedShop, store_name] = (_a = (0, display_1.ensureString)(shop).match(shopUrlRegex)) !== null && _a !== void 0 ? _a : [];
|
|
20
|
+
return {
|
|
21
|
+
shop: sanitizedShop,
|
|
22
|
+
store_name,
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
exports.getSanitizedShopData = getSanitizedShopData;
|
|
26
|
+
const sanitizeShop = (shop, { throwOnInvalid, customDomains } = {}) => {
|
|
27
|
+
const { shop: sanitizedShop } = (0, exports.getSanitizedShopData)(shop, customDomains);
|
|
28
|
+
if ((0, display_1.stringEmpty)(sanitizedShop) && throwOnInvalid) {
|
|
29
|
+
throw new Error('Received invalid shop argument');
|
|
30
|
+
}
|
|
31
|
+
return sanitizedShop;
|
|
32
|
+
};
|
|
33
|
+
exports.sanitizeShop = sanitizeShop;
|
|
34
|
+
const decodeShopData = (token) => {
|
|
35
|
+
if ((0, display_1.stringEmpty)(token)) {
|
|
36
|
+
return {};
|
|
37
|
+
}
|
|
38
|
+
const { dest, sid } = (0, jwt_decode_1.default)(token.replace('Bearer '));
|
|
39
|
+
if ((0, display_1.stringEmpty)(dest)) {
|
|
40
|
+
return {};
|
|
41
|
+
}
|
|
42
|
+
let _shop;
|
|
43
|
+
try {
|
|
44
|
+
_shop = dest.startsWith('http') ? new URL(dest).hostname : undefined;
|
|
45
|
+
}
|
|
46
|
+
catch (ignore) {
|
|
47
|
+
console.log('Ignoring error decoding dest', ignore);
|
|
48
|
+
}
|
|
49
|
+
const { shop, store_name, } = (0, exports.getSanitizedShopData)(_shop !== null && _shop !== void 0 ? _shop : dest);
|
|
50
|
+
const host = (0, display_1.stringNotEmpty)(shop) ? (0, js_base64_1.encode)(`${shop}/admin`) : undefined;
|
|
51
|
+
return {
|
|
52
|
+
token,
|
|
53
|
+
dest,
|
|
54
|
+
sid,
|
|
55
|
+
shop,
|
|
56
|
+
host,
|
|
57
|
+
store_name,
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
exports.decodeShopData = decodeShopData;
|
|
61
|
+
//# sourceMappingURL=shopify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shopify.js","sourceRoot":"","sources":["../../src/shared/shopify.js"],"names":[],"mappings":";;;;AAAA,oEAAmC;AACnC,yCAAkC;AAElC,uCAAkF;AAElF,+EAA+E;AACxE,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE;;IAC1D,MAAM,YAAY,GAAG,IAAA,qBAAW,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE;;QAAC,OAAA,CAAC;YACvF,GAAG,aAAa;YAChB,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,mCAAI,YAAY;SACrC,CAAC,CAAA;KAAA,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAA,CAAC,yCAAyC;IAEpF,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,mCAAmC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAElG,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,MAAA,IAAA,sBAAY,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,mCAAI,EAAE,CAAA;IAEhF,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,UAAU;KACX,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,oBAAoB,wBAchC;AAEM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,EAAE;IAC3E,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAA,4BAAoB,EAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IAEzE,IAAI,IAAA,qBAAW,EAAC,aAAa,CAAC,IAAI,cAAc,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;KAClD;IAED,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AARY,QAAA,YAAY,gBAQxB;AAEM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,EAAE;IACtC,IAAI,IAAA,qBAAW,EAAC,KAAK,CAAC,EAAE;QACtB,OAAO,EAAE,CAAA;KACV;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAA,oBAAU,EAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;IAC1D,IAAI,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE;QACrB,OAAO,EAAE,CAAA;KACV;IAED,IAAI,KAAK,CAAA;IACT,IAAI;QACF,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;KACrE;IAAC,OAAO,MAAM,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAA;KACpD;IAED,MAAM,EACJ,IAAI,EACJ,UAAU,GACV,GAAG,IAAA,4BAAoB,EAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,IAAA,wBAAc,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAM,EAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEvE,OAAO;QACL,KAAK;QACL,IAAI;QACJ,GAAG;QACH,IAAI;QACJ,IAAI;QACJ,UAAU;KACX,CAAA;AACH,CAAC,CAAA;AA/BY,QAAA,cAAc,kBA+B1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agnostack/next-shopify",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.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",
|