@agnostack/next-shopify 3.1.0-beta.3 → 3.1.0-beta.5
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 +14 -0
- package/dist/lib/handlers/api/verifiable/token.js +5 -5
- package/dist/lib/handlers/api/webhook.js +4 -4
- package/dist/lib/handlers/ssr/protect.d.ts +7 -1
- package/dist/lib/handlers/ssr/protect.d.ts.map +1 -1
- package/dist/lib/handlers/ssr/wrap.d.ts +6 -1
- package/dist/lib/handlers/ssr/wrap.d.ts.map +1 -1
- package/dist/lib/utils/billing.d.ts +10 -2
- package/dist/lib/utils/billing.d.ts.map +1 -1
- package/dist/lib/utils/firebase.js +2 -2
- package/dist/lib/utils/headers.d.ts +4 -1
- package/dist/lib/utils/headers.d.ts.map +1 -1
- package/dist/lib/utils/session.d.ts +28 -6
- package/dist/lib/utils/session.d.ts.map +1 -1
- package/dist/lib/utils/session.js +21 -21
- package/dist/lib/utils/shopify.d.ts +7 -2
- package/dist/lib/utils/shopify.d.ts.map +1 -1
- package/dist/lib/utils/token.d.ts +6 -1
- package/dist/lib/utils/token.d.ts.map +1 -1
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/datetime.d.ts +22 -6
- package/dist/shared/datetime.d.ts.map +1 -1
- package/dist/shared/display.d.ts +2 -2
- package/dist/shared/display.d.ts.map +1 -1
- package/dist/shared/shopify.d.ts +7 -2
- package/dist/shared/shopify.d.ts.map +1 -1
- package/dist/shared/theme.d.ts.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [3.1.0-beta.5](https://github.com/agnostack/next-shopify/compare/v3.1.0-beta.4...v3.1.0-beta.5) (2025-01-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* update package.json and yarn.lock ([72e3d0d](https://github.com/agnostack/next-shopify/commit/72e3d0d58d6407e262734f4ce84a9037ecce60ab))
|
|
7
|
+
|
|
8
|
+
# [3.1.0-beta.4](https://github.com/agnostack/next-shopify/compare/v3.1.0-beta.3...v3.1.0-beta.4) (2025-01-20)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* updated env ([07170fb](https://github.com/agnostack/next-shopify/commit/07170fbd9c26837c1c0ba8b44c267c0ae8c16921))
|
|
14
|
+
|
|
1
15
|
# [3.1.0-beta.3](https://github.com/agnostack/next-shopify/compare/v3.1.0-beta.2...v3.1.0-beta.3) (2025-01-20)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -33,11 +33,11 @@ const handleSessionToken = (serverRuntimeConfig, data) => {
|
|
|
33
33
|
const { APP_CONFIG } = serverRuntimeConfig !== null && serverRuntimeConfig !== void 0 ? serverRuntimeConfig : {};
|
|
34
34
|
const _getVerificationHelpers = (0, verifyd_1.getVerificationHelpers)(serverRuntimeConfig);
|
|
35
35
|
return (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
-
var
|
|
37
|
-
const { host } = (
|
|
38
|
-
const
|
|
36
|
+
var _b, _c;
|
|
37
|
+
const { host } = (_b = req.query) !== null && _b !== void 0 ? _b : {};
|
|
38
|
+
const _d = (_c = req.headers) !== null && _c !== void 0 ? _c : {}, { 'x-shopify-app-installation-id': shopifyAppInstallationId, 'x-shopify-app-id': shopifyAppId, 'x-app-installation-id': appInstallationId = shopifyAppInstallationId, 'x-app-id': appId = shopifyAppId,
|
|
39
39
|
// TODO: pass along providerSetId??
|
|
40
|
-
'x-client-id': clientId, 'x-shop-domain': shopDomain, 'x-shopify-shop-domain': shopifyShopDomain, 'x-shopify-shop': shop = shopifyShopDomain !== null && shopifyShopDomain !== void 0 ? shopifyShopDomain : shopDomain } =
|
|
40
|
+
'x-client-id': clientId, 'x-shop-domain': shopDomain, 'x-shopify-shop-domain': shopifyShopDomain, 'x-shopify-shop': shop = shopifyShopDomain !== null && shopifyShopDomain !== void 0 ? shopifyShopDomain : shopDomain } = _d, headers = __rest(_d, ['x-shopify-app-installation-id', 'x-shopify-app-id', 'x-app-installation-id', 'x-app-id', 'x-client-id', 'x-shop-domain', 'x-shopify-shop-domain', 'x-shopify-shop']);
|
|
41
41
|
const handleResponse = (body, statusCode = 200) => {
|
|
42
42
|
if (returnResponse) {
|
|
43
43
|
return res.status(statusCode).json(body);
|
|
@@ -63,7 +63,7 @@ const handleSessionToken = (serverRuntimeConfig, data) => {
|
|
|
63
63
|
const appClaims = Object.entries(headers).reduce((_appClaims, [headerKey, headerValue]) => (Object.assign(Object.assign({}, _appClaims), headerKey.startsWith('x-shopify-app-metafield-') && {
|
|
64
64
|
[(0, shared_1.snakecase)(headerKey.replace('x-shopify-app-metafield-', ''))]: headerValue,
|
|
65
65
|
})), Object.assign(Object.assign({}, appId && { app_id: (0, shared_1.normalizeShopifyId)(appId).id }), appInstallationId && { installation_id: (0, shared_1.normalizeShopifyId)(appInstallationId).id }));
|
|
66
|
-
const
|
|
66
|
+
const _e = requestBody !== null && requestBody !== void 0 ? requestBody : {}, { sub, aud: _aud } = _e, body = __rest(_e, ["sub", "aud"]);
|
|
67
67
|
const aud = [clientId, _aud, APP_CONFIG.apiKey].find(shared_1.stringNotEmpty);
|
|
68
68
|
let { dest, iss, sid, jti } = body, tokenBody = __rest(body, ["dest", "iss", "sid", "jti"]);
|
|
69
69
|
if ((0, shared_1.stringEmpty)(dest)) {
|
|
@@ -29,7 +29,7 @@ const handleWebhookEvent = (serverRuntimeConfig, data) => {
|
|
|
29
29
|
const { ORIGIN_SAFELIST, WEBHOOK_TOPIC_BLOCKLIST } = serverRuntimeConfig;
|
|
30
30
|
const _a = data !== null && data !== void 0 ? data : {}, { returnResponse = true } = _a, config = __rest(_a, ["returnResponse"]);
|
|
31
31
|
return (req, res, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
-
var
|
|
32
|
+
var _b;
|
|
33
33
|
const handleResponse = (body, statusCode = 200) => {
|
|
34
34
|
if (returnResponse) {
|
|
35
35
|
return res.status(statusCode).json(body);
|
|
@@ -37,7 +37,7 @@ const handleWebhookEvent = (serverRuntimeConfig, data) => {
|
|
|
37
37
|
return { statusCode, body };
|
|
38
38
|
};
|
|
39
39
|
try {
|
|
40
|
-
const
|
|
40
|
+
const _c = (_b = req.headers) !== null && _b !== void 0 ? _b : {}, { 'x-shop-domain': shopDomain, 'x-shopify-shop-domain': shopifyShopDomain, 'x-shopify-shop': shop = shopifyShopDomain !== null && shopifyShopDomain !== void 0 ? shopifyShopDomain : shopDomain } = _c, _headers = __rest(_c, ['x-shop-domain', 'x-shopify-shop-domain', 'x-shopify-shop']);
|
|
41
41
|
if ((0, shared_1.stringEmpty)(shop)) {
|
|
42
42
|
return handleResponse({ handler: 'webhook', error: 'Missing shop' });
|
|
43
43
|
}
|
|
@@ -47,7 +47,7 @@ const handleWebhookEvent = (serverRuntimeConfig, data) => {
|
|
|
47
47
|
const { shopify } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
48
48
|
// TODO: explore getVerificationHelpers?
|
|
49
49
|
const rawBody = yield (0, verifyd_1.ensureRawBody)(req);
|
|
50
|
-
const
|
|
50
|
+
const _d = (serverRuntimeConfig.SHOPIFY_RUN_MODE === 'cli') ? {
|
|
51
51
|
valid: true,
|
|
52
52
|
topic: _headers['x-shopify-topic'],
|
|
53
53
|
domain: _headers['x-shopify-shop-domain'] || shop,
|
|
@@ -57,7 +57,7 @@ const handleWebhookEvent = (serverRuntimeConfig, data) => {
|
|
|
57
57
|
rawBody,
|
|
58
58
|
rawRequest: req,
|
|
59
59
|
rawResponse: res,
|
|
60
|
-
})), { valid } =
|
|
60
|
+
})), { valid } = _d, message = __rest(_d, ["valid"]);
|
|
61
61
|
if (!valid) {
|
|
62
62
|
console.warn('Unable to validate webhook', message);
|
|
63
63
|
return handleResponse({ handler: 'webhook', error: 'Unable to validate webhook', message });
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
export function protectRoute(serverRuntimeConfig: any, _props: any): ({ req, res, query, locale, resolvedUrl, }: {
|
|
1
|
+
export function protectRoute(serverRuntimeConfig: any, _props: any): ({ req, res, query, locale, resolvedUrl, }: {
|
|
2
|
+
req: any;
|
|
3
|
+
res: any;
|
|
4
|
+
query: any;
|
|
5
|
+
locale: any;
|
|
6
|
+
resolvedUrl: any;
|
|
7
|
+
} | undefined, data: any) => Promise<{
|
|
2
8
|
redirect: {
|
|
3
9
|
destination: string;
|
|
4
10
|
permanent: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/protect.js"],"names":[],"mappings":"AAmCO
|
|
1
|
+
{"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/protect.js"],"names":[],"mappings":"AAmCO;;;;;;;;;;;;;GAyJN"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
export function wrapRoute(serverRuntimeConfig: any, props: any): ({ req, res, query, locale, }: {
|
|
1
|
+
export function wrapRoute(serverRuntimeConfig: any, props: any): ({ req, res, query, locale, }: {
|
|
2
|
+
req: any;
|
|
3
|
+
res: any;
|
|
4
|
+
query: any;
|
|
5
|
+
locale: any;
|
|
6
|
+
} | undefined, data: any) => Promise<{
|
|
2
7
|
props: any;
|
|
3
8
|
}>;
|
|
4
9
|
//# sourceMappingURL=wrap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/wrap.js"],"names":[],"mappings":"AAGO
|
|
1
|
+
{"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/ssr/wrap.js"],"names":[],"mappings":"AAGO;;;;;;;GAuBN"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
-
export function ensureBilling(paymentConfig: any, { shopify, session, forceBilling }?: {
|
|
1
|
+
export function ensureBilling(paymentConfig: any, { shopify, session, forceBilling }?: {
|
|
2
|
+
shopify: any;
|
|
3
|
+
session: any;
|
|
4
|
+
forceBilling: any;
|
|
5
|
+
}): Promise<any>;
|
|
2
6
|
export function generatePaymentConfig(paymentConfig: any, { SHOPIFY_RUN_MODE, appTitle: _appTitle, data: { appName, debugMode, environment, }, }: {
|
|
3
7
|
SHOPIFY_RUN_MODE: any;
|
|
4
8
|
appTitle: any;
|
|
5
|
-
data?: {
|
|
9
|
+
data?: {
|
|
10
|
+
appName: any;
|
|
11
|
+
debugMode: any;
|
|
12
|
+
environment: any;
|
|
13
|
+
} | undefined;
|
|
6
14
|
}): {
|
|
7
15
|
required: any;
|
|
8
16
|
test: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/billing.js"],"names":[],"mappings":"AAaO
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/billing.js"],"names":[],"mappings":"AAaO;;;;iBAqCN;AAGM;;;;;;;;;;;;;;;;;cAoCN"}
|
|
@@ -93,10 +93,10 @@ const updateCallback = (instance, shopId, session) => __awaiter(void 0, void 0,
|
|
|
93
93
|
.doc(session.id);
|
|
94
94
|
// HMMMM why the freeze here?
|
|
95
95
|
// TODO: do we need to remove/can we remove session.id here??
|
|
96
|
-
const
|
|
96
|
+
const _c = JSON.parse(JSON.stringify(session)), { onlineAccessInfo: _onlineAccessInfo } = _c, docData = __rest(_c, ["onlineAccessInfo"]);
|
|
97
97
|
// NOTE: destructuring out associated_user for DPA compliance
|
|
98
98
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
99
|
-
const
|
|
99
|
+
const _d = _onlineAccessInfo !== null && _onlineAccessInfo !== void 0 ? _onlineAccessInfo : {}, { associated_user } = _d, onlineAccessInfo = __rest(_d, ["associated_user"]);
|
|
100
100
|
const payload = Object.assign({ onlineAccessInfo }, docData);
|
|
101
101
|
yield docRef.set(payload, { merge: true });
|
|
102
102
|
return (yield docRef.get()).data();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/headers.js"],"names":[],"mappings":"AAeO
|
|
1
|
+
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/headers.js"],"names":[],"mappings":"AAeO;;;QAYN"}
|
|
@@ -14,14 +14,24 @@ export function normalizeShopifyId(shopifyData: any): {
|
|
|
14
14
|
id?: string | undefined;
|
|
15
15
|
};
|
|
16
16
|
export function getShopifyHelpers(serverRuntimeConfig: any, config: any): Promise<{
|
|
17
|
-
getVerifiedClients: (() => undefined) | (({ req, res, apiVersion, isOnline: _isOnline }?: {
|
|
17
|
+
getVerifiedClients: (() => undefined) | (({ req, res, apiVersion, isOnline: _isOnline }?: {
|
|
18
|
+
req: any;
|
|
19
|
+
res: any;
|
|
20
|
+
apiVersion: any;
|
|
21
|
+
isOnline: any;
|
|
22
|
+
}) => Promise<{
|
|
18
23
|
Graphql: import("@shopify/shopify-api").GraphqlClient;
|
|
19
24
|
} | undefined>);
|
|
20
25
|
getAppUrl: (() => undefined) | ((_appPath: any) => Promise<string | undefined>);
|
|
21
|
-
validateSessionToken: (() => {}) | (({ idToken: idTokens }?: {
|
|
26
|
+
validateSessionToken: (() => {}) | (({ idToken: idTokens }?: {
|
|
27
|
+
idToken: any;
|
|
28
|
+
}) => Promise<{
|
|
22
29
|
isValid: boolean;
|
|
23
30
|
}>);
|
|
24
|
-
exchangeSessionToken: (() => {}) | (({ idToken: idTokens, isOnline }?: {
|
|
31
|
+
exchangeSessionToken: (() => {}) | (({ idToken: idTokens, isOnline }?: {
|
|
32
|
+
idToken: any;
|
|
33
|
+
isOnline: any;
|
|
34
|
+
}) => Promise<{
|
|
25
35
|
isValid: boolean;
|
|
26
36
|
accessToken?: undefined;
|
|
27
37
|
} | {
|
|
@@ -31,8 +41,13 @@ export function getShopifyHelpers(serverRuntimeConfig: any, config: any): Promis
|
|
|
31
41
|
isValid: boolean;
|
|
32
42
|
}>);
|
|
33
43
|
encryptData?: ((value: any) => any) | undefined;
|
|
34
|
-
decryptData?: ((encrypted: any, { publicKey, sharedSecret }?: {
|
|
35
|
-
|
|
44
|
+
decryptData?: ((encrypted: any, { publicKey, sharedSecret }?: {
|
|
45
|
+
publicKey: any;
|
|
46
|
+
sharedSecret: any;
|
|
47
|
+
}) => any) | undefined;
|
|
48
|
+
loadAppData: (() => undefined) | (({ appId: _appId }?: {
|
|
49
|
+
appId: any;
|
|
50
|
+
}) => Promise<{
|
|
36
51
|
appMetafields: any;
|
|
37
52
|
appInfo: any;
|
|
38
53
|
appInstallation: any;
|
|
@@ -42,6 +57,7 @@ export function getShopifyHelpers(serverRuntimeConfig: any, config: any): Promis
|
|
|
42
57
|
loadSession: (() => {}) | ((params: any) => Promise<any>);
|
|
43
58
|
storeSession: (() => {}) | ((session: any) => Promise<any>);
|
|
44
59
|
ensureBilling: (() => undefined) | ((session: any, { reAuth, forceBilling: _forceBilling }?: {
|
|
60
|
+
reAuth: any;
|
|
45
61
|
forceBilling?: boolean | undefined;
|
|
46
62
|
}) => Promise<any>);
|
|
47
63
|
loadState: (() => undefined) | (() => Promise<any>);
|
|
@@ -52,5 +68,11 @@ export function getShopifyHelpers(serverRuntimeConfig: any, config: any): Promis
|
|
|
52
68
|
findSessionIds: (() => never[]) | ((_shop: any) => Promise<any[]>);
|
|
53
69
|
shopify: import("@shopify/shopify-api").Shopify<any, import("@shopify/shopify-api").ShopifyRestResources, import("@shopify/shopify-api/dist/ts/future/flags").FutureFlagOptions> | undefined;
|
|
54
70
|
}>;
|
|
55
|
-
export function prepareHeaders(serverRuntimeConfig: any): ({ generateReplacements, appData, shop, appId, headers: _headers }?: {
|
|
71
|
+
export function prepareHeaders(serverRuntimeConfig: any): ({ generateReplacements, appData, shop, appId, headers: _headers }?: {
|
|
72
|
+
generateReplacements: any;
|
|
73
|
+
appData: any;
|
|
74
|
+
shop: any;
|
|
75
|
+
appId: any;
|
|
76
|
+
headers: any;
|
|
77
|
+
}) => Promise<any>;
|
|
56
78
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/session.js"],"names":[],"mappings":"AA2CO;;;;;;;;;;;;;;EA6CN;AAGM
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/session.js"],"names":[],"mappings":"AA2CO;;;;;;;;;;;;;;EA6CN;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+ZN;AAoCM;;;;;;mBAoBN"}
|
|
@@ -120,7 +120,7 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
120
120
|
return { isValid: false };
|
|
121
121
|
}
|
|
122
122
|
});
|
|
123
|
-
const exchangeSessionToken = (...
|
|
123
|
+
const exchangeSessionToken = (...args_2) => __awaiter(void 0, [...args_2], void 0, function* ({ idToken: idTokens, isOnline } = {}) {
|
|
124
124
|
const [idToken] = (0, shared_1.ensureArray)(idTokens);
|
|
125
125
|
if ((0, shared_1.stringEmpty)(idToken)) {
|
|
126
126
|
console.warn('Missing ID token');
|
|
@@ -156,12 +156,12 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
156
156
|
const encryptStoreSession = (session) => __awaiter(void 0, void 0, void 0, function* () {
|
|
157
157
|
return (encryptUpdateSession(session));
|
|
158
158
|
});
|
|
159
|
-
const verifyOnlineSession = (
|
|
160
|
-
var
|
|
159
|
+
const verifyOnlineSession = (_c) => __awaiter(void 0, [_c], void 0, function* ({ req, res }) {
|
|
160
|
+
var _d, _e;
|
|
161
161
|
const authHeader = req.headers.authorization;
|
|
162
162
|
const idToken = (authHeader === null || authHeader === void 0 ? void 0 : authHeader.startsWith('Bearer '))
|
|
163
163
|
? authHeader.substring(7)
|
|
164
|
-
: (
|
|
164
|
+
: (_d = req === null || req === void 0 ? void 0 : req.query) === null || _d === void 0 ? void 0 : _d[shared_1.SESSION_TOKEN_PARAM];
|
|
165
165
|
if ((0, shared_1.stringEmpty)(idToken)) {
|
|
166
166
|
throw new shared_1.ShopifySessionMissingError('Missing session token');
|
|
167
167
|
}
|
|
@@ -176,7 +176,7 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
176
176
|
rawResponse: res,
|
|
177
177
|
});
|
|
178
178
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
179
|
-
const
|
|
179
|
+
const _f = (_e = (yield (0, firebase_1.loadCallback)(sessionHandler, shopId, sessionId))) !== null && _e !== void 0 ? _e : {}, { accessToken: encryptedOnlineAccessToken } = _f, storedOnlineSession = __rest(_f, ["accessToken"]);
|
|
180
180
|
let session = storedOnlineSession;
|
|
181
181
|
let accessToken = encryptedOnlineAccessToken;
|
|
182
182
|
let isEncrypted = true; // TODO: explore removing (isEncryptyed)
|
|
@@ -200,9 +200,9 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
200
200
|
};
|
|
201
201
|
});
|
|
202
202
|
const verifyOfflineSession = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
203
|
-
var
|
|
203
|
+
var _g;
|
|
204
204
|
const sessionId = shopify.session.getOfflineId(shop);
|
|
205
|
-
const
|
|
205
|
+
const _h = (_g = (yield (0, firebase_1.loadCallback)(sessionHandler, shopId, sessionId))) !== null && _g !== void 0 ? _g : {}, { accessToken: encryptedOfflineAccessToken } = _h, offlineSession = __rest(_h, ["accessToken"]);
|
|
206
206
|
return {
|
|
207
207
|
sessionId,
|
|
208
208
|
session: offlineSession,
|
|
@@ -210,7 +210,7 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
210
210
|
isEncrypted: true, // TODO: explore removing (isEncryptyed)
|
|
211
211
|
};
|
|
212
212
|
});
|
|
213
|
-
const verifySession = (...
|
|
213
|
+
const verifySession = (...args_3) => __awaiter(void 0, [...args_3], void 0, function* ({ req, res, isOnline: _isOnline } = {}) {
|
|
214
214
|
try {
|
|
215
215
|
const isOnline = _isOnline !== null && _isOnline !== void 0 ? _isOnline : ((req != undefined) && (res != undefined));
|
|
216
216
|
// TODO: explore removing (isEncryptyed)
|
|
@@ -240,12 +240,12 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
240
240
|
return (decryptVerifyData(true));
|
|
241
241
|
});
|
|
242
242
|
const decryptVerifySession = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
243
|
-
const
|
|
243
|
+
const _j = yield verifySession(params), {
|
|
244
244
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
245
245
|
data,
|
|
246
246
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
247
247
|
secure, isEncrypted, // TODO: explore removing (isEncryptyed)
|
|
248
|
-
accessToken } =
|
|
248
|
+
accessToken } = _j, session = __rest(_j, ["data", "secure", "isEncrypted", "accessToken"]);
|
|
249
249
|
return Object.assign(Object.assign({}, session), {
|
|
250
250
|
// TODO: explore removing (isEncryptyed)
|
|
251
251
|
accessToken: isEncrypted ? cryptoHandler.decrypt(accessToken) : accessToken });
|
|
@@ -262,8 +262,8 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
262
262
|
throw _error;
|
|
263
263
|
});
|
|
264
264
|
});
|
|
265
|
-
const handleEnsureBilling = (session_1, ...
|
|
266
|
-
var
|
|
265
|
+
const handleEnsureBilling = (session_1, ...args_4) => __awaiter(void 0, [session_1, ...args_4], void 0, function* (session, { reAuth, forceBilling: _forceBilling = false } = {}) {
|
|
266
|
+
var _k;
|
|
267
267
|
if (!isReviewMode && !(0, shared_1.isTrue)(session === null || session === void 0 ? void 0 : session.isOnline)) {
|
|
268
268
|
yield encryptStoreSession(session);
|
|
269
269
|
return (0, billing_1.ensureBilling)(PAYMENT_CONFIG, { session, shopify, forceBilling: _forceBilling });
|
|
@@ -272,7 +272,7 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
272
272
|
if (isReviewMode) {
|
|
273
273
|
const offlineSession = yield _getLatestOfflineSession(session);
|
|
274
274
|
// NOTE: billingStatus is a custom field we add when we're in review mode to handle reauth billing correctly
|
|
275
|
-
const billingStatus = (
|
|
275
|
+
const billingStatus = (_k = offlineSession === null || offlineSession === void 0 ? void 0 : offlineSession.billingStatus) !== null && _k !== void 0 ? _k : 'PENDING';
|
|
276
276
|
if ((0, shared_1.objectNotEmpty)(offlineSession) && (0, shared_1.stringEmpty)(offlineSession.billingStatus)) {
|
|
277
277
|
// NOTE: offlineSession should be latest from FB or Shopify session
|
|
278
278
|
yield encryptStoreSession(Object.assign(Object.assign({}, offlineSession), { billingStatus }));
|
|
@@ -281,7 +281,7 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
281
281
|
}
|
|
282
282
|
return (0, billing_1.ensureBilling)(PAYMENT_CONFIG, { session, shopify, forceBilling });
|
|
283
283
|
});
|
|
284
|
-
const getVerifiedClients = (...
|
|
284
|
+
const getVerifiedClients = (...args_5) => __awaiter(void 0, [...args_5], void 0, function* ({ req, res, apiVersion, isOnline: _isOnline } = {}) {
|
|
285
285
|
if ((0, shared_1.stringEmpty)(shop)) {
|
|
286
286
|
return undefined;
|
|
287
287
|
}
|
|
@@ -312,18 +312,18 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
312
312
|
throw error;
|
|
313
313
|
}
|
|
314
314
|
});
|
|
315
|
-
const loadAppData = (...
|
|
316
|
-
var
|
|
315
|
+
const loadAppData = (...args_6) => __awaiter(void 0, [...args_6], void 0, function* ({ appId: _appId } = {}) {
|
|
316
|
+
var _l, _m, _o, _p, _q, _r;
|
|
317
317
|
// TODO!!!!!: ensure this is all cached
|
|
318
318
|
let { id: appId } = (0, exports.normalizeShopifyId)(_appId);
|
|
319
|
-
const { Graphql } = (
|
|
319
|
+
const { Graphql } = (_l = yield getVerifiedClients()) !== null && _l !== void 0 ? _l : {};
|
|
320
320
|
if ((0, shared_1.stringEmpty)(appId)) {
|
|
321
321
|
const appResponse = yield Graphql.query({
|
|
322
322
|
data: {
|
|
323
323
|
query: shared_1.APP_QUERY.INSTALLATION_BASIC,
|
|
324
324
|
},
|
|
325
325
|
});
|
|
326
|
-
const { id: currentAppId } = (0, exports.normalizeShopifyId)((
|
|
326
|
+
const { id: currentAppId } = (0, exports.normalizeShopifyId)((_p = (_o = (_m = appResponse === null || appResponse === void 0 ? void 0 : appResponse.body) === null || _m === void 0 ? void 0 : _m.data) === null || _o === void 0 ? void 0 : _o.currentAppInstallation) === null || _p === void 0 ? void 0 : _p.app);
|
|
327
327
|
appId = currentAppId;
|
|
328
328
|
}
|
|
329
329
|
// TODO: throw/return early if still no appId??
|
|
@@ -333,7 +333,7 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
333
333
|
variables: { namespace: `${appId}-metafields` },
|
|
334
334
|
},
|
|
335
335
|
});
|
|
336
|
-
return shared_1.TRANSFORM.APP_QUERY((
|
|
336
|
+
return shared_1.TRANSFORM.APP_QUERY((_r = (_q = appInstallation === null || appInstallation === void 0 ? void 0 : appInstallation.body) === null || _q === void 0 ? void 0 : _q.data) === null || _r === void 0 ? void 0 : _r.currentAppInstallation);
|
|
337
337
|
});
|
|
338
338
|
// #endregion internal shopifyHelper implementations
|
|
339
339
|
return Object.assign({ shopify, getAppUrl: () => undefined, getVerifiedClients: () => undefined, loadAppData: () => undefined, loadData: () => ({}), loadState: () => undefined, storeState: () => undefined, deleteState: () => undefined, loadSecureData: () => ({}), loadSession: () => ({}), storeSession: () => ({}), updateSession: () => ({}), deleteSessions: () => undefined, findSessionIds: () => ([]), ensureBilling: () => undefined, validateSessionToken: () => ({}), exchangeSessionToken: () => ({}) }, shopify && {
|
|
@@ -354,7 +354,7 @@ const getShopifyHelpers = (serverRuntimeConfig, config) => __awaiter(void 0, voi
|
|
|
354
354
|
deleteState: () => __awaiter(void 0, void 0, void 0, function* () { return (0, firebase_1.deleteState)(sessionHandler, shop); }),
|
|
355
355
|
updateSession: (sessionId, data) => __awaiter(void 0, void 0, void 0, function* () { return encryptUpdateSession(Object.assign(Object.assign({}, data), { id: sessionId })); }),
|
|
356
356
|
deleteSessions: (sessionIds) => __awaiter(void 0, void 0, void 0, function* () { return (0, firebase_1.deleteSessionsCallback)(sessionHandler, shopId, sessionIds); }),
|
|
357
|
-
findSessionIds: (_shop) => __awaiter(void 0, void 0, void 0, function* () { var
|
|
357
|
+
findSessionIds: (_shop) => __awaiter(void 0, void 0, void 0, function* () { var _s, _t; return (0, firebase_1.findSessionIdsByShop)(sessionHandler, (_t = (_s = shopify === null || shopify === void 0 ? void 0 : shopify.utils) === null || _s === void 0 ? void 0 : _s.sanitizeShop) === null || _t === void 0 ? void 0 : _t.call(_s, _shop)); }),
|
|
358
358
|
});
|
|
359
359
|
});
|
|
360
360
|
exports.getShopifyHelpers = getShopifyHelpers;
|
|
@@ -372,7 +372,7 @@ const extendAppHeaders = (headers, appData) => {
|
|
|
372
372
|
[`x-shopify-app-metafield-${metafieldKey}`]: value,
|
|
373
373
|
})), headers);
|
|
374
374
|
};
|
|
375
|
-
const prepareHeaders = (serverRuntimeConfig) => (...
|
|
375
|
+
const prepareHeaders = (serverRuntimeConfig) => (...args_7) => __awaiter(void 0, [...args_7], void 0, function* ({ generateReplacements, appData, shop, appId, headers: _headers } = {}) {
|
|
376
376
|
const headers = (0, shared_1.cleanObject)(_headers, false, shared_1.stringEmptyOnly);
|
|
377
377
|
if ((0, shared_1.objectEmpty)(headers) || !generateReplacements) {
|
|
378
378
|
return headers;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
export function getSecurityHeader(shop: any, { isEmbeddedApp }?: {
|
|
2
|
-
|
|
1
|
+
export function getSecurityHeader(shop: any, { isEmbeddedApp }?: {
|
|
2
|
+
isEmbeddedApp: any;
|
|
3
|
+
}): string;
|
|
4
|
+
export function allowLocalBypass({ SHOPIFY_RUN_MODE, APP_CONFIG }?: {
|
|
5
|
+
SHOPIFY_RUN_MODE: any;
|
|
6
|
+
APP_CONFIG: any;
|
|
7
|
+
}): boolean;
|
|
3
8
|
export function getInitializedShopify(serverRuntimeConfig: any): import("@shopify/shopify-api").Shopify<any, import("@shopify/shopify-api").ShopifyRestResources, import("@shopify/shopify-api/dist/ts/future/flags").FutureFlagOptions> | undefined;
|
|
4
9
|
export function getPrepareWebhookHandlers(serverRuntimeConfig: any): (params: any) => {};
|
|
5
10
|
export function getCallback(data: any, { reAuth, isOnline }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopify.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/shopify.js"],"names":[],"mappings":"AAmBO
|
|
1
|
+
{"version":3,"file":"shopify.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/shopify.js"],"names":[],"mappings":"AAmBO;;WAIN;AAGM;;;YAQN;AAEM,qPAYN;AAEM,yFAwEN;AAEM;;;QAYN;AAEM;;;;;;;;;EAsBN"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
export function getVerifiedSessionData(serverRuntimeConfig: any, { signingSecret: _signingSecret }?: {
|
|
1
|
+
export function getVerifiedSessionData(serverRuntimeConfig: any, { signingSecret: _signingSecret }?: {
|
|
2
|
+
signingSecret: any;
|
|
3
|
+
}): (sessionToken: any, { shop, host: _host }?: {
|
|
4
|
+
shop: any;
|
|
5
|
+
host: any;
|
|
6
|
+
}) => Promise<{
|
|
2
7
|
dest?: undefined;
|
|
3
8
|
sid?: undefined;
|
|
4
9
|
shop?: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/token.js"],"names":[],"mappings":"AAaO
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/token.js"],"names":[],"mappings":"AAaO;;;;;;;;;;;;;;;;;eA8CN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.js"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.js"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8NpC,oDAKC;AAGM,mDAEN;AAED;;;;;;;;;;;EAaC;;;;;;;;;;;;;;;AAkBD,6CAA6C"}
|
|
@@ -29,16 +29,20 @@ export function getDaysInMonth(year: any, month: any): number;
|
|
|
29
29
|
export function setDateTimeLocale(locale: any): void;
|
|
30
30
|
export function setDateTimeZone(zone: any): void;
|
|
31
31
|
export function getDateTimeFormat({ locale, mappings }?: {
|
|
32
|
+
locale: any;
|
|
32
33
|
mappings?: {
|
|
33
34
|
day: string;
|
|
34
35
|
month: string;
|
|
35
36
|
year: string;
|
|
36
37
|
} | undefined;
|
|
37
38
|
}): any;
|
|
38
|
-
export function getDateTimeFromString({ format, value, ...options }?: {
|
|
39
|
+
export function getDateTimeFromString({ format, value, ...options }?: {
|
|
40
|
+
format: any;
|
|
41
|
+
value: any;
|
|
42
|
+
}): any;
|
|
39
43
|
export function convertDateTime(value: any, { shouldThrow, shouldLog, ...options }?: {
|
|
40
44
|
shouldThrow?: boolean | undefined;
|
|
41
|
-
shouldLog?:
|
|
45
|
+
shouldLog?: boolean | undefined;
|
|
42
46
|
}): any;
|
|
43
47
|
export function convertDuration(value: any, { shouldThrow, ...options }?: {
|
|
44
48
|
shouldThrow?: boolean | undefined;
|
|
@@ -56,14 +60,26 @@ export function toUnixString(value: any, options: any): string;
|
|
|
56
60
|
export function toISOString(value: any, options: any): any;
|
|
57
61
|
export function toUTCString(value: any, options: any): any;
|
|
58
62
|
export function toRFC822String(value: any, options: any): any;
|
|
59
|
-
export function toFormatted({ format, value, zone, ...options }?: {
|
|
63
|
+
export function toFormatted({ format, value, zone, ...options }?: {
|
|
64
|
+
format: any;
|
|
65
|
+
value: any;
|
|
66
|
+
zone: any;
|
|
67
|
+
}): any;
|
|
60
68
|
export function convertFormatted({ value, to: { format: toFormat, ...toOptions }, from: { format: fromFormat, ...fromOptions }, }?: {
|
|
61
|
-
|
|
62
|
-
|
|
69
|
+
value: any;
|
|
70
|
+
to?: {
|
|
71
|
+
format: any;
|
|
72
|
+
} | undefined;
|
|
73
|
+
from?: {
|
|
74
|
+
format: any;
|
|
75
|
+
} | undefined;
|
|
63
76
|
}): any;
|
|
64
77
|
export function compareDate(date1: any, date2: any): number;
|
|
65
78
|
export function formatTimestamps(timestamps: any, defaultValue: any): {};
|
|
66
|
-
export function formatRequiredTimestamps({ created_at, updated_at, ...timestamps }?: {
|
|
79
|
+
export function formatRequiredTimestamps({ created_at, updated_at, ...timestamps }?: {
|
|
80
|
+
created_at: any;
|
|
81
|
+
updated_at: any;
|
|
82
|
+
}): {
|
|
67
83
|
created_at: string;
|
|
68
84
|
updated_at: string;
|
|
69
85
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../src/shared/datetime.js"],"names":[],"mappings":"AAcA
|
|
1
|
+
{"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../src/shared/datetime.js"],"names":[],"mappings":"AAcA,uCAAuC;AACvC,wCAAwC;AAGxC,yCAAyC;AACzC,4CAA4C;AAC5C,8CAA8C;AAC9C,iDAAiD;;;;;;;;;;;;;;;;;;;;;;AAwE1C,8DAEN;AAEM,qDAIN;AAEM,iDAIN;AAuBM;;;;;;;QAUN;AAEM;;;QAiCN;AAEM;;;QA4CN;AAEM;;QAwDN;AAEM,qDAEN;AAEM,0CAEN;AAMM,2DAEN;AAEM,4DAEN;AAOM,wDAEN;AAEM,uDAEN;AAEM,8DAEN;AAEM,wDAEN;AAEM,6DAEN;AAGM,+DAEN;AAGM,2DAEN;AAGM,2DAEN;AAEM,8DAEN;AAGM;;;;QAyCN;AAEM;;;;;;;;QAcN;AAEM,4DAEN;AAEM,yEAKN;AAEM;;;;;;EAON;AAlYD,6BAGC;;;;;AAED,iCAGC"}
|
package/dist/shared/display.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ export function random(max?: number, min?: number): number;
|
|
|
2
2
|
export function nextRandom(max?: number, min?: number): any;
|
|
3
3
|
export function arrayRandom(_values: any, _max?: number): any[];
|
|
4
4
|
export function arrayRandomItem(_values: any): any;
|
|
5
|
-
export function isArray(value: any):
|
|
6
|
-
export function isSet(value: any):
|
|
5
|
+
export function isArray(value: any): boolean;
|
|
6
|
+
export function isSet(value: any): boolean;
|
|
7
7
|
export function isType(value: any, type: any): boolean;
|
|
8
8
|
export function isString(value: any): boolean;
|
|
9
9
|
export function isTypeEnhanced(value: any, type: any): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/shared/display.js"],"names":[],"mappings":"AAOO,2DAGN;AAEM,4DAeN;AAEM,gEAmBN;AAEM,mDAEN;AAEM,
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/shared/display.js"],"names":[],"mappings":"AAOO,2DAGN;AAEM,4DAeN;AAEM,gEAmBN;AAEM,mDAEN;AAEM,6CAGN;AAEM,2CAGN;AAEM,uDAGN;AAEM,8CAGN;AAaM,+DA2CN;AAEM,0CAON;AAEM,8EAWN;AAEM,sDA2BN;AAEM,kDAEN;AAGM,sDAGN;AAEM,uDAGN;AAEM,uDAGN;AAEM,wDAGN;AAEM,mDAIN;AAEM,wDAIN;AAGM,mDAEN;AAEM,uDAEN;AAGM,4DAEN;AAEM;;;WAQN;AAEM,kDAGN;AAEM,uDAEN;AAEM,8EAGN;AAEM,iFAGN;AAEM,qFAEN;AAEM,+CAEN;AAGM,kDAEN;AAEM,qDAEN;AAEM,2CAIN;AAEM,6DAEN;AAOM;;EAKN;AAEM,0FAyBN;AAkBM,6DAGN;AAEM,0DAEN;AAEM,yDAGN;AAEM,sDAEN;AAOM,0EAEN;AAEM,kEAUN;AAEM,6EAEN;AAEM,8EAKN;AAEM,yCAEN;AAEM,0EAEN;AAEM,sEAIN;AAgBM,gEAQN;AAEM,2CAEN;AAEM,sEAEN;AAEM,4CAEN;AAEM,uEAEN;AAEM,+CAEN;AAEM,sEAIN;AAEM,kDAEN;AAEM,6CAEN;AAEM,gDAGN;AAEM,+CASN;AAEM,8DA2EN;AAEM,wDAEN;AAEM,iEAEN;AAGM,yDAEN;AAEM,gEAEN;AAEM,wDAEN;AAEM,yDAEN;AAEM,yDAMN;AAEM,kEAQN;AAEM,yEAON;AAEM,+CAWN;AAEM,kDAUN;AAEM,oEAON;AAEM,6DAKN;AAEM,wDAGN;AAEM,mEAEN;AAEM,+CAEN;AAEM,iDAIN;AAGM,wEASN;AAEM,0DAcN;AAEM,+DAEN;AAEM;;;;;EAWN;AAEM;;;;;;;;;;;;;;;KAwCN;AAKM;;KAGN;AAEM;;EAEN;AAEM,yEAKN;AAEM,+DAEN;AAEM,sEAMN;AAEM,iEAEN"}
|
package/dist/shared/shopify.d.ts
CHANGED
|
@@ -3,8 +3,13 @@ export function getSanitizedShopData(shop: any, customDomains: any): {
|
|
|
3
3
|
shop: string | undefined;
|
|
4
4
|
store_name: string;
|
|
5
5
|
};
|
|
6
|
-
export function sanitizeShop(shop: any, { throwOnInvalid, customDomains }?: {
|
|
7
|
-
|
|
6
|
+
export function sanitizeShop(shop: any, { throwOnInvalid, customDomains }?: {
|
|
7
|
+
throwOnInvalid: any;
|
|
8
|
+
customDomains: any;
|
|
9
|
+
}): string | undefined;
|
|
10
|
+
export function ensureShop(store: any, { throwOnInvalid, ...params }?: {
|
|
11
|
+
throwOnInvalid: any;
|
|
12
|
+
}): string | undefined;
|
|
8
13
|
export function isTokenExpired(session: any): boolean;
|
|
9
14
|
export function decodeSessionToken(token: any): {
|
|
10
15
|
decoded?: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopify.d.ts","sourceRoot":"","sources":["../../src/shared/shopify.js"],"names":[],"mappings":"AAeA,0CAAmC;AAI5B;;;EAcN;AAGM
|
|
1
|
+
{"version":3,"file":"shopify.d.ts","sourceRoot":"","sources":["../../src/shared/shopify.js"],"names":[],"mappings":"AAeA,0CAAmC;AAI5B;;;EAcN;AAGM;;;uBAQN;AAGM;;uBAYN;AAEM,sDAEN;AAEM;;;;;;;;;;;;;;;;EAiCN;uBAlGsB,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/shared/theme.js"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/shared/theme.js"],"names":[],"mappings":"AAEA,kEAAkE;AAU3D,qDAEN;AAEM,qDAEN"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agnostack/next-shopify",
|
|
3
|
-
"version": "3.1.0-beta.
|
|
3
|
+
"version": "3.1.0-beta.5",
|
|
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",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
]
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
+
"@agnostack/env": "*",
|
|
64
65
|
"@agnostack/next-plugins": "*",
|
|
65
66
|
"@agnostack/verifyd": "*",
|
|
66
67
|
"firebase-admin": ">=8.10.0",
|
|
@@ -72,7 +73,6 @@
|
|
|
72
73
|
"prompts": ">=2.4.0"
|
|
73
74
|
},
|
|
74
75
|
"dependencies": {
|
|
75
|
-
"@agnostack/env": "latest",
|
|
76
76
|
"@shopify/shopify-api": "11.5.0",
|
|
77
77
|
"browser-monads-ts": "2.0.1",
|
|
78
78
|
"chalk": "4.1.2",
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
"typescript": "5.4.2"
|
|
122
122
|
},
|
|
123
123
|
"resolutions": {
|
|
124
|
-
"**/npm": "
|
|
124
|
+
"**/npm": "10.8.2",
|
|
125
125
|
"**/rimraf": "4.4.1"
|
|
126
126
|
},
|
|
127
127
|
"publishConfig": {
|