@shopify/shopify-api 11.8.1 → 11.10.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.
- package/dist/cjs/adapters/mock/mock_test_requests.js +1 -18
- package/dist/cjs/adapters/mock/mock_test_requests.js.map +1 -1
- package/dist/cjs/lib/auth/index.js +2 -0
- package/dist/cjs/lib/auth/index.js.map +1 -1
- package/dist/cjs/lib/auth/oauth/client-credentials.js +43 -0
- package/dist/cjs/lib/auth/oauth/client-credentials.js.map +1 -0
- package/dist/cjs/lib/auth/oauth/create-session.js +25 -28
- package/dist/cjs/lib/auth/oauth/create-session.js.map +1 -1
- package/dist/cjs/lib/billing/check.js +4 -0
- package/dist/cjs/lib/billing/check.js.map +1 -1
- package/dist/cjs/lib/billing/create-usage-record.js +5 -1
- package/dist/cjs/lib/billing/create-usage-record.js.map +1 -1
- package/dist/cjs/lib/billing/subscriptions.js +13 -1
- package/dist/cjs/lib/billing/subscriptions.js.map +1 -1
- package/dist/cjs/lib/billing/update-usage-subscription-capped-amount.js +6 -1
- package/dist/cjs/lib/billing/update-usage-subscription-capped-amount.js.map +1 -1
- package/dist/cjs/lib/billing/utils.js +61 -0
- package/dist/cjs/lib/billing/utils.js.map +1 -0
- package/dist/cjs/lib/clients/index.js +4 -4
- package/dist/cjs/lib/clients/index.js.map +1 -1
- package/dist/cjs/lib/index.js +16 -16
- package/dist/cjs/lib/session/session.js +2 -2
- package/dist/cjs/lib/session/session.js.map +1 -1
- package/dist/cjs/lib/utils/fetch-request.js +4 -4
- package/dist/cjs/lib/utils/fetch-request.js.map +1 -1
- package/dist/cjs/lib/utils/hmac-validator.js +9 -9
- package/dist/cjs/lib/utils/hmac-validator.js.map +1 -1
- package/dist/cjs/lib/utils/shop-admin-url-helper.js +30 -0
- package/dist/cjs/lib/utils/shop-admin-url-helper.js.map +1 -1
- package/dist/cjs/lib/utils/shop-validator.js +7 -1
- package/dist/cjs/lib/utils/shop-validator.js.map +1 -1
- package/dist/cjs/lib/version.js +1 -1
- package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/adapters/mock/mock_test_requests.mjs +1 -18
- package/dist/esm/adapters/mock/mock_test_requests.mjs.map +1 -1
- package/dist/esm/lib/auth/index.mjs +4 -2
- package/dist/esm/lib/auth/index.mjs.map +1 -1
- package/dist/esm/lib/auth/oauth/client-credentials.mjs +41 -0
- package/dist/esm/lib/auth/oauth/client-credentials.mjs.map +1 -0
- package/dist/esm/lib/auth/oauth/create-session.mjs +25 -28
- package/dist/esm/lib/auth/oauth/create-session.mjs.map +1 -1
- package/dist/esm/lib/auth/oauth/oauth.mjs +1 -1
- package/dist/esm/lib/billing/check.mjs +4 -0
- package/dist/esm/lib/billing/check.mjs.map +1 -1
- package/dist/esm/lib/billing/create-usage-record.mjs +5 -1
- package/dist/esm/lib/billing/create-usage-record.mjs.map +1 -1
- package/dist/esm/lib/billing/subscriptions.mjs +13 -1
- package/dist/esm/lib/billing/subscriptions.mjs.map +1 -1
- package/dist/esm/lib/billing/update-usage-subscription-capped-amount.mjs +6 -1
- package/dist/esm/lib/billing/update-usage-subscription-capped-amount.mjs.map +1 -1
- package/dist/esm/lib/billing/utils.mjs +55 -0
- package/dist/esm/lib/billing/utils.mjs.map +1 -0
- package/dist/esm/lib/clients/admin/graphql/client.mjs +1 -1
- package/dist/esm/lib/clients/admin/rest/client.mjs +1 -1
- package/dist/esm/lib/clients/storefront/client.mjs +1 -1
- package/dist/esm/lib/config.mjs +1 -1
- package/dist/esm/lib/session/index.mjs +1 -1
- package/dist/esm/lib/session/session.mjs +2 -2
- package/dist/esm/lib/session/session.mjs.map +1 -1
- package/dist/esm/lib/utils/index.mjs +3 -3
- package/dist/esm/lib/utils/shop-admin-url-helper.mjs +30 -0
- package/dist/esm/lib/utils/shop-admin-url-helper.mjs.map +1 -1
- package/dist/esm/lib/utils/shop-validator.mjs +8 -2
- package/dist/esm/lib/utils/shop-validator.mjs.map +1 -1
- package/dist/esm/lib/version.mjs +1 -1
- package/dist/esm/lib/webhooks/index.mjs +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/ts/lib/auth/index.d.ts +2 -0
- package/dist/ts/lib/auth/index.d.ts.map +1 -1
- package/dist/ts/lib/auth/oauth/client-credentials.d.ts +10 -0
- package/dist/ts/lib/auth/oauth/client-credentials.d.ts.map +1 -0
- package/dist/ts/lib/auth/oauth/create-session.d.ts.map +1 -1
- package/dist/ts/lib/auth/oauth/types.d.ts +8 -0
- package/dist/ts/lib/auth/oauth/types.d.ts.map +1 -1
- package/dist/ts/lib/billing/check.d.ts.map +1 -1
- package/dist/ts/lib/billing/create-usage-record.d.ts.map +1 -1
- package/dist/ts/lib/billing/subscriptions.d.ts.map +1 -1
- package/dist/ts/lib/billing/types.d.ts +14 -0
- package/dist/ts/lib/billing/types.d.ts.map +1 -1
- package/dist/ts/lib/billing/update-usage-subscription-capped-amount.d.ts.map +1 -1
- package/dist/ts/lib/billing/utils.d.ts +13 -0
- package/dist/ts/lib/billing/utils.d.ts.map +1 -0
- package/dist/ts/lib/session/session.d.ts +1 -1
- package/dist/ts/lib/session/session.d.ts.map +1 -1
- package/dist/ts/lib/utils/shop-admin-url-helper.d.ts.map +1 -1
- package/dist/ts/lib/utils/shop-validator.d.ts.map +1 -1
- package/dist/ts/lib/version.d.ts +1 -1
- package/dist/ts/lib/version.d.ts.map +1 -1
- package/dist/ts/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +10 -10
|
@@ -12,9 +12,13 @@ function shopAdminUrlToLegacyUrl(shopAdminUrl) {
|
|
|
12
12
|
if (matches && matches.length === 2) {
|
|
13
13
|
const shopName = matches[1];
|
|
14
14
|
const isSpinUrl = shopUrl.includes('spin.dev/store/');
|
|
15
|
+
const isLocalUrl = shopUrl.includes('shop.dev/store/');
|
|
15
16
|
if (isSpinUrl) {
|
|
16
17
|
return spinAdminUrlToLegacyUrl(shopUrl);
|
|
17
18
|
}
|
|
19
|
+
else if (isLocalUrl) {
|
|
20
|
+
return localAdminUrlToLegacyUrl(shopUrl);
|
|
21
|
+
}
|
|
18
22
|
else {
|
|
19
23
|
return `${shopName}.myshopify.com`;
|
|
20
24
|
}
|
|
@@ -34,9 +38,13 @@ function legacyUrlToShopAdminUrl(legacyAdminUrl) {
|
|
|
34
38
|
}
|
|
35
39
|
else {
|
|
36
40
|
const isSpinUrl = shopUrl.endsWith('spin.dev');
|
|
41
|
+
const isLocalUrl = shopUrl.endsWith('shop.dev');
|
|
37
42
|
if (isSpinUrl) {
|
|
38
43
|
return spinLegacyUrlToAdminUrl(shopUrl);
|
|
39
44
|
}
|
|
45
|
+
else if (isLocalUrl) {
|
|
46
|
+
return localLegacyUrlToAdminUrl(shopUrl);
|
|
47
|
+
}
|
|
40
48
|
else {
|
|
41
49
|
return null;
|
|
42
50
|
}
|
|
@@ -54,6 +62,17 @@ function spinAdminUrlToLegacyUrl(shopAdminUrl) {
|
|
|
54
62
|
return null;
|
|
55
63
|
}
|
|
56
64
|
}
|
|
65
|
+
function localAdminUrlToLegacyUrl(shopAdminUrl) {
|
|
66
|
+
const localRegex = new RegExp(`admin\\.shop\\.dev/store/(.+)`);
|
|
67
|
+
const localMatches = shopAdminUrl.match(localRegex);
|
|
68
|
+
if (localMatches && localMatches.length === 2) {
|
|
69
|
+
const shopName = localMatches[1];
|
|
70
|
+
return `${shopName}.shop.dev`;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
57
76
|
function spinLegacyUrlToAdminUrl(legacyAdminUrl) {
|
|
58
77
|
const spinRegex = new RegExp(`(.+)\\.shopify\\.(.+\\.spin\\.dev)`);
|
|
59
78
|
const spinMatches = legacyAdminUrl.match(spinRegex);
|
|
@@ -66,6 +85,17 @@ function spinLegacyUrlToAdminUrl(legacyAdminUrl) {
|
|
|
66
85
|
return null;
|
|
67
86
|
}
|
|
68
87
|
}
|
|
88
|
+
function localLegacyUrlToAdminUrl(legacyAdminUrl) {
|
|
89
|
+
const localRegex = new RegExp(`(.+)\\.shop\\.dev$`);
|
|
90
|
+
const localMatches = legacyAdminUrl.match(localRegex);
|
|
91
|
+
if (localMatches && localMatches.length === 2) {
|
|
92
|
+
const shopName = localMatches[1];
|
|
93
|
+
return `admin.shop.dev/store/${shopName}`;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
69
99
|
function removeProtocol(url) {
|
|
70
100
|
return url.replace(/^https?:\/\//, '').replace(/\/$/, '');
|
|
71
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shop-admin-url-helper.js","sources":["../../../../../../lib/utils/shop-admin-url-helper.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACM,SAAU,uBAAuB,CAAC,YAAoB,EAAA;AAC1D,IAAA,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,CAAC;AAE5C,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO;IAExD,IAAI,CAAC,cAAc,EAAE;AACnB,QAAA,OAAO,IAAI;;AAGb,IAAA,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,CAAA,wBAAA,CAA0B,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IAEpC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACnC,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"shop-admin-url-helper.js","sources":["../../../../../../lib/utils/shop-admin-url-helper.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,12 @@ var shopAdminUrlHelper = require('./shop-admin-url-helper.js');
|
|
|
7
7
|
function sanitizeShop(config) {
|
|
8
8
|
return (shop, throwOnInvalid = false) => {
|
|
9
9
|
let shopUrl = shop;
|
|
10
|
-
const domainsRegex = [
|
|
10
|
+
const domainsRegex = [
|
|
11
|
+
'myshopify\\.com',
|
|
12
|
+
'shopify\\.com',
|
|
13
|
+
'myshopify\\.io',
|
|
14
|
+
'shop\\.dev',
|
|
15
|
+
];
|
|
11
16
|
if (config.customShopDomains) {
|
|
12
17
|
domainsRegex.push(...config.customShopDomains.map((regex) => typeof regex === 'string' ? regex : regex.source));
|
|
13
18
|
}
|
|
@@ -35,6 +40,7 @@ function sanitizeHost() {
|
|
|
35
40
|
'shopify\\.com',
|
|
36
41
|
'myshopify\\.io',
|
|
37
42
|
'spin\\.dev',
|
|
43
|
+
'shop\\.dev',
|
|
38
44
|
];
|
|
39
45
|
const hostRegex = new RegExp(`\\.(${originsRegex.join('|')})$`);
|
|
40
46
|
if (!hostRegex.test(hostname)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shop-validator.js","sources":["../../../../../../lib/utils/shop-validator.ts"],"sourcesContent":[null],"names":["shopAdminUrlToLegacyUrl","InvalidShopError","decodeHost","InvalidHostError"],"mappings":";;;;;;AAMM,SAAU,YAAY,CAAC,MAAuB,EAAA;AAClD,IAAA,OAAO,CAAC,IAAY,EAAE,cAAc,GAAG,KAAK,KAAmB;QAC7D,IAAI,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"shop-validator.js","sources":["../../../../../../lib/utils/shop-validator.ts"],"sourcesContent":[null],"names":["shopAdminUrlToLegacyUrl","InvalidShopError","decodeHost","InvalidHostError"],"mappings":";;;;;;AAMM,SAAU,YAAY,CAAC,MAAuB,EAAA;AAClD,IAAA,OAAO,CAAC,IAAY,EAAE,cAAc,GAAG,KAAK,KAAmB;QAC7D,IAAI,OAAO,GAAG,IAAI;AAClB,QAAA,MAAM,YAAY,GAAG;YACnB,iBAAiB;YACjB,eAAe;YACf,gBAAgB;YAChB,YAAY;SACb;AACD,QAAA,IAAI,MAAM,CAAC,iBAAiB,EAAE;AAC5B,YAAA,YAAY,CAAC,IAAI,CACf,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,KACpC,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CACjD,CACF;;AAGH,QAAA,MAAM,YAAY,GAAG,IAAI,MAAM,CAC7B,CAAiC,8BAAA,EAAA,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,MAAA,CAAQ,CAChE;AAED,QAAA,MAAM,cAAc,GAAG,IAAI,MAAM,CAC/B,CAAa,UAAA,EAAA,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,oCAAA,CAAsC,CAC1E;QAED,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;QACnD,IAAI,cAAc,EAAE;AAClB,YAAA,OAAO,GAAGA,0CAAuB,CAAC,OAAO,CAAC,IAAI,EAAE;;AAGlD,QAAA,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI;AACjE,QAAA,IAAI,CAAC,aAAa,IAAI,cAAc,EAAE;AACpC,YAAA,MAAM,IAAIC,sBAAgB,CAAC,gCAAgC,CAAC;;AAG9D,QAAA,OAAO,aAAa;AACtB,KAAC;AACH;SAEgB,YAAY,GAAA;AAC1B,IAAA,OAAO,CAAC,IAAY,EAAE,cAAc,GAAG,KAAK,KAAmB;QAC7D,MAAM,WAAW,GAAG,wBAAwB;AAE5C,QAAA,IAAI,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QACxD,IAAI,aAAa,EAAE;AACjB,YAAA,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,GAAG,CAAC,CAAW,QAAA,EAAAC,qBAAU,CAAC,aAAa,CAAC,CAAA,CAAE,CAAC;AAElE,YAAA,MAAM,YAAY,GAAG;gBACnB,iBAAiB;gBACjB,eAAe;gBACf,gBAAgB;gBAChB,YAAY;gBACZ,YAAY;aACb;AAED,YAAA,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,CAAO,IAAA,EAAA,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,EAAA,CAAI,CAAC;YAC/D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC7B,aAAa,GAAG,IAAI;;;AAGxB,QAAA,IAAI,CAAC,aAAa,IAAI,cAAc,EAAE;AACpC,YAAA,MAAM,IAAIC,sBAAgB,CAAC,gCAAgC,CAAC;;AAG9D,QAAA,OAAO,aAAa;AACtB,KAAC;AACH;;;;;"}
|