@one-commerce/sdk-core 1.11.0 → 1.12.0-alpha.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/lib/bundles/bundle.esm.js +19 -0
- package/lib/bundles/bundle.esm.js.map +1 -1
- package/lib/bundles/bundle.esm.min.js +1 -1
- package/lib/bundles/bundle.esm.min.js.map +1 -1
- package/lib/bundles/bundle.umd.js +19 -0
- package/lib/bundles/bundle.umd.js.map +1 -1
- package/lib/bundles/bundle.umd.min.js +1 -1
- package/lib/bundles/bundle.umd.min.js.map +1 -1
- package/lib/cjs/index.js +17 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/index.js +15 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/types/index.d.ts +2 -0
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +3 -3
package/lib/esm/index.js
CHANGED
|
@@ -46,6 +46,8 @@ class Sdk extends Events {
|
|
|
46
46
|
|
|
47
47
|
_defineProperty(this, "channel", void 0);
|
|
48
48
|
|
|
49
|
+
_defineProperty(this, "autoheight", true);
|
|
50
|
+
|
|
49
51
|
_defineProperty(this, "origin", void 0);
|
|
50
52
|
|
|
51
53
|
_defineProperty(this, "isInitialized", false);
|
|
@@ -81,6 +83,15 @@ class Sdk extends Events {
|
|
|
81
83
|
Sdk.log('Emitting UPDATE with payload ', payload);
|
|
82
84
|
this.emit(SdkInternalEvents.UPDATE, payload);
|
|
83
85
|
});
|
|
86
|
+
this.channel.subscribe(Message.FRAME_HEIGHT_REQUEST, payload => {
|
|
87
|
+
if (this.autoheight) {
|
|
88
|
+
Sdk.log('Request for iframe height');
|
|
89
|
+
const body = document.body,
|
|
90
|
+
html = document.documentElement;
|
|
91
|
+
const height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
|
|
92
|
+
this.channel.postMessage(Message.FRAME_HEIGHT_CHANGE, height);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
84
95
|
this.channel.connect().then(() => {
|
|
85
96
|
Sdk.log('Connected with ONe SDK');
|
|
86
97
|
});
|
|
@@ -93,6 +104,10 @@ class Sdk extends Events {
|
|
|
93
104
|
if (typeof options.debug !== 'undefined') {
|
|
94
105
|
Sdk.debug = options.debug;
|
|
95
106
|
}
|
|
107
|
+
|
|
108
|
+
if (typeof options.autoheight !== 'undefined') {
|
|
109
|
+
this.autoheight = options.autoheight;
|
|
110
|
+
}
|
|
96
111
|
}
|
|
97
112
|
}
|
|
98
113
|
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"names":["Message","Channel","BackofficeCatalog","BackofficeLayout","BackofficeOrderpath","BackofficeTenant","BackofficeUser","Events","ShopAccount","ShopCart","ShopCatalog","ShopConfig","ShopUtils","BaseCallClass","generateCallId","SdkInternalEvents","SdkEvents","Sdk","log","data","debug","console","warn","initializeServiceGetters","instances","Object","keys","forEach","serviceName","defineProperty","get","isInitialized","constructor","options","origin","channel","targetOrigin","target","window","parent","subscribe","INIT","payload","entries","key","value","update","attributesForKey","emit","UPDATE","connect","then","setupOptions","callFunction","service","fun","callId","postMessage","METHOD_CALL","method","Promise","resolve","onChannelMessage","response","unsubscribe","METHOD_RESULT","result","navigate","event","NAVIGATION_PUSH","BackofficeSdk","route","hash","query","orderpath","bind","catalog","user","tenant","layout","ShopSdk","cart","account","utils","config"],"mappings":"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","sourcesContent":["import {Backoffice, Message, Route, Shop} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n BackofficeCatalog,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficeTenant,\n BackofficeUser\n} from \"./backofficeServices\";\nimport Events from \"./events\";\nimport {\n ShopAccount,\n ShopCart,\n ShopCatalog, ShopConfig, ShopUtils,\n} from \"./shopServices\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions {\n debug?: boolean\n origin: string\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nabstract class Sdk<T> extends Events {\n private channel!: Channel;\n private static debug = false\n origin: string;\n isInitialized = false\n instances!: T;\n\n private static log(...data: any[]) {\n Sdk.debug && console.log('[SDK Core] ', ...data)\n }\n\n private static warn(...data: any[]) {\n console.warn('[SDK Core] ', ...data)\n }\n\n private initializeServiceGetters(): void {\n if (this.instances) {\n Object.keys(this.instances).forEach((serviceName: string) => {\n Object.defineProperty(this, serviceName, {\n get: () => {\n return this.isInitialized ? this.instances![serviceName as keyof T] : null\n }\n })\n })\n }\n }\n\n constructor(options: SdkOptions) {\n super()\n this.initializeServiceGetters()\n this.origin = options.origin\n this.channel = new Channel({\n targetOrigin: this.origin,\n target: window.parent,\n })\n this.channel.subscribe(Message.INIT, (payload: any) => {\n Sdk.log('Handling INIT message')\n Object.entries(this.instances!).forEach(([key, value]: [key: string, value: BaseCallClass | Record<string, any>]) => {\n if (value instanceof BaseCallClass) {\n value.update(payload)\n } else {\n const attributesForKey = payload[key]\n if (typeof attributesForKey !== 'undefined') {\n BaseCallClass.update(value as Record<string, any>, payload[key])\n } else {\n Sdk.warn(`Missing attributes for ${key} in `, payload)\n }\n }\n })\n Sdk.log('Emitting INIT with payload ', this.instances)\n this.emit(SdkInternalEvents.INIT, this.instances)\n this.isInitialized = true\n })\n this.channel.subscribe(Message.UPDATE, (payload: any) => {\n Sdk.log('Emitting UPDATE with payload ', payload)\n this.emit(SdkInternalEvents.UPDATE, payload)\n })\n this.channel.connect().then(() => {\n Sdk.log('Connected with ONe SDK')\n })\n this.setupOptions(options)\n Sdk.log('Initialized.')\n }\n\n private setupOptions(options?: SdkOptions) {\n if (options) {\n if (typeof options.debug !== 'undefined') {\n Sdk.debug = options.debug\n }\n }\n }\n protected callFunction(service: string, fun: string, ...payload: any) {\n const callId: string = generateCallId()\n if (this.isInitialized) {\n Sdk.log(`Call ID ${callId} for ${service}:${fun}`, payload)\n this.channel.postMessage(Message.METHOD_CALL, {\n callId,\n service,\n method: fun,\n payload: payload,\n })\n return new Promise((resolve) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n return resolve(response.result)\n }\n }\n this.channel.subscribe(Message.METHOD_RESULT, onChannelMessage)\n })\n }\n Sdk.log('SDK is not initialized!')\n return Promise.resolve(null)\n }\n\n public navigate(event: NamedNavigationPayload | PathNavigationPayload) {\n this.channel.postMessage(Message.NAVIGATION_PUSH, event)\n }\n\n}\n\nexport interface BackofficeInstances extends Backoffice.Api {\n route: Route,\n orderpath: BackofficeOrderpath,\n catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout\n}\n\nexport interface ShopInstances extends Shop.Api {\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n catalog: new BackofficeCatalog(this.callFunction.bind(this)),\n user: new BackofficeUser(this.callFunction.bind(this)),\n tenant: new BackofficeTenant(this.callFunction.bind(this)),\n layout: new BackofficeLayout(this.callFunction.bind(this))\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n cart: new ShopCart(this.callFunction.bind(this)),\n catalog: new ShopCatalog(this.callFunction.bind(this)),\n account: new ShopAccount(this.callFunction.bind(this)),\n utils: new ShopUtils(this.callFunction.bind(this)),\n config: new ShopConfig(this.callFunction.bind(this))\n }\n}\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":["Message","Channel","BackofficeCatalog","BackofficeLayout","BackofficeOrderpath","BackofficeTenant","BackofficeUser","Events","ShopAccount","ShopCart","ShopCatalog","ShopConfig","ShopUtils","BaseCallClass","generateCallId","SdkInternalEvents","SdkEvents","Sdk","log","data","debug","console","warn","initializeServiceGetters","instances","Object","keys","forEach","serviceName","defineProperty","get","isInitialized","constructor","options","origin","channel","targetOrigin","target","window","parent","subscribe","INIT","payload","entries","key","value","update","attributesForKey","emit","UPDATE","FRAME_HEIGHT_REQUEST","autoheight","body","document","html","documentElement","height","Math","max","scrollHeight","offsetHeight","clientHeight","postMessage","FRAME_HEIGHT_CHANGE","connect","then","setupOptions","callFunction","service","fun","callId","METHOD_CALL","method","Promise","resolve","onChannelMessage","response","unsubscribe","METHOD_RESULT","result","navigate","event","NAVIGATION_PUSH","BackofficeSdk","route","hash","query","orderpath","bind","catalog","user","tenant","layout","ShopSdk","cart","account","utils","config"],"mappings":"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","sourcesContent":["import {Backoffice, Message, Route, Shop} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n BackofficeCatalog,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficeTenant,\n BackofficeUser\n} from \"./backofficeServices\";\nimport Events from \"./events\";\nimport {\n ShopAccount,\n ShopCart,\n ShopCatalog, ShopConfig, ShopUtils,\n} from \"./shopServices\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions {\n debug?: boolean\n autoheight?: boolean\n origin: string\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nabstract class Sdk<T> extends Events {\n private channel!: Channel;\n private static debug = false\n private autoheight = true\n origin: string;\n isInitialized = false\n instances!: T;\n\n private static log(...data: any[]) {\n Sdk.debug && console.log('[SDK Core] ', ...data)\n }\n\n private static warn(...data: any[]) {\n console.warn('[SDK Core] ', ...data)\n }\n\n private initializeServiceGetters(): void {\n if (this.instances) {\n Object.keys(this.instances).forEach((serviceName: string) => {\n Object.defineProperty(this, serviceName, {\n get: () => {\n return this.isInitialized ? this.instances![serviceName as keyof T] : null\n }\n })\n })\n }\n }\n\n constructor(options: SdkOptions) {\n super()\n this.initializeServiceGetters()\n this.origin = options.origin\n this.channel = new Channel({\n targetOrigin: this.origin,\n target: window.parent,\n })\n this.channel.subscribe(Message.INIT, (payload: any) => {\n Sdk.log('Handling INIT message')\n Object.entries(this.instances!).forEach(([key, value]: [key: string, value: BaseCallClass | Record<string, any>]) => {\n if (value instanceof BaseCallClass) {\n value.update(payload)\n } else {\n const attributesForKey = payload[key]\n if (typeof attributesForKey !== 'undefined') {\n BaseCallClass.update(value as Record<string, any>, payload[key])\n } else {\n Sdk.warn(`Missing attributes for ${key} in `, payload)\n }\n }\n })\n Sdk.log('Emitting INIT with payload ', this.instances)\n this.emit(SdkInternalEvents.INIT, this.instances)\n this.isInitialized = true\n })\n this.channel.subscribe(Message.UPDATE, (payload: any) => {\n Sdk.log('Emitting UPDATE with payload ', payload)\n this.emit(SdkInternalEvents.UPDATE, payload)\n })\n this.channel.subscribe(Message.FRAME_HEIGHT_REQUEST, (payload: any) => {\n if (this.autoheight) {\n Sdk.log('Request for iframe height')\n const body = document.body, html = document.documentElement;\n const height = Math.max(body.scrollHeight, body.offsetHeight,\n html.clientHeight, html.scrollHeight, html.offsetHeight);\n this.channel.postMessage(Message.FRAME_HEIGHT_CHANGE, height)\n }\n })\n this.channel.connect().then(() => {\n Sdk.log('Connected with ONe SDK')\n })\n this.setupOptions(options)\n Sdk.log('Initialized.')\n }\n\n private setupOptions(options?: SdkOptions) {\n if (options) {\n if (typeof options.debug !== 'undefined') {\n Sdk.debug = options.debug\n }\n if (typeof options.autoheight !== 'undefined') {\n this.autoheight = options.autoheight\n }\n }\n }\n protected callFunction(service: string, fun: string, ...payload: any) {\n const callId: string = generateCallId()\n if (this.isInitialized) {\n Sdk.log(`Call ID ${callId} for ${service}:${fun}`, payload)\n this.channel.postMessage(Message.METHOD_CALL, {\n callId,\n service,\n method: fun,\n payload: payload,\n })\n return new Promise((resolve) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n return resolve(response.result)\n }\n }\n this.channel.subscribe(Message.METHOD_RESULT, onChannelMessage)\n })\n }\n Sdk.log('SDK is not initialized!')\n return Promise.resolve(null)\n }\n\n public navigate(event: NamedNavigationPayload | PathNavigationPayload) {\n this.channel.postMessage(Message.NAVIGATION_PUSH, event)\n }\n\n}\n\nexport interface BackofficeInstances extends Backoffice.Api {\n route: Route,\n orderpath: BackofficeOrderpath,\n catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout\n}\n\nexport interface ShopInstances extends Shop.Api {\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n catalog: new BackofficeCatalog(this.callFunction.bind(this)),\n user: new BackofficeUser(this.callFunction.bind(this)),\n tenant: new BackofficeTenant(this.callFunction.bind(this)),\n layout: new BackofficeLayout(this.callFunction.bind(this))\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n cart: new ShopCart(this.callFunction.bind(this)),\n catalog: new ShopCatalog(this.callFunction.bind(this)),\n account: new ShopAccount(this.callFunction.bind(this)),\n utils: new ShopUtils(this.callFunction.bind(this)),\n config: new ShopConfig(this.callFunction.bind(this))\n }\n}\n"],"file":"index.js"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare enum SdkEvents {
|
|
|
8
8
|
}
|
|
9
9
|
export interface SdkOptions {
|
|
10
10
|
debug?: boolean;
|
|
11
|
+
autoheight?: boolean;
|
|
11
12
|
origin: string;
|
|
12
13
|
}
|
|
13
14
|
interface NamedNavigationPayload {
|
|
@@ -21,6 +22,7 @@ interface PathNavigationPayload {
|
|
|
21
22
|
declare abstract class Sdk<T> extends Events {
|
|
22
23
|
private channel;
|
|
23
24
|
private static debug;
|
|
25
|
+
private autoheight;
|
|
24
26
|
origin: string;
|
|
25
27
|
isInitialized: boolean;
|
|
26
28
|
instances: T;
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAW,KAAK,EAAE,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAG1E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,QAAQ,EACR,WAAW,EAAE,UAAU,EAAE,SAAS,EACnC,MAAM,gBAAgB,CAAC;AAOxB,oBAAY,SAAS;IACnB,IAAI,SAAO;IACX,MAAM,WAAS;CAChB;AACD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,uBAAe,GAAG,CAAC,CAAC,CAAE,SAAQ,MAAM;IAClC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAQ;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,UAAQ;IACrB,SAAS,EAAG,CAAC,CAAC;IAEd,OAAO,CAAC,MAAM,CAAC,GAAG;IAIlB,OAAO,CAAC,MAAM,CAAC,IAAI;IAInB,OAAO,CAAC,wBAAwB;gBAYpB,OAAO,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAW,KAAK,EAAE,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAG1E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,QAAQ,EACR,WAAW,EAAE,UAAU,EAAE,SAAS,EACnC,MAAM,gBAAgB,CAAC;AAOxB,oBAAY,SAAS;IACnB,IAAI,SAAO;IACX,MAAM,WAAS;CAChB;AACD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,uBAAe,GAAG,CAAC,CAAC,CAAE,SAAQ,MAAM;IAClC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAAO;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,UAAQ;IACrB,SAAS,EAAG,CAAC,CAAC;IAEd,OAAO,CAAC,MAAM,CAAC,GAAG;IAIlB,OAAO,CAAC,MAAM,CAAC,IAAI;IAInB,OAAO,CAAC,wBAAwB;gBAYpB,OAAO,EAAE,UAAU;IA8C/B,OAAO,CAAC,YAAY;IAUpB,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG;IAwB7D,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,qBAAqB;CAItE;AAED,MAAM,WAAW,mBAAoB,SAAQ,UAAU,CAAC,GAAG;IACzD,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,mBAAmB,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,GAAG;IAC7C,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;CACnB;AAED,qBAAa,aAAc,SAAQ,GAAG,CAAC,mBAAmB,CAAC;IACzD,SAAS;;;;;;;;;;MAUR;CACF;AAED,qBAAa,OAAQ,SAAQ,GAAG,CAAC,aAAa,CAAC;IAC7C,SAAS;;;;;;;;;;MAUR;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@one-commerce/sdk-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0-alpha.0",
|
|
4
4
|
"description": "Core package for One Plugins",
|
|
5
5
|
"module": "lib/esm/index.js",
|
|
6
6
|
"main": "lib/cjs/index.js",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"node": ">=14"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@one-commerce/sdk-shared": "^1.
|
|
58
|
+
"@one-commerce/sdk-shared": "^1.12.0-alpha.0",
|
|
59
59
|
"iframe-channel": "^1.2.5"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
@@ -125,5 +125,5 @@
|
|
|
125
125
|
"**/*.spec.js"
|
|
126
126
|
]
|
|
127
127
|
},
|
|
128
|
-
"gitHead": "
|
|
128
|
+
"gitHead": "383a8f3715b440efa766b33c2b0237392ed1a00a"
|
|
129
129
|
}
|